C# Error CS1930 – The range variable ‘{0}’ has already been declared

C# Error

CS1930 – The range variable ‘{0}’ has already been declared

Reason for the Error & Solution

The range variable ‘name’ has already been declared

The range variable in a query expression is in scope until the query expression terminates. It must therefore have a unique identifier.

To correct this error

  1. Give a unique name to each range variable that is introduced in a query expression.

Example

The following example generates CS1930 because the identifier num is used for the range variable in the from clause and for the range variable introduced by the let clause.

// cs1930.cs  
using System.Linq;  
class Program  
{  
    static void Main()  
    {  
        int[] nums = { 0, 1, 2, 3, 4, 5 };  
        var query = from num in nums  
                    let num = 3 // CS1930  
                    select num;
    }  
}