2011-01-19 34 views
15

可能重复:
C#: Are string.Equals() and == operator really same?字符串比较:==操作符()与equals()方法

对于字符串比较,它的做法是更好的(安全):

string s1="Sarfaraz"; 
string s2="Nawaz"; 

bool result1 = (s1==s2) ;//approach 1 
bool result2 = s1.Equals(s2) ;//approach 2 

或者两者都是一样的引擎盖下?

+1

这取决于你是否认为“狗”和“狗”是同一个词,而你可以在第一种方法中使用String.Equals(S1,S2,StringComparison.CurrentCultureIgnoreCase)操作字符串,可以方便和优雅。 – 2011-01-19 20:13:16

+0

@Rhhound:非常好的一点! – Nawaz 2011-01-19 20:18:20

回答

14

我喜欢Equals()因为可用的StringComparison选项非常有用。

==!=运营商基于,所以他们是安全的使用,即使String是引用类型。