c# - 基于索引 c# 合并两个具有相同记录数的列表

标签 c# .net list

我有下面提到的两个类

public class NameDTO
{
    public string Name;
}

public class ValDTO
{
    public string Val;
}

对于名称,我正在获取如下图所示的列表 result for names list

我得到的值的结果如下图所示

result of values

我的两个列表都给出了 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());

此外,我尝试了很多示例,但无法得出我需要的输出。我认为可能有一种基于列表索引的简单方法,但我无法弄清楚到底需要什么。

如有任何帮助,我们将不胜感激。

最佳答案

假设您有 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));

将返回 KeyValue 对的 IEnumerable。如果需要,您可以替换为另一种类型,但这应该有助于您了解如何使用 Zip

关于c# - 基于索引 c# 合并两个具有相同记录数的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44721348/

相关文章:

c# - 不要在堆栈跟踪中显示构建机器的文件路径

c# - 如果将 div 标签替换为 asp.panels(在 c# 代码中),样式会出现什么问题

c# - 如何在数据网格中将文本显示为粗体?

java - 当再次处理相同的数据和任务时,Java 8 流是否会重用自身?

Python:我可以修改元组吗?

python - 存储Excel中的字典

c# - 使用 MVVM 在 Xamarin 中的 Android 中进行 GPS 位置

c# - GetSystemInfo() 为最大应用程序地址返回不同的值

.net - LINQ 查询中的时间跨度到字符串问题

javascript - 我没有从 Angular 前端访问后端 Controller 中的 api 路由。我做错了什么?