C#应该"as string"这样工作吗?

1 c# string-conversion

因为字符串在处理对象数组时引起了我的问题.执行后的值显示在注释中.它应该这样工作吗?

object[] array = new object[2]; 
array[0] = 0.33;
array[1] = "0.33";
string a = array[0] as string; // a == null !!!??????
string b = array[1] as string; // b == "0.33"
string a2 = array[0] == null ? "" : array[0].ToString(); // a2 == "0.33"
string a3 = Convert.ToString(array[0]); // a3 == "0.33"
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 10

是的,它应该.

as是一个演员.
它只能用于将对象强制转换为实际的类型(或其超类).

x as Ynull如果x不是,则返回Y.