1、Web编程技术 -C#语言基础,潘 冰 ,教学目的和重点,目的 对C#语言有一个概要性的了解 能够读懂C#语言编写的程序 对C#语言中面向对象的机制有较深入的了解 能够借助MSDN编写初步的C#程序代码 重点 与C+对比,掌握下面的不同点 数据类型 C#基本操作 流程控制 类和结构,学习要点,C#语言简介 简单数据类型 C#基本操作 流程控制 类和结构,C#语言简介,.NET框架支持C#、VB.NET、Jscript.NET和J#语言。 特点: 简单 面向对象 类型安全 书写规则 严格区分大小写 每条语句以”;”结束,回车,自动缩进。 注释语句:”/” 或“/* */ “ 开发方式 使用Vis
2、ual Studio.NET提供的集成开发环境IDE进行开发,学习要点,C#语言简介 简单数据类型 C#基本操作 流程控制 类和结构,数据类型,在.NET中,任何类型都是“类” 支持的数据类型主要分为两类: 值类型(Value Type) 引用类型(Reference Type),数据类型,数据类型,值类型,引用类型,整数类型,布尔类型,实数类型,字符类型,结构类型,枚举类型,类,数组,整数类型,C#中每一个类型的长度都是固定的 事实上,int、long等都是某些“结构”的“别名”(Int32、Int64.),布尔类型,用来表示“真”和“假” 分别采用true 和false 两个值来表示 可将
3、布尔值赋给bool变量,也可以将bool表达式赋给bool变量,实数类型,字符类型,采用Unicode字符集,标准字符长度为16位。表示中文字符。 C#支持转义字符的使用:如, 表示1个单引号 ” 表示1个双引号 n 表示换行 r 表示回车换行,枚举类型,与C和C+相同,C#也可以用enum来说明枚举类型 在C#中,枚举类型值可以直接输出,输出结果为其枚举标识符本身,这一点与C有所不同 枚举值可以与整数值相互转换,转换的规定与C相同,演示,using System;enum WeekDay /声明枚举类型 Sunday, Monday, Tuesday, Wednesday, Thursday
4、, Friday, Saturday ;class HelloWorld static void Main()WeekDay day = WeekDay.Tuesday;/声明枚举类型变量day,通过名称引用成员Console.WriteLine(“Tuesday = 0“, day);int x = (int)WeekDay.Sunday;/成员的值,为int型。从0开始。Console.WriteLine(“Sunday = 0“, x); ,结果: Tuesday=Tuesday Sunday=0,结构类型,结构一般由一个或多个数据类型相同或不相同的一组相关数据组成。如, struct
5、student public string name;/姓名public string sex;/性别public int age;/年龄 student stu1;/声明1个名为stu1的 student结构类型变量 stui1.name=“张三”;/为结构成员name赋值 stu1.sex=“男”; stu1.age=21;,数据类型,数据类型,值类型,引用类型,整数类型,布尔类型,实数类型,字符类型,结构类型,枚举类型,类,数组,类,引用的演绎是表示该类型的变量不直接存储所包含的值,而是指向它所要存储的值。 类支持继承机制。,数组,声明格式:type arrayname 如, int a
6、rr=new int5;/创建数组实例 For(int i=0;iarr.Length;i+) arri=i*I;,学习要点,C#语言简介 简单数据类型 C#基本操作 类和结构 流程控制,字符串处理,1、使用string string s=“Hello,World”;/声明字符数组 字符串作为一个类,提供的公共方法见表 3-4。如, ToString()方法。将其他类型实例的值转换为字符串。如,Request.params“id”.ToString(); 2、使用StringBuilder StringBuilder类创建一个字符串缓冲区。具体见p39.,学习要点,C#语言简介 简单数据类型
7、C#基本操作 流程控制 类和结构,C#的流程控制语句,流程控制,条件语句,循环语句,异常处理语句,if,switch,while,do-while,for,foreach,foreach语句,for语句的“升级版” 遍历一个集合中的所有元素。 针对每个元素执行一次循环体语句 格式:foreach (类型 标识符 in表达式) 循环体语句 注意: 表达式必须是集合类型。 标识符即变量,是局部变量。 集合类型包括数组、哈希表、ArrayList、字典、堆栈、队列等。,异常处理,一般格式为: try 执行部分 catch(异常类型 异常标识符) 异常处理,可由throw表达式抛出一个异常 final
8、ly 必要执行,此中代码总是被执行 ,学习要点,C#语言简介 简单数据类型 C#基本操作 流程控制 类和结构,C+的类,C+的类,成员变量,成员函数,构造函数,析构函数,自定义函数,C#的类,C#的类,成员变量,成员函数,构造函数,自定义函数,简单变量,属性,索引器,示例:定义类和结构,using System;public class NameClass private string m_Name;public string GetName()return m_Name;public void SetName(string Name)m_Name = Name; class Program
9、static void Main(string args)NameClass pcName = new NameClass();pcName.SetName(“Gao Yi“);Console.WriteLine(“My name is “ + pcName.GetName().ToString(); ,属性,使用set语句设置属性值,使用get语句返回属性值。没有设置set语句的属性是只读属性。,示例:属性定义与使用,using System;public class NameClass private string m_Name;public string Namegetreturn m_
10、Name;setm_Name = value; class Program static void Main(string args)NameClass pcName = new NameClass();pcName.Name = “Gao Yi“;Console.WriteLine(“My name is “ + pcName.Name); ,索引器,允许类的实例(对象)像数组一样使用。,示例:定义索引器,class IntArr public int thisint indexgetreturn index * 2;set class Program static void Main()I
11、ntArr ia = new IntArr();ia1 = 1;ia2 = 10;for (int i = 0; i = 5; i+)System.Console.WriteLine(“ia0 = 1“, i, iai); ,名字空间,命名空间(NameSpace)对类进行管理,即将“类”“归类”。,名字空间的使用,名字空间1,名字空间2,类1,类2,方法1,名字空间3,方法2,namespace 名字空间1 namespace 名字空间2 public chass 类1 public int 方法1() public int 方法2() public chass 类2 namespace 名
12、字空间3 ,C#的结构,“结构”和“类”的区别: 结构是“值”类型,类是“引用”类型 结构类型不能继承 结构类型不可能是抽象的,示例,public class MyClasspublic int MyInt;public struct MyStructpublic int MyInt;class Programstatic void Main(string args)MyClass a = new MyClass();MyClass b = a;b.MyInt = 10;Console.WriteLine(a.MyInt);MyStruct c = new MyStruct();MyStruc
13、t d = c;d.MyInt = 10;Console.WriteLine(c.MyInt);,“一切都是类!”,数据类型,值类型,引用类型,整数类型,布尔类型,实数类型,字符类型,结构类型,枚举类型,类,数组,“一切都是类!”,数据类型,结构,类,整数类型,布尔类型,实数类型,字符类型,自定义结构,枚举类型,自定义类,数组,示例,public class MyClasspublic override string ToString()return “This is MyClass speaking!“;class Programstatic void Main(string args)in
14、t i = 10;bool b = false;double d = 3.14;Program p = new Program();MyClass m = new MyClass();Console.WriteLine(i);Console.WriteLine(b);Console.WriteLine(d);Console.WriteLine(p);Console.WriteLine(m);,小结,C#,库,语法,System.Console,数据类型,结构,类,整数类型,布尔类型,实数类型,字符类型,自定义结构,枚举类型,自定义类,数组,流程控制,条件语句,循环语句,异常处理语句,if,switch,while,do-while,for,foreach,成员变量,成员函数,构造函数,自定义函数,简单变量,属性,索引器,作业,编写99乘法口诀表,