Выберите несколько элементов в строке, используя Linq
Мой код выглядит следующим образом
var users = MyTable.AsEnumerable()
.Select(x => new { x.Field<string>("Col1"),x.Field<string>
("Col2")}).ToList();
При компиляции я получаю
Недопустимый декларатор участника анонимного типа. Члены анонимного типа должны быть объявлены с назначением членов, простым именем или доступом к члену.
Ответы
Ответ 1
Вам нужно указать имя для каждого из полей анонимного типа
var users = MyTable.AsEnumerable()
.Select(x =>
new { Col1 = x.Field<string>("Col1"), Col2 = x.Field<string>("Col2")})
.ToList();
Единственный раз, когда имя поля анонимного типа можно пропустить, - это когда само выражение является простым именем, которое может использовать компилятор. Например, если выражение является полем или свойством, тогда имя можно опустить. В этом случае выражение является общим вызовом метода и не имеет имени, которое компилятор будет использовать
Ответ 2
Попробуйте следующее:
var users = MyTable.AsEnumerable()
.Select(x => new
{
Col1 = x.Field<string>("Col1"),
Col2 = x.Field<string>("Col2")})
.ToList();
Ответ 3
Вы можете использовать этот
var users = MyTable.AsEnumerable()
.Select(x => new
{
Col1 = x.Field<string>("Col1"),
Col2 = x.Field<string>("Col2")})
.ToList();