什麼是你想實現方法直接?我常常想輸出列表中的內容,所以我創建了下面的擴展方法:
public static string Join(this IEnumerable<string> strings, string seperator)
{
return string.Join(seperator, strings.ToArray());
}
它是那麼消耗這樣
var output = list.Select(a.ToString()).Join(",");
編輯:爲了更方便地使用非字符串列表,這裏是上述
public static String Join<T>(this IEnumerable<T> enumerable, string seperator)
{
var nullRepresentation = "";
var enumerableAsStrings = enumerable.Select(a => a == null ? nullRepresentation : a.ToString()).ToArray();
return string.Join(seperator, enumerableAsStrings);
}
public static String Join<T>(this IEnumerable<T> enumerable)
{
return enumerable.Join(",");
}
現在你可以使用它像這樣
另一個變化
int[] list = {1,2,3,4};
Console.WriteLine(list.Join()); // 1,2,3,4
Console.WriteLine(list.Join(", ")); // 1, 2, 3, 4
Console.WriteLine(list.Select(a=>a+".0").Join()); // 1.0, 2.0, 3.0, 4.0
給出一個{5,10,20}的列表,我想得到字符串「5,10,20」。而且,我希望它適用於許多數據類型,如int,double,string,bool等。 – 2010-11-04 05:13:46
我添加了更適合您的需求的Join方法的新變體。總的來說,我發現它是單元測試和調試時非常有用的方法。您也可以使用「\ n」作爲分隔符將每個列表項目放到一個新行中。 – Iain 2010-11-04 06:12:29