【问题标题】:Linq query to filter values from a list用于过滤列表中的值的 Linq 查询
【发布时间】:2017-12-17 16:42:21
【问题描述】:

假设有一个名为“Fruits”的模型。它有两个属性

  • 名称(字符串)
  • isAvailable (bool)

我有一个 FruitsList,它包含一些值。

Name   isAvailable

Apple    True
Banana   False
Mango    True

现在我想获取可以作为连接字符串使用的水果名称,availableFruits = "Apple|Mango"

  string  availableFruits = string.Join("|", FruitsList.Where(x => x.isAvailable= true).Select(x => x.Name));

这是我到目前为止所做的,但它不起作用。希望有人能帮忙。

【问题讨论】:

  • FruitsList.Where(x => x.isAvailable)。你试图分配isAvailable,而不是检查它的值。
  • string availableFruits = string.Join("|", FruitsList.Where(x => x.isAvailable).Select(x => x.Name));
  • 非常感谢@ChetanRanpariya。

标签: c# list linq conditional-statements


【解决方案1】:

看看你的代码,你正在使用x.isAvailable= true,通过这样使用你正在为属性分配一个值,这不是一个有效的语法,因此你的查询不会编译,你必须使用== 而不是 = 比较或只是布尔字段,最后查询将是:

string  availableFruits = string.Join("|", FruitsList.Where(x => x.isAvailable)
                                                     .Select(x => x.Name));

【讨论】:

  • 非常感谢。我更正了代码,现在它可以工作了:)
  • @sandaru:很高兴为您提供帮助
猜你喜欢
  • 2017-06-29
  • 2016-06-27
  • 2013-08-15
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多