了解C#程序
1.1 C#程序结构
using System; //引用命名空间
namespace CSharp_01 //命名空间
{
class YourClass //类
{
}
struct YourStruct //结构
{
}
interface IYourInterface //接口
{
}
delegate int YourDelegate(); //委托
enum YourEnum //枚举
{
}
namespace YourNestedNamespace //嵌套的命名空间
{
struct YourStruct //结构
{
}
}
class YourMainClass //类
{
static void Main(string []args) //main主程序
{
//程序体
}
}
}
1.2 C#程序的基本要素:
- C#程序由一个或多个源文件组成。
- C#程序源文件中可以声明类型,包括类,结构,接口,枚举和委托等类型。
- C#类型包含数据成员和函数成员,包括常量、字段、方法、属性和事件等。
- 语句是C#程序基本构成元素,用来定义类型和类型成员等。
- 语句通常包含表达式,表达式由操作数和运算符构成,操作数可以是变量或常量。
- C#变量表示存储位置,每个变量必须具有一个类型。
- 在编译C#程序时,源文件被物理打包为程序集。程序集为应用程序(application)时,其文件拓展名为.exe;应用程序集为库(library)时,其文件拓展名为.dll。可执行应用程序必须包含一个Main方法,用于控制程序的开始和结束。
- 程序中声明的类型按命名空间组织成层次结构。
- 程序中可以包含注释语句,以增加代码的可维护性。编译时忽略注释信息。
1.3 C#程序的书写规则
1.语句以;分号结束,一条语句可以跨越多行。
2.代码区分字母的大小写。
3.使用注释,增加程序的可读性。
4.代码缩进4个空格,增加可阅读性。
1.4 类型的声明和使用
1.4.1类的声明
类是一个数据结构,将状态(字段)和操作(方法和其他函数成员)组合在一个单元中。声明类的基本语法
public class 类名
{
类体
}
在类体内可定义类的成员,例如字段和方法。声明字段和方法的基本语法为
[字段修饰符] 类型 字段名;
[方法修饰符] 返回值类型 方法名 ([形参列表])
{
方法体
}
1.4.2 对象的创建和使用
可以使用new运算符来创建类的实例化对象。创建和使用对象的基本语法为:
类名·对象名·=new·类名([参数表])……//创建对象
对象名.属性………………………………//访问对象属性
对象.方法名([实参列表]);…………//调用对象方法
例子:
using System;//using关键字用于在程序中包含命名空间,一个程序可以包含多个using语句
namespace RectangleApplication
{
class Rectangle//class关键字用于声明一个类
{
// 成员变量 :变量是类的属性或数据成员,用于存储数据,Rectangle 类有两个成员变量,名为 length 和 width。
double length;//声明一个double类型的变量length
double width;//声明一个double类型的变量width
//成员函数:函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。我们举例的类 Rectangle 包含了三个成员函数: AcceptDetails、GetArea 和 Display。
public void Acceptdetails()//一个用来赋值的方法
{
length = 4.5;
width = 3.5;
}
public double GetArea()//一个用来计算的方法
{
return length * width;
}
public void Display()//一个用来打印的方法
{
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea()); //打印GetArea方法的计算结果
}
}
//实例化一个类:类 ExecuteRectangle 是一个包含 Main() 方法和实例化 Rectangle 类的类。
class ExecuteRectangle
{
static void Main(string[] args) //程序入口方法,创建实例,调用相应的方法
{
Rectangle r = new Rectangle();//对象实例化
r.Acceptdetails();
r.Display();
Console.ReadLine();
}
}
}
在这段代码中,逻辑是这样的:
首先进入 Main 方法,创建一个名称为 r 的实例。
然后调用 Acceptdetails 给 r 进行赋值。
最后调用 Display 方法打印结果。
而用于计算的 GetArea 方法在在调用 Display 时直接打印出来。
输出为:
Length: 4.5
Width: 3.5
Area: 15.75
1.5 Main方法
1.C#的可执行程序必须包含一个Main方法,用于控制程序的开始和结束。Main方法是驻留在类或结构内的静态方法,在Main方法中可以创建对象和执行其他方法。
2.Main方法的参数是表示命令行参数的String数组。通过测试args.Length属性来检查参数是否存在。args[0]表示第一个参数,args[1]表示第二个参数……。
3.Main方法可以是void类型,也可以是返回整型值int.
注意:在C#程序中,代码的大小至关重要。Main()中,只有M是大写。在C#中,main()小写的不起作用。
1.6 注释
C#常见注释方式
·单行注释使用://
·多行注释使用:/……/
///以3个斜杆开头的单行注释,可以把包含类型和类型成员的文档说明XML标识符放在代码中。
XML 注释分为一级注释(Primary Tags)和二级注释(Secondary Tags),前者可以单独存在,后者必须包含在一级注释内部。
I 一级注释
- 对类型进行描述,功能类似,据说建议使用;
- 对共有类型的类、方法、属性或字段进行注释;
- 主要用于属性的注释,表示属性的制的含义,可以配合使用;
- 用于对方法的参数进行说明,格式:value;
- 用于定义方法的返回值,对于一个方法,输入///后,会自动添加、列表和;
- 定义可能抛出的异常,格式:;
- 用于给出如何使用某个方法、属性或者字段的使用方法;
- 涉及方法的访问许可;
- 用于参考某个其它的东东:),也可以通过cref设置属性;
- 用于指示外部的XML注释;
II 二级注释
- c or code 主要用于加入代码段;
- para的作用类似HTML中的
标记符,就是分段;
- pararef用于引用某个参数;
- see的作用类似seealso,可以指示其它的方法;
- list用于生成一个列表;
另外,还可以自定义XML标签
1.7 System.Console类
Console类提供的常用方法:
Console.Clear(); //清屏
Console.Write("请输入:"); //提示输入
String s=Console.ReadLine(); //获取输入内容,以回车结束
Console.Beep(); //提示音
Console,WriteLine("输入为:"+s); //输出读取的内容
Console.read(); //按回车结束
运行结果:
请输入:测试
输入为:测试
1.8 面向对象编程
C#是一种面向对象的语言,与面向对象语言相关的概念有三个:封装、继承、多态。
1.8.1 封装
封装指的是创建“包”,其中包含我们所需的所有东西。对于面向对象编程而言,这意味着创建一个对象(如圆),该对象能够完成我们所需要对它执行的所有操作。这包括跟踪关于圆的所有信息(如半径和圆心),以及指导如何完成圆的功能,如计算半径和绘制圆。
通过封装一个圆,我们让用户不用关心圆是如何工作的,而只需知道如何与圆交互。
1.8.2 多态
多态是呈现多种形态的功能。这可用于面向对象编程的两个领域。首先,这意味着我们可以以许多不同的方式调用对象和例程,而得到的结果却是相同的。以圆为例,我们可能想调用圆对象来获得其面积。为此,我们可以使用二点,或者一个点一个半径。无论使用哪种方式得到的结果都是相同的。在C等过程语言中,为实现这两种计算面积的方法,需要使用两个名称不同的例程。而在C#中,仍然需要使用两个例程,但他们的名称可以相同。我们只需要调用该例程并传递信息,程序将自动根据传递的信息,使用正确的例程。调用例程的用户无需为到底应该使用哪个例程操心,而只要调用例程即可。
1.8.3 继承
继承是复杂的面向对象概念。圆对象已经很好,但球对象是不是更好呢?球只不过是一种特殊的圆,它具有圆的所有特征,只不过是三维的。可以这么说,球是一个特殊的圆,具有圆的所有属性,同时还有一些其他属性。通过使用圆来创见球,就将继承圆的所有属性。能够继承属性是继承的特征之一。
这篇博客介绍了C#程序的基础,包括程序结构、基本要素、类型声明和使用、Main方法、注释、System.Console类以及面向对象编程的封装、继承和多态概念。C#程序由源文件组成,包含类、结构等类型,以Main方法为入口点,通过System.Console类进行输出。面向对象特性让C#具备封装、继承和多态性。

7726

被折叠的 条评论
为什么被折叠?



