Поскольку ToLowerInvariant()
вызывается по результату Path.GetExtension (). Нет гарантии, что Path.GetExtension () вернет что-либо значимое (например, если file.Filename имеет значение null).
Лучше всего проверить, что результат Path.GetExtension не равен нулю, прежде чем вызывать что-либо еще для него. (или вызовите ToLower () для file.FileName перед тем, как поместить его в GetExtension, в любом случае убедитесь, что вы точно знаете, что вкладываете в GetExtension (), или вы не можете дать никаких гарантий, что то, что вы получите, будет тем, что вы искали) ).