我能解释问题的最好方法是使用2数据库。第一个数据库保存所有实时数据。第二个数据库保存我们定期更新的数据。我需要确定是否需要在第二个数据库中更新值。假设一个名为“职业”的字段。给出一些方案:
DB1的值为null,DB 2的值为null,不更新。
DB1的值为空,DB2的值为空,没有更新。
DB1具有空值,DB2具有空值,没有更新。
DB1具有空值,DB2具有空值,没有更新。
DB1有一个值,DB2有空,空值或任何其他值,更新。
DB1具有一个空,空白的空格,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)
,但由于空格和空字符串是我看待它们的2个不同值,因此我不认为它们可以处理上述情况。也许我是错的,这就是这篇文章的目的,以了解是否有更好的方法。
答案 0 :(得分:4)
这适合您的需求吗?
return ((db1.Occupation?.Trim() + "") == (db2.Occupation?.Trim() + ""));
?
保护空引用异常.Trim()
清除白色
空格+ ""
将所有null转换为空