Как скопировать прогнозируемые результаты в другую переменную в c#? - PullRequest
0 голосов
/ 12 февраля 2020

Код ниже не будет работать, так как он жалуется, что я пытаюсь добавить тип Anon в тип клиентов. Как я могу сохранить определенные результаты в другой переменной после их первоначального проецирования и потери первоначального типа.

(PS. Я сделал мой пример простым, но на самом деле имею дело с более сложным делом. В моем случае не является проекцией. Отредактировано для уточнения .)

var clients = Clients.Where(c => c.FirstName.StartsWith("Mark"))
.Select(c => new {
    LastName = c.LastName.ToUpper(),
    c.DateAdded,
    c.FirstName,
})
.ToList();
var certainClients = new List<Clients> { };

foreach (var client in clients)
{
    if(client.DateAdded.Date < DateTime.Today) {
        certainClients.Add(client);
    }
}

certainClients.Dump();

1 Ответ

1 голос
/ 12 февраля 2020

Есть два варианта.

Первый. Вместо использования анонного типа данных используйте Clients тип данных. По сути, вы создаете Clients объект -

var clients = Clients.Where(c => c.FirstName.StartsWith("Mark"))
              .Select(c => new Clients{
                       LastName = c.LastName.ToUpper(),
                       c.DateAdded,
                       c.FirstName,
 })

Секунда. Создайте список из object и назначьте ему любой тип данных пользователя / anon -

var certainClients = new List<object> { };
...