C#数组协方差

示例

string[] strings = new[] {"foo", "bar"};
object[] objects = strings; // 从字符串[]隐式转换为对象[]

此转换不是类型安全的。以下代码将引发运行时异常:

string[] strings = new[] {"Foo"};
object[] objects = strings;

objects[0] = new object(); // 运行时异常,对象不是字符串
string str = strings[0];   // 如果上述任务成功了,那将是不好的