• 【读书笔记】 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爱好者,正宗测试实践者。
  • 相关阅读:
    HDU
    01字典树模板
    扩展欧几里得和乘法逆元
    HDOJ-1156 Brownie Points II 线段树/树状数组(模板)
    CF-825E Minimal Labels 反向拓扑排序
    CF-831D Office Keys 思维题
    RMQ 解决区间查询问题
    hdu 5073 有坑+方差贪心
    hdu 5074 相邻数和最大dp
    hdu 5078 水题
  • 原文地址:https://www.cnblogs.com/herbert/p/1745529.html
Copyright © 2020-2023  润新知