gpt4 book ai didi

C# - 将字典键/值插入新元组

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:11 26 4
gpt4 key购买 nike

我读过一些类似的帖子,但很多人只是询问有关将字典插入元组的问题,反之亦然。我的问题是我有两个单独的字典,我想用它们来填充一个新的元组。

这两个词典有一些共同的信息,就是用户的邮箱。 addressBook 字典包含用户的姓名和用户的电子邮件。 usersAndManagersList 包含用户的电子邮件和经理的电子邮件。我希望将两者匹配,然后将所有信息位放入一个元组中,以便轻松地传递它而不是两个字典。

public static Tuple<string, string, string> allUserInformation(Dictionary<string, string> addressBook, Dictionary<string, string> usersAndManagersList)
{
Tuple<string, string, string> allUserInfo;

foreach (var thing in addressBook)
{
foreach (var that in usersAndManagersList)
{
if (thing.Value == that.Key)
{
var userName = thing.Key;
var userEmail = thing.Value;
var managerEmail = that.Value;

Console.WriteLine("User: {0}, User's Email: {1}, Manager's Email: {2}", userName, userEmail, managerEmail);

allUserInfo = Tuple.Create(userName, userEmail, managerEmail);
}
}
}

return allUserInfo;
}

addressBook 中的值和usersAndManagersList 中的键都是用户的电子邮件。我试图遍历所有内容,如果其中一个的值与另一个的键匹配,则用户的电子邮件、用户名和经理的电子邮件将用于创建一个元组,然后在循环中重新开始。

主要问题:如果我应该使用 whileif 循环,我会卡住。我担心范围以及我应该在哪里返回元组。我得到的一个错误是我正在返回一个空的/未分配的元组,我理解为什么基于我返回它的位置,但我不确定如何修复它。如何使用正确的循环等创建此元组?提前谢谢你。

最佳答案

您可以使用 LINQ 做您想做的事:

addressBook.Where(a => usersAndManagersList.ContainsKey(a.Value))
.Select(a => Tuple.Create(a.Key, a.Value, usersAndManagersList[a.Value]))

关于C# - 将字典键/值插入新元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36920749/

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