2010-11-23 7 views
2

메시지라는 MailMessage 개체가 있습니다.C# MailMessage 개체 질문

message.Body를 만들려고하는데 IList 만 있습니다. 나는 다음 원하는 몸에서

:

"The following files could not be converted-" + IList<string> testlist 

??????

답변

3
StringBuilder builder = new StringBuilder("The following files could not be converted-\n"); 
foreach(string s in testlist) 
    builder.AppendFormat("{0}\n", s); 

string body = builder.ToString(); 
+0

테스트 목록 다음에 어떻게 문자열을 추가합니까? – user380432

+0

또한 쉼표로 구분 된 목록이 필요합니까? – user380432

+1

원하는 모든 것이 CSV 문자열 인 경우 목록을 CSV 문자열로 변환하지 않는 것이 좋습니다. 예 : string.Join (",", new List (strings) .ToArray()); – Zachary

-1

이 무료-손과 검증되지 않은,하지만 당신은 아이디어를 얻을 ...

var sb = new StringBuilder(); 
sb.Append("The following files could not be converted:\n"); 
testlist.ForEach(s => sb.Append(string.Format("{0}\n", s))); 
+0

나는 당신이 당신의 입장 사이에 줄 바꿈을 추가하는 것을 잊었다 고 생각합니다. –

+0

@Paul Sasik : 내가 말했듯이, 그는 아이디어를 얻어야합니다. 질문의 원래 의사 코드는 줄 바꿈을 포함하지 않았습니다. 나는 포맷팅이 가장 중요한 부분이 아니라고 생각했다. – David

0
var body = string.Format("The following files could not be converted-{0}.", string.Join(", ", testlist.ToArray())); 

당신은 "\ n"대신 "를 사용하여 레이아웃을 주위 재생할 수 있습니다, "예를 들면.

0

저는 IList를 CSV 문자열 값으로 변환합니다. string.Join() 함수가 도움이 될 것입니다.

아래는 내 머리 꼭대기에서 벗어난 코드이므로 제대로 작동하지 않을 수 있지만 잘하면 아이디어를 얻을 수 있습니다.

IList<string> x = new List<string>(); 
x.Add("file1"); 
x.Add("file2"); 

string message = "The following files could not be converted: " + string.Join(", ", x.ToArray()); 
+0

불행히도 IList에는 ToArray() 메서드가 없습니다. – Brandon