본문 바로가기

Programming/C#

c# - Linq C# - LINQ LINQ 열거형 데이터에 대한 쿼리를 수행하는 기술입니다. 다음의 코드는 Person 클래스의 리스트에서 모든 Person를 읽어내는 쿼리입니다. class Person { public string Name; public int Age; } List students = new List { new Person {Name = “Jack”, Age = 33 }; new Person {Name = “Lee”, Age = 11 }; new Person {Name = “Michael”, Age = 22 }; } var myStudents = from p in students select p; // 다른 표현 var yourStudents = students.Select((p) => p); // 이..
c# - Await / Async를 이용한 비동기 처리 Await / Async 를 이용한 비동기 처리 비동기처리는 하나의 작업을 실행한 후에 해당 작업이 완료되기를 기다리지 않고 다른 작업을 병행 처리한다는 의미입니다. 다음은 웹사이트를 호출하고 응답을 읽는 코드입니다. 동기식 코드와 비동기식 코드를 비교합니다. // 동기식 처리 WebClient client = new WebClient(); string res = wc.DownloadString(“http://www.test.com”); // 비동기 처리 WebClient client = new WebClient(); string res = await client.DownloadStringTaskAsync(“http://www.test.com”); 비동기 호출 병렬처리 병렬로 비동기 호출을 실행함으로서 ..
c#에서 람다식 람다식 람다식은 익명함수의 일종으로서 대리자 또는 함수를 형식을 대치할 수 있는 것입니다. 람다식을 이용하여 코드를 간략하게 표현할 수 있습니다. 루프문을 간략하게 표현할 수 있으며 동일한 함수의 재활용에도 용의합니다. LINQ 쿼리 식을 만드는데도 매우 유용하게 사용될 수 있습니다. 익명함수의 람다표현 AddNum 클라스를 리턴하는 익명함수를 만들어 보겠습니다. AddNum addNum = (a, b) = > a + b; Console.WriteLine(“Sum(10,5) = ” + addNum(10, 5)); 리스트를 foreach구문을 이용하여 탐색하는 경우 이번예는 루프문을 간력하게 표현하는 예입니다. List numbers = new List{1, 2, 3, 4, 5}; list.ForeEach..