【问题标题】:Using Linq to return a Comma separated string使用 Linq 返回逗号分隔的字符串
【发布时间】:2013-09-30 05:52:24
【问题描述】:

我的应用程序中有一个类

public class ProductInfo
{
  public int ProductId {get;set;}
  public int ProductType{get;set;}
}

我想编写一个 linq 查询,它可以以逗号分隔的格式返回 ProductIds 列表,其中 ProductType 等于某个数字?

我尝试在我的 Linq 语句中使用 string.join,但它似乎不起作用。

【问题讨论】:

    标签: c# linq


    【解决方案1】:
    var s = string.Join(",", products.Where(p => p.ProductType == someType)
                                     .Select(p => p.ProductId.ToString()));
    

    【讨论】:

    • 不到 1 分钟完成 :)
    • @SriramSakthivel 我知道这里的很多人总是试图尽快回答:),与他们相比我只是一个学习者:)
    • 如何选择多列?
    • @DougDexter 不确定您在这种情况下的意思。 OP 的问题是相当具体的关于获取一些用逗号分隔的值的字符串。所以Select 中的结果应该是string,否则每个项目上的ToString() 将被调用以获取字符串。如果您选择多个属性(如您所理解的列),这些属性仍然需要以某种方式组合以形成一个字符串。所以这是不清楚的地方。这更多地取决于您希望如何塑造数据。
    • @jazzBox 要选择多个列,请尝试以下操作: string.Join(",", products.Where(p => p.ProductType == someType) .Select(p => $"ID :{p.ProductId.ToString()} 名称:{p.ProductName.ToString()}"));
    猜你喜欢
    • 2015-07-25
    • 2012-07-03
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多