我是C#的新手,我找到了两种比较字符串的方法.这两种方法有什么不同?
var a = "hello";
var b = "hello";
a.Equals(b);
string.Equals(a, b);
我是C#的新手,我找到了两种比较字符串的方法.这两种方法有什么不同?
var a = "hello";
var b = "hello";
a.Equals(b);
string.Equals(a, b);
不同之处在于,如果a为空,则a.Equals(b)
会抛出异常:
string a = null;
string b = "hello";
a.Equals(b); // throws a NullReferenceException
string.Equals(a, b); // returns false
尤其是当您知道字符串可能为空(例如,用户输入)时,使用string.Equals(a, b)
会更安全.