編譯器錯誤 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)
// {
// }
//}
}
}