gpt4 book ai didi

c# - 如何使用条件空运算符来检查空字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 18:24:54 25 4
gpt4 key购买 nike

我正在尝试执行 LINQ to objects 查询,如下所示:

var c1 = allCustomers
.Where(x => x.CompanyName.Replace("'", "").StartsWith(searchText))
.ToList();

只要 CompanyName 不为空,这就可以正常工作。

所以,我认为这似乎是新的 null 条件运算符的完美位置!只需更改为:

var c1 = allCustomers
.Where(x => x.CompanyName?.Replace("'", "").StartsWith(searchText))
.ToList();

一切都应该正常!

相反,我得到了错误:

Cannot implicitly convert type 'bool?' to 'bool'. An explicit conversion exists (are you missing a cast?)

我不太确定如何在这里完成我想要的。在这种情况下我将如何使用 null 条件?

最佳答案

您需要一个合并运算符将三态转换为适当的 bool 值。

var c1 = allCustomers
.Where(x => x.CompanyName?.Replace("'", "").StartsWith(searchText) ?? false)
.ToList();

我称 bool? 为三态,因为它可以有三个值:truefalsenull;因此,将 bool? 转换为 bool 是一个缩小转换,需要显式处理。

关于c# - 如何使用条件空运算符来检查空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36804926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com