??运算符(C# 参考)
http://msdn.microsoft.com/zh-cn/library/ms173224.aspx

可以为 null 的类型(C# 编程指南)
http://msdn.microsoft.com/zh-cn/library/1t3y8s4s.aspx

Nullable<T> 结构
http://msdn.microsoft.com/zh-cn/library/vstudio/b3h38hb0.aspx

1. 变量定义中类型后带一个问号,意思是这个数据类型是NullAble类型的。用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!
例子:
int? i = 3 等同于Nullable<int> i = new Nullable<int>(3);
int?是泛型Nullable<int>的另一种写法。
在定义方法的时候允许传null值:

public void AddUser( string name, string password, int ? role)
{
//内容略...
}

//使用
AddUser("小明" , "123456" , null ); //默认null为未审核用户
AddUser("小王" , "123456" ,1); //管理员
AddUser("小张" , "123456" ,2); //普通用户

public void AddUser(string name,string password,int? role)
{
//内容略...
}

//使用
AddUser("小明","123456",null);//默认null为未审核用户
AddUser("小王","123456",1);//管理员
AddUser("小张","123456",2);//普通用户

2. 变量定义中类型后带两个问号, 用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!意思是取所赋值??左边的,如果左边为null,取所赋值??右边的。
例子:
page ?? 0,表示page为null的时候,取右边的值0.
??读作 空接合操作符

转载请注明出处  http://guanhp2013.cnblogs.com/

如有疑问,欢迎留言。

作者网站http://www.xyzla.com

.net问号的作用的更多相关文章

  1. C# 中2个问号的作用。C#的??代表是什么意思

    https://www.cnblogs.com/gggg/p/5867412.html 变量定义中含有一个问号,意思是这个数据类型是NullAble类型的.(NullAble意思是可以为空) 变量定义 ...

  2. Java中泛型 问号的作用

    这是jdk1.5泛型的典型应用: 第一种写法,叫做使用泛型方法:    public <T extends Object> void thisIsT(List <T> list ...

  3. C#中一个问号和两个问号(a ?? b)的作用

    不卖关子,直接开门见山: C#中两个问号的作用是判断??左边的对象是否为null,如果不为null则使用??左边的对象,如果为null则使用??右边的对象. 比如:a = b ?? c,如果b为nul ...

  4. PHP正则表达式模式修饰符详解

    PHP模式修饰符又叫模式修正符,是在正则表达式的定界符之外使用.主要用来调整正则表达式的解释,提扩展了正则表达式在匹配.替换等操作的某些功能,增强了正则的能力.但是有很多地方的解释都是错误的,也容易误 ...

  5. PHP文件包含漏洞剖析

    一. 什么才是”远程文件包含漏洞”?回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. ...

  6. spring的cronExpression

    CronExpression_CronExpression 规则 字段 允许值 允许的特殊字符   秒   0-59   , - * /   分   0-59   , - * /   小时 0-23  ...

  7. PHP正则表达式的逆向引用与子模式 php preg_replace应用

    mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) 功能 在 subject 中搜索 ...

  8. php中的修饰符

    上面使用了一个修饰符U,详见关于修饰符的介绍. PHP正则表达式修饰符的理解: 在PHP正则表达式里面的修饰符可以改变正则的很多特性,使得正则表达式更加适合你的需要(注意:修饰符对于大小写是敏感的,这 ...

  9. 高级PHP应用程序漏洞审核技术

    前言 PHP是一种被广泛使用的脚本语言,尤其适合于web开发.具有跨平台,容易学习,功能强大等特点,据统计全世界有超过34%的网站有php的应 用,包括Yahoo.sina.163.sohu等大型门户 ...

随机推荐

  1. @Autowired注解警告Field injection is not recommended

    在使用spring框架中的依赖注入注解@Autowired时,idea报了一个警告 大部分被警告的代码都是不严谨的地方,所以我深入了解了一下. 被警告的代码如下: @Autowired UserDao ...

  2. 使用 Node.js 搭建 Web 服务器

    使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...

  3. WebDeploy to remote IIS

        参考 Web Platform Installer Direct Downloads

  4. .net core 使用IIS作为宿主Web服务器,部署常见问题

    ASP.NET Core 使用IIS作为Web服务器,部署在IIS上 所做的步骤部署完毕后,启动网站 出现 An error occurred while starting the applicati ...

  5. zk分布式任务管理

    在我们的系统开发过程 中不可避免的会使用到定时任务的功能,而当我们在生产环境部署的服务超过1台时,就需要考虑任务调度的问题,防止两台或多台服务器上执行同一个任务,这个问题今天咱们就用zookeeper ...

  6. .Net Core Web Api 上传女朋友的照片到微软云Azure Storage

    前言 实现一个Web Api,把女朋友照片保存到Azure云的storage里. Image Upload Api 在对应的Api Controller里,加上attribute: [Consumes ...

  7. 如何使用.net开发一款小而美的O2O移动应用? ——“家庭小秘”APP介绍及采访记录

    “家庭小秘”是一款“互联网+生活服务”平台,为市民家庭提供优质家庭生活服务和企业后勤服务,包含了用户注册.购买预约.订单查询.充值付款.即时通讯等功能. 这款应用已上线至AppStore和安卓的应用商 ...

  8. linq用法整理

    linq用法整理 普通查询 var highScores = from student in students where student.ExamScores[exam] > score se ...

  9. Redis在Windows中安装方法

    首先下载Redis 下载地址:https://github.com/MSOpenTech/redis/releases Redis支持32位和64位,这个需要根据你系统平台的实际情况选择,我的是64位 ...

  10. 简述ADO.NET命名空间

    system.data命名空间的类型 system.data命名空间的核心成员 命名空间 作用 Constraint  表示某个DataColumn对象的约束 DataColumn 表示某个DataT ...