【问题标题】:Assign single object to list of object将单个对象分配给对象列表
【发布时间】:2020-04-20 17:08:01
【问题描述】:

我有一个简单的模型Guid

public class GuidIdTableType
    {
        public Guid Id { get; set; }
    }

然后我有一个模型,我在其中创建了以前使用的模型列表:

public class SelectModel
        {
          ....
    public List<GuidIdTableType> MyGuidTableTypeList { get; set; } = new List<GuidIdTableType>();

        }

现在我在我的代码中得到一个对象列表,例如:

  var currentModel = _myRepository.Get(model);

我想用该列表中的一个对象填充我的 guid 列表,所以我尝试:

 var model = new SelectModel();
                foreach(var i in currentModel.Result)
                {
                    var rModel = new SelectModel();

                    rModel.MyGuidTableTypeList = i.Assignee;

                    model.MyGuidTableTypeList.Add(rModel);
                }

但是会报错

严重性代码描述项目文件行抑制状态 错误 CS0029 无法将类型“System.Guid”隐式转换为 'System.Collections.Generic.List'

我做错了什么?问候

【问题讨论】:

  • 它有点难以阅读,因为我没有所有代码,但我看到相同的属性(井名)被调用了两次。 rModel.UserIdtableType = I.Assignee 然后你添加到不同实例上同名属性的列表中。那个代码正确吗?您能否在示例中添加更多内容
  • 对不起,我已经解决了。 @DaveyvanTilburg
  • 为什么你在循环中使用rModel,一定是GuidIdTableType 不?我认为在循环中你只需要这个model.MyGuidTableTypeList.Add(new GuidIdTableType{Id=i.Assignee})
  • 您在哪里添加到您的列表 MyGuidTableTypeList?看起来代码由于其他原因而失败。
  • 这正是我想要的@Sajid,谢谢!

标签: c# asp.net


【解决方案1】:

您似乎正在将“rModel”添加到“model”的 GuidIdTableType 属性。 rModel 和 model 属于同一类型,即 SelectModel。这没有意义。您可能想尝试以下方法:

var model = new SelectModel();
                foreach(var i in currentModel.Result)
                { 

                    model.MyGuidTableTypeList.Add(new GuidIdTableType{id = i.Assignee}); // considering i.Assignee is Guid
                }

【讨论】:

  • 谢谢,我也尝试对此发表评论,但无法理解。但你拯救了这一天! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 2012-07-17
  • 2020-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多