c#lambda推理的问题

Mir*_*vec 2 c# lambda

我写了这样的代码:

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

我收到编译错误:

无法从用法推断出方法'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)'的类型参数.尝试显式指定类型参数.

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

Tho*_*que 7

Select方法采用a Func<TSource, TResult>,但返回类型Console.WriteLinevoid,即根本没有值.因此,在这种情况下TResultvoid,显然,返回类型Select不能IEnumerable<void>(即"没什么序列" ...)

传递给lambda表达式Select 返回值.如果您只想打印结果File.ReadAllLines,请使用forforeach循环.