gpt4 book ai didi

c# - SelectMany 有什么问题?

转载 作者:行者123 更新时间:2023-12-03 08:58:22 27 4
gpt4 key购买 nike

我遇到了 SelectMany 表达式的问题,我无法理解。

考虑一下:我有一个此类对象的集合

class Tag
{
string DisplayText { get; set; }
string Key { get; set; }
int Value { get; set; }
}

现在我正在尝试获取所有显示文本(实际上是更复杂表达式的一部分):

var texts = AvailableTags.SelectMany(t => t.DisplayText);

现在为什么这会返回给我 IEnumerable<char>而不是IEnumerable<string> ???我错过了什么吗?

最佳答案

如果 AvailableTags 是一个列表(IEnumerable),那么您应该简单地使用

var texts = AvailableTags.Select(t => t.DisplayText);

使用 SelectMany 得到的“奇怪”结果是由于(正如 @derloopkat 所说)字符串是 char 的集合。
所以你可以想象你的代码是这样的:

class Tag
{
List<char> DisplayText { get; set; }
string Key { get; set; }
int Value { get; set; }
}

当您使用SelectMany时,您将获取每个DisplayText中包含的所有字符,然后结果会被展平。

关于c# - SelectMany 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53198540/

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