当前位置:  开发笔记 > 编程语言 > 正文

C# - IEnumerable分隔字符串

如何解决《C#-IEnumerable分隔字符串》经验,为你挑选了3个好方法。

将一个IEnumerable字符串转换为分隔字符串的函数式编程方法是什么?我知道我可以使用一个循环,但我正试图绕过函数式编程.

这是我的例子:

var selectedValues =
from ListItem item in checkboxList.Items
where item.Selected
select item.Value;

var delimitedString = ??

..或者我可以在第一个var赋值中执行此操作(将每个结果追加到前一个)?



1> Tom Ritter..:
string.Join(", ", string[] enumerable)


+1,但我会说string.Join(",",selectedValues.ToArray())
@Lucas,如果您使用的是.NET 4,请不要这样做.http://msdn.microsoft.com/en-us/library/dd992421.aspx

2> Danko Durbić..:

这是一个例子StringBuilder.好处是Append()返回StringBuilder实例本身.

  return list.Aggregate( new StringBuilder(), 
                               ( sb, s ) => 
                               ( sb.Length == 0 ? sb : sb.Append( ',' ) ).Append( s ) );



3> Ilya Ryzhenk..:
var delimitedString = selectedValues.Aggregate((x,y) => x + ", " + y);


就中间字符串而言,这将是非常昂贵的.非常FP,但不是很实用.http://www.yoda.arachsys.com/csharp/stringbuilder.html
@Marc,我回答了问题,这是关于FP,而不是关于性能.
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有