コンパイラ エラー CS0819
暗黙的に型指定された変数は、複数の宣言子を持つことができません。
複数の宣言子は、暗黙的に型指定された変数ではなく明示的な型宣言で使用できます。
次の 3 つのオプションがあります。
- 変数の型が同じである場合は、明示的な宣言を使用します。
- 値を宣言して、個別の行で暗黙的に型指定された各ローカル変数に値を代入します。
- タプル分解構文を使用して変数を宣言します。 注:
Tuple
ではIDisposable
が実装されないため、このオプションはusing
ステートメント内では機能しません。
次のコードでは CS0819 が生成されます。
// 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 が生成されます。
// 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)
// {
// }
//}
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。