搜索
首页类库下载C#类库C#中的?有哪些用法

C#中的?有哪些用法

Apr 13, 2019 am 10:14 AM
c#

在C#中的?表示可空类型,它可以表示基础类型的所有T值以及另外的空值,??表示的是空合并运算符表示的是当操作数不为null时返回左侧值否则返回右侧等等

在C#中的?会因为个数的不同而有着不同的用法,比如?与??这两个运算符的含义就不相同。接下来将在文章中为大家详细介绍C#中的?具体有哪些用法,具有一定的参考价值,希望对大家有所帮助

C#中的?有哪些用法

【推荐课程:C#语言教程

?(可空类型)

可空类型是System.Nullable 8742468051c85b06f0a0af9e3e506b5c结构的实例,可空类型可以表示基础类型的所有值T,以及另外的空值。基础类型T可以是任何不可为空的值类型。但是T不能是参考类型。

当用于表示基础类型的未定义值时,就可以使用可空类型。可空类型具有以下特征:

(1)在可空类型下,可以为变量分配空值,而无需根据引用类型创建可空类型。

(2)可空类型不支持嵌套的Nullable类型。

(3)可空类型不支持var类型。如果使用Nullable和var,那么就会出现编译错误

例:

// C# program to illustrate the 
// use of Nullable type 
using System; 
class GFG { 
    // 主方法
    static public void Main() 
    { 
        int ? a = null; 
        int ? b = 2345; 
        Console.WriteLine(a); 
        Console.WriteLine(b); 
    } 
}

输出结果:2345

??(空合并运算符)

在C#中??运算符称为null-coalescing运算符,即空合并运算符。含义是当操作数不为null,则返回左侧操作数; 否则它返回右侧操作数。如果在不使用??运算符的情况下将可空值类型分配给非可空值类型,则会生成编译时错误。如果使用强制转换,并且当前未定义可空值类型,InvalidOperationException则会引发异常。

例:

//声明a和b
int?a=null; 
int b;
b=a??2;//b的值为2
a=6;
b=a??8;//b的值为6

?:(三元运算符)

在C#中,有一个特殊的运算符叫做三元运算符,类似于if-else。三元运算符比较两个值并基于它返回一个值。三元运算符的语法是:

条件表达式?表达式1:表达式2;

它可以返回任何数据类型的值。

例:

using System;    
namespace Tutpoint  {      
class Program      
{          
public static void Compare(int a, int b)          
{              
string output = a > b ? "A 大于 B" : "B 大于 A";              
Console.WriteLine(output);          
}          
static void Main(string[] args)          
{             
 Program.Compare(66, 579);              
 Console.ReadKey();          
 }      
 }  }

结果输出为:B 大于 A

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

以上是C#中的?有哪些用法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境