首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在空和==上使用.Equals或.Equals()

在空和==上使用.Equals或.Equals()
EN

Stack Overflow用户
提问于 2014-02-26 15:58:02
回答 2查看 1K关注 0票数 4

关于在字符串上使用.Equals()==,这里有一个关于检查string.Emptynull对象的问题。

在比较string.Emptynull对象时,我是使用==还是应该使用.Equals()

代码语言:javascript
复制
// Add vars to instance variables
for (int i = 0; i < paramFirstList.Count; i++)
{
    // if the key is null, replace it
    // with a "null" string
    if (paramFirstList[i] == null)
    {
        _firstList.Add("null");
    }
    else if (paramFirstList[i] == string.Empty)
    {
        _firstList.Add("empty");
    }
    else
    {
        // Do something
    }
}

我知道最好将nullstring.Empty存储为它们的对象类型,但为了这个特定的目的,我需要将它们存储为字符串表示形式:)。

P.P.S.为明确问题而添加匈牙利符号

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-26 15:59:54

您应该始终支持==而不是Equals。后者是一种基本Object类型的方法,在这种情况下,它将做无用的铸造。

如果要检查string值是空值还是空值,请使用String.IsNullOrEmpty方法。如果,如果您需要采取不同的行动,如果是其中一种或另一种,那么请这样做:

代码语言:javascript
复制
if (value == null)
{
    //do stuff
}
else if (value == string.Empty)
{
    // do other stuff
}

编辑:

正如注释中所指出的,在接收Equals参数的string上有一个重载的string方法。不过,我认为您应该养成使用==的习惯。它只是读起来更好。

票数 4
EN

Stack Overflow用户

发布于 2014-02-26 15:59:50

如果你关心null,你应该使用string.IsNullOrEmpty(),或者string.IsNullOrWhitespace()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22046624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档