Могу ли я сделать выбор LINQ с помощью .Select без необходимости использовать объект класса - PullRequest
0 голосов
/ 15 октября 2011

Прежде всего, мне было интересно, что лучше?

List<Employee> _employee = new List<Employee>();
var _test = xDoc.Descendants("RID")
         .Select (x => new Employee()
          { 


          }

Или используя список Var или что-то еще? И как бы я это сделал, если это лучший вариант? Это только извлекает 1-2 фрагмента данных из xDoc.

Ответы [ 2 ]

2 голосов
/ 15 октября 2011

Это зависит от того, что вы собираетесь делать с типом (передавая его за пределы метода).Анонимные типы - это классы, сгенерированные компилятором, вам просто не нужно создавать их самостоятельно.Но опять же, вы не можете передать их другим методам.

1 голос
/ 15 октября 2011

Если вы не собираетесь использовать объект вне метода, вы можете создать анонимный тип, например, так:

var _employee = xDoc.Descendants("RID")
     .Select (x => new 
      { 
        FirstName = //Something
        //Other properties here
      }).ToList(); //ToList optional

Он по-прежнему будет строго типизирован, но вы не сможете вернутьэто так как вы не можете указать анонимный тип в качестве возвращаемого типа.(Если вы не используете dynamic в C # 4)

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