chu*_*h97 6 .net c# linq list generic-list
我有两个List<T>对象:
例如:
清单1:
ID,填充了Id的值,值为空,它包含1到10的说法ID.1
,""
2,""
......
10,""
列表2:
ID,值和其他属性都填充了值,但此列表在ID方面是列表1的子集.(例如只有3项)
2,67
4,90
5,98
我想要的是合并列表1,但具有更新的值.有没有人有任何好的扩展方法可以执行此操作或执行此操作的任何elegent代码.最终的清单应该是:
ID,值
1,""
2,67 //值列表2
3,""
4,90
5,98
6,""
......
10,""
我可能会使用字典而不是列表:
// sample data
var original = new Dictionary<int, int?>();
for (int i = 1; i <= 10; i++)
{
original.Add(i, null);
}
var updated = new Dictionary<int, int>();
updated.Add(2, 67);
updated.Add(4, 90);
updated.Add(5, 98);
updated.Add(11, 20); // add
// merge
foreach (var pair in updated)
{
original[pair.Key] = pair.Value;
}
// show results
foreach (var pair in original.OrderBy(x => x.Key))
{
Console.WriteLine(pair.Key + ": " + pair.Value);
}
Run Code Online (Sandbox Code Playgroud)
如果你谈论的是一个对象的属性,这会更棘手,但仍然可行。
| 归档时间: |
|
| 查看次数: |
19060 次 |
| 最近记录: |