编译器错误 CS0819
隐式类型化的变量不能有多个声明符。
显式类型声明中允许有多个声明符,而隐式类型化的变量不允许。
有三个选项:
- 如果变量的类型相同,请使用显式声明。
- 在单独的行上声明每个隐式类型化的局部变量并为其赋值。
- 使用元组析构语法声明变量。 注意:此选项在
using
语句中不起作用,因为Tuple
不会实现IDisposable
。
下面的代码生成 CS0819:
C#
// cs0819.cs
class Program
{
public static void Main()
{
var a = 3, b = 2; // CS0819
// First correction option.
//int a = 3, b = 2;
// Second correction option.
//var a = 3;
//var b = 2;
// Third correction option.
//var (a, b) = (3, 2);
}
}
下面的代码生成 CS0819:
C#
// cs0819.cs
class Program
{
public static void Main()
{
using (var font1 = new Font("Arial", 10.0f),
font2 = new Font("Arial", 10.0f)) // CS0819
{
}
// First correction option.
//using (Font font1 = new Font("Arial", 10.0f),
// font2 = new Font("Arial", 10.0f))
//{
//}
// Second correction option.
//using (var font1 = new Font("Arial", 10.0f)
//{
// using (var font2 = new Font("Arial", 10.0f)
// {
// }
//}
}
}