class ResultType
{
public string Value{ get; set; }
public int Count{ get; set; }
}
var someList = new List<ResultType>(){new ResultType(){Value = "A"},new ResultType(){Value = "B"}};
ResultType z = someList.FirstOrDefault(x => x.Value == "A") ??
someList.FirstOrDefault(x => x.Value == "B");
z應該得到值爲A的項目的值(它的項目的值爲A,B與它們不爲null!),但是我收到null爲什麼會發生這種情況???當兩個值都不爲空時,運算符返回空值
if(someList.FirstOrDefault(x => x.Value == "A")!=null) z= someList.FirstOrDefault(x => x.Value == "A");
這個工程。
此外,當我做到這一點
someList.FirstOrDefault(x => x.Value == "A")
和
someList.FirstOrDefault(x => x.Value == "B")
被保存到變量,然後用作
z = a ?? b
這個作品,以及
請注意,都的值不爲空!
截圖 https://www.dropbox.com/s/ogq89shme1mhg44/Untitled.png
什麼是someList的類型? (即它可以是一個值類型) – adrianm
可以是小的'A'?不是帽子?或'Value'財產很可能是的'Object'類型 –
嘗試創建並打印所有值檢查什麼有裏面。 – ZaoTaoBao