2017-05-28 35 views
0

我有以下節點這是一個集合凡查詢得到innerlist等於項目對象

enter image description here

那麼一旦我擴大擴大InnerList它具有以下項目

enter image description here

然後我擴展其中一個([0]),它具有以下特點

enter image description here

那麼一旦我擴大標籤它有一個屬性調用類型,這具有字符串值。

enter image description here

所以我只是想編寫一個查詢,選擇像下面

var selectedValues = diagram.Nodes.Where(x => x.Tag).Where(A => A.Type.Equals("SomeValue")); 

通過上述類型值 項目,但此查詢甚至不能編譯,獲得論文的錯誤

無法將類型'object'隱式轉換爲'bool'。一個明確的 轉換存在

不能lambda表達式轉換爲預期的委託類型,因爲 一些塊的返回類型不是隱式轉換 爲委託返回類型

回答

1

Where希望你返回bool從你的lambda。我不確定要選擇什麼,但需要將第一個Where調整爲Select或將其與第二個Where結合。你想要這樣的東西嗎?

var selectedValues = diagram.Nodes.Where(x => 
    ((YourTagType)x.Tag).Type.Equals("SomeValue")); 
+0

只是如果需要在標籤上添加:)空檢查) –

+0

@LaurentLequenne ... –

+0

得到這個錯誤你的方法'「對象」不包含「類型」,沒有擴展方法「的定義。鍵入'接受類型'對象'的第一個參數可以找到' – kez