C#学习之旅(2)--变量与常量
来源:互联网 发布:成都淘宝运营招聘 编辑:程序博客网 时间:2024/05/18 17:59
基本上学习任何一门语言,都会简单学习一下变量和常量的概念。这个相当于要书写优美的诗句,必须先掌握基本字词一样。只有先积累一些最基本的单元的概率,才能组合出优秀的代码。这里在学习过程中,并不详细讲解每一个概率,只是想较为全局的熟悉变量和常量的概率,同时对比于c语言的主要差异,以达到对比学习,加深记忆的效果。
1、变量类型
C#中的变量类型根据定义可以分为两种:一种是值类型,另一种就是引用类型。这两种类型的差异在于数据的存储方式,值类型的变量本身直接存储数据,而引用类型则存储实现数据的引用,程序通过此引用找到真正的数据。这就好比于,C语句中的值数据与数据地址的差异。
(1)值类型
(1.1)整数类型
sbyte 8位有符号整数
short 16位有符号整数
int 32位有符号整数
long 64位有符号整数
byte 8位无符号整数
ushort 16位无符号整数
uint 32位无符号整数
ulong 64位无符号整数
在学习基本的整数类型时,发现有一个sbyte类型和byte类型,大小是8位数值,相当于char的大小,但是这个类型跟char类型有什么区别呢。
简单来说就是sbyte类型只是一个数值类型,则char除了是可以表示数值类型外,还可以表示字母。
例如: byte value1 = 97; char value2 = 'a'; //其对应的ASCII编码的数值大小是97 int transfer1 = (int)value1; int transfer2 = (int)value2; 则transfer1和transfer2是相等的。 但是下面的赋值,却是错误的。 byte wrong_value = 'a'; //这条编译就会出错。
(1.2)浮点类型
float 精确到7位数
double 精确到15~16位数
(1.3)布尔类型
一个布尔类型的变量,其值只能是true或者false,不能将其它任何值赋值给布尔类型的变量。
bool flag = 745; //wrong bool myflag = 1 > 0; //right
(2)引用类型
所有的引用类型都需要用new 来生成一个实例。所有被称为“类”的都是引用类型,主要包括类、接口、数组和委托。
2 枚举类型
枚举类型是一种独特的值类型,它用于声明一组具有相同性质的常量。
3 类型转换
C#支持显式转换和隐式转换,但是因为所有的隐式转换都可以显式表达,故而采用显式转换,可以确保转换语句的正确性,同时也能增加代码的可读性。也可以通过Convert关键字来显式转换。
double x = 1.12; int y = (int)x; int z = Convert.ToInt32(x);
4 装箱和拆箱
装箱:将值类型转换为引用类型的过程。
拆箱:将引用类型转换为值类型的过程。
int i = 123; object obj = i; //装箱操作 int j = (int)obj; //拆箱操作
对于装箱而言,只是将被装箱的值类型复制一个副本来转换;而对于拆箱而言,需要注意类型的兼容性,即不能将一个值为string的object类型转换成int类型。
5 常量
定义一个常量用const 关键字来说明,且常量一旦被定义后,就不能再改变。
const double PI = 3.14;
6 运算符
除了一些关系运算符,逻辑运算符等基本运算符外,C#中还有一些不能简单归类的运算符。
is 运算符
该运算符用于检查变量是否为指定的类型,如果是,返回真,否则,返回假。
int i = 0; bool result = i is int;
new 运算符
该运算符用于创建一个新的类型实例,它有以下3种形式。
(1)对象创建表达式,用于创建一个类类型或者值类型的实例。
(2)数组创建表达式,用于创建一个数组类型实例。
(3)代表创建表达式,用于创建一个新的代表类型实例。
string[] ls = new string[5];
typeof运算符
该运算符用于获得系统原型对象的类型,也就是Type对象。
Type mytype = typeof(int); //mytype的值是System.Int32
- C#学习之旅(2)--变量与常量
- C#之变量与常量
- C#之变量与常量
- C#变量与常量
- java学习之路(4)-常量 、变量与数据类型
- J2SE学习笔记之常量与变量
- C#学习日记20----static静态变量 与 常量
- Swift学习,常量与变量(二)
- 深入浅出java入门 之 变量与常量(2)
- C#学习笔记_5.C#变量&常量
- 黑马程序员-java学习之常量与变量
- 【黑马程序员】java学习笔记之常量与变量
- go基本语法学习笔记之变量与常量
- Swift学习笔记之变量与常量声明
- php 学习之变量 常量 与表单提交
- Go语言学习笔记之变量与常量
- JS之变量与常量
- JavaScript之变量与常量
- 包装类
- [HDU] 6015
- 理解hibernate hibernate工作原理
- 智能密码~~附上链接
- Javascript 模块化编程(对象写法)
- C#学习之旅(2)--变量与常量
- javaweb 一键封装(BeanUtils)
- 一张图掌握移动Web前端所有技术(大前端、工程化、预编译、自动化)
- destoon 调用汇总
- vue 使用全局变量
- 代码质量及其优化(学习笔记)
- vue父子组件&继承组件的生命周期以及应用
- 【软件工程导论】软件工程导论第二章小结。
- 三角形的四心