Как присвоить значения любому одному или двум реквизитам, используя linq c # или внутри универсального метода? - PullRequest
0 голосов
/ 07 января 2019
public class Company
{
    public int id { get; set; }
    public int Name { get; set; }
    public int Address{ get; set; }

}

List<Company> listofCompany = new List<Company>();

listofCompany уже заполнен и содержит некоторые данные. Я хочу заменить id и Name на linq

Я могу сделать это, используя foreach, как показано ниже

 foreach (var item in listofCompany )
                        {
                            item.id= 123;
                            item.Name= 999;
                        }

Но есть ли лучший способ сделать это без foreach, потому что мой код foreach находится внутри другого метода, который является обобщенным методом, как показано ниже -

MyData<T>(List<T> anylist){}

1 Ответ

0 голосов
/ 07 января 2019

Если вы в порядке с генерацией новых Company объектов, то вы можете использовать Select вместе с ToList.

listofCompany.Select(x => new Company 
               {  Id = 123, 
                  Name = 999, 
                  Address = x.Address
               }).ToList();

В противном случае, если вы хотите изменить объекты на месте, вам лучше использовать текущий подход.

С другой стороны, почему Name и Address представлены как int? кажется странным, как обычно это представляется как string.

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