将 2 个字符串与空值、空值和空白值进行比较
Comparing 2 strings with null, empty and whitespace values
我能解释问题的最好方法是使用 2 个数据库。第一个数据库保存所有实时数据。第二个数据库保存我们定期更新的数据。我需要确定是否需要在第二个数据库中更新某个值。让我们说一个叫做职业的领域。给出几个场景:
DB1 的值为空,DB 2 的值为空,没有更新。
DB1 有空值,DB2 有空值,没有更新。
DB1 有空值,DB2 有空值,没有更新。
DB1 有空值,DB2 有空值,没有更新。
DB1 有值,DB2 有空值、null 或任何其他值,更新。
DB1 有一个 null,空,白色space,DB2 有一个实际值,update.
为了实现我写了一个这样的方法:
if (string.IsNullOrWhiteSpace(db1.Occupation)) db1.Occupation = string.Empty;
if (string.IsNullOrWhiteSpace(db2.Occupation)) db2.Occupation = string.Empty;
if (!db1.Occupation.Equals(db2.Occupation)) return false;
return true;
我的问题是是否有内置的方法来实现我上面的场景?我正在研究 if (String.Equals(str1, str2, StringComparison.OrdinalIgnoreCase)
和 object.Equals(str1, str2)
但我认为它们无法处理上述情况,因为白色 space 和空字符串在我看来是两个不同的值。也许我错了,这就是这个post,看看有没有更好的方法。
这符合您的需求吗?
return ((db1.Occupation?.Trim() + "") == (db2.Occupation?.Trim() + ""));
?
保护空引用异常
.Trim()
清理白色
space
+ ""
将任何 null 转换为空
我能解释问题的最好方法是使用 2 个数据库。第一个数据库保存所有实时数据。第二个数据库保存我们定期更新的数据。我需要确定是否需要在第二个数据库中更新某个值。让我们说一个叫做职业的领域。给出几个场景:
DB1 的值为空,DB 2 的值为空,没有更新。
DB1 有空值,DB2 有空值,没有更新。
DB1 有空值,DB2 有空值,没有更新。
DB1 有空值,DB2 有空值,没有更新。
DB1 有值,DB2 有空值、null 或任何其他值,更新。
DB1 有一个 null,空,白色space,DB2 有一个实际值,update.
为了实现我写了一个这样的方法:
if (string.IsNullOrWhiteSpace(db1.Occupation)) db1.Occupation = string.Empty;
if (string.IsNullOrWhiteSpace(db2.Occupation)) db2.Occupation = string.Empty;
if (!db1.Occupation.Equals(db2.Occupation)) return false;
return true;
我的问题是是否有内置的方法来实现我上面的场景?我正在研究 if (String.Equals(str1, str2, StringComparison.OrdinalIgnoreCase)
和 object.Equals(str1, str2)
但我认为它们无法处理上述情况,因为白色 space 和空字符串在我看来是两个不同的值。也许我错了,这就是这个post,看看有没有更好的方法。
这符合您的需求吗?
return ((db1.Occupation?.Trim() + "") == (db2.Occupation?.Trim() + ""));
?
保护空引用异常.Trim()
清理白色 space+ ""
将任何 null 转换为空