当前位置: 首页 > news >正文

2b2网站开发网络推广软文怎么写

2b2网站开发,网络推广软文怎么写,成都大型商城网站建设,东营做网站哪家好在c#中,值对象是没有办法赋值为null的。比如说,你想要定义一个布尔值,你的赋值数据要么得是true、要么就得是false,默认情况下我们永远没可能给这个布尔赋值为null,即使只是对这个变量进行声明而不初始化数据&#xff…

在c#中,值对象是没有办法赋值为null的。比如说,你想要定义一个布尔值,你的赋值数据要么得是true、要么就得是false,默认情况下我们永远没可能给这个布尔赋值为null,即使只是对这个变量进行声明而不初始化数据,c#编译器也会给他在声明的同时赋予默认的初始化数据。布尔的初始化数据为false,整数、浮点数为0。

不过,在实际工作中,我们难免会遇到需要给值类型对象赋值为null的情况。比如说,我们在数据库有个客户列表,保存了客户的姓名、电话、出生日期等数据,而出生日期不是必选项,所以,在数据库中有可能存在客户没有留下生日的情况。

出生日我们需要使用DateTime类型来处理,但是DateTime类型在c#中是值类型对象(struct),没有办法赋值为null。所以,对于没有出生日期的情况,反应在代码中我们就需要给DateTime做一些特殊处理,让他可以赋值为null了。

一、Nullable

C#为类似上述情况提供的专门进行空处理的可空类型Nullable,位于system命名空间中。

1、Nullable的使用

可空类型的创建:

Nullable的使用方式很简单,以DateTime为例,在Nullable后面加上箭头括号,泛型为DateTime。现在,我们的date变量就可以被设置为null了。

Nullable<DateTime> date = null;

因为可控类型很常用,因此c#还很贴心得给这种类型设计了独特的语法接口,通过语法糖来简化代码。

DateTime? date = null;

2、Nullable的常用成员

bool HasValueNullable类型的属性成员,用于判断是否为空。

T ValueNullable类型的属性成员,返回承载当前值的对应类型对象,如果为null则抛出异常。

T GetValueOrDefault()Nullable类型的方法成员,当为null时,返回承载默认值的对应类型对象,当不为null时候,返回承载当前值的对应类型对象。

class Program
{static void Main(string[] args){DateTime? date = null;Console.WriteLine(date.GetValueOrDefault());date = new DateTime(2022, 1, 2);if (date.HasValue){Console.WriteLine(date.Value);}}
}

在这里插入图片描述
注意:不能把一个NullableDatetime直接赋值给普通的Datetime,因为他们两者的类型是截然不同的,c#编译器不知道应该怎么处理这种情况。

二、合并运算符 ??

现在假设有一个需求,打印Nullable<DateTime>变量date的日期,但有个要求,就是只有date有数据的时候,才显示date的日期;否则显示今天的日期。如果不使用合并运算符,一般会写成如下代码:

static void Main(string[] args)
{DateTime? date = null;if (date != null){Console.WriteLine(date.GetValueOrDefault());}else{Console.WriteLine(DateTime.Today);}
}

在实际工作中,我们有大量的代码都需要做类似的处理,先进行非空判断,然后再执行逻辑。不过,这坨代码其实很啰嗦,对于可空数据的处理,c#提供了一个非常强大的语法结构进行处理,就是连续使用两个问号,即合并运算符??

语法:变量a ?? 变量b/表达式

连续两个问号是Coalescing Operator,中文叫做合并运算。这是一个逻辑操作符,当左侧的变量为null时,他将会返回合并操作符右侧数据,否则合并操作将会提取左侧的变量的真实数据,并且返回这个数据。于是,上面的代码就可以简写为:

static void Main(string[] args)
{DateTime? date = null;var result = date ?? DateTime.Today;Console.WriteLine(result);
}
http://www.laogonggong.com/news/4121.html

相关文章:

  • 00908网络营销与策划响应式网站 乐云seo品牌
  • 高端旅游的网站建设河北网站推广
  • 做集团网站一年多少钱市场调研模板
  • 可以找题目做的网站seo自动优化软件安卓
  • 网站建设会计分录怎么做app推广拉新接单平台
  • 做网站用盗版PS网络营销软件条件
  • erp企业管理系统软件有哪些广州seo公司推荐
  • 济南网站建设认可搜点网络能秦皇岛seo招聘
  • linux版网站开发凡科建站靠谱吗
  • linux版网站开发凡科建站靠谱吗
  • 做网站公司高端安卓优化大师最新版
  • 请人做网站需要问哪些问题新乡网站优化公司推荐
  • 做app和做网站手机版怎么用百度快照
  • 济南网站建设 齐鲁文化创意基地购买一个网站域名需要多少钱
  • 做网站可以在哪儿接活如何快速推广一个app
  • 网站建设总体规划包括长春网络科技公司排名
  • 做夹具需要知道的几个网站关键词排名seo优化
  • h5公众号开发seo文章关键词怎么优化
  • 让做网站策划没经验怎么办热狗seo外包
  • 游戏网站开发毕业论文开题报告关键词搜索点击软件
  • 本机做网站服务上传到2021十大网络舆情案例
  • 简洁的网站设计企业seo整站优化方案
  • 一流的常州做网站长沙关键词优化首选
  • 辽阳网站制作汕头seo优化
  • 动漫做暧视频网站网页怎么优化
  • 网页设计作品文章长沙网站seo技术厂家
  • 厦门建网站费用一览表seo排名点击工具
  • 内蒙古知名网站建设企业员工培训课程有哪些
  • 重庆手机网站制作价格seo优化排名技术百度教程
  • 北京公司网站建设服务百度后台登陆入口