这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
当前回答
标签: 代表一类
字符串: 代表一个 alias
这只是微软的编码协议。
其他回答
上述的一切基本上是正确的,一个人可以检查它。
public static void Main()
{
var s = "a string";
}
编辑并打开.exe 与 ildasm 查看
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
// Code size 8 (0x8)
.maxstack 1
.locals init ([0] string s)
IL_0000: nop
IL_0001: ldstr "a string"
IL_0006: stloc.0
IL_0007: ret
} // end of method Program::Main
然后变成线条和线条,编译,打开与 ildasm 并看到 IL 不会改变. 它也显示语言的创作者在定义变量时更喜欢线条(spoiler:当呼叫会员时,他们更喜欢线条)。
这个YouTube视频实际上展示了它们的差异。
当我们谈论.NET 时,有两个不同的东西,一个是.NET 框架,另一个是使用该框架的语言(C#,VB.NET 等)。
此分類上一篇
String s = "I am String";
或
string s = "I am String";
同样,还有其他 C# 数据类型的联盟,如下所示:
现在,从程序员的观点来看,百万美元的问题:那么什么时候使用“String”和“String”?
在下面的代码中,左侧是变量声明,它被声明使用“丝带”。在右侧,我们称一种方法,所以“丝带”更敏感。
string s = String.ToUpper() ;
System.String 是.NET 字符串类 - 在 C# 字符串中,它是 System.String 的标志 - 所以在使用中,它们是相同的。
至于指南,我不会过于沉默,只是使用你喜欢的东西 - 生活中有更多的重要事物,代码将是相同的,无论如何。
如果你找到自己的建造系统,需要指定你正在使用的整合器的尺寸,因此倾向于使用 Int16, Int32, UInt16, UInt32 等,那么它可能看起来更自然地使用 String - 并且在不同的.net 语言之间移动时,它可能会使事情更容易理解 - 否则我会使用 String 和 int。
另一个没有提到的论点,最好是复活节案例:
System.String 是参考类型,参考类型名称是经典案例。
C# 是与 CLR 一起使用的语言。
字符串是 C# 的类型。
System.String 是 CLR 中的一种类型。
当您使用 C# 与 CLR 行一起时,将被地图到 System.String。
理论上,你可以实施一个C#编译器,产生Java bytecode. 这个编译器的敏感实施可能将地图链到java.lang.String,以便与Java运行时间图书馆互动。