我正在使用C#4.0,其中我有一个非空字符串对象的列表。
IList<String> Errors
我想要做的是创建一个单独的字符串,其中所有列表元素一个接一个地附加,并带有换行符。
public String ErrorMessage
{
get { return Errors.SomeMethodHere(); }
}
我能想到的一种方法是循环使用字符串列表。有没有更好的方法,或者我可以使用内置的System.String或LINQ方法?
答案 0 :(得分:5)
String.Join(Environment.NewLine, Errors.ToArray());
答案 1 :(得分:2)
尝试String.Join(Environment.NewLine, Errors.ToArray())
(对于.NET 4及更高版本,您不需要ToArray)
答案 2 :(得分:1)
public String ErrorMessage
{
get
{
//Use your appropriate separator instead of ','
return string.Join(",", Errors);
//return string.Join("", Errors); // Just concatenating all message
}
}
答案 3 :(得分:0)
Errors.Aggregate((left, right) => string.Format(@"{0}\n{1}", left, right));
答案 4 :(得分:0)
public static class MyExtensions
{
public static string ErrorMessage(this IList<String> strList)
{
string retMessage = null;
for (int i = 0; i < strList.Count; i++)
{
retMessage += strList[i].ToString() + Environment.NewLine;
}
return retMessage;
}
}
您可以使用上面的代码片段来制作扩展方法,从列表数据生成单个字符串。