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. 沈向洋:读论文的三个层次
  2. 使用IntelliJ IDEA 2016创建maven管理的Java Web项目
  3. 设计模式:备忘录模式(Memento)
  4. servlet中用out.print输出中文为“乱码”如何解决
  5. BugkuCTF-Crypto题easy_crypto
  6. JAR包、WAR包及EAR包的区别
  7. 并发并行,异步同步,阻塞非阻塞
  8. 马尔科夫随机场之图像去燥【Matlab实现,PRML例子】
  9. golang mysql 回调_Golang操作MySQL的正确姿势
  10. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下降3.29%
  11. tomcat集群共享session
  12. html 苹果微信录音js,基于JS开发微信网页录音功能的实例代码
  13. matlab 噪声协方差矩阵,已知各个通道的信号的协方差矩阵(covariance matrix), 模拟各个通道的噪声信号...
  14. 傻,是不值得同情和原谅的事情
  15. Ubuntu开启BBR加速
  16. hilbert曲线序编码matlab,[转载]希尔伯特曲线及其matlab画法
  17. Excel中文转拼音
  18. 关于深入理解Java线程
  19. 关于JavaScript的Object所有方法
  20. windows下制作macos安装u盘_制作MacOS系统启动盘教程以及安装教程

热门文章

  1. golang string 转换 uint64_Golang 的 #x27;print#x27; 源码解读
  2. 线下零售企业在数据驱动上的三个挑战和三条思路
  3. Memcached 1.5.13 发布,支持 TLS
  4. python爬虫入门(六) Scrapy框架之原理介绍
  5. 小白学习IOT之模拟设备RRPC命令下发
  6. #翻译# 关于 Java 性能方面的 9 个谬论
  7. 【分布式】Zookeeper请求处理
  8. CodeIgniter笔记4
  9. (转)互联网产品经理必备的工具(windows)
  10. 【20120516】【中午】