学习c#视频有几天了,看完其语言基础之后,我对c#语言基础做了一个总结,来巩固所记的知识,同时希望能给你帮助。
最近一直在看c#视频,开始时看不懂,后来找师傅讨论了一下,自己重新看是有感觉,所以又重新开始。针对这两天的学习对c#语言基础做一下总结。
数据类型
构成:数据类型,常量和变量,运算符和表达式,数组、结构和枚举
数据类型包括值类型、引用类型和装箱以及拆箱。
值类型数据存储在栈中。栈:它是用于存储固定长度的数据,例如int(每个int占用四个字节),每个程序在执行时都有自己的堆栈,其他程序不能访问该堆栈。
引用类型数据存储在堆中。堆:是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便。(虽然对于堆得解释字数也不多,但是始终感觉堆理解其堆来有点儿抽象,不怎么明白。)
值类型
值类型就是一个包含实际数据的量。当我们定义一个值类型的变量时,c#会根据它声明的类型,以堆栈方式分配一块儿相应的存储区域给这个变量。(这里对于堆栈的理解只能是有一点,但是还表达不出来,希望高手指点。)
值类型包括:简单类型、枚举类型和结构类型。
简单类型
在C#中出现的简单类型共享一些特性。第一,它们都是.NET系统类型的别名。第二,由简单类型组成的常量表达式仅在编译时而不是运行时受检测。最后,简单类型可以按字面被初始化。以下为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]
<span style="font-size:18px;"> Int Num=123; //将123值赋给int型变量Num
Object p=Num; //装箱动作
Int q=int(p) //拆箱动作
</span>
常量和变量
常量就是程序运行期间其值不会改变的量。
变量是在程序运行过程中其值可以改变的量。
运算符和表达式
算数运算符:
关系运算符:
逻辑运算符(与(&&) 或(||)非(!)):
赋值运算符:
条件运算符:
条件运算符是一个三元运算符,可以看成一个if……else的简化形式。
格式为:条件?真:假
举例:
在控制台中输入以下代码:
[csharp]
<span style="font-size:18px;"> int x = 10;
int y = 15;
int z;
Console.WriteLine (z = x > y ? x : y);
</span>
结果如图,很明显显示的是y说明是假。
流程控制
条件语句
If语句
句式:
第一种:
[csharp] www.zzzyk.com
<span style="font-size:18px;"> If (条件)语句;</span>
第二种:
[csharp]
<span style="font-size:18px;"> if (条件)
{
语句块
}
Else
{
语句块
}
</span>
此外在if中还可以嵌套if语句。
Switch语句
Switch是一个多分支结构的语句。语法结构为: