Given the following C# code:
开发者_开发技巧List<string> source = new List<string>();
IEnumerable<string> values = from value in source select value;
Will values ever be null or will it always return an empty sequence?
Yes it CAN return null if you have an extension method defined in your code somewhere like the following:
public static IEnumerable<string> Select(this List<string> list, Func<string, string> action)
{
return null;
}
Otherwise no; it will return an empty sequence.
The values sequence itself will never be null. If source is empty then values will be an empty sequence containing no items.
(And, of course, it's possible that one or more of the string items in the sequence might be null.)
Linq returns empty sequences
If you want to test if the sequence is empty use the .Any() method
加载中,请稍侯......
精彩评论