问题 When calling Any() on a null object, it throws an ArgumentNullException in C#. If the object is null, there definitely aren't 'any', and it should probably return false. Why does C# behave this way? 回答1: When dealing with reference types, a null value is semantically different from an "empty" value. A null string is not the same as string.Empty , and a null IEnumerable<T> is not the same as Enumerable.Empty<T> (or any other "empty" enumerable of that type). If Any were not an extension method