c# - 字符串相等与 null 处理

标签 c# .net string null equality

我会经常使用这段代码来比较一个字符串:

if(!string.IsNullOrEmpty(str1) && str1.Equals(str2)){
    //they are equal, do my thing
}

这首先处理 null 情况等。

是否有一种更简洁的方法来进行字符串比较,也许是使用一个方法调用来处理可能的空值?我只是想知道如果测试值为空,则字符串不相等。

(我有似曾相识的感觉,我以前可能问过这个问题,如果是这样,我深表歉意)


更新:在我的例子中,str2 是一个已知的比较好的字符串,所以我不需要检查它是否为 null。 str1 是可能为 null 的“未知”字符串,所以在 str1 null 的情况下我想说“str1 不等于 str2”...

最佳答案

与 Java 不同,C# 字符串覆盖 == 运算符:

if (str1 == str2)

如果你想要一个不区分大小写的比较:

if (string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase))

关于c# - 字符串相等与 null 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188079/

相关文章:

c# - 日期时间.ToString()?

c# - NUnit3 : Assert. 抛出异步任务

c# - 使用 Access 数据库中的数据填充组合框

Java - 将 JTextArea 中的字符串转换为图像

c# - 需要有关线程安全的建议

c# - linq to sql查询使用方法

php - 没有正则表达式的句子大小写

c# - 使用 Expression.Parameter 中的子属性构建 linq 表达式

c# - LINQ 在选择字典属性时创建新的匿名类型

c# - 拳击..我做对了吗?