C# Error CS0819 – Implicitly-typed variables cannot have multiple declarators

C# Error

CS0819 – Implicitly-typed variables cannot have multiple declarators

Reason for the Error & Solution

Implicitly-typed variables cannot have multiple declarators.

Multiple declarators are allowed in explicit type declarations, but not with implicitly typed variables.

To correct this error

There are three options:

  1. If the variables are of the same type, use explicit declarations.
  2. Declare and assign a value to each implicitly typed local variable on a separate line.
  3. Declare a variable using syntax. Note: this option will not work inside a using statement as Tuple does not implement IDisposable.

Example 1

The following code generates 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);
    }
}

Example 2

The following code generates 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)
        //    {
        //    }
        //}
    }
}

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

This C# program calculates and displays an upper triangular matrix based on user input. Problem Statement: The program takes the...
This C# program serves as a demonstration of bitwise operators, which are fundamental operators used for manipulating individual bits in...
This C# program is designed to interchange or swap the columns of a matrix. A matrix is a two-dimensional array...