null-conditional-operator

    4熱度

    4回答

    var a = b?.c.d; 這個表達式不應該總是給出編譯錯誤嗎?如果b爲null,則通過傳播null值,所以c也將爲null,因此也需要此運算符。根據我的理解,在表達式中使用此運算符會傳播病毒。 但是,Visual Studio 2015和Resharper都沒有對我說什麼,我在這裏錯過了什麼嗎?

    4熱度

    1回答

    如果變量值爲Nothing,我們遇到了空條件運算符的意外行爲。 下面的代碼的行爲讓我們有點糊塗 Dim l As List(Of Object) = MethodThatReturnsNothingInSomeCases() If Not l?.Any() Then 'do something End If 預期的行爲是Not l?.Any()是truthy如果l

    1熱度

    3回答

    我想如下執行LINQ對象查詢: var c1 = allCustomers .Where(x => x.CompanyName.Replace("'", "").StartsWith(searchText)) .ToList(); 這工作只要細如公司名稱不爲空。 所以,我認爲這似乎是新的空條件運算符的理想場所!只需更改爲: var c1 = allCustomers

    5熱度

    1回答

    我有下面的代碼行: user.Exists = await this.repository?.Exists(id); Exists在左手側是User類的屬性。它的類型只是bool,而不是bool?。右側的Exists方法是一種API方法,用於檢查存儲庫中是否存在給定實體。它返回Task<bool>。我想檢查存儲庫是否爲空,所以我使用空條件運算符。我認爲,如果存儲庫爲空,那麼整個右側將返回nul

    0熱度

    2回答

    環境:的Visual Studio 2015年 區::UTC + 7:00,曼谷 問題:在可空的DateTimeOffset varialbe(?的DateTimeOffset)時,使用NULL條件運算符會導致異常,即它仍然調用該方法,即使該值爲NULL,即(值爲DateTimeOffset?)?ToLocalTime(),它將調用ToLocalTime並導致異常。 查詢:我可以不使用空有條件的經

    1熱度

    2回答

    我想要使用多字段搜索框篩選對象的列表。它接受文本,然後將搜索應用到列表中。但是,根據提交的地址,地址2和3可能爲空白(在此情況下,列表中的 對象爲空)。 我有以下表達式。 Properties.Where(x => x.Address1.ToLower().Contains(senderElement.Text) || x.Address2.ToLower().Contains(

    1熱度

    4回答

    我有一個event,它返回boolean。爲了確保只有當有人在傾聽時纔會觸發事件,我使用空條件運算符(questionmark)調用它。 但是,這意味着我必須將null-conditional運算符添加到返回的布爾值中。這意味着我無法弄清楚如何在if語句中使用它。有誰知道如何處理這個? switch (someInt) { case 1: // Validate if th

    4熱度

    1回答

    在執行成員訪問之前,我已經知道空條件運算符can be used to test爲null。 例如: int? length = customers?.Length; // null if customers is null Customer first = customers?[0]; 如果customers在customers?.Length爲null,則customers?.Lengt

    0熱度

    2回答

    空條件運算符可用於跳過空目標上的方法調用。在這種情況下,方法論點會被評估嗎? 例如:當myObject是null myObject?.DoSomething(GetFromNetwork()); 正所謂GetFromNetwork?

    -1熱度

    1回答

    爲什麼此代碼的工作: if (list?.Any() == true) 但是這個代碼不: if (list?.Any()) 說錯誤CS0266無法隱式轉換類型'布爾? 'bool' 那麼,爲什麼它不是一個語言功能,如果聲明在中做出這樣的隱式轉換?