ошибка при использовании анонимного типа в запросе соединения в LINQ - PullRequest
1 голос
/ 23 июня 2011

Я начинаю изучать LINQ в эти дни.Я получил ошибку при попытке вернуть анонимный тип в запросе соединения.И я не понимаю, почему я получаю эту ошибку.Вот мое кодирование.

List<Student> students = new List<Student>()
        {
            new Student{First="Svetlana",Last="Omelchenko",ID=111,Scores= new List<int>(){97,92,81,60}},
            new Student{First="Claire",Last="O'Donnell",ID =112,Scores=new List<int>(){75,84,91,39}},
            new Student{First ="Sven",Last="Mortensen",ID =113,Scores=new List<int>(){88,94,65,91}},
            new Student{First ="Cesar",Last="Garcia",ID=114,Scores=new List<int>(){97,89,85,82}}
        };

    List<ContactInfo> contactList = new List<ContactInfo>()
    {
        new ContactInfo{ID=111,Email="Contoso",Phone= "206-555-0108"},
        new ContactInfo{ID=112,Email="ClaireO@Contoso.com",Phone="206-555-0298"},
        new ContactInfo{ID=113,Email="SvenMort@Contoso.com",Phone="206-555-1130"},
        new ContactInfo{ID=114,Email="CesarGar@Contoso.com",Phone="206-555-0521"}
    };

var cInfo =
            from student in students
            where student.Scores.Average() > 85
            join ci in contactList on student.ID equals ci.ID
            select new { ci.Email, student.First };
        foreach (var c in cInfo)
            Console.WriteLine("{0)'s email is {1}", c.First, c.Email);

В анонимном типе я получаю электронное письмо от contactList и имени студента.Не могу так сделать ???

Заранее спасибо.

Кевин

Ответы [ 2 ]

3 голосов
/ 23 июня 2011

У вас есть скобка вместо фигурной скобки в выражении формата строки.

"{0)'s email is {1}"

должно быть вместо

"{0}'s email is {1}"

. Когда я делаю это изменение, вывод:

Электронная почта Сезара CesarGar@Contoso.com

2 голосов
/ 23 июня 2011

Я предполагаю, что вы получаете сообщение об ошибке «Входная строка не в правильном формате»

Console.WriteLine("{0)'s email is {1}", c.First, c.Email);

^ Ваш первый параметр имеет) не}*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...