【C#学习之旅】一、数据类型
C#有两种类型:值类型和引用类型。值类型的变量直接包含数据,引用类型的变量则包含对变量(对象)的引用。对于引用类型,两个变量可以引用同一个对象,所以,对一个变量的操作可能会影响另一个变量引用的对象。而对于值类型,每个变量都有自己的数据副本,因此,对一个变量的操作不会影响到另一个变量(ref和out参数变量除外)。
一、值类型
C#中值类型分为简单类型、枚举类型、结构类型和可以为null的值类型。
- 简单类型
- 有符号的整形:sbyte,short,int,long.
- 无符号的整形:byte,ushort,uint,ulong
- Unicode字符:char,表示一个UTF-16字符
- IEEE二进制浮点数:float,double
- 高精度十进制浮点数:decimal
- 布尔类型:bool,用于表示布尔值(true和false)
- 枚举类型
- 格式为
enum E {...}
的用户定义类型
- 格式为
- 结构类型
- 格式为
struct S {...}
的用户定义类型,struct类型定义了包含数据成员和函数成员的数据结构,与类类型相似,但结构类型是值类型,存储在栈上,无法被继承,并且所有结构类型均隐式继承自 object 类型
- 格式为
- 可以为null的值类型
- 值为
null
的其他所有值类型的扩展
- 值为
- 元组值类型
- 格式为
(T1,T2, ...)
的用户定义类型
- 格式为
二、引用类型
C#中引用类型分为类类型、接口类型、数组类型和委托类型
- 类类型
- 其他所有类型的最终基类:object
- Unicode字符串:string,表示一个UTF-16字符串
- 格式为
class TestClass {//方法、属性、字段、事件、委托//和嵌套类 }
的用户定义类型,class 类型定义了包含数据成员(字段)和函数成员(方法、属性等)的数据结构,一个类类型只能继承一个基类,但一个类能实现多个接口。
- 接口类型
- 格式为
interface I {...}
的用户定义类型,定义了所有类继承接口时应遵循的语法协议。包含了属性、方法和事件的声明,这些接口成员的定义(代码实现)必须由实现接口的类或结构完成。接口可以继承自多个基接口,类和结构可以实现多个接口。
- 格式为
- 数组类型
- 一维和多维数组,例如int[] 和 int[,]
- 委托类型
- 格式为
delegate int D(...)
的用户定义类型,表示对具有特定参数列表和返回类型的方法的引用。
- 格式为
【C#学习之旅】一、数据类型相关推荐
- 基于 Android NDK 的学习之旅-----JNI 数据类型
经典老套流程,学编程语言东西,先学它最基础的数据类型,JNI也是如此.JNI 定义了一系列基本数据类型和引用数据类型与java想对应. 1.基本数据类型 下面一张表是描述了 Java 基本数据类型和J ...
- 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码)
基于 Android NDK 的学习之旅-----数据传输(引用数据类型) 接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1. String ...
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据 ...
- Redis学习之旅--Redis的数据类型你都知道吗?
Redis学习之旅--数据类型 Redis-Key String(字符串) list(列表) Set(集合) Hash(哈希) Zset(有序集合) geospatial hyperloglog bi ...
- 《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型
第3章 Python的基本数据类型 1. 数值数据类型 1.1 整数与浮点数的运算 1.2 强制数据类型的转换 1.3 数值运算常用的函数 2. 布尔值数据类型 3. 字符串数据类型 3.1 字符串的 ...
- 基于 Android NDK 的学习之旅-----资源释放
基于 Android NDK 的学习之旅-----资源释放 做上一个项目的时候因为与C引擎交互频繁,有时候会突然莫名其妙的的整个应用程序直接挂掉.因为我是学Java 开始的,所以对主动释放内存没多大概 ...
- 大数据技术 学习之旅_数据-数据科学之旅的起点
大数据技术 学习之旅 什么是数据科学? (What is Data Science?) The interesting thing about Data Science is that it is a ...
- SSE指令集学习之旅(一)
SSE指令集学习之旅(一) 文章目录 SSE指令集学习之旅(一) 1.SSE介绍 2.如何使用SSE指令 3.SSE相关数据类型 4. Intrinsic 函数的命名 5.常用的SSE指令 6.SSE ...
- HALCON学习之旅(五)
HALCON学习之旅(五) 文章目录 HALCON学习之旅(五) 1.如何获取程序运行时间 2.如何将Bayer图像转换为彩色图像 3.如何将图像转化为矩阵形式 4.如何让图像自适应窗口(补充) 5. ...
- 单周期CPU实验之学习之旅
初接触到CPU(处理器)的实现,有很多东西需要先学习一下,才能了解其中的原理,更好地实现它.首先,你需要深入了解MIPS指令集,理解其各个指令的执行过程:其次,你需要掌握Verilog语言的使用,理解 ...
最新文章
- 【秋招必备】LeetCode神器,算法刷题宝典.pdf
- linux编程基础_第1篇 Linux系统编程 -多线程基础
- Linux采用存储管理方式,19.Linux采用( A )存储管理方式。
- 如何让Spring MVC显示自定义的404 Not Found页面
- Docker上部署FTP服务器(基于stilliard/pure-ftpd)
- 基础知识(四)Dijkstra算法
- UVA 10624 Super Number
- 压力测试 Monkey 应用程序无响应ANR Application No Response(转)
- python解析json文件三种_Python解析json文件相关知识学习
- java获取pcm格式音频
- 企业网络安全最常遇到的安全问题是什么,主要面临哪些威胁?
- shopex PHP Notice,shopex官网用PHP为SHOPEX增加日志功能代码
- Android 字符串求值工具(科学计算)
- 二叉树基础题(六):树的子结构二叉搜索树的判断镜像二叉树
- 如何去高效的学习?怎样克服?
- 王慧文清华产品课(一)
- Android动画制作
- 天润融通亮相中国服务外包领军者年会
- 什么是垃圾回收机制(GC)
- 硬件设计:电路防护--陶瓷气体放电管(GDT)
热门文章
- linux 机器之间 zssh, rz, sz互相传输 ( How to install zssh in Ubuntu 13.10 (Saucy))
- 全面了解 Nginx 到底能做什么
- python将txt文件转为excel格式以及写入excel超过65536行报错问题解决方法
- Ethercat解析(二)之获取、编译、安装(debian7)
- Shell——基本运算符
- 【Pandas】dataframe 设置完全显示所有列
- HTML5中id、name、class 区别
- 0407 背景相关的作业
- 草稿 图片盒子定时器模式窗口
- 演练 影视演员简介 0929