奇怪的C#语法

奇怪的C#语法,c#,syntax,C#,Syntax,我一直看到以下类型的语法:(string[])myList.ToArray(typeof(string)) 在调用对象的方法之前,在括号中的对象前面声明对象类型意味着什么? 我很难找到解释,因为我不知道这个设置会被称为什么。 谢谢你的帮助。 谢谢,这叫做强制转换,强制转换通常是告诉编译器,虽然它只知道某个值是某种通用类型,但实际上它是一种更为特定的类型。例如: object x="any string"; string s=(string)x; 如果我们使用的是上面的一个,那么它可能会在运行时

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

谢谢,这叫做强制转换,强制转换通常是告诉编译器,虽然它只知道某个值是某种通用类型,但实际上它是一种更为特定的类型。例如:

object x="any string";
string s=(string)x;
如果我们使用的是上面的一个,那么它可能会在运行时像使用

object x="string";

int s=(int)x;
它将在运行时通过异常
无法强制转换

但是如果您将
用作
运算符,那么它将返回null,而不是抛出异常

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

它被称为a。这看起来像一个演员阵容(我可能会补充说,这是不必要的)。指“字符串数组”类型。。括号是在给定的上下文中使用的。@RobertHarvey(但是谁使用ArrayList?!?@user2864740这是我的另一个想法。:)谢谢你。为ArrayList造成的冒犯道歉。这是我在教程中一直看到的一个示例,所以不是生产代码。