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. vmware联网解决方案:host-only共享上网

    一.需求说明 vmware通过桥接的方式可以上外网,但是虚拟机的IP地址必须和物理网卡在同一网段,上网环境不同虚拟机必须跟着换ip地址很麻烦,所以最好是采用host-only方式上网. 特别是做架构实 ...

  2. WebAssembly(wasm)是什么?——学习

    WebAssembly 是一种可以使用非 JavaScript 编程语言编写代码并且能在浏览器上运行的技术方案. 参考文章标题:几张图让你看懂WebAssembly 参考地址:https://www. ...

  3. 一个在开源中国博客上讲解的AC自动机

    原文出处:http://my.oschina.net/amince/blog/196426 原 荐 AC(Aho—Corasiek) 多模式匹配算法 摘要 如何在一篇文章中,搜索多个关键字,如何快速查 ...

  4. springboot学习笔记(二)—— springboot的启动模式设置

    把springboot的启动类图标(spring)去掉,在启动类中添加以下代码 package com.xdr.spring; import org.springframework.boot.Bann ...

  5. springboot学习笔记(一)

    springboot案例(一) Application.java package com.xdr.spring; import org.springframework.boot.SpringAppli ...

  6. vsCode与Hubilder中自定义代码块

    平常测试vue的一些属性时总要新增代码,引入文件,麻烦,顾自定义代码块来实现快速新增测试 一.打开设置 1.1 vsCode设置 点击后选择代码块所属的文件类型,比如在html中则选择html类型配置 ...

  7. LG2664 树上游戏

    树上游戏 题目描述 lrb有一棵树,树的每个节点有个颜色.给一个长度为n的颜色序列,定义s(i,j) 为i 到j 的颜色数量.以及 $$sum_i=\sum_{j=1}^ns(i,j)$$ 现在他想让 ...

  8. LG4723 【模板】常系数线性递推

    P4723 [模板]常系数齐次线性递推 题目描述 求一个满足$k$阶齐次线性递推数列${a_i}$的第$n$项. 即:$a_n=\sum\limits_{i=1}^{k}f_i \times a_{n ...

  9. ES的底层原理-倒排索引的概念

    Elasticsearch底层使用的使用的lucene lucene使用的是倒排索引的方式来进行加快检索速度 倒排索引的原理 doc_1      The quick brown fox jumped ...

  10. 拉格朗日插值matlab实现

    已给sin0.32=0.314567,sin0.34=0.333487,sin0.36=0.352274,用线性插值及抛物插值计算sin0.3367的值并估计截断误差. 1. 线性插值 clc;cle ...