zoukankan      html  css  js  c++  java
  • 【读书笔记】 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爱好者,正宗测试实践者。
  • 相关阅读:
    Java面向对象XMind
    使用idea插件JRebel热部署的坑
    Mysql小技巧(多行数据合并+模糊查询
    JRebel安装使用
    Shiro(三) 权限管理 假数据
    Shiro(二)通过shiro实现登录 连接数据库+集成Springboot
    Shiro(一)通过shiro实现登录
    poi实现Excel输出
    日志,注解切入点
    获取用户信息
  • 原文地址:https://www.cnblogs.com/herbert/p/1745529.html
Copyright © 2011-2022 走看看