Console.WriteLine(val) ); 我-6ren">
gpt4 book ai didi

c# - c# lambda 推理的问题

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

我写的代码是这样的:

System.IO.File.ReadAllLines("c://test.txt")
.Select(val => Console.WriteLine(val)
);

我遇到编译器错误:

The type arguments for method 'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable, System.Func)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

WriteLine 可以接受字符串和对象作为参数,这可能是错误的来源,但我该如何重写呢?

最佳答案

Select方法需要一个 Func<TSource, TResult> , 但是 Console.WriteLine 的返回类型是void ,即根本没有值(value)。所以在那种情况下 TResult将是 void ,显然,Select 的返回类型不可能是IEnumerable<void> (即“一无所有”......)

传递给 Select 的 lambda 表达式必须返回一个值。如果你只想打印 File.ReadAllLines 的结果, 使用 forforeach循环。

关于c# - c# lambda 推理的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452638/

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