반응형

전체 글197

LINQ Except 사용법 Except는 컬렉션(List, Array, Dictionay)간의 요소중에서 컬렉션에 중복으로 포함되는 요소를 제외한 유일한 요소를 찾을때 사용됩니다. 샘플코드에서는 숫자 리스트간의 비교를 통해서 유일한 요소를 찾을 수 있습니다. static void Main(string[] args) { // 비교할 숫자리스트 int[] numbers1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] numbers2 = new int[] { 2, 4, 6, 8, 10 }; //숫자리스트1을 기준으로 숫자리스트2에 포함되어 있는 값을 제외한다. IEnumerable results = numbers1.Except(numbers2); // 숫자리스트1, 숫자리스트2, 숫자비교.. C# 2021. 7. 27.
LINQ BinarySearch 사용법 BinarySearch는 컬렉션(List, Array, Dictionay)의 요소의 검색결과의 인덱스값을 확인할 때 사용합니다. 샘플코드는 10개의 숫자를 설정한 리스트에서 값이 72인 인덱스 값을 확인할 수 있습니다. 특이점은 검색조건의 값이 복수로 존재할 때도 한개의 인덱스 값만을 확인할 수 있는 점입니다. // 검색용 리스트 생성 List number = new List(); // 숫자리스트에 값을 설정 for (int i = 1; i C# 2021. 7. 26.
LINQ Zip 사용법 Zip는 데이터 컬렉션(List, Array, Dictionay)의 각각의 요소를 병합할 때 사용됩니다. 다른 형태의 컬렉션도 타입이 맞는다면 병합이 가능합니다. 특이사항으로는 Concat와 다른점은 각각의 스퀀스(순번)가 맞는 요소간의 병합만 가능하다는 점이 다릅니다. 샘플코드는 숫자 데이터의 덧셈 결과를 확인할 수 있습니다. public static class Program { static void Main(string[] args) { // 숫자데이터1,2 샘플데이터 생성 int[] numbers1 = new int[] { 1, 2, 3, 4, 5 }; float[] numbers2 = new float[] { 5, 4, 3 }; // 숫자데이터1 + 숫자데이터2의 덧셈 처리 IEnumerable .. C# 2021. 7. 25.
LINQ Concat 사용법 Concat는 데이터 컬렉션(List, Array, Dictionay)의 각각의 요소를 병합할 때 사용됩니다. 특징으로는 다른 형태의 컬렉션도 병합이 가능하다는 점입니다. 샘플코드는 Array형태의 Int와 List형태의 Int를 병합이 가능한것을 확인할 수 있습니다. 물론 같은 형태의 켈력션도 병합이 가능합니다. public static class Program { static void Main(string[] args) { // Array타입의 숫자 데이터, List타입의 숫자 데이터 var numbers1 = new int[] { 0, 1, 2, 3, 4 }; var numbers2 = new List { 5, 6, 7, 8, 9 }; // Linq 병합쿼리 실행 // 숫자데이터1 + 숫자데이터2 .. C# 2021. 7. 24.
LINQ Left Outer Join 사용법 Left Outer Join(왼쪽 외부조인)는 기준이 되는 데이터를 모두 반환합니다. 샘플코드는 UserGroup테이블이 기준이 되는 데이터이므로 모든 그룹명이 조회되지만 Seventeen의 경우에는 User테이블에 해당 그룹의 멤버명이 존재하지 않으므로 멤버명은 반환이 되지않습니다. /// /// Group정보 클래스 /// class UserGroup { public string GroupName { get; set; } public string UserGroupID { get; set; } } /// /// User정보 클래스 /// class User { public string UserName { get; set; } public string UserGroupID { get; set; } } s.. C# 2021. 7. 23.
LINQ Inner Join 사용법 Inner Join(내부조인)는 모든 테이블에 일치하는 데이터가 존재하는 경우에만 데이터를 반환합니다. 샘플코드는 UserGroup테이블과 User테이블간에 ID가 일치하는 데이터만 반환하는것을 확인할 수 있습니다. Seventeen의 경우에는 UserGroup테이블에는 존재하지만 User테이블에 존재하지 않으므로 반환된 데이터에 확인이 안됩니다. /// /// Group정보 클래스 /// class UserGroup { public string GroupName { get; set; } public string UserGroupID { get; set; } } /// /// User정보 클래스 /// class User { public string UserName { get; set; } public .. C# 2021. 7. 22.
LINQ Where메서드의 조건중에서 null값이 있을경우의 처리방법 LINQ로 DataTable이나 컬렉션(List, Array, Dictionary)의 요소중에서 조건에 맞는 데이터만 가져올경우에 Null값이 포함될 경우가 있을때, 일반적인 Where조건을 사용할 경우 제대로 된 결과가 안나오거나 에러가 발생할때 유용하게 사용됩니다. 샘플코드는 문자열 리스트에 Null값이 있으며, 조건에 맞는 데이터를 가져올수 있도록 Where조건에 Null값을 배제하도록 설정하는 방법입니다. 중요한 포인트는 (r ?? string.Empty)부분으로 문자열 리스트의 값중에서 null있을 경우에 빈값으로 강제적으로 처리해주는 부분입니다. //10개의 국가명 문자열 리스트 var list = new List { null, "South Korea", "Belgium", "France", .. C# 2021. 7. 21.
LINQ Distinct, Skip, Take메서드 사용법 1.LINQ Distinct메서드는 컬렉션(List, Array, Dictionary)의 요소중에서 중복되지 않는 데이터를 확인할 때 사용합니다. 샘플코드는 20개의 숫자 리스트중에서 중복되지 않는 숫자 확인이 가능합니다. var list = new List { 1, 10, 55, 22, 33, 44, 55, 84, 95, 95, 40, 6, 13, 26, 33, 77, 88, 99, 56, 88 }; // 숫자리스트중에서 중복되지 않는 숫자를 취득 var distinctList = list.Distinct(); Console.WriteLine(" qurey1 distinct"); foreach (var x in distinctList) { Console.WriteLine(x); } 결과값 2.LINQ .. C# 2021. 7. 21.
LINQ Any, All메서드 사용법 1.LINQ Any메소드는 컬렉션(List, Array, Dictionary)의 요소중에서 조건에 만족하는 데이터가 존재하는지를 확인하는데 사용됩니다. 샘플코드는 80점을 초과하는 국가가 대륙별로 존재하는지가 확인 가능합니다. class Test { public string GroupName { get; set; } public string ContryName { get; set; } public int Points { get; set; } } static void Main(string[] args) { //GroupBy, OrderBy에 사용될 샘플데이터 var result = new List() { new Test {GroupName = "Asia", ContryName = "South Korea",.. C# 2021. 7. 18.
LINQ GroupBy, OrderBy메소드 사용법 1.LINQ의 GroupBy메소드는 컬렉션(List, Array, Dictionary)의 요소를 그룹으로 매칭할 경우에 사용합니다. 샘플코드로는 대륙별로 국가의 점수를 표시할경우를 준비했습니다. //샘플클래스 class Test { public string GroupName { get; set; } public string ContryName { get; set; } public int Points { get; set; } } static void Main(string[] args) { //GroupBy, OrderBy에 사용될 샘플데이터 var result = new List() { new Test {GroupName = "Asia", ContryName = "South Korea", Points = .. C# 2021. 7. 17.
LINQ Select, Where메서드 사용법 1.LINQ의 Select메소드는 대상이되는 컬렉션(List, Array, Dictionary)에서 처리조건을 대입해서 새로운 오브젝트를 가져오는데 사용됩니다. 0부터5까지의 숫자Array에서 3보다 클경우의 select조건을 대입해서 true, false의 결과값을 확인하는 샘플코드를 준비했습니다. int[] src = { 0, 1, 2, 3, 4, 5 }; var query = src.Select(x => x > 3); Console.WriteLine("Query1"); Console.WriteLine("[{0}]", string.Join(", ", query)); Console.ReadKey(); 결과값 2.LINQ의 Where메소드는 대상이되는 컬렉션(List, Array, Dictionary)에.. C# 2021. 7. 15.
LINQ 쿼리 작성하기 C#에서 LINQ 쿼리를 작성방법은 아래와 같습니다. ①쿼리 구문 ②메서드 구문 ③쿼리와 메서드를 구문을 혼용 첫번째 쿼리구문은 이용해서 쿼리식을 작성하는 방법을 설명하겠습니다. // Query #1. List numbers = new List() { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 11, 10, 12 }; IEnumerable filteringQuery = from num in numbers where num 7 select num; Console.WriteLine(" Query1 Result"); foreach (int number in filteringQuery) { Console.WriteLine(" " + number); } // Query #2. I.. C# 2021. 7. 12.
반응형