奇怪的C#语法

时间:2014-06-23 05:16:25

标签: c# syntax

我一直看到以下类型的语法:(string[])myList.ToArray(typeof(string)); 在调用方法之前,在括号中对象的前面声明对象类型是什么意思? 我很难找到解释,因为我不知道这个设置会被称为什么。 任何帮助赞赏。 谢谢

1 个答案:

答案 0 :(得分:0)

它被称为Casting,Casting通常是告诉编译器虽然它只知道某个值是某种通用类型的问题,但您知道它实际上是一种更具体的类型。例如:

object x="any string";
string s=(string)x;

如果我们使用上面一个那么它可能会在运行时通过异常,就像你正在使用

object x="string";

int s=(int)x;

它将通过运行时的异常unable to cast

但是如果你使用as oprator那么它将返回null而不是抛出异常。

object x = new object();
string y = x as string; // Now y is null because x isn't a string