首页 > C# > 从 IList 或 IEnumerable最干净方法

从 IList 或 IEnumerable最干净方法

上一篇 下一篇

从 or 创建以逗号分隔的字符串值列表的最干净方法是什么?IList<string>IEnumerable<string>

String.Join(...)在 so 上操作 当 OR 等类型无法轻松转换为字符串数组时,使用起来可能很麻烦。string[]IList<string>IEnumerable<string>

分割线

网友回答:

仅供参考,.NET 4.0 版本有一些额外的重载,它们适用于而不仅仅是数组,包括可以处理任何类型的数组:string.Join()IEnumerableT

public static string Join(string separator, IEnumerable<string> values)
public static string Join<T>(string separator, IEnumerable<T> values)

分割线

网友回答:

.NET 4+

IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);

细节和Pre .Net 4.0解决方案

IEnumerable<string>可以使用 LINQ (.NET 3.5) 非常轻松地转换为字符串数组:

IEnumerable<string> strings = ...;
string[] array = strings.ToArray();

如果需要,编写等效的帮助程序方法非常简单:

public static T[] ToArray(IEnumerable<T> source)
{
    return new List<T>(source).ToArray();
}

然后这样称呼它:

IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);

然后,您可以调用 。当然,您不必使用帮助程序方法:string.Join

// C# 3 and .NET 3.5 way:
string joined = string.Join(",", strings.ToArray());
// C# 2 and .NET 2.0 way:
string joined = string.Join(",", new List<string>(strings).ToArray());

后者虽然?有点拗口

这可能是最简单的方法,而且性能也相当高——关于性能到底是什么样子还有其他问题,包括(但不限于)这个。

从 .NET 4.0 开始,中提供了更多重载,因此您实际上只需编写:string.Join

string joined = string.Join(",", strings);

简单?得多

分割线

网友回答:

我可以看到最简单的方法是使用 LINQ 方法:Aggregate

string commaSeparatedList = input.Aggregate((a, x) => a + ", " + x)

模板简介:该模板名称为【从 IList 或 IEnumerable最干净方法】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 267次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-22
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信图片 自适应 微信素材 响应式 单页式简历模板 html5 企业网站 微信模板 微信公众平台 微信文章
您可能会喜欢的其他模板