Aan*_*Aan 0 .net string c++-cli
以下编码方式有什么区别:
if (String::IsNullOrEmpty(TextBox1->Text))
Run Code Online (Sandbox Code Playgroud)
和
if (TextBox1->Text == "")
Run Code Online (Sandbox Code Playgroud)
?
第一个也检查null.
TextBox-> Text属性永远不会为null但考虑(C#):
string s1 = null;
string s2 = "";
string.IsNullOrEmpty(s1) // true
string.IsNullOrEmpty(s2) // true
s1 == "" // false
s2 == "" // true
Run Code Online (Sandbox Code Playgroud)
该IsNullOrEmpty()函数只是一个方便的助手,可以立即检查2(错误)条件.
所以你的标题略有偏差,这是空的和空的.因为:
string.Empty == "" // true
Run Code Online (Sandbox Code Playgroud)
字符串是一个对象.s1并且s2不是字符串而是字符串的引用(指针).null是一个特殊的参考值,意思是"不指向一个对象".空字符串是长度为0的有效字符串对象