1 string str1="Test"; 2 string str2 = "Test"; 3 if (str1==str2) //第一种判断方式 4 { 5 //第二种判断方式 6 int result1 = str1.CompareTo(str2); 7 Console.WriteLine(result1); //输出result1=0 8 9 //第三种判断方式 10 int result2=String.Compare(str1, str2); 11 Console.WriteLine(result2); //输出result2=0 12 13 //后面两种方式需要注意str1和str2是不是为null的情况 14 15 //第四种判断方式 16 bool result3=str1.Equals(str2); 17 Console.WriteLine(result3); //输出result3=true 18 19 //第五种判断方式 20 bool result4 = String.Equals(str1,str2); 21 Console.WriteLine(result4); //输出result4=true 22 }
注:string.Compare比较结果的含义:
值 |
含义 |
---|---|
小于零 |
x 小于 y。 或 x 为 空引用(在 Visual Basic 中为 Nothing)。 |
零 |
x 等于 y。 |
大于零 |
x 大于 y。 或 y 为 空引用(在 Visual Basic 中为 Nothing)。 |
string.Equals比较结果的含义为:
值 |
含义 |
---|---|
true |
x 等于 y。 |
false |
x 不等 y。 |
char a = null;或char a = ‘’ 定义空值全是错误的。总结了以下的几种方法:值全是0的
1 string str1 = null; 2 Console.WriteLine("str1 = {0}", str1); //显示空值和""相似 3 /* 4 * 下面char 的变量值全是0 5 */ 6 7 char test = '