提问者:小点点

如何填充List<int>从List<class>包含int变量getter


例如:

public List<Data> dataList;
public List<int> idList;

public class Data
{
  public int id;
  public string name;
}

我需要将所有的“id”变量从“dataList”输入“idList”。诸如此类

public List<Data> dataList;
public List<int> idList
{
 get 
 {
   for (int i = 0; i < dataList.Count; i++)
   {
     idList.Add(dataList[i].id);
   }

   return idList
 }
};

但如何以更好的方式对此进行优化?

我试图创建本地列表,用ID填充它,然后将其交给“idList”。但我认为这种方法并没有得到优化


共1个答案

匿名用户

您可以使用LinqSelectselect可用于将对象集合“投影”到另一个集合(在您的情况下,是int列表)

public List<Data> dataList;
public List<int> idList
{
   get 
   {
      return dataList.Select(x => x.id).ToList();
   };
}

相关问题