将字符串初始化为null

时间:2012-01-07 15:45:32

标签: c# linq-to-sql

我有一个像这样的对象模型:

public class MyObject

    {
      public string String1 { get; set; }
      public string String2 { get; set; }
      ...
    }

当对象初始化时,所有字符串值都设置为null。

稍后,我正在编写一个方法来评估这些字符串的值,以便在DB中准备更新。像这样:

if (TheObject.String1 != null) { TheObjectInDB.String1 = TheObject.String1; }
if (TheObject.String2 != null) { TheObjectInDB.String2 = TheObject.String1; }

TheObject是MyObject的一个实例,而TheObjectInDB是我正在更新的表的linq-to-sql映射的实例。

我的问题是:使用null是一种安全的方法来执行此操作还是以后会导致问题?我应该创建一个将这些字符串初始化为“”的构造函数,并在更新中检查字符串是否为“”而不是= null?

感谢您的建议。

3 个答案:

答案 0 :(得分:1)

您可以将两个属性初始化为string.Empty(首选为“”),然后在设置属性时检查string.Empty,但前提是您可以保证: -

a)设置的值绝不是string.Empty

b)设置的值是string.Empty,但值只设置一次

我坚持检查null以避免上述任何一种情况导致将来出现潜在问题。

答案 1 :(得分:1)

null或空字符串没有更多或更不安全。这完全是您的选择。因为两者通常用于表示数据或信息的绝对性,所以有一种方便的方法string.IsNullOrEmpty允许您接受任一值。

在你的情况下,我会坚持使用最简单的选项,null。

答案 2 :(得分:1)

这里没有问题,您使用的代码应该没有任何问题。 我甚至无法想到'这可能导致'以后'的问题。