下面的C#代碼:這個LINQ語句是否會返回null?
List<string> source = new List<string>();
IEnumerable<string> values = from value in source select value;
將values
永遠是空或將它總是返回一個空序列?
下面的C#代碼:這個LINQ語句是否會返回null?
List<string> source = new List<string>();
IEnumerable<string> values = from value in source select value;
將values
永遠是空或將它總是返回一個空序列?
是它可以返回null,如果你在你的代碼中定義的地方,比如下面的擴展方法:
public static IEnumerable<string> Select(this List<string> list, Func<string, string> action)
{
return null;
}
否則否;它會返回一個空序列。
values
序列本身永遠不會爲空。如果source
爲空,那麼values
將是一個不包含項目的空序列。
(而且,當然,它可能是一個或多個序列中的string
項目可能爲空)。如果你想測試如果序列是空的使用.Any()
的LINQ返回空序列 方法
非常好的一點。 – tjrobinson