- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习 HYPERLINK /kf/ware/cs/ \t _blank c#视频有几天了,看完其语言基础之后,我对c#语言基础做了一个总结,来巩固所记的知识,同时希望能给你帮助。
? ? 最近一直在看c#视频,开始时看不懂,后来找师傅讨论了一下,自己重新看是有感觉,所以又重新开始。针对这两天的学习对c#语言基础做一下总结。
? ? ? ? 数据类型 ??
? ? 构成:数据类型,常量和变量,运算符和表达式,数组、结构和枚举?
? ? 数据类型包括值类型、引用类型和装箱以及拆箱。
值类型数据存储在栈中。栈:它是用于存储固定长度的数据,例如int(每个int占用四个字节),每个程序在执行时都有自己的堆栈,其他程序不能访问该堆栈。
? ? 引用类型数据存储在堆中。堆:是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便。(虽然对于堆得解释字数也不多,但是始终感觉堆理解其堆来有点儿抽象,不怎么明白。)
? ? ? ? 值类型
? ? 值类型就是一个包含实际数据的量。当我们定义一个值类型的变量时,c#会根据它声明的类型,以堆栈方式分配一块儿相应的存储区域给这个变量。(这里对于堆栈的理解只能是有一点,但是还表达不出来,希望高手指点。)
? ? ? ? 值类型包括:简单类型、枚举类型和结构类型。
? ? ? ? 简单类型
? ? ? ? 在C#中出现的简单类型共享一些特性。第一,它们都是.NET HYPERLINK /os/ \t _blank 系统类型的别名。第二,由简单类型组成的常量表达式仅在编译时而不是运行时受检测。最后,简单类型可以按字面被初始化。以下为C#简单类型归类:
? ? ? ? 简单类型是系统预置的,分为整数类型、浮点类型、小数类型(decimal类型)、字符类型和布尔类型。提高班第一年有一些VB的基础,这里我感觉可以和VB比较记忆。
? ? ? ? 通过比较我们可以发现。
1. ? ? ?VB中整型、长整型、字节型和C#整型所表示的意思(范围)是一致。
2. ? ? ?VB中单精度和双精度和C#浮点型所表示的意思(范围)是一致的。
3. ? ? ?VB的货币型和C#小数型也是相似的。(不过,很明显C#所表示的货币范围远远超过了VB货币型所???示的范围)
4. ? ? ?VB和C#同样都具有字符串类型和布尔型
5. ? ? ?明显不同的是vb特有日期型。
有了VB的基础理解C#没有什么困难。欠缺的只是对于它们的熟练程度。
?
? ? ? ? ?结构类型
? ? ? ? ?把一系列相关的信息组织成为一个单一实体的过程,这就是创建一个结构的过程。
[csharp]?
span style=font-size:18px; ? ?struct person ?
? ? { ?
? ? string m_name; //姓名 ?
? ? int m_age; ? ? //年龄 ?
? ? string m_sex; ?//性别 ?
? ? } ??
/span ?
?
?
? ? ? ?枚举类型
? ? ? ? ?主要用于表示一个逻辑相关联的项和组合。使用关键字enum来定义。
[csharp] ?
span style=font-size:18px; ? ?enum Weekday ?
? ? { ?
? ? ? Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday ?
? ? } ?
/span ?
?
? ? ? 引用类型
? ? ? ? 引用类型的变量不存储他们所代表的实际数据,而是存储实际数据的引用。引用类型分两步创建:首先在堆栈上创建一个引用变量,然后再堆上创建对象本身,在把这个内存的句柄(内存的首地址)赋给引用变量。
? ? ? ? 例子:
[csharp] ?
span style=font-size:18px; ? ? String S1,S2; ?
??
? ? ?S1=”ABCD”; ?
??
? ? ?S2=S1; ?
/span ?
?
?
?
? ? ? ? 解释:s1和s2都是指向字符串的引用变量,s1的值是字符串“ABCD”存放在内存地址中,这个就是对字符串的引用,两个引用型变量之间的赋值,使得s1和s2都是对“ABCD”的引用。
? ? ? ? 引用类型包括:class(类)、interface(接口)、数组、delegate(委托)、object和string。
? ? ? ? 拆箱和装箱
? ? ? ? 值类型与引用类型之间的转换被称为装箱与拆箱。装箱和拆箱是c#类型系统的核心。我们通过装箱和拆箱操作可以轻松的实现值类型和引用类型的相互转换。
?
? ? ? ? 例如:
[csharp] ?
spa
文档评论(0)