给出以下C#代码:
List<string> source = new List<string>();
IEnumerable<string> values = from value in source select value;
values
是否会为null或是否总是返回空序列?
答案 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()
方法