C#程序结构与基本语法
C# 程序结构
Hello World 实例
⼀个 C# 程序主要包括以下部分:
命名空间声明(Namespace declaration)
⼀个 class
Class ⽅法
Class 属性
⼀个 Main ⽅法
语句(Statements)& 表达式(Expressions)
注释
"Hello World" 的简单的代码:
实例
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* 我的第⼀个 C# 程序*/
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
结果:Hello World
让我们看⼀下上⾯程序的各个部分:
程序的第⼀⾏ using System; - using 关键字⽤于在程序中包含 System 命名空间。⼀个程序⼀般有多个 using 语句。
下⼀⾏是 namespace 声明。⼀个 namespace ⾥包含了⼀系列的类。HelloWorldApplication命名空间包含了类HelloWorld。
下⼀⾏是 class 声明。类HelloWorld包含了程序使⽤的数据和⽅法声明。类⼀般包含多个⽅法。⽅法定义了类的⾏为。在这
⾥,HelloWorld类只有⼀个 Main ⽅法。
下⼀⾏定义了 Main ⽅法,是所有 C# 程序的⼊⼝点。Main ⽅法说明当执⾏时类将做什么动作。
下⼀⾏ /*...*/ 将会被编译器忽略,且它会在程序中添加额外的注释。
Main ⽅法通过语句 Console.WriteLine("Hello World"); 指定了它的⾏为。
WriteLine是⼀个定义在System命名空间中的Console类的⼀个⽅法。该语句会在屏幕上显⽰消息 "Hello, World!"。
最后⼀⾏ Console.ReadKey(); 是针对 VS.NET ⽤户的。这使得程序会等待⼀个按键的动作,防⽌程序从 Visual Studio .NET 启动时屏幕会快速运⾏并关闭。
注意:
C# 是⼤⼩写敏感的。
所有的语句和表达式必须以分号(;)结尾。
程序的执⾏从 Main ⽅法开始。
与 Java 不同的是,⽂件名可以不同于类的名称。
编译 & 执⾏ C# 程序
使⽤ Visual Studio.Net 编译和执⾏ C# 序,请按下⾯的步骤进⾏:
启动 Visual Studio。
在菜单栏上,选择 File -> New -> Project。
从模板中选择 Visual C#,然后选择 Windows。
选择 Console Application。
为您的项⽬制定⼀个名称,然后点击 OK 按钮。
writeline函数新项⽬会出现在解决⽅案资源管理器(Solution Explorer)中。
在代码编辑器(Code Editor)中编写代码。
点击 Run 按钮或者按下 F5 键来运⾏程序。会出现⼀个命令提⽰符窗⼝(Command Prompt window),显⽰ Hello World。
C# 基本语法
C# 是⼀种⾯向对象的编程语⾔。在⾯向对象的程序设计⽅法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。
例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算⾯积和显⽰细节。
Rectangle(矩形)类的实现,并借此讨论 C# 的基本语法:
实例
using System;
namespace RectangleApplication{
class Rectangle
{
// 成员变量
double length;//声明⼀个double类型的变量length
double width;//声明⼀个double类型的变量width
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⽅法的计算结果
}
}
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
using关键字
在任何 C# 程序中的第⼀条语句都是:
using System;
using 关键字⽤于在程序中包含命名空间。⼀个程序可以包含多个 using 语句。
class关键字
class 关键字⽤于声明⼀个类。
C# 中的注释
注释是⽤于解释代码。编译器会忽略注释的条⽬。在 C# 程序中,多⾏注释以 /* 开始,并以字符 */ 终⽌,如下所⽰:
/* This program demonstrates
The basic syntax of C# programming
Language */
单⾏注释是⽤ '//' 符号表⽰。例如:
}//end class Rectangle
成员变量
变量是类的属性或数据成员,⽤于存储数据。在上⾯的程序中,Rectangle类有两个成员变量,名为length和width。
成员函数
函数是⼀系列执⾏指定任务的语句。类的成员函数是在类内声明的。我们举例的类 Rectangle 包含了三个成员函
数: AcceptDetails、GetArea和Display。
实例化⼀个类
在上⾯的程序中,类ExecuteRectangle是⼀个包含Main() ⽅法和实例化Rectangle类的类。
标识符
标识符是⽤来识别类、变量、函数或任何其它⽤户定义的项⽬。在 C# 中,
类的命名必须遵循如下基本规则:
标识符必须以字母、下划线或 @ 开头,后⾯可以跟⼀系列的字母、数字( 0 - 9 )、下划线( _ )、@。
标识符中的第⼀个字符不能是数字。
标识符必须不包含任何嵌⼊的空格或符号,⽐如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
标识符不能是 C# 关键字。除⾮它们有⼀个 @ 前缀。例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
标识符必须区分⼤⼩写。⼤写字母和⼩写字母被认为是不同的字母。
不能与C#的类库名称相同。
C# 关键字
关键字是 C# 编译器预定义的保留字。这些关键字不能⽤作标识符,但是,如果您想使⽤这些关键字作为标识符,可以在关键字前⾯加上 @字符作为前缀。
在 C# 中,有些关键字在代码的上下⽂中有特殊的意义,如 get 和 set,这些被称为上下⽂关键字(contextual keywords)。
下表列出了 C# 中的保留关键字(Reserved Keywords)和上下⽂关键字(Contextual Keywords):
补充1:
static void Main(string [] args)
{
Console.WriteLine("A:{0},a:{1}",65,97);
Console.ReadLine();
}
运⾏结果:
A:65,a:97
当 WriteLine() 函数有多个参数时,输出第⼀个参数中的内容,⽽第⼆个参数中的内容替换掉第⼀个参数中对应位置的占位符⼀起输出。
如果第⼀个参数没有留占位符,那么第⼆个参数内容不输出.
Console.WriteLine("A:,a:",65,97);
运⾏结果:
A:,a:
占位符从零开始计数,且占位符中的数字不能⼤于第⼆个参数的个数减⼀(要求占位符必须有可替换的值).
占位符数字与第⼆个参数字符位置⼀⼀对应.
static void Main(string[] args)
{
Console.WriteLine("A:{1},a:{0}",65,97);
Console.ReadLine();
}
运⾏结果:A:97,a:65
补充2:
C# 中什么叫类的实例化?
直⽩地解释就是:通过已有的类(class)创建出该类的⼀个对象(object)
打个⽐⽅:你设计了⼀个飞机模型,交给⼯⼈师傅去加⼯制作,⽣产出⼀个(⼀批)飞机。飞机模型就相当于程序中的类,⽣产出来的飞机就是对象,⽣产飞机这⼀过程就叫做类的实例化。
MyPlane plane1= new MyPlane(); //类的实例化
补充3:
补充⼀下 C# 中 // 注释和 /// 注的区别:
C# 引⼊了新的 XML 注释,即我们在某个函数前新起⼀⾏,输⼊ ///,VS.Net 会⾃动增加 XML 格式的注释
// 不会被编译,⽽ /// 会被编译
所以使⽤ /// 会减慢编译的速度(但不会影响执⾏速度)
但使⽤ /// 会在其它的⼈调⽤你的代码时提供智能感知(通常在Form。Designer.cs 窗⼝会⾃动⽣成 /// 注释的程序)举个例⼦:
/// <summary>
/// 必需的设计器变量。 //定义属性,注意该属性为可读可写属性
/// </summary>
要注意必须有:
/// <summary>
///
/// </summary>
补充4:
在 C# 中:
int 相当于 System.Int32
double 相当于 System.Double
string相当于 System.String
⼀般在程序开头添加 using System;,这时 string 相当于 System.String 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论