본문 바로가기
[C#] OfType<T>() vs CAST<T>() Enumerable.OfType()시퀀스 내의 형식과 일치하는 요소만 반환, 필터 기능이라고 보면됨일치하지 않는 요소가 있어도 예외를 발생 하지 않음object[] arr = { 1, "2", 3, "4", 5 };var ofTypeArr = arr.OfType();Console.WriteLine(string.Join(", ", ofTypeArr)); // 1, 3, 5int와 string 속성이 섞인 배열에서 int타입만 필터링 되었다.Enumerable.Cast() 시퀀스 내의 모든 요소의 형식을 타입으로 변환 시도만약 형 변환이 되지 않는 요소가 있을 경우 InvalidCastException 예외 발생 object[] arr = { 1, "2", 3, "4", 5 };var castArr = ar.. 2024. 12. 19.
[C#] Enumerable.Union() 메서드 Enumerable.Union() 메서드두 시퀀스를 중복이 생기지 않게 합쳐준다.메서드 예제int[] arr = { 1, 2, 3, 4, 5 };int[] arr2 = { 1, 3, 5, 7, 9 };arr = arr.Union(arr2).ToArray();Console.WriteLine(string.Join(", ", arr)); // 1, 2, 3, 4, 5, 7, 9 1, 2, 3, 4, 5가 담긴 int array와 1, 3, 5, 7, 9가 담긴 int array를 합치면 중복이되는 1, 3, 5빼고 7, 9만 추가 되는 것을 확인할 수 있다.   다른 Enumerable 메서드 :) https://twd0622.tistory.com/14 [C#] Linq (Enumerable 클래스)최근 수정.. 2024. 12. 13.
[C#] Enumerable.FirstOrDefault() 메서드 Enumerable.FirstOrDefault()Enumerable의 메서드 중 FirstOrDefault는 첫번째 값을 반환하거나 해당 시퀀스가 비어있다면 시퀀스 타입의 기본값을 반환한다.int의 기본값은 0, string의 기본값은 "" 이다.메서드 예제 1.string 형식의 a, b, c가 담긴 배열과 아무것도 들어있지 않은 int 배열을 이용해 FirstOrDefault 메서드를 사용해 보겠다.string[] strArr = { "a", "b", "c" };int[] intArr = new int[] { };string str1 = strArr.FirstOrDefault();int i1 = intArr.FirstOrDefault();Console.WriteLine(str1); // aConsol.. 2024. 12. 10.
[C#] Linq (람다식 메서드) 최근 수정: 2024.11.05Enumerable 클래스 중 람다식을 사용하는 메서드를 기록하는 곳입니다. 주요메서드Select() :  각 요소를 요청에 맞게 만들어 새로운 시퀀스를 만들어 준다. 예를 들면 각 요소의 타입을 변경한다던지, 특정 프로퍼티만 추출한다던지, 각 요소에 연산을 한다던지 등등string[] intStrs = { "123", "456", "789" };int[] answer = intStrs.Select(s => int.Parse(s)).ToArray(); // 각 요소를 정수로 바꾸기foreach (int i in answer) Console.Write(i + " "); // 123 456 789 Where() : 특정 조선을 만족하는 요소만 선택해서 새로운 시퀀스를 만든.. 2024. 11. 5.
[C#] Linq (Enumerable 클래스) 최근 수정: 2024.12.13Enumerable 클래스 내용 중 새로 알게되거나 사용했던 메서드들 기록하는 곳입니다. Enumerable 클래스Enumerable 클래스는 LINQ의 일부로 IEnumerable 인터페이스를 구현하는 컬렉션 클래스에 대한 LINQ 기능을 제공한다. 시퀀스시퀀스는 순서가 있는 일련의 데이터를 나타내는 추상적인 개념주요메서드Range([시작 인덱스], [길이]) : 일정한 숫자 범위의 시퀀스를 만든다. 첫번째 매개변수가 시작 숫자이고, 두번째 매개 변수는 생성하려는 시퀀스의 길이 이다.var sequence = Enumerable.Range(0, 10);foreach(var num in sequence){ Console.Write(num); // 0123456789} .. 2024. 7. 23.