我有两个下面提到的分类
public class NameDTO
{
public string Name;
}
public class ValDTO
{
public string Val;
}
对于名称,我将获得列表,如下图所示 result for names list
我正在获取值的结果,如下图所示
我的列表都计算了96个值。我试图根据索引位置合并两个结果,即我正在尝试将listnames
第一个值的结果与listvalues
的结果匹配。
account-Ind:A ...等
我试过
var objects = _nameDetials.Zip(_valDetials, (val, type) => Convert.ChangeType(val, type));
和
List<Object> allS = (from x in _nameDetials
select (Object)new {
someAnotherThing = x.Name,
something = string.Empty }).ToList();
allS.AddRange((from x in _valDetials
select (Object)new {
someAnotherThing = string.Empty,
something = x.Val }).ToList());
此外,我尝试了很多示例,但无法提供我需要的输出。我认为可能有一种基于列表索引的简单方法,但我无法确切地知道需要什么。
非常感谢任何帮助。
答案 0 :(得分:1)
假设你有IEnumerables:
IEnumerable<NameDTO> _nameDetials = new List<NameDTO>() { new NameDTO() { Name = "A" }, new NameDTO { Name = "B" } };
IEnumerable<ValDTO> _valDetials=new List<ValDTO>() { new ValDTO() { Val = "1" }, new ValDTO() { Val = "2" } };
var combined = _nameDetials.Zip(_valDetials, (name, val) => new KeyValuePair<NameDTO, ValDTO>(name, val));
将返回IEnumerable的KeyValue对。如果需要,您可以替换为其他类型,但这可以帮助您了解如何使用Zip