Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 리스트의 모든 문자열에서 처음 3글자 추출하는 방법

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)));

이렇게 하면 어떤 길이의 문자열이 들어와도 예외 없이 안정적으로 앞 글자들을 추출할 수 있습니다.