计算IEnumerable <HttpPostedFileBase>的非null元素

Tri*_*ing 2 c# ienumerable count httppostedfilebase asp.net-mvc-3

我在asp .net mvc 3中有一个视图模型

IEnumerable<HttpPostedFileBase> files
Run Code Online (Sandbox Code Playgroud)

在视图中,我有一个for循环,为这些文件创建9个输入标记.

我想在服务器端执行检查以确保至少上传3个文件.

我试着提出一个条件

if(files.Count() > 2) { // code here } 
Run Code Online (Sandbox Code Playgroud)

但是,它返回9,因为它也计算null元素.

我可以考虑自己实施一个计数器如下:

int count = 0;
@foreach(var file in files) {
  if(file != null && file.ContentLength > 0) { 
    count++; 
  }
}
Run Code Online (Sandbox Code Playgroud)

这是执行此操作的最佳方式还是asp .net mvc中已有功能.

L.B*_*L.B 6

files.Count(file=>file != null && file.ContentLength > 0);
Run Code Online (Sandbox Code Playgroud)