【问题标题】:Get names from Dictionary's value as Comma separated value string从 Dictionary 的值中获取名称作为逗号分隔的值字符串
【发布时间】:2012-07-27 09:26:37
【问题描述】:

我有一个字典 Dictionary<int, Foo> fooDic,因为它的值是一个类,Foo 有一个属性 _barName 我需要来自 fooDic 的所有名称作为 CSV 字符串... 比如……

var fooDic = new Dictionary<int, Foo>()
{
    { 0, new Foo { _barId = 10, _barName = "some value" } },
    { 1, new Foo { _barId = 15, _barName = "some Foo value" } }, 
    { 2, new Foo { _barId = 25, _barName = "some Foobar value" } }
};

我需要输出为

string result = "some value, some Foo value, some Foobar value";

请分享您的想法/解决方案,如何实现?

【问题讨论】:

    标签: c# linq csv dictionary linq-to-objects


    【解决方案1】:

    像这样:

    String names = String.Join(", ", fooDic.Select(x => x.Value._barName));
    

    看看:

    http://ideone.com/F4bLU

    【讨论】:

    • 使用", "添加空格。
    • +1,酷。我自己在我的代码中添加了 .ToArray,因为您之前忘记添加它...但是感谢快速解决方案伙计们... :)
    • @MayankPathak:你不需要ToArray 和.NET 4(Ideone 是单声道),因为String.join 现在也需要IEnumerable&lt;T&gt;ToArray 将首先创建一个副本,这是完全冗余且低效的。
    猜你喜欢
    • 2019-05-08
    • 1970-01-01
    • 2017-07-22
    • 2014-03-22
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多