Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查可为Null的整数数组是否为Null?_C#_Ajax_Nullable - Fatal编程技术网

C# 如何检查可为Null的整数数组是否为Null?

C# 如何检查可为Null的整数数组是否为Null?,c#,ajax,nullable,C#,Ajax,Nullable,这个类是通过一个AJAX帖子填充的 public class FilterViewModel { public int?[] size { get; set; } public decimal? Price { get; set; } } 价格属性可以通过以下方式轻松检查: if (Price.HasValue) { } 但是大小属性呢? 虽然它被声明为可空且其中不存在任何数据,但这里是烧坏 这是公布的

这个类是通过一个AJAX帖子填充的

   public class FilterViewModel
        {
            public int?[] size { get; set; }
            public decimal? Price { get; set; }
        }
价格属性可以通过以下方式轻松检查:

if (Price.HasValue)
{

}
但是大小属性呢? 虽然它被声明为可空且其中不存在任何数据,但这里是烧坏

这是公布的数据

生的

{"man":"2","size":"","color":"","Order":"0","Sorting":"0"}
Ajax post的执行如下

$.ajax({
                url: path, type: "POST", cache: "false",
                dataType: "json", contentType: "application/json; charset=utf-8",
                data: JSON.stringify(postData),
                traditional: true,
                converters: {'text json': true}
            }).success(function (responseText) {
                $('#Grid').replaceWith(responseText);
            }).error(function (responseText){
                swal("Error!", "Ooops", "error");
            });

数组是引用类型,而不管其中存储的是什么类型的值,因此要检查null-
size==null

但看起来数组中确实有元素——您还可以检查所有元素是否都是“null”,比如
size.all(x=>!x.HasValue)


请注意,上面回答了您的问题,但它不太可能有助于解决您的问题,这可能与请求发送到服务器的方式有关。正如注释中所建议的那样,使用来查看确切的请求可能会有所帮助。

只是为了澄清:
size
是一个可为空的整数数组,您没有“将数组声明为可为空的”-数组是引用类型。那么,AJAX帖子有问题吗?数组是如何在服务器端生成的?您还可以使用LINQ
model.size.All(x=>x.HasValue)
这将检查
model.size
中的所有值是否都有值。或者
model.size.Where(x=>x.HasValue)
如果您想从
model.size
获取所有非空值。不确定这里的问题是什么。显然,数组不是空的,因为其中有一项。但该项恰好为空。该for循环是如何编译的?没有从int的隐式转换?谢谢你的回答,先生。我要试试这个。我还更新了发布的数据。