企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Compiler Error CS0826 找不到隐式类型数组的最佳类型。 数组元素都必须为同一类型,或者可根据编译器所使用的类型推理规则隐式转换为同一类型。最佳类型必须为数组表达式中的类型之一。元素不会转换为诸如 **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; } } ``` ## 请参阅 [隐式类型的局部变量(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/bb384061.aspx)