gpt4 book ai didi

c# - Linq Select 投影不能应用于单条记录

转载 作者:行者123 更新时间:2023-11-30 20:19:35 25 4
gpt4 key购买 nike

如果它包含任何匹配的年份,我正在尝试从字符串数组返回年份。

GetYear()扩展方法如下:

public static int GetYear(this string me)
{
for (int i = 1971; i <= DateTime.Now.Year; i++)
{
if (me.Equals(i.ToString()))
{
return i;
}
}
return -1;
}

这行得通

string[] splitString = me.Split(' ');
var year = splitString.Select(x => x.GetYear()).FirstOrDefault(x => x > 0);

但这不是

string[] splitString = me.Split(' ');
var year = splitString.FirstOrDefault(x => x.GetYear() > 0).Select(x => x.GetYear());

我想知道为什么它不起作用,因为 Select<>() 应该是一个投影,对吗?

提前致谢。

最佳答案

FirstOrDefaultIEnumerable

返回单个元素

当它用于第二种情况,即 string[] 时,它返回一个 string

string 上使用 Select 投影字符串的每个字符,并且您的扩展方法不存在 char 类型

关于c# - Linq Select 投影不能应用于单条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448931/

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