嗨,大家好,我是一名初学计算机工程师,我有一点问题.
我正在尝试比较两个不同大小的列表(列表A和列表B)并生成一个新的列表(列表C),其大小与列表A相同,包含C#中两个列表的匹配结果.在这里 - 让我以一个例子来解释.
例如,有这两个列表:
list A: "1", "2", "3", "4", "5", "6"
list B: "1", "4", "5"
Run Code Online (Sandbox Code Playgroud)
我想要这个结果:
list C: "1", "null", "null", "4", "5", "null"
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试过这段代码:
List<string> C = new List<string>();
// nA is the length of list A & nB is the length of list B
for (int x = 0; x < nA; x++)
{
for (int y = 0; y < nB; y++)
{
if (listA[x] == listB[y])
{
listC.Add(lista[x]);
}
else
listC.Add(null);
}
}
Run Code Online (Sandbox Code Playgroud)
我使用的代码没有做到它应该做的事情.我究竟做错了什么?还有另一种方法可以做我需要的吗?我需要一些帮助,我希望我的问题的解决方案也可以帮助其他人.我希望我已经说清楚了,希望你们能帮我解决问题.我非常感谢你的帮助.
非常感谢答案:)
您可以使用此LINQ查询:
List<string> listC = listA
.Select(str => listB.Contains(str) ? str : "null")
.ToList();
Run Code Online (Sandbox Code Playgroud)
我会使用它,因为它更具可读性和可维护性.
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |