• 【读书笔记】 C# 可空数据类型


    数据库中的数字和编程语言中的数字有显著不同的特征,因为数据库中的数字可以为空,C#中的数字不能为空。Int32是一个结构,而结构是值类型的,所以它不能为空。

    在C#中可以使用Nullable<T>结构很容易解决这个问题。

    定义可空类型:

     Nullable<int> x;
     int? x2;
    

    可以检查Nullable<T>的HasValue和Value属性

                Nullable<int> x;
    
                x = 4;
                x += 3;
    
                if (x.HasValue)
                {
                    int y = x.Value;
                }
    
                x = null;
    

    可空数据类型还可以使用算数运算符。变量x3是变量x1和x2的和。如果这2个可空变量中有一个的值为null,他们的和就是null。

    int? x1 = GetNullableType(); 

    int? x2 = GetNullableType();

    int? x3 = x1 + x2;

    将可空数据类型转换为非可空数据类型:

    第一种,显示转换

    int? x1 = GetNullableType();

    int y1 = (int)x1

    第二种,使用接合运算符转换 这个更安全些

    int? x1 = GetNullableType();

    int y1 = x1 ?? 0;

    当使用GetNullableType()方法的时候,你会发现这样的错误信息

    The name 'GetNullableType' does not exist in the current context

    这个应该是GetNullableType方法的命名空间没有加入,但是这个方法具体在哪个命名空间还没有找到o(╯□╰)o

    伪python爱好者,正宗测试实践者。
  • 相关阅读:
    Android BitmapUtils工具类
    Android 获取网络类型
    Android 打开文件或文件夹777权限
    Android 获取颜色RGB值
    Android常用数据类型转换
    本周总结
    利用Volley框架实现简单的Android与servlet信息交互
    response.getWriter().write("")中文乱码问题
    软件工程开课博客
    java读取中文文本文件乱码问题
  • 原文地址:https://www.cnblogs.com/herbert/p/1745529.html
Copyright © 2020-2023  润新知