我们知道字符串是引用类型,所以我们有
string s="God is great!";
Run Code Online (Sandbox Code Playgroud)
但是在同一个音符上,如果我声明类说Employee是一个引用类型,为什么下面的代码不起作用呢?
Employee e = "Saurabh";
Run Code Online (Sandbox Code Playgroud)
2-我们如何确定类型是引用类型还是值类型?
Jon*_*eet 14
如果你有一个从字符串到一个字符串的隐式转换,那么该代码将起作用Employee.基本上字符串文字是类型的string- 即它的值是一个字符串引用(并且在那里是一个实习者).如果在两种类型之间进行转换(用户定义或内置),则只能将一种类型的值分配给另一种类型的变量.在这种情况下,没有转换string为Employee,因此错误.
与其他一些答案相反,类型不必相同 - 例如,这很好:
object x = "string literal";
Run Code Online (Sandbox Code Playgroud)
这很好,因为有一个从隐式引用转换string到object.同样你可以写:
XNamespace ns = "some namespace";
Run Code Online (Sandbox Code Playgroud)
要回答你的第二个问题:看是否在.NET中使用类型是值类型或引用类型... struct和enum类型是值类型; 其他一切(类,委托,接口,数组)是一个引用类型.这是排除指针类型,有点不同:)
| 归档时间: |
|
| 查看次数: |
648 次 |
| 最近记录: |