Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 如何强制长请求。表单以零而不是空提交_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 如何强制长请求。表单以零而不是空提交

C# 如何强制长请求。表单以零而不是空提交,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,如何强制空表单元素为零 我有以下模型类:- public partial class MemoryInfo { public long WORKSTATIONID { get; set; } public Nullable<long> TOTALMEMORY { get; set; } public Nullable<long> FREEMEMORY { get; set; } public Nul

如何强制空表单元素为零 我有以下模型类:-

 public partial class MemoryInfo
    {
        public long WORKSTATIONID { get; set; }
        public Nullable<long> TOTALMEMORY { get; set; }
        public Nullable<long> FREEMEMORY { get; set; }
        public Nullable<long> VIRTUALMEMORY { get; set; }
        public Nullable<long> FREEVIRTUALMEMORY { get; set; }

        public virtual SystemInfo SystemInfo { get; set; }
    }
但当前如果用户将ramSize字段留空,它将作为Null值发送,API将忽略这些值,而我需要以下场景;如果ramSize字段为空,则提交值为零

谁能相信我是怎么做到的? 谢谢

转换为空 您可以使用??操作员。它基本上计算前面的语句,如果为null,则使用继续值

query["ramSize"] = Request.Form["SystemInfo.MemoryInfo.TOTALMEMORY"] ?? 0;

这个??运算符称为空合并运算符,用于 为可为空的值类型或引用类型定义默认值。信息技术 如果操作数不为null,则返回左侧操作数;否则它 返回正确的操作数

请注意,
Request.Form[“”]
返回一个
字符串
,因此您可能需要将
0
括在引号中

正在转换字符串。空 看起来您实际上是在问一个不同的问题,并且您希望将
String.Empty
转换为0。在这种情况下,您可以使用第三运算符?

string ramSize = Request.Form["SystemInfo.MemoryInfo.TOTALMEMORY"];
query["ramSize"] = String.IsNullOrEmpty(ramSize) ? "0" : ramSize;

如果条件为true,则计算第一个表达式并将其变为 结果;如果为false,则对第二个表达式求值并成为 结果。仅对两个表达式中的一个进行求值

转换空值 您可以使用??操作员。它基本上计算前面的语句,如果为null,则使用继续值

query["ramSize"] = Request.Form["SystemInfo.MemoryInfo.TOTALMEMORY"] ?? 0;

这个??运算符称为空合并运算符,用于 为可为空的值类型或引用类型定义默认值。信息技术 如果操作数不为null,则返回左侧操作数;否则它 返回正确的操作数

请注意,
Request.Form[“”]
返回一个
字符串
,因此您可能需要将
0
括在引号中

正在转换字符串。空 看起来您实际上是在问一个不同的问题,并且您希望将
String.Empty
转换为0。在这种情况下,您可以使用第三运算符?

string ramSize = Request.Form["SystemInfo.MemoryInfo.TOTALMEMORY"];
query["ramSize"] = String.IsNullOrEmpty(ramSize) ? "0" : ramSize;

如果条件为true,则计算第一个表达式并将其变为 结果;如果为false,则对第二个表达式求值并成为 结果。仅对两个表达式中的一个进行求值


你不能像这样写:
if(TOTALMEMORY==null)TOTALMEMORY=0
?你不能像这样写:
if(TOTALMEMORY==null)TOTALMEMORY=0