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' 那么,为什么它不是一个语言功能,如果声明在中做出这样的隐式转换?