一.string.Empty

string.Empty就相当于 "" ,一般用于字符串的初始化 ,

比如: string a; Console.WriteLine(a);//这里会报错,因为没有初始化a

而下面不会报错: string a=string.Empty; Console.WriteLine(a);

或者用于比较: if(a=="") if(a==string.Empty) 上面两句是一样的效果。

二.String.IsNullOrEmpty 方法

String.IsNullOrEmpty(value)

指示指定的字符串是 null 还是 Empty 字符串。 能同时测试 String 是否为 null 或其值是否为 Empty 等价于  result = (value) == null || (value) == String.Empty;

参数 value :类型:System.String ,要测试的字符串。

返回值 类型:System.Boolean, 如果 value 参数为 null 或空字符串 (""),则返回 true;否则返回 false。

三.Nullable可空类型

Nullable<Int32>,读作“可空的 Int32”,可以被赋值为 -2147483648 到 2147483647 之间的任意值,也可以被赋值为 null 值。

Nullable<bool> 可以被赋值为 true 或 false,或 null。在处理数据库和其他包含可能未赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型的功能特别有用。

例如,数据库中的布尔型字段可以存储值 true 或 false,或者,该字段也可以未定义。

可空类型具有以下特性:  ·可空类型表示可被赋值为 null 值的值类型变量。无法创建基于引用类型的可空类型。(引用类型已支持 null 值。)。

·语法 T? 是 System.Nullable<T> 的简写,此处的 T 为值类型。这两种形式可以互换。  ·

为可空类型赋值与为一般值类型赋值的方法相同,如 int? x = 10; 或 double? d = 4.108;。

·如果基础类型的值为 null,请使用 System.Nullable.GetValueOrDefault 属性返回该基础类型所赋的值或默认值,

例如 int j = x.GetValueOrDefault();  ·请使用 HasValue 和 Value 只读属性测试是否为空和检索值,例如 if(x.HasValue) j = x.Value;   如果此变量包含值,则 HasValue 属性返回 True;或者,如果此变量的值为空,则返回 False。   如果已赋值,则 Value 属性返回该值,否则将引发 System.InvalidOperationException。

可空类型变量的默认值将 HasValue 设置为 false。未定义 Value。  ·使用 ?? 运算符分配默认值,当前值为空的可空类型被赋值给非空类型时将应用该默认值,

如 int? x = null; int y = x ?? -1;。

·不允许使用嵌套的可空类型。将不编译下面一行:Nullable<Nullable<int>> n;

程序代码

class NullableExample

{

   static void Main()

    {

     int? num = null;

    if (num.HasValue == true)

     {

      System.Console.WriteLine("num = " + num.Value);

     }

     else

    {

      System.Console.WriteLine("num = Null");

     }

    // 赋值为可空类型的默认值 int y = num.GetValueOrDefault();

    // 如果num.HasValue返回false,则num.Value将会引发 InvalidOperationException异常

    try

    {

        y = num.Value;

     }

     catch (System.InvalidOperationException e)

    {

      System.Console.WriteLine(e.Message);

    }

   }

}

以上将显示输出:  num = Null   Nullable object must have a value.

基类型(基本类型)

Nullable 类型用?构造,如:int?是整型int的Nullable 类型,一个Nullable 类型的基类型必须是值类型,

如int是值类型,它的Nullable 就是int? 如: int i=0; int? j=null; 基类型不能是引用类型,如: string s="abc"; string? s=null;//错误

可空的时间类型转换为string时需要注意:

Nullable<System.DateTime> SendTime;

string timeStr=SendTime.HasValue ? SendTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : "当前变量为null";

HasValue : 获取一个值,指示当前的System.Nullable<T>对象是否有值。返回True和False.

感谢您怀着耐心看完整篇博文!!!

如果文章有什么错误或不当之处,请您斧正!

您有任何意见或者建议,您可以给我发邮件,也可以在下面留言,我看到了会第一时间回复您的,谢谢!

转载于:https://www.cnblogs.com/djgs/p/3576918.html

C#中一些常用的方法使用相关推荐

  1. js中数组常用的方法总结,包括ES6

    原文地址:js中数组常用的方法总结,包括ES6 1.push() 后增 push()方法可以向数组后添加一个新的元素,并返回新数组的长度. 末尾添加,返回长度,改变原数组 var a = [1,2,3 ...

  2. Javscript数组中最常用的方法(建议收藏)

    数组最常见的方法 操作方法 排序方法 转换方法 迭代方法 js中数组的方法不管是写原生还是用框架,我们都会经常运用到,以及也有一些面试官会问到甚至让我们手写一个数组的排序函数: 所以我就通过查找一些好 ...

  3. 【转】Java中File常用的方法汇总

    创建: createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false. mkdir() 在指定位置创建一个单级文件夹. mkdirs() 在指定位 ...

  4. django中URL常用配置方法

    1:直接导入视图函数 1 from django.conf.urls.defaults import * 2 from mysite.views import hello 3 urlpatterns ...

  5. Java中的常用异常处理方法

    觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 ...

  6. Lambda中的常用sql方法

    1.Groupby 对集合进行分组,如: var dllList = _menuMan.Load(c => c.TXT_ASSEMBLYNAME != null).GroupBy(c=>c ...

  7. c#中的常用ToString()方法总结。

    很多类都重写了ToString方法, 导致很多类的tostring到底执行了什么,有哪些参数,都不清楚....很郁闷! 对于int,double等的tostring: C 货币 2.5.ToStrin ...

  8. file java_Java中File常用的方法汇总

    packagecom.file;importjava.io.File;importjava.io.IOException;/*** file相关的方法 * *@authorcoco_xu **/ pu ...

  9. python怎么输出结果_Python中print()常用输出方法

    print函数用法 1.输出字符串 print 'Hello World' print "Hello World" print ('Hello World') print (&qu ...

最新文章

  1. zabbix 安装配置介绍
  2. python装饰器作用-Python 装饰器的作用
  3. git 常用命令(含删除文件)
  4. 基于alsa的音量控制代码
  5. java 知识积累_java学习知识积累-spring常用注解
  6. error while loading shared libraries: libtinfo.so.5
  7. 2020-12-27
  8. 计算机网络 校园网规划与设计方案,校园网设计方案—计算机网络课作业
  9. 关于在手机上注册Google账号
  10. Tuxera NTFS2022产品密钥 mac读取ntfs格式驱动程序
  11. android模拟器 对比,安卓模拟器多开用哪个模拟器好?实测数据对比哪个好用
  12. 华为AC外置Portal认证方案配置步骤指南
  13. 高通正式发布骁龙 778G 5G 芯片
  14. 激励函数简介 Tensorflow最简单的三层神经网络及matplotlib可视化 附激励函数常见类型
  15. 【CSP-J】【图论】【最短路】加工零件
  16. python注释可用于表明作者和版权信息_Python-注释帮助我们理解-No9
  17. 侯捷C++视频资源全集 | 百度网盘下载
  18. 学习笔记 山外K60库图像解压函数原理(底层代码详解)
  19. dotNet MSIL中的一些不常见IL指令
  20. lr cc 2019 mac版激活教程

热门文章

  1. vue.config.js 配置参考
  2. uni怎么使用原生html标签,uni-app如何完美解析富文本内容
  3. Python笔记-沪深三百与茅台简单分析(2021年数据)
  4. 谁动了你的主机-Windows“唤醒”和“开机”时自动拍照-狩猎者项目
  5. Linux端口6888被占用怎么解决,zabbix如何监控外部端口的状态?
  6. 动态调用object php,PHP动态调用,大家都来谈吧
  7. linux里的run-level,linux run level 为何物
  8. 学JAVA要学redis_新手学习Java对Redis简单操作
  9. 华为的鸿蒙系统是海思_全新12.9英寸华为MatePad平板曝光:搭载鸿蒙系统
  10. java 获取继承字段_java – 从类中获取所有字段(甚至是私有的和继承的)