選擇單我有兩個類 - MyBaseClass和BaseClassContainer - 這是宣佈類似這樣的:使用LINQ從嵌套集合
public class MyBaseClass
{
private Guid id;
public Guid ID
{
if (id == Guid.Empty)
{
id = Guid.NewGuid();
}
return id;
}
//...Other Properties omitted for brevity
}
和
public class BaseClassContainer : INotifyPropertyChanged
{
private ObservableCollection<MyBaseClass> baseClasses;
public ObservableCollection<MyBaseClass> BaseClasses
{
//...Omitted for brevity...
}
}
在我的代碼我
然後有一個類型爲BaseClassContainer的ObservableCollection(BaseClassContainerCollection)。我想弄清楚的是如何使用LINQ從ObservableCollection中選擇一個BaseClassContainer,其中一個MyBaseClass.ID與特定的Guid匹配。我使用Single()方法的原因是因爲我知道它們都將是唯一的。
我試過以下,但它不工作:
var result = BaseClassContainerCollection.Single(container => container.BaseClasses.Single(baseClass => baseClass.ID == specificGuid));
我得到一個錯誤說:無法隱式轉換類型「MyBaseClass」到「布爾」。我錯過了什麼?
我認爲這正是我所期待的。現在我只需要弄清楚爲什麼它告訴我該序列不包含匹配的元素。我在該特定行上放置了一個斷點,並觀察它找到了與特定Guid匹配的MyBaseClass,但它仍然告訴我沒有匹配。我認爲這可能是一個有約束力的問題。但現在,將其標記爲答案。 – dgsmith15