difference between String.Empty and string.Empty
我想知道它们之间的区别和使用它们的可能方法是什么
绝对没有区别。即使在白细胞水平也不行。在C中,string是实际System.String.net类型的别名。至于可能的用途,那么,只要您想在应用程序中表示一个空字符串,就可以使用它。关于string.Empty和""之间的区别有很多讨论,一般的共识是您应该使用最适合您的代码,并使代码更易于阅读,这显然是主观的。
- var s2=string.empty需要"system"的import语句。var s2=string.empty没有。不知道我为什么提到它,=)
- 哦,还有+1,这是一个关于坏问题的好答案。
- 我看到PPL使用string name=string.empty和protected string_pk_id=string.empty他们为什么使用这个…..只是为了让代码可读…………
- @rpm1984,string是System.String的别名。这就是需要进口的原因。编译器发出的IL仍然没有区别。
- @用户,我想他们是不同的人。一旦决定使用哪一个代码,那么在整个应用程序代码库中保持一致就更好了。
- 我明白你的意思,但我在同一个代码文件中看到了……事实上,这个特定的问题已经问过我了,我找不到任何……总之,谢谢。
- 过去,使用对string.empty的引用比使用多个空字符串要好。每次用""创建空字符串时,它都会为该字符串分配内存,并且已经为string.empty分配了内存。然而现在,C编译器自动执行字符串内部处理,所以它并不那么糟糕。不过,我还是喜欢使用命名常量而不是魔法字符串,所以我总是使用string.empty。
- @实际上,字符串interning是一种CLI产品,而不是编译器产品。
没有区别。string是System.String的别名。
- string是mscorlib中system.string的别名。可以在程序集中定义System.String,但字符串不会更改。
1 2 3 4 5 6
| No difference, it’s just predefine text or name for compiler.
string =String (class)
int =Int32 (struct)
long= Int64 (struct)
decimal = Decimal (struct) |
编译器将其解释为字符串类,其他则解释为相关结构。
只是Fui:别名-int32和int之间有一个区别,例如:
你可以写:
但你不能写:
据我所知,没有区别。至少,结果没有差别。
1 2 3 4 5
| You may use it like this:
string mystring ="blah";
mystring = string.Empty; |
或
1 2 3
| String mystring ="blah";
mystring = String.Empty; |