这个LINQ语句会返回null吗?

Tom*_*son 2 c# linq

给出以下C#代码:

List<string> source = new List<string>();

IEnumerable<string> values = from value in source select value;
Run Code Online (Sandbox Code Playgroud)

values永远是空或将它总是返回一个空序列?

Muh*_*han 6

是的,如果你的代码中定义了一个扩展方法,它就会返回null,如下所示:

public static IEnumerable<string> Select(this List<string> list, Func<string, string> action)
{
    return null;
}
Run Code Online (Sandbox Code Playgroud)

否则没有; 它将返回一个空序列.