字符串比较:operator ==()vs. Equals()

Naw*_*waz 15 c# string equality

可能重复:
C#:string.Equals()和==运算符是否真的相同?

对于字符串比较,哪种方法更好(和安全):

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

bool result1 = (s1==s2) ;//approach 1
bool result2 = s1.Equals(s2) ;//approach 2
Run Code Online (Sandbox Code Playgroud)

或两者在引擎盖下相同?

小智 14

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

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

  • 另外值得一提的是,如果`s1`为'null`,结果会有所不同. (7认同)