This documentation is archived and is not being maintained.

Compiler Error CS0745

Visual Studio 2008

Expected contextual keyword 'by'

The pattern for the group clause is group...by followed by an optional into, as shown in the following example:

string[] names = { "Bob", "Bill", "Jonetta", "Mary" };

var query = from name in names
            group name by name[0];

or

var query2 = from name in names
             group name by name[0] into g
             //...additional query clauses

To correct this error

  • Add the by keyword to the group clause.

The following code generates CS0745:

// cs0745.cs
using System;
using System.Linq;

public class C
{
    public static int Main()
    {
        string[] names = { "Bob", "Bill", "Jonetta", "Mary" };

        var query = from name in names
                    group name name[0]; // CS0745
                
        return 1;
    }
}
Show: