C#에서 리스트에 담긴 모든 문자열의 앞 3글자를 가져오려면 Substring 메서드와 LINQ의 Select 메서드를 함께 사용하면 됩니다. Substring(0, 3)은 각 문자열의 인덱스 0부터 3개의 문자를 잘라내는 역할을 하며, Select와 결합하면 컬렉션 전체에 한 번에 적용할 수 있습니다.
1. 문자열 리스트 준비하기
먼저 예제에 사용할 문자열 리스트를 생성합니다.
List<object> list = new List<object> { "keyboard", "mouse", "joystick", "monitor" };2. Substring과 LINQ Select로 앞 3글자 추출하기
AsQueryable()과 Cast<string>()으로 리스트를 변환한 뒤, Select 메서드 안에서 Substring을 적용하면 각 문자열의 첫 3글자를 추출한 새로운 시퀀스를 얻을 수 있습니다.
IEnumerable<string> res = list.AsQueryable() .Cast<string>() .Select(str => str.Substring(0, 3));
전체 예제 코드
using System;
using System.Linq;
using System.Collections.Generic;
class Demo {
static void Main() {
List<object> list = new List<object> { "keyboard", "mouse", "joystick", "monitor" };
// 모든 문자열에서 처음 3글자 가져오기
IEnumerable<string> res = list.AsQueryable()
.Cast<string>()
.Select(str => str.Substring(0, 3));
foreach (string str in res) {
Console.WriteLine(str);
}
}
}실행 결과
key mou joy mon
추가 팁: 짧은 문자열 처리하기
리스트에 길이가 3보다 짧은 문자열이 포함될 가능성이 있다면 ArgumentOutOfRangeException이 발생할 수 있습니다. 이 경우 다음과 같이 안전하게 처리하는 것이 좋습니다.
.Select(str => str.Substring(0, Math.Min(3, str.Length)));
이렇게 하면 어떤 길이의 문자열이 들어와도 예외 없이 안정적으로 앞 글자들을 추출할 수 있습니다.