這只是一個奇怪的c#語言問題。我檢查了MSDN運營商,看不到任何接近。基於布爾變量的條件c#
當我使用LINQ to XML檢索某些元素時,我在WHERE方法中傳遞了一些lambda表達式來選擇特定元素。
但是我可以看到,我正在使用下面的說法,這讓我很煩惱。
bool myCondition;
// some codes
var elements = xDocument.Descendants("items").
Where(x=>x.Attribute("id")!=null&&
(myCondition)x.Element("blah").Value=="blah":
x.Element("blah").Value!="blah").ToList();
但不知何故,我一直在下面寫代碼(不知道爲什麼:)):
// some codes
var elements = xDocument.Descendants("items").
Where(x=>x.Attribute("id")!=null&&
x.Element("blah").Value?myCondition="blah").ToList();
我有種看到布爾myCondition爲(驚歎號)或=(等號)! 。 if true then = if false then!。
我只是想知道未來有沒有可能添加這些類型的操作符?或者有更好的運營商可以縮短我的病情?
這可以與其他任何編程語言一起使用嗎?也許是JavaScript?
如果您正在降級,請說出原因。
我不明白問題是什麼以及你想做什麼。您需要在Where參數中傳遞布爾條件。在'(myCondition)'之後你缺少'?'的第一個代碼塊。第二個塊不通過bool條件,'myCondition =「blah」'會出錯。 – kurakura88
代碼沒有問題。我想要做的是縮短我寫的代碼量。取決於一個布爾值,我會檢查它是否應返回屬性值等於或不等於某個值的元素。 – akd