+-
首页> C#>如何创建IEnumerable.ToString
如果我有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 - 乐贴网