将带有字符串的对象初始化为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或空字符串没有什么安全性可言。这完全是你的选择。因为两者都经常用于指示数据或信息的潜逃,所以有一个方便的方法字符串。IsNullOrEmpty,允许您接受任一值。
在你的情况下,我会选择最简单的选项,null。
您可以将这两个属性初始化为字符串。清空(首选"),然后检查字符串。设置属性时为空,但前提是您可以保证:-
a) 所设置的值从不为字符串。空
或
b) 所设置的值为字符串。空,但值仅设置一次
我会坚持检查null,以避免以上任何一种情况在未来引发潜在问题。
这里没有问题,您使用的代码应该可以正常工作。我甚至想不出"以后会出现什么问题"。