`
javatoyou
  • 浏览: 1072594 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

int,float等基础类型终于可以赋为null了

阅读更多

好象有面向对象编程语言以来,对于基础类型数据,如int、float等,不支持为其赋值为null,我们为了将其表示为null,通常是赋予一个特定的值,如int则赋值为-1。现在在c#2.0中有一个很好的解决方法:就是使用基础类型+?,比如int?,float?,

下面是msdn的相关文章:

ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/088b1f0d-c1af-4fe1-b4b8-196fd5ea9132.htm

如果 ?? 运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数。

Collapse 图像备注

可空类型可以包含值,或者可以是未定义的。?? 运算符定义当可空类型分配给非可空类型时返回的默认值。如果在将可空类型分配给非可空类型时不使用 ?? 运算符,将生成编译时错误。如果使用强制转换,并且当前未定义可空类型,将发生 InvalidOperationException 异常。

有关更多信息,请参见可为空的类型(C# 编程指南)

Collapse 图像示例

CopyCode image复制代码
// nullable_type_operator.cs
using System;
class MainClass
{
    static int? GetNullableInt()
    {
        return null;
    }

    static string GetStringValue()
    {
        return null;
    }

    static void Main()
    {
        // ?? operator example.
        int? x = null;

        // y = x, unless x is null, in which case y = -1.
        int y = x ?? -1;

        // Assign i to return value of method, unless
        // return value is null, in which case assign
        // default value of int to i.
        int i = GetNullableInt() ?? default(int);

        string s = GetStringValue();
        // ?? also works with reference types. 
        // Display contents of s, unless s is null, 
        // in which case display "Unspecified".
        Console.WriteLine(s ?? "Unspecified");
    }
}
分享到:
评论

相关推荐

    pandas object格式转float64格式的方法

    object类型通常表示数据为字符串形式,而float64类型则表示数据为浮点数类型,后者是进行数值计算的基础类型。 在数据处理过程中,确认数据类型是非常重要的一步。可以使用`***()`方法来查看DataFrame中各列的数据...

    long 和 int 的相互转换.docx

    对于整数类型,基础类型之间可以直接转换,但必须注意转换可能导致的数据溢出或精度损失。包装类型则提供了额外的方法来完成这些转换,同时提供了更多的功能,如null值支持和一些实用方法。了解并熟练掌握这些转换...

    C#基础知识 值类型装箱

    因为引用类型可以为null,装箱后的值类型可以赋值为null,这在处理可能不存在的值时非常有用。 然而,装箱并非没有代价。它涉及到额外的内存分配和复制操作,这在性能敏感的代码中可能成为瓶颈。此外,每次访问装箱...

    1-basic-types(基础类型1).zip

    在编程世界中,基础知识至关重要,尤其是一些基本的数据类型。"1-basic-types(基础类型1)"这个主题聚焦于编程中的核心元素,即基本...这份资料将帮助你巩固和扩展对基础类型的理解,为后续的编程学习打下坚实的基础。

    仓库管理系统数据库论文

    出库操作的基础,因此对物资的管理就显得尤为重要。物资的基本表要设计合理,能涵盖其他操作需要的各种信息,以及对各类信息的限制条件等。设计好的物资管理表如下表所示: 表1物资表 列名 数据类型 长度 是否允许空...

    珍藏资料Java面试题大全(Java基础).doc

    基本类型的变量只能当成简单的直接量、参与表达式运算,不具备面向对象的特征,基本类型的变量不能被赋为 null;但包装类的变量则完全可以当成对象使用,它具有面向对象的特征,包装类的变量可以被赋为 null。 六、...

    【IT十八掌徐培成】Java基础第03天-03.数组的定义-初始化-越界异常-Null异常.zip

    它们可以是整型(int)、字符型(char)、浮点型(float)等基本类型,也可以是引用类型,如自定义类的对象。数组的定义通常包含两部分:数据类型和数组名,例如: ```java int[] myArray; // 定义一个整型数组 ```...

    C++指针与动态分配 内存new关键字专题

    ”,例如,声明一个int型指针的方式为“int *x;”。指针运算符有'*'和'&'两种,'*'用于解引用指针,即访问指针指向地址中的值;'&'用于获取变量的地址。例如,假设有一个变量x,则“int y = &x;”会将x的地址赋给y。...

    C#基础知识数据类型等信息

    在C#编程语言中,数据类型是编程的基础,它们决定了变量和常量可以存储的数据种类。C#中的数据类型分为两大类:值类型和引用类型。 1. **值类型**: - 值类型包括基本数值类型,如`int`、`uint`、`short`、`ushort...

    Java中八种基本数据类型和八种封装数据类型[文].pdf

    Java 中的基本数据类型是 Java 语言的基础,共有八种基本数据类型,它们是 int、short、float、double、long、boolean、byte 和 char。这些基本数据类型是 Java 程序的基本组成部分,用于存储和操作数据。 1. int:...

    Java期末复习资料_第2章_基本数据类型与数组.pdf

    例如,声明一个int类型的数组时,可以写为int[] array = new int[10];。数组是一种非常重要的数据结构,广泛用于数据的组织、处理和访问。 在实际的Java编程中,基本数据类型和数组的使用是频繁的,理解它们的特性...

    JAVA程序员面试题-数据类型

    包装类还允许使用null值,这是基础类型无法做到的。 ### int的取值范围 int型数据长度为4个字节,即32位,其中第一位用于表示正负号,其余31位表示数值。在Java中,int的取值范围是-2^31到2^31-1,即-2,147,483,...

    Kotlin 基础数据类型

    当你需要将一个值从一种类型转换为另一种类型时,可以使用显式类型转换操作符 `as`。例如,`(myVar as Int)` 会尝试将 `myVar` 转换为 `Int` 类型。 8. **区间(Ranges)** 使用 `..` 运算符可以创建一个包含两个...

    C# 类型基础介绍html格式

    值类型包括基本数据类型(如int、float、bool等)和结构类型(如自定义的struct)。它们在内存中直接存储值,修改变量会直接影响存储的值。而引用类型则包含类、接口和数组,它们在内存中存储的是对象的引用,而非...

    C#数据类型.docC#数据类型.doc

    因此,当你尝试将一个`int`类型的值赋给`short`类型的变量时,就会出现类型不匹配的错误,因为`int`类型的范围比`short`类型大得多。解决这个问题的方法是在赋值之前进行显式的类型转换: ```csharp s = (short)(s ...

    学生管理系统(VB).pdf

    - `result`:成绩,类型为浮点型(float),可以为空(NULL)。 ### 数据库表关系 从上述表的字段中可以看出,学生信息、班级信息、课程信息以及成绩信息是相互关联的。例如,每个学生都属于一个班级,每个班级都...

    C#基础变量与数据类型的文档

    - 值类型:如整型(int、short、byte)、浮点型(float、double)、布尔型(bool)、字符型(char)、空类型(null)和枚举类型(enum)。值类型变量存储实际的数据,修改变量值不会影响其他变量。 - 引用类型:如...

    C#语言基础

    C#语言中有多种基本数据类型,如byte、short、int、long、float、double、decimal、char、bool等。每种类型都有其特定的范围和精度。 值类型结构图 引用类型:引用类型表示指向数据的指针或引用,可存储对...

Global site tag (gtag.js) - Google Analytics