using System;
using System.Collections.Generic;
using System.Linq;
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
// 짝수만 필터링 (메서드 구문)
var evenNumbers = numbers.Where(n => n % 2 == 0);
// 홀수만 필터링 (쿼리 구문)
var oddNumbers = from n in numbers
where n % 2 == 1
select n;
// 출력
foreach (var num in evenNumbers)
{
Console.WriteLine(num);
}
foreach (var num in oddNumbers)
{
Console.WriteLine(num);
}
| 메서드 | 설명 |
|---|---|
Where() | 조건에 맞는 요소 필터링 |
Select() | 각 요소를 변환 (매핑) |
OrderBy() | 오름차순 정렬 |
OrderByDescending() | 내림차순 정렬 |
GroupBy() | 조건에 따라 그룹화 |
Any() | 조건을 만족하는 요소가 하나라도 있는지 확인 |
All() | 모든 요소가 조건을 만족하는지 확인 |
First() | 첫 번째 요소 반환 (없으면 예외 발생) |
FirstOrDefault() | 첫 번째 요소 반환 (없으면 기본값 반환) |
Count() | 조건에 맞는 요소 개수 반환 |
Sum() | 합계 계산 |
Average() | 평균 계산 |
Max() | 최대값 반환 |
Min() | 최소값 반환 |
◾ 리스트에서 짝수만 찾아 오름차순으로 정렬하는 예제
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 5, 12, 3, 8, 1, 4, 10, 9, 6 };
// 짝수 필터링 후 오름차순 정렬
var evenSorted = numbers
.Where(n => n % 2 == 0)
.OrderBy(n => n);
foreach (var num in evenSorted)
{
Console.Write($"{num} ");
}
}
}
>>> 4 6 8 10 12
잘만 사용한다면 컬렉션 데이터에서 간편하게 원하는 데이터를 가져올 수 있다.
| 메서드 | 설명 |
|---|---|
| Append(string) | 문자열을 끝에 추가함 |
| AppendLine() | 줄바꿈과 함께 문자열을 끝에 추가함 |
| Insert(index, str) | 지정한 위치에 문자열 삽입 |
| Remove(index, len) | 지정한 위치부터 지정 길이만큼 문자열 삭제 |
| Replace(old, new) | 특정 문자열을 다른 문자열로 교체 |
| Clear() | 모든 문자열을 제거하여 초기화 |
| ToString() | StringBuilder에 저장된 문자열을 string으로 반환 |
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
sb.Append("Hello"); // 문자열 끝에 "Hello" 추가
sb.AppendLine(" World!"); // 문자열 끝에 "World!\n" 추가
sb.Insert(0, "Say: "); // 인덱스 0번째 위치에 "Say: " 추가
sb.Replace("World", "C#"); // "World"와 "C#" 문자열 교체
Console.WriteLine(sb.ToString());
}
}
>>> Say: Hello C#!
>>> Hi
StringBuilder를 사용하면 문자열의 조작을 쉽게 할 수 있다. (성능적으로도 좋음)