일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- tls
- Github
- C#
- 코딩테스트
- Binding
- convert
- git
- commit
- File
- .net
- windows
- Microsoft
- nullable
- programmers
- coding-test
- chashtag
- csharp
- dotNET
- algorithm
- windows10
- IValueConverter
- WPF
- Coding
- logging
- Process
- string
- Visual Studio
- mysql
- ListView
- log
Archives
- Today
- Total
CHashtag
[C#] List 원하는 개수만 얻기 (Take, Skip) 본문
반응형
안녕하세요.
오늘은 List에서 원하는 개수만 얻는 방법에 대해 알아보도록 하겠습니다.
static void Main(string[] args)
{
List<string> items = new List<string>();
// 테스트용 string을 넣어줍니다.
for(int i=0;i<10;i++)
{
items.Add(i + " Item Added");
}
List<string> orderedItems = items.OrderBy(x => x).Skip(5).Take(3).ToList();
orderedItems.ForEach(x => Console.WriteLine(x));
// output
// 5 Item Added
// 6 Item Added
// 7 Item Added
}
Take(int count)
Take 함수는 Enumerable에 속해있는 함수로, Enumerable에서 0~count까지의 index의 객체를 반환합니다.
(만약 count가 list.Count보다 크다면 list를 반환합니다.(에러가 나지 않습니다.))
따라서 원하는 데이터를 얻기 위해 정렬을 해 주어야 할 필요가 있습니다.
Return값은 List가 아닌 IEnumerable이기 때문에 ToList()를 해 주어야 List에 대입이 가능합니다.
List<string> orderedItems = items.OrderBy(x => x).Take(5).ToList();
// output
// 0 Item Added
// 1 Item Added
// 2 Item Added
// 3 Item Added
// 4 Item Added
Skip(int count)
Skip 함수 또한 Enumerable에 속해있는 함수로, Enumerable에서 0~count까지의 index의 건너뛰고 남은 객체를 반환합니다.
(만약 count가 list.Count보다 크다면 빈 IEnumerable를 반환합니다.(에러가 나지 않습니다.))
Return값은 List가 아닌 IEnumerable이기 때문에 ToList()를 해 주어야 List에 대입이 가능합니다.
List<string> orderedItems = items.OrderBy(x => x).Skip(5).ToList();
// output
// 5 Item Added
// 6 Item Added
// 7 Item Added
// 8 Item Added
// 9 Item Added
감사합니다.
반응형
'C#' 카테고리의 다른 글
[C#] .NET 4.5이하에서 코드수정없이 TLS 1.2 활성화 (0) | 2022.01.12 |
---|---|
[Visual Studio 2022] the project doesn't know how to run the profile 해결방법 (0) | 2022.01.09 |
[C#] [NUnit] 작업 경로 (Working Directory) (CurrentDirectory Temp) (0) | 2021.12.23 |
[C#] 실행시간 측정하기 (Stopwatch) (0) | 2021.12.16 |
Visual Studio에서 솔루션 내 프로젝트 동시 실행(debug multiple project) (0) | 2021.11.13 |