c# - 如何将内部列表复制到新列表
问题描述
我有一个包含嵌套列表的列表,我想将一个列表复制到一个新列表中以便我可以使用它。我可以通过指定索引来获得我想要的列表,但我无法将它复制到我想要使用的新列表中。我只是不太确定这样做的最佳方法是什么。
如何将内部列表复制到新列表中,以便可以将其用作普通列表?
这是我尝试过的。
public bool myMethod(List<Summary> summaries)
{
var listIndex = summaries[1];
List<newList> newLists = new List<newList>();
//this didn't work as ToList is giving error
List<newList> copy = listIndex.ToList(); //error: Summary does not contain a defination for ToList
//I tried this too it didn't work
var newCopy = indexer.Select(p => new newList
{
//my mapping
}).ToList();
return true;
}
包含所有列表的模型
public class Summary
{
public IEnumerable<Model1> mylist1 { get; set; }
public IEnumerable<Model2> mylist2 { get; set; }
public IEnumerable<Model3> mylist3 { get; set; }
public IEnumerable<Model4> mylist4 { get; set; }
}
我要复制到的新列表
public class newList
{
public string Name { get; set; }
public string Surname { get; set; }
//more properties
}
型号1
public class Model2
{
public string Name { get; set; }
public string Surname { get; set; }
//more properties
}
解决方案
这是一个如何做到这一点的工作示例:
public void TestIt()
{
//Create list and add some test values
Summary summary = new Summary();
summary.myList = new List<B>()
{
new B(){Name = "name1", Surname = "surname1"},
new B(){Name = "name2", Surname = "surname2"},
new B(){Name = "name3", Surname = "surname3"},
};
List<Summary> mySummaries = new List<Summary>();
mySummaries.Add(summary);
CopyList(mySummaries);
}
private void CopyList(List<Summary> summaries)
{
var summary = summaries.FirstOrDefault();
if (summary != null)
{
//Copy the list
List<A> A = new List<A>(summary.myList.ConvertAll(x => (A)x));
//Do what ever you want with the copied list...
}
}
public class Summary
{
public List<B> myList { get; set; }
}
public class A
{
public string Name;
public string Surname;
}
public class B : A
{
}
推荐阅读
- python - 将图例添加到 sns.regplot 和 sns.lmplot
- regex - 如何从 grep 结果中提取文件名?
- java - 错误:无法找到或加载主类 IntelliJ MacOs
- python - 从 Python 项目制作可执行文件 exe
- php - 如何修复数据库中的 utf-8
- ruby-on-rails - 搜索 has_many 与 Searchkick 的关联
- html - 数字输入 - 文本略低于中心,直到您单击框
- python - Python 中的数据类型不匹配尝试使用一些 twitter 数据更新 Sqlite3 数据库
- sql - 访问追加查询重复结果
- android - 如何从使用 create-react-native-app 构建的 Android 应用程序中删除短信和通话权限?