代码之家  ›  专栏  ›  技术社区  ›  Bagzli

比较两个具有null、空和空白值的字符串

  •  0
  • Bagzli  · 技术社区  · 7 年前

    我能解释这个问题的最好方法是使用2数据库。第一个数据库保存所有实时数据。第二个数据库保存我们定期更新的数据。我需要确定是否需要在第二个数据库中更新值。比如说一个叫做职业的领域。给出几个场景:

    DB1的值为null,DB 2的值为null,不更新。
    DB1有空值,DB2有空值,没有更新。

    DB1有空值,DB2有空值,没有更新。
    DB1有一个值,DB2有空、null或任何其他值update。
    DB1有一个null、空、空白,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)

    1 回复  |  直到 7 年前
        1
  •  5
  •   MikeH    7 年前

    这适合你的需要吗?

    return ((db1.Occupation?.Trim() + "") == (db2.Occupation?.Trim() + ""));
    
    • ? 保护空引用异常
    • .Trim() 空间
    • + ""