English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
LINQ는 DefaultIfEmpty, Empty, Range&Repeat와 같은 생성 연산자를 포함합니다. Empty, Range, Repeat 메서드는 IEnumerable 또는 IQueryable의 확장 메서드가 아니라, 단순히 스태틱 클래스 Enumerable에 정의된 스태틱 메서드입니다.
메서드 | 설명 |
---|---|
Empty | 빈 셋을 반환합니다 |
Range | 첫 번째 요소부터 시작하여 지정된 순서 값을 가진 요소 수를 가진 IEnumerable <T> 타입의 셋을 생성합니다. |
Repeat | 지정된 요소 수를 가진 IEnumerable <T> 타입의 셋을 생성합니다. 각 요소는 지정된 값을 포함합니다. |
Empty()는 LINQ 메서드와 같이 IEnumerable 또는 IQueryable의 확장 메서드가 아닙니다. 이는 Enumerable 스태틱 클래스에 포함된 스태틱 메서드입니다. 따라서 다른 스태틱 메서드(예: Enumerable.Empty<TResult>())와 같이 호출할 수 있습니다. Empty() 메서드는 지정된 타입의 빈 셋을 반환합니다. 예를 들어 다음과 같이 사용할 수 있습니다.
var emptyCollection1 = Enumerable.Empty<string>(); var emptyCollection2 = Enumerable.Empty<Student>(); Console.WriteLine("Count: {0} ", emptyCollection1.Count()); Console.WriteLine("Type: {0} ", emptyCollection1.GetType().Name ); Console.WriteLine("Count: {0} ", emptyCollection2.Count()); Console.WriteLine("Type: {0} ", emptyCollection2.GetType().Name );
Type: String[] Count: 0 Type: Student[] Count: 0
Range() 메서드는 지정된 요소 수와 첫 번째 요소부터 시작하는 순서 값을 가진 IEnumerable <T> 타입의 셋을 반환합니다.
var intCollection = Enumerable.Range(10, 10); Console.WriteLine("총 계산 수: {0} ", intCollection.Count()); for(int i = 0; i < intCollection.Count(); i++) Console.WriteLine("값, 인덱스 위치는 {0} : {1}
총 계산 수: 10 값, 인덱스 위치는 0: 10 값, 인덱스 위치는 1 : 11 값, 인덱스 위치는 2 : 12 값, 인덱스 위치는 3 : 13 값, 인덱스 위치는 4 : 14 값, 인덱스 위치는 5 : 15 값, 인덱스 위치는 6 : 16 값, 인덱스 위치는 7 : 17 값, 인덱스 위치는 8 : 18 값, 인덱스 위치는 9 : 19
위의 예제에서 Enumerable.Range(10, 10)을 생성합니다.10개의 정수 요소 집합, 순서 값은10시작. 첫 번째 매개변수는 요소의 시작 값을 지정하고, 두 번째 매개변수는 생성할 요소 수를 지정합니다.
Repeat() 메서드는 지정된 수의 요소로 IEnumerable <T> 타입의 집합을 생성합니다. 각 요소는 동일한 지정된 값을 포함합니다.
var intCollection = Enumerable.Repeat<int>(10, 10); Console.WriteLine("총 수: {0} ", intCollection.Count()); for(int i = 0; i < intCollection.Count(); i++) Console.WriteLine("값, 인덱스 위치는 {0} : {1}
총 수:10 값, 인덱스 위치는 0: 10 값, 인덱스 위치는 1: 10 값, 인덱스 위치는 2: 10 값, 인덱스 위치는 3: 10 값, 인덱스 위치는 4: 10 값, 인덱스 위치는 5: 10 값, 인덱스 위치는 6: 10 값, 인덱스 위치는 7: 10 값, 인덱스 위치는 8: 10 값, 인덱스 위치는 9: 10
위의 예제에서 Enumerable.Repeat<int>(10, 10) 생성된 요소는100개의 중복 값이 있습니다.10의 정수형 요소 집합, 첫 번째 매개변수는 모든 요소의 값을 지정하고, 두 번째 매개변수는 생성할 요소 수를 지정합니다.