【问题标题】:Add values in C# list using class dto使用类 dto 在 C# 列表中添加值
【发布时间】:2023-01-14 00:59:57
【问题描述】:

我有以下代码。因为我正在获取公司,然后我将这些公司添加到基于 dto 类的新列表中。

 var companies = new List<Company>();
 companies = await _companyRepo.GetCompaniesByUserId(CurrentUserId);

                if (companies != null)
                {
                    var companyL = companies.Select(c => new CompanyDTO()
                    {
                        CompanyId = c.Id,
                        CompanyName = c.CompanyName,
                        Priority = c.Priority.ToString()
                }).ToList();

现在我获得了 Date 字段的另一个值,但要获得它我需要调用 await 方法,所以我以这种方式获得了该值。

var Logindate = await _companyRepo.GetLoginDate(company.Id);

所以现在我想在上面的 companyL 列表中为每家公司添加这个值。我尝试过这种方式,但它不起作用。

companyL = companies.Select(c => new CompanyDTO()
                    {
                        Logindate = c.LoginDate
                    }).ToList();

对此有任何想法..

现在我获得了 Date 字段的另一个值,但要获得它我需要调用 await 方法,所以我以这种方式获得了该值。

var Logindate = await _companyRepo.GetLoginDate(company.Id);

所以现在我想在上面的 companyL 列表中为每家公司添加这个值。我尝试过这种方式,但它不起作用。

companyL = companies.Select(c => new CompanyDTO()
                    {
                        Logindate = c.LoginDate
                    }).ToList();

对此有任何想法..

【问题讨论】:

    标签: c# asp.net .net asp.net-core


    【解决方案1】:

    仔细看看这段代码在做什么:

    companyL = companies.Select(c => new CompanyDTO()
                    {
                        Logindate = c.LoginDate
                    }).ToList();
    
    1. 它丢弃了c中的所有其他属性
    2. 它从不使用您的Logindate值,而是使用c中已有的(缺少)值

      使用来自c 的所有值,以及您的Logindate 值:

      companyL = companies.Select(c => new CompanyDTO()
                  {
                      CompanyId = c.Id,
                      CompanyName = c.CompanyName,
                      Priority = c.Priority.ToString()
                      Logindate = Logindate
                  }).ToList();
      

      顺便说一句......为了进一步避免混淆,请一致地命名你的变量。 Logindate 对局部变量的大小写不正确。使用 logindate 代替:

      var logindate = await _companyRepo.GetLoginDate(company.Id);
      companyL = companies.Select(c => new CompanyDTO()
                  {
                      CompanyId = c.Id,
                      CompanyName = c.CompanyName,
                      Priority = c.Priority.ToString()
                      Logindate = logindate
                  }).ToList();
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2022-12-07
      相关资源
      最近更新 更多