2012-07-04 2 views
1

프레임 워크의 한 부분에서 자주 발생하는 패턴입니다. 문자열 배열을 감안할 때 우리는 모두 세미콜론으로 분리하여 연결해야합니다.세미콜론을 사용하는 연속 문자열 배열

내가 할 수있는 우아한 방법을 알고 싶습니다. 저는 코드베이스에서 몇 가지 변형을 보았습니다. 항상 이것을해야만 할 때 다시 생각해야합니다.

String[] values = new String[] {"a","b","c","d"}; 
String concat = String.Empty; 
foreach(String s in values) 
{ 
    if(String.IsEmptyOrNullString(s) == false) 
     concat + = ", "; 
    concat += s; 
} 

무엇 나를 negs하면 if 문이, 내가 루프 전에 첫 번째 항목을 삽입 할 수 및 인덱스 1에서 시작, for 루프로 시작하지만이 doesn' :

내 현재의 패턴이있다 가독성을 높이십시오.

의견을 보내주십시오.

+0

'if (! String.IsEmptyO rNullString (s))'을 사용하면 더 쉽게 읽을 수 있습니다. –

답변

7

당신은 string.Join() 사용할 수 있습니다

String[] values = new String[] {"a","b","c","d"}; 
var concat = string.Join(", ", values); 

이이처럼 보이는 무언가가 발생합니다 :

A, B, C, D

+0

+1,'Concat'을 먼저 Empty로 지정하지 않아도 Join의 리턴 값으로 초기화하면됩니다. –

+0

@Damien_The_Unbeliever, 네 말이 맞아, 방금 코드 스 니펫을 복사하고 수정했다. 그 부분을 제거하는 것을 잊었습니다. 그 부분을 찾아 주셔서 감사합니다. –

1

시도 :

var result = string.Join(",", values.Where(s => !string.IsNullOrEmpty(s))); 
관련 문제