Compiler Error CS0819
Implicitly-typed variables cannot have multiple declarators.
Multiple declarators are allowed in explicit type declarations, but not with implicitly typed variables.
There are three options:
- If the variables are of the same type, use explicit declarations.
- Declare and assign a value to each implicitly typed local variable on a separate line.
- Declare a variable using Tuple deconstruction syntax. Note: this option will not work inside a
using
statement asTuple
does not implementIDisposable
.
The following code generates 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);
}
}
The following code generates 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)
// {
// }
//}
}
}
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
.NET feedback
.NET is an open source project. Select a link to provide feedback: