前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C# ?. 判斷Null值

C# ?. 判斷Null值

作者头像
DotNet Whisperer
发布于 2024-08-14 07:32:30
发布于 2024-08-14 07:32:30
12100
代码可运行
举报
文章被收录于专栏:DotNet杂记DotNet杂记
运行总次数:0
代码可运行

有一句代碼:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Html.DisplayFor(modelItem => item.SellDate, "RegularDate")

RegularDate.cshtml 內容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@model System.DateTime
@Model.ToString("yyyy/MM/dd")

目的是將數據庫里的 DateTime 顯示為完整日期,如 2019/08/09,時間部份舍去。

當 SellDate 不為空值時,用 "RegularDate"  這個 templateName 來 render SellDate 很方便,特別是批量應用該 templateName的情況下。

但是數據庫里“SellDate”有可能為空,這樣會出一個錯誤:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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# 語法糖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@(item.SellDate?.ToString("yyyy/MM/dd"))

當 item.SellDate 不為空時就執行 .ToString("yyyy/MM/dd")。

相當于

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (!item.SellDate != null)
    item.SellDate.ToString("yyyy/MM/dd");

妙。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
长短期记忆(LSTM):突破性的序列训练技术
长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
数据科学工厂
2023/11/20
5500
长短期记忆(LSTM):突破性的序列训练技术
循环神经网络——中篇【深度学习】【PyTorch】【d2l】
来杯Sherry
2023/09/19
4050
循环神经网络——中篇【深度学习】【PyTorch】【d2l】
【现代深度学习技术】现代循环神经网络01:门控循环单元(GRU)
  在通过时间反向传播中,我们讨论了如何在循环神经网络中计算梯度,以及矩阵连续乘积可以导致梯度消失或梯度爆炸的问题。下面我们简单思考一下这种梯度异常在实践中的意义:
Francek Chen
2025/05/02
1770
【现代深度学习技术】现代循环神经网络01:门控循环单元(GRU)
【现代深度学习技术】现代循环神经网络03:深度循环神经网络
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。
Francek Chen
2025/05/03
1350
【现代深度学习技术】现代循环神经网络03:深度循环神经网络
【深度学习实验】循环神经网络(三):门控制——自定义循环神经网络LSTM(长短期记忆网络)模型
LSTM(长短期记忆网络)是一种循环神经网络(RNN)的变体,用于处理序列数据。它具有记忆单元和门控机制,可以有效地捕捉长期依赖关系。
Qomolangma
2024/07/30
1.5K0
【深度学习实验】循环神经网络(三):门控制——自定义循环神经网络LSTM(长短期记忆网络)模型
【深度学习实验】循环神经网络(五):基于GRU的语言模型训练(包括自定义门控循环单元GRU)
get_params 函数用于初始化模型的参数。它接受三个参数:vocab_size 表示词汇表的大小,num_hiddens 表示隐藏单元的数量,device 表示模型所在的设备(如 CPU 或 GPU)。
Qomolangma
2024/07/30
4620
【深度学习实验】循环神经网络(五):基于GRU的语言模型训练(包括自定义门控循环单元GRU)
动手学深度学习(十二) NLP循环神经网络进阶
RNN存在的问题:梯度较容易出现衰减或爆炸(BPTT) ⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系 RNN:
致Great
2020/02/25
4780
动手学深度学习(十二)  NLP循环神经网络进阶
【现代深度学习技术】现代循环神经网络04:双向循环神经网络
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/05/04
1200
【现代深度学习技术】现代循环神经网络04:双向循环神经网络
从零开始学Pytorch(十一)之ModernRNN
• 重置⻔有助于捕捉时间序列⾥短期的依赖关系; • 更新⻔有助于捕捉时间序列⾥⻓期的依赖关系。
墨明棋妙27
2022/09/23
4450
【深度学习实验】循环神经网络(四):基于 LSTM 的语言模型训练
【深度学习实验】循环神经网络(一):循环神经网络(RNN)模型的实现与梯度裁剪_QomolangmaH的博客-CSDN博客
Qomolangma
2024/07/30
4590
【深度学习实验】循环神经网络(四):基于 LSTM 的语言模型训练
【现代深度学习技术】循环神经网络05:循环神经网络的从零开始实现
  本节将根据循环神经网络中的描述, 从头开始基于循环神经网络实现字符级语言模型。 这样的模型将在H.G.Wells的时光机器数据集上训练。 和前面语言模型和数据集中介绍过的一样, 我们先读取数据集。
Francek Chen
2025/04/22
1200
【现代深度学习技术】循环神经网络05:循环神经网络的从零开始实现
【现代深度学习技术】现代循环神经网络07:序列到序列学习(seq2seq)
  正如我们在机器翻译与数据集中看到的,机器翻译中的输入序列和输出序列都是长度可变的。为了解决这类问题,我们在编码器-解码器架构中设计了一个通用的”编码器-解码器“架构。本节,我们将使用两个循环神经网络的编码器和解码器,并将其应用于序列到序列(sequence to sequence,seq2seq)类的学习任务。
Francek Chen
2025/05/06
2120
【现代深度学习技术】现代循环神经网络07:序列到序列学习(seq2seq)
白话--长短期记忆(LSTM)的几个步骤,附代码!
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
mantch
2019/08/29
1.4K0
白话--长短期记忆(LSTM)的几个步骤,附代码!
用pytorch写个RNN 循环神经网络
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情
程序猿川子
2022/10/21
1.1K0
循环神经网络——下篇【深度学习】【PyTorch】【d2l】
设计多个隐藏层,目的是为了获取更多的非线性性。深度循环神经网络需要大量的调参(如学习率和修剪) 来确保合适的收敛,模型的初始化也需要谨慎。
来杯Sherry
2023/09/19
4830
循环神经网络——下篇【深度学习】【PyTorch】【d2l】
【AI前沿】深度学习基础:循环神经网络(RNN)
循环神经网络(RNN)与传统的前馈神经网络(如多层感知器和卷积神经网络)不同,RNN具有内存能力,能够在处理当前输入时保留之前的信息。这使得RNN特别适合处理序列数据,如文本、语音和时间序列等。
屿小夏
2024/07/13
4050
【AI前沿】深度学习基础:循环神经网络(RNN)
动手学深度学习(十一) NLP循环神经网络
本节介绍循环神经网络,下图展示了如何基于循环神经网络实现语言模型。我们的目的是基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量
致Great
2020/02/25
7890
动手学深度学习(十一)  NLP循环神经网络
【深度学习 | LSTM】解开LSTM的秘密:门控机制如何控制信息流
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)
计算机魔术师
2023/09/24
7260
【现代深度学习技术】循环神经网络06:循环神经网络的简洁实现
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/04/26
1220
【现代深度学习技术】循环神经网络06:循环神经网络的简洁实现
LSTM:克服长期依赖难题的循环神经网络升级方案
长短期记忆网络(Long Short-Term Memory)作为RNN的进阶架构,在序列建模领域具有里程碑意义。其核心突破在于通过智能门控系统,有效捕获跨越数百个时间步的语义关联,成功缓解了传统RNN存在的梯度消失/爆炸难题,在语音识别、金融预测等需要长程记忆的场景中表现卓越。
JavaEdge
2025/03/19
2300
推荐阅读
长短期记忆(LSTM):突破性的序列训练技术
5500
循环神经网络——中篇【深度学习】【PyTorch】【d2l】
4050
【现代深度学习技术】现代循环神经网络01:门控循环单元(GRU)
1770
【现代深度学习技术】现代循环神经网络03:深度循环神经网络
1350
【深度学习实验】循环神经网络(三):门控制——自定义循环神经网络LSTM(长短期记忆网络)模型
1.5K0
【深度学习实验】循环神经网络(五):基于GRU的语言模型训练(包括自定义门控循环单元GRU)
4620
动手学深度学习(十二) NLP循环神经网络进阶
4780
【现代深度学习技术】现代循环神经网络04:双向循环神经网络
1200
从零开始学Pytorch(十一)之ModernRNN
4450
【深度学习实验】循环神经网络(四):基于 LSTM 的语言模型训练
4590
【现代深度学习技术】循环神经网络05:循环神经网络的从零开始实现
1200
【现代深度学习技术】现代循环神经网络07:序列到序列学习(seq2seq)
2120
白话--长短期记忆(LSTM)的几个步骤,附代码!
1.4K0
用pytorch写个RNN 循环神经网络
1.1K0
循环神经网络——下篇【深度学习】【PyTorch】【d2l】
4830
【AI前沿】深度学习基础:循环神经网络(RNN)
4050
动手学深度学习(十一) NLP循环神经网络
7890
【深度学习 | LSTM】解开LSTM的秘密:门控机制如何控制信息流
7260
【现代深度学习技术】循环神经网络06:循环神经网络的简洁实现
1220
LSTM:克服长期依赖难题的循环神经网络升级方案
2300
相关推荐
长短期记忆(LSTM):突破性的序列训练技术
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档