AND 条件有问题

发布于 2024-10-17 21:50:53 字数 290 浏览 3 评论 0原文

下面的代码:

if(var != "" && var.startswith("somestring"))
 { do something }

这段代码令人不安;据我的理解, var != "" 将首先被评估,然后如果为 true,那么另一部分将被评估,但这个概念似乎不起作用:)

如果 var 的值为 null,那么我将收到“nullreference”异常;这意味着 var != null 没有被评估。

请帮忙。

谢谢, 拉胡尔

Code Below:

if(var != "" && var.startswith("somestring"))
 { do something }

This code is troubling; as far as my understanding var != "" will be evaluated first and then if true then the other part will be evaluated but this concept is not working seems :)

If var is having a value null then I am getting an "nullreferrence" exception; which means
var != null is not getting evaluated.

Please Help.

Thanks,
Rahul

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

谈下烟灰 2024-10-24 21:50:53

在 C# 中,空字符串和空字符串之间存在区别。您必须检查所有 3 种情况,事实上,C# 包含针对这种情况的辅助方法:

if(!string.IsNullOrEmpty(var) && var.StartsWith("somestring"))
{
   // do something
}

In C#, there is a difference between a null string and an empty string. You have to check for all 3 cases, in fact, C# contains a helper method for just this case:

if(!string.IsNullOrEmpty(var) && var.StartsWith("somestring"))
{
   // do something
}
<逆流佳人身旁 2024-10-24 21:50:53

我认为您的意思是 null 而不是 ""

if (var != null && var.startswith("somestring"))
{ do something }

PS:var 是 C# 更高版本中的保留关键字。

I think you meant null instead of "":

if (var != null && var.startswith("somestring"))
{ do something }

P.S.: var is a reserved keyword in later versions of C#.

数理化全能战士 2024-10-24 21:50:53

var != "" 与 var != null 不同。

var != "" is not the same as var != null.

恏ㄋ傷疤忘ㄋ疼 2024-10-24 21:50:53

"" 是一个有效的字符串 - 它的长度恰好为 0。但它不是 null

要检查 null,请编写 var != null

"" is a valid string - it just happens to have length 0. But it is not null!

To check for a null, write var != null.

面犯桃花 2024-10-24 21:50:53

如果您的变量有可能为空,则在尝试进行任何类型的处理(即使是简单的比较)之前,您需要检查它是否为空,否则您将收到此“nullreference”异常。

if(var != null){
//gitter done
}

If there is ever a possibility that your variable will be null, you need to check if its null or not before you attempt to do any kind of processing (even a simple comparison), or you will get this "nullreference" exception.

if(var != null){
//gitter done
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文