这个LINQ语句会返回null吗?

时间:2011-09-26 10:55:33

标签: c# linq

给出以下C#代码:

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

IEnumerable<string> values = from value in source select value;

values是否会为null或是否总是返回空序列?

3 个答案:

答案 0 :(得分:6)

是的CAN 如果您的代码中定义了扩展方法,则返回null,如下所示:

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

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

答案 1 :(得分:3)

values序列本身永远不会为空。如果source为空,则values将是一个不包含任何项目的空序列。

(当然,序列中的一个或多个string项可能为空。)

答案 2 :(得分:2)

Linq返回空序列 如果要测试序列是否为空,请使用.Any()方法