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
?