将带有字符串的对象初始化为null

本文关键字:初始化 null 对象 字符串 | 更新日期: 2023-09-27 18:19:46

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

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?

谢谢你的建议。

将带有字符串的对象初始化为null

null或空字符串没有什么安全性可言。这完全是你的选择。因为两者都经常用于指示数据或信息的潜逃,所以有一个方便的方法字符串。IsNullOrEmpty,允许您接受任一值。

在你的情况下,我会选择最简单的选项,null。

您可以将这两个属性初始化为字符串。清空(首选"),然后检查字符串。设置属性时为空,但前提是您可以保证:-

a) 所设置的值从不为字符串。空

b) 所设置的值为字符串。空,但值仅设置一次

我会坚持检查null,以避免以上任何一种情况在未来引发潜在问题。

这里没有问题,您使用的代码应该可以正常工作。我甚至想不出"以后会出现什么问题"。