这是很烦人的测试我所有的字符串null之前,我可以放心地运用类似的方法ToUpper(),StartWith()等...
如果默认值string是空字符串,我就不用考了,我会觉得它是与其他价值类型,如更一致int或double为例子.另外Nullable<String>有意义.
那么为什么C#的设计者选择使用null字符串的默认值呢?
注意:这与此问题有关,但更侧重于为什么而不是如何处理它.
为什么我会得到错误"类型'字符串'必须是不可为空的值类型才能在泛型类型或方法'System.Nullable'中将它用作参数'T'?"
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Universe;
namespace Universe
{
public class clsdictionary
{
private string? m_Word = "";
private string? m_Meaning = "";
string? Word {
get { return m_Word; }
set { m_Word = value; }
}
string? Meaning {
get { return m_Meaning; }
set { m_Meaning = value; }
}
}
}
Run Code Online (Sandbox Code Playgroud)