소개
for문 또는 foreach문 등을 통해서
문자열 배열(컬렉션)에 들어있는 데이터를 기반으로 새로운 문자열을 생성하거나, XML 데이터 형태로 변형을 가하고자할 때 유용하게 사용할만한
확장 메서드인 Select() 메서드와 String.Join() 메서드를 사용한 샘플 코드를 제시해 봅니다.
따라하기
1. FrmSelectWithStringJoin.aspx 페이지를 만들고 코드 비하인드페이지로 이동해서 아래와 같이 Page_Load() 이벤트 핸들러에 코드를 작성합니다.
위 코드의 19번 라인의 String.Join() 메서드는 빈 문자열에 뒤에서 오는 배열(컬렉션)의 값을 순서대로 묶어주는 역할을 합니다. 여기서는 arr.ToArray()의 결과값인 IEnumerable 형태를 가져다가 ToArray()로 배열화시킨 후 이를 Join을 시켜줍니다.
17번 라인부터 22번 라인 까지의 2번 실행 결과와 같이 나오는 것을 확인해 보면 이들 코드가 어떻게 사용될지를 가늠할 수 있습니다.
2. FrmSelectWithStringJoin.aspx 페이지를 웹 브라우저로 실행시켜본 후 실행된 결과에 마우스 오른쪽 버튼을 클릭하여 [소스 보기]를 실행하면 아래처럼, XML 형태의 문자열로 가동되어 출력됨을 알 수 있습니다.
<Countires><Country>서울</Country><Country>대전</Country><Country>대구</Country><Country>부산</Country></Countries>
마무리
문자열 배열의 데이터를 for, foreach문이 아닌 확장 메서드(쿼리 연산자)를 사용하여 표현해 보는 샘플 코드입니다. 반드시 이렇게 해야하는 것은 아니지만, LINQ 학습차원에서 알아주면 좋을만한 코드 조각인 듯 합니다.
끝.