ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:值类型的功能
1.返回顶部
1、

值类型(C# 参考)

  • 2018/11/26

有两种值类型:

值类型的主要功能

值类型的变量包含类型的值。 例如,int 类型的变量可以包含值 42。 它不同于引用类型的变量,后者(也称为对象)包含对类型实例的引用。 将新的值分配到值类型的变量时,会复制该值。 将新的值分配到引用类型的变量时,会复制引用,而不复制对象本身。

所有值类型都隐式派生自 System.ValueType。

与引用类型不同,不能从值类型派生新类型。 但是,与引用类型一样,结构可以实现接口。

值类型变量不能默认为 null。 但相应的可为空的值类型的变量可以为 null。

每个值类型都有一个隐式无参数构造函数,用于初始化该类型的默认值。 有关值类型的默认值的信息,请参阅默认值表。

简单类型

简单类型是 C# 提供的一组预定义的结构类型,其中包括以下类型:

简单类型通过关键字标识,但这些关键字只是 System 命名空间中的预定义结构类型的别名。 例如, int 是 System.Int32 的别名。 有关别名的完整列表,请参阅内置类型表。

简单类型不同于其他结构类型,简单类型允许某些附加操作:

  • 可以使用文本初始化简单类型。 例如,'A' 是类型 char 的文本,2001 是类型 int 的文本。

  • 可以使用 const 关键字声明简单类型的常数。 无法包含其他结构类型的常数。

  • 其操作数都是简单类型常数的常量表达式在编译时进行评估。

有关详细信息,请参阅 C# 语言规范中的简单类型部分。

初始化值类型

在使用 C# 中的本地变量之前,必须对其进行初始化。 例如,可以声明未初始化的本地变量,如以下示例所示:

C#复制
int myInt;

在未初始化之前,无法使用。 可以使用以下语句将其初始化:

C#复制
myInt = new int();  // Invoke parameterless constructor for int type.

此语句等效于以下语句:

C#复制
myInt = 0;         // Assign an initial value, 0 in this example.

当然,可以在同一语句中进行声明和初始化,如以下示例所示:

C#复制
int myInt = new int();

- 或 -

C#复制
int myInt = 0;

使用 new 运算符调用特定类型的无参数构造函数,并将默认值赋给变量。 在上述示例中,无参数构造函数将值 0 赋给 myInt。 有关通过调用无参数构造函数所赋予的值的详细信息,请参阅默认值表。

对于用户定义类型,使用 new 调用无参数构造函数。 例如,以下语句调用 Point 结构的无参数构造函数:

C#复制
var p = new Point(); // Invoke parameterless constructor for the struct.

进行此调用后,该结构被视为已明确赋值;即,它的所有成员都被初始化为其默认值。

有关 new 运算符的详细信息,请参阅 new。

有关设置数值类型的输出格式的信息,请参阅设置数值结果表的格式。

请参阅

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:值类型的功能的更多相关文章

  1. Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型 1.返回顶部 1. 整型数值类型(C# 参考) 2019/10/22 “整型数值类型”是“简单类型”的 ...

  2. Docs-.NET-C#-指南-语言参考-关键字-值类型:内置数值转换

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:内置数值转换 1.返回顶部 1. 内置数值转换(C# 参考) 2019/10/22 C# 提供了一组整型和浮点数值类型. 任何 ...

  3. Docs-.NET-C#-指南-语言参考-关键字-值类型:struct

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:struct 1.返回顶部 1. struct(C# 参考) 2015/07/20 struct 类型是一种值类型,通常用来封 ...

  4. Docs-.NET-C#-指南-语言参考-关键字-值类型:enum

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:enum 1.返回顶部 1. enum(C# 参考) 2015/07/20 enum 关键字用于声明枚举,一种包含一组被称为枚 ...

  5. Docs-.NET-C#-指南-语言参考-关键字-值类型:char

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:char 1.返回顶部 1. char(C# 参考) 2019/10/22 char 类型关键字是 .NET System.C ...

  6. Docs-.NET-C#-指南-语言参考-关键字-值类型:bool

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:bool 1.返回顶部 1. bool(C# 参考) 2015/07/20 bool 关键字是 System.Boolean  ...

  7. Docs-.NET-C#-指南-语言参考-关键字-值类型-:浮点数值类型

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型-:浮点数值类型 1.返回顶部 1. 浮点数值类型(C# 引用) 2019/10/22 “浮点类型”是“简单类型”的子集,可以使 ...

  8. Docs-.NET-C#-指南-语言参考-关键字-值类型:可以 null 的值类型

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:可以 null 的值类型 1.返回顶部 1. Nullable value types (C# reference) 2019 ...

  9. Docs-.NET-C#-指南-语言参考-关键字:C# 关键字

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字:C# 关键字 1.返回顶部 1. C# 关键字 2017/03/07 关键字是预定义的保留标识符,对编译器有特殊意义. 除非前面有 @ ...

随机推荐

  1. MySQL事件自动kill运行时间超时的SQL

    delimiter $create event my_long_running_trx_monitoron schedule every 1 minutestarts '2015-09-15 11:0 ...

  2. P2756 飞行员配对方案问题[二分图最大匹配]

    题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外籍飞行员.在众多的飞行员中,每一名 ...

  3. 「NOI2012」迷失游乐园

    「NOI2012」迷失游乐园 题目描述 放假了,小Z觉得呆在家里特别无聊,于是决定一个人去游乐园玩. 进入游乐园后,小Z看了看游乐园的地图,发现可以将游乐园抽象成有n个景点.m条道路的无向连通图,且该 ...

  4. Flume拦截器、监控器

    一.拦截器 1.拦截器:拦截器主要作用在source和channel之间,用于给event设置header消息头,如果没有设置拦截器,则event中只有message. 常见的拦截器有: Timest ...

  5. Hive ACID和事务表支持详解

    一.ACID介绍 ACID就是常见数据库事务的四大特性:Atomicity(原子性).Consistency(一致性).Isolation(隔离性).Durability(持久性). 在Hive 0. ...

  6. WinDbg常用命令系列---查看线程调用栈命令K*简介

    Windbg里的K*命令显示给定线程的堆栈帧以及相关信息,对于我们调试时,进行调用栈回溯有很大的帮助. 一.K*命令使用方式 在不同平台上,K*命令的使用组合如下 User-Mode, x86 Pro ...

  7. unison 双向镜像同步

    unison 双向镜像同步   需要 ocaml 依赖工具(3.0.7) 而且需要机器ssh双向互信 ssh 开启互信 # vi in.sh  直接执行 in.sh 就可以了 mkdir ~/.ssh ...

  8. shell脚本之 operater.sh 算术运算符;比较运算符;布尔运算符;逻辑与或非运算符;字符串运算符的使用

    1.注意 格式不能变 尤其是变量和变量表达式之间的空格:[ 空格] .[ $a == $b ] 中间的空格严格不能变:否则报错 关系运算符 关系运算符只支持数字,不支持字符串,除非字符串的值是数字. ...

  9. C语言指针的使用例子(1)指针地址的输出

    #include <stdio.h> int main(void) { int a=10; int *p = &a; *p = 89; printf("变量值a=%d a ...

  10. Luogu3774 [CTSC2017]最长上升子序列 【Young表,根号分治】

    题目链接:洛谷 推荐阅读:2019年集训队论文<浅谈杨氏矩阵在信息学竞赛中的应用> 首先我们来看一个东西,叫做Young表. 它是长一个阶梯状的东西(行长和列长都是递减的),并且每一行和每 ...