1.变量:变量是指在程序的运行过程中随时可以发生变化的量。
语法:数据类型 变量名;
例如:

string stra="这是一个字符串";

2.常量:也称常数,是一种恒定的或不可变的数值或数据项。
语法: const 数据类型 常量名 = 常量值;
例如:

const string strconst="我是常量喔";

3.数据类型:
在C#当中,分为两种数据类型,值类型与引用类型.
值类型,表示实际数据,只是将值存放在内存中,值类型都存储在堆栈中,包括:
简单类型:int,char,float,double,bool等,还有结构及枚举.
引用类型,表示指向数据的指针或引用,包含内存堆中对象的地址,为 null时则表示未引用任何对象,包括:
类,接口,数组,字符串,委托,Object.

有两种引用类型在C#中受到了特别的重视,它们的C#别名和预定义值类型的C#别名很相像。第一种是Object类(C#别名是object, o小写)。这是所有值类型和引用类型的最终基类。因为所有的类型派生自Object,所以可以把任何类型转换为Object类型,甚至值类型也可以转换。所有的值类型都派生自引用类型。第二种是String类。字符串代表一个固定不变的Unicode字符序列。字符串在很多方面都像值类型,而不像引用类型。

4.类型转换:
字符串与值类型之间的转换:
类型.Parse(字符串),返回值为相应的类型.
Convert.To类型(参数),参数为多种,返回值为类型.
例:

static void Main()
{
     int inti = int.Parse("1");//类型.Parse(字符串)
     int intj = Convert.ToInt32("1");//Convert.To类型(参数)
}

强制类型转换:
在同为值类型或同为引用类时,从较小数据类型到较大数据类型的转换称为扩展转换,否则称为收缩转换。编译器能进行隐式的扩展转换,对于收缩转换必须进行显式的强制性转换。因为收缩转换会导致丢失数据,在转换前我们要检查实际值是否超出目标类型的范围。另一个办法是使用checked运算符,如果转换时丢失数据将抛出一个错误。
如:

static void Main()
{
     int inti = 7;//32位的整数
      long intl = 8;//64位的整数
      intl = inti;//从小类型int转向大类型long时,为隐式转换
      inti = (int)intl;//把大类型logn转为小类型int时,就必须得加强制转换符(int)
}

装箱与拆箱
定义:把值类型转换为Object的过程称为装箱。
由于值类型与引用类型在内存中的存储方式不同,所以我们在转换的过程的理解上有些复杂,实际的语法跟强制类型转换无区别,我们形象的称之为装箱,与拆箱.对于拆箱的限制其实很好理解,因为谁也不能从装的是苹果的箱子里拆出葡萄来.

static void Main()
{
     int j = 4;  //可以以下面正常的转换语法显式地将一个值装箱:
      object ojb = (object)j;
     int k = (int)obj;  //使用相同的类型转换语法可以把装箱的变量拆箱回值类型:
            
      //对拆箱操作有一些限制。只能将显式装箱的变量进行拆箱。正常的强制转换中的限制在这里也适用。例如,如果把一个long型值装箱为一个对象,我们不能把对象拆箱为一个int型值,虽然在拆箱后可以显式地把long转换为int:
      long x = 1000;
     object obj = (object)x;
     int i = (int)((long)obj);
}

关于这部分我们就先说到这里,如果有朋友想更详细的了解,请点击下例网址: [url]http://www.cnblogs.com/xy8.cn/articles/1227228.html[/url]

转载于:https://blog.51cto.com/jianle/88978

快速撑握C#知识点之变量,类型及类型转换相关推荐

  1. 快速撑握C#知识点系列文章

    首先,我写这个系例只是为了那些想快速学习C# 相关知识的朋友提供,可能有些知识点写不到.请原谅! 1.快速撑握C#知识点之什么是C#及.NET FrameWork 2.快速撑握C#知识点之编写一个C# ...

  2. 快速撑握C#知识点系列之(struct)结构

    1.引言: 在我们之前的文章中,介绍了类及面象对象的基本概念,那我们也知道了类是引用类型,是保存在托管堆中的.通过一定义类,我们可以在数据的生存期上得到很高的灵活性,但是也会让程序的性能有一定的损失. ...

  3. 快速撑握C#知识点之类的数据成员

    在看过类与对象之后,来了解一下类的成员. 类的成员共分为两个大类,一是数据成员,另一类是函数成员: 数据成员:字段.常量.事件. 函数成员:方法.属性.索引器.构造函数.析构函数.操作符. 字段:字段 ...

  4. long类型怎么转换成string_Python知识点-Python变量类型有哪些?

    Python的内置变量类型是非常基础的知识点,善用变量类型转换在日常的工作学习中会给我们带来非常大的帮助. 相对于其他语言,Python的变量类型既有自己的特色方法,也有借鉴前辈的优秀之处.今天酷仔整 ...

  5. 快速撑握五笔输入法的末笔识别

    最近一些朋友在留言中提到学习五笔时遇到的一些困难,特别是末笔识别方面比较困惑.在这里向大家介绍一下末笔识的方法.其实规则很简单,只要大家用心体会一下,很容易撑握. 我们知道五笔输入法是跟据汉字的五种基 ...

  6. C语言学习笔记01:C语言基础语法_变量类型_类型转换

    文章目录 C语言第一天课程笔记 1. 内容安排 2. 课堂笔记 2.1 计算机硬件 2.2 计算机软件 2.3 编程语言和编译器 2.4 编程语言发展 2.5 C语言标准 2.6 C语言学习理由 2. ...

  7. Go 知识点(13) — 如何判断变量类型

    在 Go 语言中可以使用类型断言来判断变量的类型,类型断言的使用有两种方式: 返回两个值,分别是断言为设置类型后的值和断言成功的标志符: 返回一个值,表示断言为设置类型的值: 1. 返回单个值的使用 ...

  8. Python 高级变量类型 —— 列表、元组、字典、字符串、公共方法

    文章目录 写在开头的话 高级变量类型 00. 目标 知识点 01. 列表 1.1 列表的定义 1.2 列表常用操作 关于del关键字 02. 元组 2.1 元组的定义 创建含有多种数据类型的元组 创建 ...

  9. 初级黑客必需撑握的8个DOS命令

    初级黑客必需撑握的8个DOS命令  一,ping  它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是 ...

最新文章

  1. JingRiverOS的自由软件之路
  2. [vue] 说说你对v-clock和v-pre指令的理解
  3. 信息学奥赛一本通 1040:输出绝对值 | OpenJudge NOI 1.4 02
  4. Java编写程序将数据存入Kafka中
  5. python中for循环流程图_Javascript for循环_郭隆邦技术博客
  6. codeforces 906C
  7. matlab2c使用c++实现matlab函数系列教程-cumsum函数
  8. sublime text增加插入当前时间快捷键
  9. linux下修改mysql数据存储_Linux下修改MySQL数据存放目录方法及可能遇到的问题--转...
  10. 预处理命令(宏定义,条件编译,头文件)
  11. pandas读取数据库,将结果使用matplotlib绘制成二维表格图片
  12. 《AutoCAD 2013中文版从入门到精通》—— 导读
  13. 记录deecamp2018之旅
  14. 软件测试中的版本控制
  15. PLC控制系统检查与维护方法
  16. excel表格内文字怎么换行_Excel单元格内如何换行,这几招快拿小本本记下来
  17. MATLAB无线计算器
  18. 小程序电商系统后台功能详解
  19. 神州战神笔记本清灰+换硅脂-记录
  20. OS发展史中各操作系统的形成、发展和特点

热门文章

  1. gsea富集分析结果怎么看_怎么看肝功能检验结果?
  2. 64位java_99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?
  3. 我在神策做研发 | 码农变身“建筑师”:安逸中离走,责任中成长
  4. 大咖聊数据,视频抢先看
  5. 金山云最新财报:Q4营收7.27亿,同比增长81%
  6. 怎么把视频里的音乐提取出来
  7. 关于理解Perl的fork函数的一个范例
  8. C语言数据结构学习用单元测试
  9. 怎样用ABBYY FineReader中的电子邮件发送OCR结果
  10. java使用JDBC连接数据库的几种方式