gpt4 book ai didi

c# - Linq - 如何映射(选择)解构的元组?

转载 作者:行者123 更新时间:2023-11-30 22:54:08 24 4
gpt4 key购买 nike

我正在尝试实现一个非常简单的事情。我有一个可枚举的元组,我想同时映射和解构它们(因为使用 .Item1.Item2 非常丑陋)。

像这样:

        List<string> stringList = new List<string>() { "one", "two" };

IEnumerable<(string, int)> tupleList =
stringList.Select(str => (str, 23));

// This works fine, but ugly as hell
tupleList.Select(a => a.Item1 + a.Item2.ToString());

// Doesn't work, as the whole tuple is in the `str`, and num is the index
tupleList.Select((str, num) => ...);
// Doesn't even compile
tupleList.Select(((a, b), num) => ...);

最佳答案

选项 1

var result = tupleList.Select(x=> { var (str,num)=x; return $"{str}{num}";})

输出

one23 
two23

选项 2

如果您被允许更改 tupleList 的创建,那么您可以执行以下操作。

IEnumerable<(string str, int num)> tupleList = stringList.Select(str => (str, 23));
var result = tupleList.Select(x=>$"{x.str}{x.num}");

选项 2 消除了选项 1 中所需的额外步骤。

关于c# - Linq - 如何映射(选择)解构的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56546425/

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