C# ?. 判斷Null值
有一句代碼:
@Html.DisplayFor(modelItem => item.SellDate, "RegularDate")
RegularDate.cshtml 內容如下:
@model System.DateTime
@Model.ToString("yyyy/MM/dd")
目的是將數據庫里的 DateTime 顯示為完整日期,如 2019/08/09,時間部份舍去。
當 SellDate 不為空值時,用 "RegularDate" 這個 templateName 來 render SellDate 很方便,特別是批量應用該 templateName的情況下。
但是數據庫里“SellDate”有可能為空,這樣會出一個錯誤:
The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.DateTime'.
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.DateTime'. 源错误: 行 86: <td>
行 87: @**@
行 88: @Html.DisplayFor(modelItem => item.SellDate, "MyDate")
行 89: </td>
行 90: <td> 源文件: D:\****\Index.cshtml 行: 88 這
這樣就有點不適合了,其實有另外一種更簡便的方法:
采用 ?. 操作符,這是一個 C# 語法糖:
@(item.SellDate?.ToString("yyyy/MM/dd"))
當 item.SellDate 不為空時就執行 .ToString("yyyy/MM/dd")。
相當于
if (!item.SellDate != null)
item.SellDate.ToString("yyyy/MM/dd");
妙。
C# ?. 判斷Null值的更多相关文章
- 使用Facebook的SDK判斷來訪者是否已經按讃并成為本站粉絲團的成員
今天公司裡要做活動,其中有一項活動內容是要求來訪者按一下facebook粉絲團的讃,按了讃之後贈送現金.Facebook被墻大家眾所周知,在百度搜了一下發現因為被墻的原因導致國內涉及到Facebook ...
- 判斷作業系統為 64bit 或 32bit z
有時我們在開發Windows 桌面應用程式時,會發生一些弔詭的事情,作業系統位元數就是一個蠻重要的小細節,若您寫的應用程式在Windows 的32bit 作業系統上可以完美的運行,但不見得在64bit ...
- 【WIN10】判斷程序運行在哪個平台
其中的一個方法是: string x = AnalyticsInfo.VersionInfo.DeviceFamily; 判斷 x 的值,有”Windows.Mobile“,”Windows.Des ...
- 为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》
大家好,我是咔咔 不期速成,日拱一卒 之前ElasticSearch系列文章中提到了如何处理空值,若为Null则会直接报错,因为在ElasticSearch中当字段值为null时.空数组.null值数 ...
- while循環的一些判斷條件和讀取循環精簡方法
while是入口條件循環 在進入循環體時必須要有獲取輸入數據并判斷的并檢查輸入數據的值,所以在while之前放一個scanf函數,讓循環繼續執行. 如果想讓循環繼續進行,那麽還需要在循環内設置一個讀取 ...
- oracle 关于null值排序
在oracle中根据字段来desc排序的话null值可能会在数据的最前面.然而有时候我们查看数据的时候并不希望能够在前面看到这些null值的排序数据. 因此我查了一下: 1.排序的时候运用nvl(). ...
- SQL中NULL值
SQL的表达式,除了IS NULL和NOT NULL以外,只要出现NULL值结果都为FALSE 简单的例子: SELECT * FROM table WHERE name!='abc' 只要name值 ...
- 关于null值的排序
关于空值null的排序问题 Oracle排序中NULL值处理的五种常用方法: 1.缺省Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在 ...
- SQL Server表分区的NULL值问题
SQL Server表分区的NULL值问题 SQL Server表分区只支持range分区这一种类型,但是本人觉得已经够用了 虽然MySQL支持四种分区类型:RANGE分区.LIST分区.HASH分区 ...
- TSQL 聚合函数忽略NULL值
max,min,sum,avg聚合函数会忽略null值,但不代表聚合函数不返回null值,如果表为空表,或聚合列都是null,则返回null.count 聚合函数忽略null值,如果聚合列都是null ...
随机推荐
- spring的问题-能耗、学习曲线
说实话,在过去将近20年中,spring对于it行业的帮助还是很大的,尤其是信息系统建设方面. 但在我看来,spring的发展也许进入了一个困局. 开始的时候,spring的确是一个还是算小巧的工具, ...
- Apache Kylin(二)在EMR上搭建Kylin
EMR上搭建kylin 1. 启动EMR集群 根据官网说明: http://kylin.apache.org/docs21/install/kylin_aws_emr.html 启动EMR时,若是 h ...
- ARM Cortex-A系列处理器性能分类比较
在如今这个电子产品泛滥的年代,仅仅靠品牌或是外观已经不足以辨别产品的优劣,其内置的处理器自然也就成为了分辨产品是否高端的标准之一.那么我们今天就不妨好好了解一下近几年来电子产品中较为主流的RAM处理器 ...
- 【进阶篇】Java 项目中对使用递归的理解分享
[进阶篇]Java 项目中对使用递归的理解分享 目录 [进阶篇]Java 项目中对使用递归的理解分享 前言 一.什么是递归 1.1基本概念 1.2优缺点 1.3与迭代的区别 二.实际案例 三.改进方案 ...
- 案例分享!RK3568 + FPGA多通道AD采集处理与显示
案例展示 测试数据汇总 表 1 本文带来的是基于瑞芯微RK3568J + 紫光同创Logos-2的ARM + FPGA多通道AD采集处理与显示案例. 本次案例演示的开发环境如下: Wind ...
- SpringBoot异步任务EnableAsync
什么是一部任务和使用场景:适用于处理log.发送邮件.短信...等 下单接口->查库存 1000 余额校验 1500 风控用户 1000 启动类里面使用@EnableAsync注解开启功能,自动 ...
- 解决方案 | pywintypes.com_error: (-2147221005, '无效的类字符串', None, None) --Python连接CAD报错真正解决思路!
1 背景 import pythoncom import win32com.client import math wincad = win32com.client.Dispatch("Aut ...
- 适用于PyTorch 2.0.0的Ubuntu 22.04上CUDA v11.8和cuDNN 8.7安装指南
将下面内容保存为install.bash,直接用shell执行一把梭解决 #!/bin/bash ### steps #### # verify the system has a cuda-capab ...
- vscode element-plus/lib/theme-chalk/index.css报错路径找不到
vscode element-plus/lib/theme-chalk/index.css报错路径找不到 import { createApp } from 'vue' import './styl ...
- [oeasy]python0075_删除变量_del_delete_variable
删除变量 回忆上次内容 上次我们研究了字节序 字节序有两种 符号 英文名称 中文名称 < little-endian 小字节序 > big-endian 大字节序 字节序 用来 明确 ...