广告
返回顶部
首页 > 资讯 > 精选 >C#类型和C#变量的示例分析
  • 258
分享到

C#类型和C#变量的示例分析

2023-06-17 23:06:44 258人浏览 薄情痞子
摘要

这篇文章主要介绍C#类型和C#变量的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!C#类型有两种:值类型(value type)和引用类型(reference type)。值类型变量直接包括它们的数据,而引用

这篇文章主要介绍C#类型和C#变量的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

C#类型有两种:值类型(value type)和引用类型(reference type)。值类型变量直接包括它们的数据,而引用类型变量存储的是它们的数据引用,后者被认为是对象。对于引用类型,有可能两个变量引用相同的对象,因此对其中一个变量的操作可能影响另一个对象引用的对象。对于值类型,每个变量都有自己的数据拷贝,因此对一个变量的操作不可能影响其他变量(ref和out参数变量例外)。

C#的值类型进一步划分为简单类型(simple type)、枚举类型(enum type)和结构类型(struct type);C#的引用类型进一步划分为类类型(class type)、接口类型(interface type)、数组类型(array type)和委托类型(delegate type)。

表1.1为整个C#类型系统的概述。

表1.1  C#类型系统的概述

C#类型和C#变量的示例分析

8个整型类型分别支持8位、16位、32位和64位整数的有符号或者无符号格式。

两个浮点类型,float和double,分别用32位单精度和64位双精度的IEEE754格式表示。

decimal是128位的数据类型,适合财金和货币方面的计算。

C#的bool类型用于表示布尔值——true或者false。

在C#中,字符和字符串的处理使用Unicode编码。char类型表示16位的Unicode编码单元,string类型表示16位的Unicode编码单元的序列。

表1.2总结了C#的数值类型。

表1.2  C#的数值类型

C#类型和C#变量的示例分析

C#程序使用类型声明创建新类型。类型声明指定新类型的名字和成员。有5种C#类型可由用户自定义:类类型、结构类型、接口类型、枚举类型和委托类型。

类类型定义了一个数据结构,它包括数据成员(字段)和函数成员(方法、属性及其他)。类类型支持继承和多态,即派生类能够扩展和特殊化基类的机制。

结构类型与类类型相似,表示带有数据成员和函数成员的结构。然而,与类类型不同的是,结构是值类型,不需要堆分配。结构不支持用户指定的继承,所有的结构类型隐式地继承类型object。

接口类型定义了一个约定,作为一组函数成员命名的集合。实现接口的类或结构必须提供接口函数成员的实现。接口可能从多个基接口继承而来,类或结构也可能实现多个接口。

枚举类型是带有命名常量的独特类型。每个枚举类型有一个底层的类型,它必须是8个整型类型之一。枚举类型的值集与底层类型的值集相同。

委托类型通过特定的参数列表和返回类型表示对方法的引用。委托将方法处理为实体,实体能够赋值给变量,并且当做参数传递。委托类似于某些程序语言中的方法指针,不同之处在于,委托是面向对象的,并且是类型安全的。

C#支持任何类型的一维和多维数组。不同于其他类型,数组类型在它们被使用前不必声明。事实上,数组类型的构造是由某个类型名加上方括号。例如,int[]是int的一维数组,int[,]是int的二维数组,而int[][]是int的一维数组的一维数组。

C#类型系统是统一的,这样任何类型的值都能够被处理成对象。C#中每一个类型直接或者间接从object类继承而来,并且object是所有类型最终的基类。值类型的值可以通过执行装箱(boxing)和取消装箱(unboxing)的操作处理为对象。在下面的示例中,int被转换为object,然后又转回到int。

using System;   class Test  {      static void Main(){       int i=123;       object o=i;     //装箱       int j=(int)o;    //取消装箱      }  }

当值类型的值被强制类型转换为object时,就会分配持有该值的对象实例(也称为“箱子”),并且值也被拷贝到那个箱子里。相反地,当object引用被强制类型转换为值类型时,要检查这个引用类型是否是当前值类型的箱子,如果是的话,箱子中的值就会被拷贝出来。

C#统一的类型系统意味着值类型能够“按需”转换为对象。由于这种统一性,使用object类型的通用类库,例如.net框架中的集合类,能够通过引用类型和值类型使用。

存在几种C#变量,包括字段、数组元素、局部变量和参数。变量表示了存储的位置,并且每一个变量都有一个类型,以决定什么样的值能够存入变量中,如表1.3所示。

表1.3  C#变量

C#类型和C#变量的示例分析

以上是“C#类型和C#变量的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: C#类型和C#变量的示例分析

本文链接: https://www.lsjlt.com/news/294232.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#类型和C#变量的示例分析
    这篇文章主要介绍C#类型和C#变量的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!C#类型有两种:值类型(value type)和引用类型(reference type)。值类型变量直接包括它们的数据,而引用...
    99+
    2023-06-17
  • C语言中各类变量和零值比较的示例分析
    这篇文章给大家分享的是有关C语言中各类变量和零值比较的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.波尔变量和零值比较在C语言中本来是不存在bool类型的,但在C99标准中加入了bool类型。在C99...
    99+
    2023-06-21
  • C++类的静态成员变量实例分析
    本文小编为大家详细介绍“C++类的静态成员变量实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++类的静态成员变量实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、成员变量的回顾通过对象名能够访...
    99+
    2023-06-30
  • JavaScript中变量、数据类型的示例分析
    小编给大家分享一下JavaScript中变量、数据类型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 如何声明变量变...
    99+
    2022-10-19
  • JavaScript变量类型以及变量作用域的示例分析
    这篇文章主要介绍JavaScript变量类型以及变量作用域的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!变量类型ECMAScript变量可能包含两种不同类型的数据值:基本类...
    99+
    2022-10-19
  • C++11中线程锁和条件变量的示例分析
    这篇文章主要介绍了C++11中线程锁和条件变量的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。线程std::thread类, 位于<thread>头文件,...
    99+
    2023-06-15
  • C语言中数据类型的示例分析
    这篇文章将为大家详细讲解有关C语言中数据类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(壹) 数据类型介绍前面我们已经学习了基本的内置类型,以及他们所占存储空间的大小。:类型的意义...
    99+
    2023-06-29
  • C语言中全局变量与局部变量的示例分析
    小编给大家分享一下C语言中全局变量与局部变量的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:局部变量与全局变量1.1:局部变量局部变量:在函数内部定义...
    99+
    2023-06-25
  • C#中协变与逆变的示例分析
    这篇文章主要介绍了C#中协变与逆变的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:什么是协变与逆变协变指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类...
    99+
    2023-06-25
  • Linux C中多线程与volatile变量的示例分析
    这篇文章主要介绍Linux C中多线程与volatile变量的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux C中多线程与volatile变量volatile 修饰的变量表示改变量的值是易变的,编译...
    99+
    2023-06-09
  • C#枚举类型的实例分析
    本篇内容主要讲解“C#枚举类型的实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型的实例分析”吧!C#枚举类型实例是你学习C#枚举类型的捷径,那让我们开始吧:public&nbs...
    99+
    2023-06-17
  • C#枚举类型举例分析
    本篇内容主要讲解“C#枚举类型举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型举例分析”吧!C#枚举类型实例演示  using System&nb...
    99+
    2023-06-17
  • C#类型转换实例分析
    这篇“C#类型转换实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#类型转换实例分析”文章吧。C# 类型转...
    99+
    2023-06-17
  • PHP5.4中语法、常量、变量、数据类型的示例分析
    这篇文章主要介绍了PHP5.4中语法、常量、变量、数据类型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、php5.4的基本语法...
    99+
    2022-10-19
  • C++类与对象的示例分析
    这篇文章主要介绍了C++类与对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。类的引入在引入类之前,先来回忆一下C语言中的结构体。结构体是一种自定义类型,可以在其中...
    99+
    2023-06-29
  • C++变量和基本类型详解
    目录基本内置类型1. 不同平台下基本类型的字节数2. 算数类型的最小尺寸3. 数据类型选择的经验准则4. 有符号类型和无符号类型5.初始化与赋值6. 声明与定义7. C++关键字8....
    99+
    2022-11-12
  • C#调用Windows API之参数类型的示例分析
    小编给大家分享一下C#调用Windows API之参数类型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#调用Windows API之参数类型1、数值...
    99+
    2023-06-18
  • 将C++ 类型属性暴露给QML的示例分析
    这期内容当中小编将会给大家带来有关将C++ 类型属性暴露给QML的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、数据类型处理和所有权任何从 C++ 传输到 QML 的数据,无论是作为...
    99+
    2023-06-22
  • Python中的变量和数据类型实例分析
    本篇内容介绍了“Python中的变量和数据类型实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python是一门弱数据类型的语言,变量...
    99+
    2023-06-29
  • Java变量类型和修饰符实例分析
    本文小编为大家详细介绍“Java变量类型和修饰符实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java变量类型和修饰符实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作