C#是在C,C++基础上改进而来,作为一种语言,它集成了C的强大功能和语法风格,继承C++面向对象的特性,同时吸收了VB语言的简单易用特点。并发展了自己的特性,如C#使用的是.NET框架的类库,不在提供对指针类型的支持,也就是使得程序不能随便访问内存地址空间,还有就是不在支持多重继承。
基础
一、命名空间:是用来组织和重用代码的编译单元,它提供了一种组织相关类和其他类型的方式,是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中,然后,在定义另一个类。C#程序是用命名空间来组织代码,要访问某个命名空间中类或者对象,必须使用
命名空间.类名 例: namespace N
二、类:是面向对象程序设计的基础。是C#中的一种结构,用于在程序中模拟现实生活中的事物。类和对象的关系是蓝图与产品关系
class MyClass
{
//Classmembers
}
三、Main:每个程序都需要一个入口点,即程序开始的地方。在C#中入口点就是Main()方法。
Main()方法在创建任何类或结构的实例前被调用,因此它必须声明为static。下面是Main()方法可以接受的方法签名。
public static void Main()
public static int Main()
public static void Main(string[] args)
public static int Main(string[] args)
最后两种形式用来向Main()方法传递命令行参数,任何参数都被作为string类型的数组传递。方法的返回类型必须是void或int;返回值表示程序结束方式的约定,如返回值为0表示程序正常退出,非0的返回值表明程序出现了错误。
四、注释
/* */适合大段代码注释。
//单行注释
///XML注释,可以生成XML文档
五、输入与输出
从控制台读取一行信息Console.ReadLine().此种方法不接受回车键,如果没有接受到任何输入或无效输入,则返回null。Read()方法是从控制台读取一个字符,并且只有用户按回车键才会返回。
将信息输出到控制台 Console.WriteLine()方法。Write()和WriteLine()方法类似,但是输出到屏幕后并不会产生新的一行
规则
一、标示符
标示符命名规则:1.首字符必须是字母,下划线“_”或“@”;后面的字符可以是字母、下划线或者数字
2.标示符不能使用C#关键字
3、C#语言区分大小写
4、可以使用中文
关键字:又称保留字,是一种有特殊用途的标示符,由系统预先定义好的,不能用于其它目的
二、数据类型
值类型:存储在栈(用于存储固定长度的数据)中,存放于内存,表示实际数据
简单值类型:布尔,字符,整数,实数
符合值类型:结构,枚举
引用类型:存储在堆(由New分配的内存,用起来方便)中
类,接口,委托,数组
类型名 | 含义 | 举例 |
结构 | 是一组相关的信息组合成的单一实体。其中 的每个信息成为它的一个成员 | Struct person { String m_name; Int m_age; String m_sex; }
|
枚举 | 是由一组特定的常量构成的一种数据结构,系统把相同类型、表达固定含义的一组数据作为一个集合方法一起形成新的数据类型 | enum Weekday { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday } |
类 | 一组具有相同数据结构和相同操作的对象集合 |
|
接口 | 应用程序之间调用所达成的所能提供服务的协议 |
|
委托 | 用于封装某个方法的调用过程 |
|
数组 | 用于同一数据类型的数据进行批量处理,C#中需要初始化 |
|
类型转换:
隐式转换:由低级(字节数和精度)类型向高级类型转换
显式转换:(强制转换)(数据类型)数据例如int a=(int)5.6
ToString():将基本数值类型转换为字符串 变量名.ToString 例如
int c=3
string e=C.ToString()
Parse:将字符串转换为数值
strings="123.33"
intx=int.Parse("234")
Doubley=double.Parse(s)
装箱(将值类型转换为引用类型)
int val=60
object obj=val;
Console.WriteLine(“对象的值 = {0}", obj);
拆箱(将引用类型转换为值类型 )
int val = 60;
object obj =val;
int num = (int)obj;
Console.WriteLine("num: {0}", num);