본문 바로가기
반응형

개발일지/Unity 3D&C#6

[C#] 반복문 - foreach / for / while 반복문 반복문(Loop문)은 제어문중 하나로 프로그램 소스코드 내에서 특정한 부분의 코드가 반복적으로 수행될 수 있도록 하는 구문이다. While while(조건식){ //code } while문은 소괄호 안의 조건식이 참(true)일 동안 중괄호 안의 코드를 반복 실행한다. 만약 조건식이 거짓인 경우가 없다면(항상 true) 프로그램은 while문에서 빠져나오지 못해 다음 step으로 나갈 수 없다. 이를 가리켜 무한루프라고 한다. For for (int i = 0; i < length; i++){ //code } for문의 소괄호를 해석해보자 int i = 0; //for문 안에서 사용할 변수 선언 및 초기화 i < length; //언제까지 반복할 것인지, 결과가 true면 계속 반복, false가.. 2022. 6. 30.
[C#] 람다식, 람다 문(Lambda) 람다식은 익명함수(Anonymous functions)를 지칭하는 용어이다. 장점 코드의 간결함(불필요한 루프문 삭제 가능, 재활용성 ↑) 지연 연산을 통한 퍼포먼스 향상 단점 모든 원소를 전부 순회하는 경우, 효율성 ↓ 코드의 가독성 ↓ 디버깅시 함수 콜스택 추적이 어려움 람다식은 람다 연산자를 사용한다. => Func대리자를 통해 예제를 만들어보자 using System; namespace ConsoleApp1 { internal class Lamda1 { static void Main(string[] args) { Console.WriteLine(IsAdult(25)); } public static string IsAdult(int age) { if (age > 19) { return "성인"; }.. 2022. 6. 24.
[C#] 델리게이트(delegate) - Func, Action, Predicate c#에서는 delegate(대리자)를 사용하여 메서드를 매개변수로 전달하는 방법이 3가지가 있다. Func Action Predicate Func형 델리게이트 입력 매개 변수와 반환 값이 존재한다. 입력 매개변수는 필수는 아니다. 입력 매개변수의 개수가 16개를 초과하는 경우 컴파일 에러가 발생한다. .Net 6에서는 아래와 같이 정의되어 있다. public delegate 반환타입 Func(매개변수타입 arg); https://jjomnoon-diary.tistory.com/28 [C#] 델리게이트(delegate) - 델리게이트, 콜백 사용 방법 및 사용 이유 델리게이트란? 대리자 라는 뜻으로 c++의 함수 포인터와 비슷한 개념을 가지고 있다. 포인터의 설명은 위와 같다고 보면된다. 솔직히 정말 잘 .. 2022. 6. 24.
[C#] 델리게이트(delegate) - 델리게이트, 콜백 사용 방법 및 사용 이유 델리게이트란? 대리자 라는 뜻으로 c++의 함수 포인터와 비슷한 개념을 가지고 있다. 포인터의 설명은 위와 같다고 보면된다. 솔직히 정말 잘 정리한듯,,, 함수 포인터는 함수식을 인스턴스의 포인터처럼 인식을 해서 변수에 값을 저장하거나 파라미터로 넘겨서 실행하는 대리자이다. 그리고 델리게이트는 자체적으로 리스트 기능이 있다. +=, -=같은 대입연산자를 통해 추가 및 제거가 가능하다. 선언 방법은 다음과 같다 delegate 반환타입 델리게이트이름 (매개변수) 함수 선언 방법과 동일하게 선언을 한다. 델리게이트 사용방법은 아래와 같다. 델리게이트 샘플 코드 using System; namespace MyApp // Note: actual namespace depends on the project name.. 2022. 6. 16.
[UNITY] 코루틴이란? 코루틴이란? 코루틴은 동시성 프로그래밍을 가능케 하도록 만든 개념(동시에 발생하지는 않는다.)으로 쓰레드와 비교가 많이 되지만 함수이다. 별도의 쓰레드 없이 메인 쓰레드 상에서 별도의 쓰레드가 있는것 처럼 번갈아 가며 병렬처리나 유사한 동작을 수행할 수 있다. 쓰레드와 비슷하게 동시성을 보장하기위한 기술이다. 하지만 쓰레드와 코루틴은 다른 개념이다. 여러개의 작업을 동시에 수행할 때 Thread는 각 작업에 해당하는 메모리 영역을 할당하는데, 여러 작업을 동시에 수행해야 하므로 OS레벨에서 스케쥴링을 필요로 한다. 코루틴은 lightweight Thread라고 불리며 작업을 효율적으로 분배하여 수행함에 있어 각 작업에 대해 Thread할당이 아닌 Object만을 할당하고, 이 Object를 자유자재로 스.. 2022. 6. 7.
반응형