2017-07-13 132 views
0

假設有一個名爲「Fruits」的模型。它有兩個屬性
Linq查詢過濾列表中的值

  • 名稱(字符串)
  • isAvailable(布爾)

我有一個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)); 

這是我迄今所做的,它是不工作。希望有人能幫忙。

+0

'FruitsList.Where(X => x.isAvailable)'。你試圖分配'isAvailable',而不是檢查它的值。 – Rob

+0

'string availableFruits = string.Join(「|」,FruitsList.Where(x => x.isAvailable).Select(x => x.Name));' –

+0

非常感謝@Rob。 – sandaru

回答

2

看看你的代碼,你正在使用x.isAvailable= true,通過像這樣使用你正在賦值給屬性,這不是一個有效的語法,因此你的查詢不會編譯,你必須使用==代替用於比較或簡單的布爾字段=,最後查詢將是:

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

非常感謝。我糾正了代碼,現在它的工作:) – sandaru

+0

@sandaru:高興地幫助你 –