C#基本語法

C# 是面向對象的編程語言。在面向對象編程方法中,程序由通過動作相互交互的各種對象組成。 對象可能採取的操作稱爲方法。具有相同類型的對象認爲是相同的類型,或者說是在同一個類。

例如,假設有一個Rectangle對象。 它有長度(length)和寬度(width)的屬性。 根據設計,它可能需要接受這些屬性的值,計算面積和顯示細節的方法。

下面我們來看看Rectangle類是如何實現上述功能,並以此學習 C# 的基本語法:

using System;
namespace RectangleApplication
{
   class Rectangle 
   {
      // member variables
      double length;
      double width;
      public void Acceptdetails()
      {
         length = 10.0;    
         width = 20.1;
      }

      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: 10.0
Width: 20.1
Area: 201

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包含三個成員函數:AcceptDetailsGetArea和Display

實例化類

在上述程序中,ExecuteRectangle類包含Main()方法,並實例化了一個Rectangle類的實例:r

標識符

標識符是用於標識類,變量,函數或任何其他用戶定義項目的名稱。 C# 中命名類的基本規則如下:

  • 名稱必須以字母開頭,後面可以有一系列字母,數字(0 - 9)或下劃線(_)。 標識符中的第一個字符不能爲數字。
  • 它不能包含任何嵌入的空格或符號,如:?, -, +, !,@,#, %, ^, &, *, (, ), [, ], {, }, ., ;, :, ", ',/\。但是,可以使用下劃線(_)。
  • 它不能是 C# 關鍵字。

C# 關鍵字

關鍵字是預定義爲 C# 編譯器的保留字。 這些關鍵字不能用作標識符。 但是,如果要使用這些關鍵字作爲標識符,但可以使用@字符將關鍵字前綴來表示某一標識符。

在 C# 中,一些標識符在代碼的上下文中具有特殊意義,例如getset被稱爲上下文關鍵字。

下表列出了 C# 中的保留關鍵字和上下文關鍵字:

保留關鍵字

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

-

-

-