这两篇文章都说字符串 不是 原始类型。不是。
如果编译并运行第二篇文章中的示例代码,它将打印:
字符串不是原始类型。
我认为对此感到困惑的是,创建新字符串的语法类似于创建值类型。
在定义值类型时,所有这些都是相等的(无论如何在32位系统上)
System.Int32 a = new System.Int32(5);System.Int32 a = 5;int a = 5;
就像在创建引用类型字符串时一样:
System.String s = new System.String(new char[]{'h', 'e', 'l', 'l', 'o'});System.String s = "hello";string s = "hello";
此外,即使它们是引用类型,我们也可以按值比较字符串:
s == "hello";//true
这仍然不会使字符串成为原始类型。
该问题的公认答案应该为您提供详细信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)