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

あなたは「\ n」ではなく」のを使用してレイアウトで遊ぶことができますこれは、フリーハンドおよびテストされていないですが、あなたのアイデアを得る...

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

、 " 例えば。

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