gpt4 book ai didi

LINQ - 将 List 转换为 Dictionary

转载 作者:行者123 更新时间:2023-12-04 15:25:17 25 4
gpt4 key购买 nike

我只是在午餐时制作 Kata 并且我已经解脱了......

这是我试图遵循的步骤:

  • 给定一个输入字符串,用换行符
  • 分割字符串
  • 给定上一步的字符串数组结果,跳过数组中的第一个元素
  • 给定上一步产生的字符串集合,创建一个由每 2 个元素组成的集合

  • 在最后一个语句中,我的意思是,给定这个 4 个字符串的集合:
    {
    "string1",
    "string2",
    "string3",
    "string4"
    }

    我应该得到这个对的集合(“元组”是正确的术语吗?):
    {
    { "string1","string2" },
    { "string3","string4" }
    }

    我开始查看 ToDictionary,然后转向选择匿名类型,但我不确定如何说“将接下来的两个字符串作为一对返回”。

    在撰写本文时,我的代码与此类似:
    public void myMethod() {

    var splitInputString = input.Split('\n');

    var dic = splitInputString.Skip(1).Select( /* each two elements */ );
    }

    为帮助干杯!

    詹姆士

    最佳答案

    好吧,您可以使用(未​​经测试):

    var dic = splitInputStream.Zip(splitInputStream.Skip(1),
    (key, value) => new { key, value })
    .Where((pair, index) => index % 2 == 0)
    .ToDictionary(pair => pair.key, pair => pair.value);
    Zip部分将结束:
    { "string1", "string2" }
    { "string2", "string3" }
    { "string3", "string4" }

    ... 和 Where使用索引的配对将跳过所有其他条目(这将是“下一个键的值”)。

    当然,如果你真的知道你有一个 List<string>首先,您可以通过索引访问对,但这很无聊......

    关于LINQ - 将 List<string> 转换为 Dictionary<string,string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362415/

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