gpt4 book ai didi

c# - 像 VLOOKUP 的东西

转载 作者:太空狗 更新时间:2023-10-30 00:41:44 25 4
gpt4 key购买 nike

我正在尝试合并两个不同对象的列表,其中特定字段 (employeeID) 等于另一个列表中的特定字段 [0,0]。我的代码如下所示:

int i = Users.Count() - 1;
int i2 = oracleQuery.Count() - 1;
for (int c = 0; c <= i; c++)
{
for (int d = 0; d <= i2; d++)
{
if (Users[c].getEmployeeID().ToString() == oracleQuery[d][0,0].ToString())
{
Users[c].setIDMStatus(oracleQuery[d][0,1].ToString());
}
}
}

这行得通……但似乎效率不高。对更高效的代码有何建议,这些代码最终会导致用户列表包含来自 oracleQuery 列表的新信息?

最佳答案

您可以使用 Enumerable.Join 的连接:

var matches = Users.Join(oracleQuery, 
u => u.getEmployeeId().ToString(),
oq => oq[0,0].ToString(),
(u,oc) => new { User = u, Status = oc[0,1].ToString() });

foreach(var match in matches)
match.User.setIDMStatus(match.Status);

请注意,如果 getEmployeeId() 和 oracleQuery 的 [0,0] 元素属于同类型。

关于c# - 像 VLOOKUP 的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18925337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com