【问题标题】:String comparison : operator==() vs. Equals() [duplicate]字符串比较:operator==() vs. Equals() [重复]
【发布时间】:2011-01-19 19:59:37
【问题描述】:

可能重复:
C#: Are string.Equals() and == operator really same?

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

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

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

或者两者本质上是一样的?

【问题讨论】:

  • 这取决于您是否认为“dog”和“Dog”是同一个词,而您可以在第一种方法中使用 String.Equals(S1,S2,StringComparison.CurrentCultureIgnoreCase) 来操作字符串得心应手,优雅。
  • 一个警告是,如果字符串为空,您将抛出异常。当然,如果您比较它们的价值,那么它们当然是您期望的价值。

标签: c# string equality


【解决方案1】:

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

== 和!= 运算符基于值,因此即使String 是引用类型,它们也可以安全使用。

【讨论】:

  • 另外值得一提的是,如果s1 是null 结果会有所不同。
猜你喜欢
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 2018-07-09
相关资源
最近更新 更多