sti*_*k81 10 .net c# string string-comparison
在某些语言(例如C++)中,您不能使用==等运算符进行字符串比较,因为它会比较字符串对象的地址,而不是字符串本身.但是,在C#中,您可以使用==来比较字符串,它实际上会比较字符串的内容.但是还有字符串函数来处理这种比较,所以我的问题是; 你应该?
鉴于两个字符串:
string aa = "aa";
string bb = "bb";
Run Code Online (Sandbox Code Playgroud)
你应该像这样比较它们:
bool areEqual = (aa == bb);
Run Code Online (Sandbox Code Playgroud)
或者你应该使用Equal函数,如下所示:
bool areEqual = aa.Equals(bb);
Run Code Online (Sandbox Code Playgroud)
反正有技术差异吗?或者最佳实践的合理论据?
Han*_*ant 24
这是运营商的实施:
public static bool operator == (String a, String b) {
return String.Equals(a, b);
}
Run Code Online (Sandbox Code Playgroud)
不要为此失眠.
Mar*_*ell 23
我不会用:
aa.Equals(bb)
Run Code Online (Sandbox Code Playgroud)
除非我知道 aa不能可能为空.我可能会用:
string.Equals(aa,bb)
Run Code Online (Sandbox Code Playgroud)
但我主要使用它我想使用其中一种特定StringComparison模式(不变量,序数,不区分大小写等).虽然我也可以使用这些StringComparer实现,因为它们更容易抽象(例如,传递给一个Dictionary<string, Foo>不区分大小写的序数字典).对于一般用途,
a == b
Run Code Online (Sandbox Code Playgroud)
很好.
| 归档时间: |
|
| 查看次数: |
5556 次 |
| 最近记录: |