在.NET中,哪个最好,
if (mystring.Length == 0)
Run Code Online (Sandbox Code Playgroud)
要么
if (mystring == string.Empty)
Run Code Online (Sandbox Code Playgroud)
看起来这些效果会有相同的效果,但在幕后最好?
我已经阅读了一些关于String.Empty vs""的文章,我也做了自己的测试.它们之间有所不同.
的String.Empty
L_0001: ldsfld string [mscorlib]System.String::Empty
Run Code Online (Sandbox Code Playgroud)
""
L_0001: ldstr ""
Run Code Online (Sandbox Code Playgroud)
在我与朋友交谈之后,他们认为String.Empty比""更快,因为在引擎盖下(在汇编级别)ldstr比ldsfld做更多的1圈.(我不记得使它们与众不同的步骤)
我想知道如何检查这方面的性能.
如何使用c#删除中间的空间?我有string name="My Test String",我需要"MyTestString"使用c#的字符串输出.请帮我.
可能重复:
String.Empty和""之间有什么区别
我应该使用以下哪一项来分配空字符串,为什么?
string variableName = "";
Run Code Online (Sandbox Code Playgroud)
要么
string variableName = string.Empty;
Run Code Online (Sandbox Code Playgroud) 我习惯使用VB.net进行网络编程.
通常,我有类似的东西:
Dim s as string = Session("s")
Run Code Online (Sandbox Code Playgroud)
我s从网络会话中获取了一个字符串值.如果Web会话中没有值,我会得到一个空白字符串.
但是,AFAIK,在C#中,我必须有类似下面的代码才能做同样的事情.
string s;
try { s = Session["s"].ToString(); }
catch { s = ""; }
Run Code Online (Sandbox Code Playgroud)
有更简单的方法吗?
有什么区别:
return string.Empty;
return String.Empty;
return "";
Run Code Online (Sandbox Code Playgroud) 这可能听起来像一个菜鸟问题,但是:
string var;
if (var == null)
Run Code Online (Sandbox Code Playgroud)
和
string var;
if (var == string.Empty)
Run Code Online (Sandbox Code Playgroud)
相同?
重复
我经常使用String.Empty占位符,相当于"".所以我的问题,为什么不const喜欢String.Empty?他们编译相同.
// Good
private const string example = "";
// Bad
private const string example = String.Empty;
Run Code Online (Sandbox Code Playgroud)
是什么String.Empty让它无法与a一起使用const.
我应该如何在C#中初始化一个空字符串,为什么?哪一个更快?
string myString = "";
Run Code Online (Sandbox Code Playgroud)
要么
string myString = "".ToString();
Run Code Online (Sandbox Code Playgroud) c# ×8
.net ×4
.net-3.5 ×1
asp.net ×1
cil ×1
conditional ×1
optimization ×1
session ×1
string ×1