Existe um erro neste código de 101 exemplos LINQ no MSDN? (Atualização: corrigida)

NOTA:Charlie Calvert respondeu abaixo que os 101 exemplos de LINQ agora foram atualizados com o código correto.

O MSDN Visual C # Developer Center possui uma seção chamada101 amostras LINQ. Encontrei isso através de uma pesquisa do Bing.

O código paraSelectMany - Composto de 1 é:

public void Linq14() {
    int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
    int[] numbersB = { 1, 3, 5, 7, 8 };

    var pairs =
        from a in numbersA,
             b in numbersB
        where a < b
        select new {a, b};

    Console.WriteLine("Pairs where a < b:");
    foreach (var pair in pairs) {
        Console.WriteLine("{0} is less than {1}", pair.a, pair.b);
    }
}

Contudo,este código não será compilado. Notei que se eu remover a vírgula no final defrom a in numbersA, e adicionefrom em frente deb in numbersB, ele irá compilar e funcionar bem:

        var pairs =
            from a in numbersA
            from b in numbersB
            where a < b
            select new {a, b};

Não tenho certeza se isso é um bug no exemplo do MSDN ou se possivelmente estou executando uma versão do C # e .NET que não oferece suporte a essa sintaxe.

Se eu olhar para a farinha de rosca no topo da101 amostras LINQ site, vejo "Versões futuras". Isso indica que as versões futuras do C # / .NET suportarão o uso de vírgula em vez defrom na sintaxe LINQ?

Estou usando o Visual Studio 2008 Standard com o .NET 3.5 SP1.

questionAnswers(3)

yourAnswerToTheQuestion