+-

如果我有IEnumerable,这是我创建一个以逗号分隔的值的ToString方法的最简洁的方法吗?
var enumOfObjects = myEnumerable as IList<object> ?? myEnumerable.Cast<object>().ToList();
var enumOfStrings = enumOfObjects.Select(x => x.ToString());
var finalString = String.Join(",", enumOfStrings);
或者,foreach循环会更好吗?还是有一种更清洁的方式来做到这一点?
最佳答案
以下内容比较简短(可能被认为更干净):
enumOfObjects.Aggregate((a,b) => a+","+b))
看起来像:
IEnumerable<object> enumOfObjects = new List<object> {1, "Cat", 3, 4};
Console.WriteLine(enumOfObjects.Aggregate((a,b) => a+","+b));
//outputs 1,Cat,3,4
如果您实际上想将其用作字符串,则需要在其上调用ToString()或将其强制转换为字符串.
点击查看更多相关文章
转载注明原文:首页> C#>如何创建IEnumerable.ToString - 乐贴网