C# 基本语法

C# 基本语法

C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。

例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算面积和显示细节。

让我们来看看一个 Rectangle(矩形)类的实现,并借此讨论 C# 的基本语法:

using System;
namespace RectangleApplication
{
    class Rectangle
    {
        // 成员变量
        double length;
        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());
        }
    }
   
    class ExecuteRectangle
    {
        static void Main(string[] args)
        {
            Rectangle r = new Rectangle();
            r.Acceptdetails();
            r.Display();
            Console.ReadLine();
        }
    }
}

当上面的代码被编译和执行时,它会产生下列结果:

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 类有两个成员变量,名为 lengthwidth

成员函数

函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。我们举例的类 Rectangle 包含了三个成员函数: AcceptDetailsGetAreaDisplay

实例化一个类

在上面的程序中,类 ExecuteRectangle 是一个包含 Main() 方法和实例化 Rectangle 类的类。

标识符

标识符是用来识别类、变量、函数或任何其它用户定义的项目。在 C# 中,类的命名必须遵循如下基本规则:

  • 标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
  • 标识符中的第一个字符不能是数字。
  • 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
  • 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
  • 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
  • 不能与C#的类库名称相同。

C# 关键字

关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。

在 C# 中,有些关键字在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字(contextual keywords)。

下表列出了 C# 中的保留关键字(Reserved Keywords)和上下文关键字(Contextual Keywords):

保留关键字
abstract as base bool break byte case
catch char checked class const continue decimal
default delegate do double else enum event
explicit extern false finally fixed float for
foreach goto if implicit in in (generic modifier) int
interface internal is lock long namespace new
null object operator out out (generic modifier) override params
private protected public readonly ref return sbyte
sealed short sizeof stackalloc static string struct
switch this throw true try typeof uint
ulong unchecked unsafe ushort using virtual void
volatile while
上下文关键字
add alias ascending descending dynamic from get
global group into join let orderby partial (type)
partial (method) remove select set

笔记

Console.WriteLine()用法

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

补充 输入与输出

Console.Write();      输出不换行
Console.WriteLine();  输出并换行
Console.ReadLine();   读取键盘输入的所有字符,返回字符串。按下回车键退出 
Console.Read();       读取键盘输入的第一个字符,返回其对应的ASCII值。按下回车键退出
Console.ReadKey();    等待用户按下任意键并执行退出,(此函数的作用是为了在控制台窗口停留一下,直到用户敲击键盘为止。不然运行时,"Hello World!" 这句话会在控制台窗口一闪而过,没法查看。)

C# 中什么叫类的实例化?

直白地解释就是:通过已有的类(class)创建出该类的一个对象(object),这一过程就叫做类的实例化。

打个比方:你设计了一个飞机模型,交给工人师傅去加工制作,生产出一个(一批)飞机。飞机模型就相当于程序中的类,生产出来的飞机就是对象,生产飞机这一过程就叫做类的实例化。

MyPlane  plane1= new MyPlane();        //类的实例化

在 C# 中:

int 相当于 System.Int32
double 相当于 System.Double
string 相当于 System.String

一般在程序开头添加 using System;,这时 string 相当于 System.String

C# 中 // 注释和 /// 注的区别:

C# 引入了新的 XML 注释,即我们在某个函数前新起一行,输入 ///,VS.Net 会自动增加 XML 格式的注释

// 不会被编译,而 /// 会被编译

所以使用 /// 会减慢编译的速度(但不会影响执行速度)

但使用 /// 会在其它的人调用你的代码时提供智能感知(通常在Form。Designer.cs 窗口会自动生成 /// 注释的程序)举个例子:

/// <summary>
/// 必需的设计器变量。  //定义属性,注意该属性为可读可写属性
/// </summary>

要注意必须有:

/// <summary>
///
/// </summary>
posted @ 2021-10-18 13:46  槑孒  阅读(661)  评论(0编辑  收藏  举报