更新:2007 年 11 月
错误消息
找不到隐式类型数组的最佳类型。数组元素都必须为同一类型,或者可根据编译器所使用的类型推理规则隐式转换为同一类型。最佳类型必须为数组表达式中的类型之一。元素不会转换为诸如 object 之类的新类型。对于隐式类型的数组,编译器必须根据为其分配的元素类型推断该数组的类型。
更正此错误
为该数组指定显式类型。
为所有数组元素指定同一类型。
为可能会导致问题的那些元素提供显式强制转换。
示例
下面的代码生成 CS0826,因为数组元素的类型不完全相同,并且编译器的类型推理逻辑未找到一个最佳类型:
复制代码 | |
---|---|
// cs0826.cs public class C { public static int Main() { var x = new[] { 1, "str" }; // CS0826 char c = 'c'; short s1 = 0; short s2 = -0; short s3 = 1; short s4 = -1; var array1 = new[] { s1, s2, s3, s4, c, '1' }; // CS0826 return 1; } } |