C# ??运算符

简介: ??运算符: variable ?? defaultValue 相当于 variable == null ? defaultValue : variable   code 1: // y = x,unless x is null,...

??运算符:

variable ?? defaultValue
相当于
variable == null ? defaultValue : variable

 

code 1:

// y = x,unless x is null,in which case y=-1

int y = x ?? –1;

 

code 2:

DatePicker daySelection;

DateTime date = daySelection.SelectedDate ?? DateTime.Today;

 

code1,很明显,除非x=null时y才能-1,否则y=x;

code2,除非daySelection.SelectedDate=null,date=DateTime.Today,否则date=daySelection.SelectedDate=。

 

参考网址:

http://msdn.microsoft.com/zh-cn/library/ms173224.ASPX

相关文章
|
11月前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
123 3
|
11月前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
223 2
|
12月前
|
C# 开发者
【捞底干货】C#中equals和==运算符的区别
【捞底干货】C#中equals和==运算符的区别
448 1
|
11月前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
103 0
|
C# 数据库
C#中的空合并运算符与空合并赋值运算符:简化空值处理
C#中的空合并运算符与空合并赋值运算符:简化空值处理
187 0
|
开发框架 .NET 程序员
C#三元运算符使用技巧
C#三元运算符使用技巧
240 0
C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用
运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。
177 1
|
C# 数据安全/隐私保护
C#运算符
C#运算符
87 0
|
C# 图形学
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
119 1
|
存储 C#
C#入门开发(Hello World,运算符)
C#入门开发(Hello World,运算符)
121 0