Csharp 简明教程

C

C# 是一种面向对象编程语言。面向对象编程方法中,程序由各种通过操作相互交互的对象组成。对象可能采取的操作称为方法。相同种类对象被认为具有相同类型或属于同一类。

例如,我们考虑一个 Rectangle 对象。它具有诸如长度和宽度的属性。根据设计,它可能需要接受这些属性值、计算面积并显示详细信息的方法。

我们来看看 Rectangle 类的实现,并讨论 C# 基本语法 −

using System;

namespace RectangleApplication {
   class Rectangle {

      // member variables
      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

The using Keyword

任何 C# 程序中的第一条语句为

using System;

using 关键字用于将命名空间包括在程序中。程序可以包括多个 using 语句。

The class Keyword

class 关键字用于声明类。

Comments in C

注释用于解释代码。编译器会忽略注释条目。C# 程序中的多行注释以 /* 开始,并以 */ 结束,如下所示 −

/* This program demonstrates
The basic syntax of C# programming
Language */

单行注释由“//”符号指示。例如:

}//end class Rectangle

Member Variables

变量是类的属性或数据成员,用于存储数据。在前述程序中,Rectangle 类有两个名为 length 和 width 的成员变量。

Member Functions

函数是执行特定任务的语句集。类的成员函数在类中声明。示例类 Rectangle 包含三个成员函数:AcceptDetails、GetArea 和 Display。

Instantiating a Class

在前述程序中,ExecuteRectangle 类包含 Main() 方法,并实例化 Rectangle 类。

Identifiers

标识符是一个用于识别类、变量、函数或任何其他用户定义项的名称。在 C# 中命名类的基本规则如下 −

  1. 名称必须以字母开头,后面可以跟一系列字母、数字 (0 - 9) 或下划线。标识符中的第一个字符不能是数字。

  2. 它不能包含任何内嵌空格或符号,如?-+!@ #% ^ & * ( ) [ ] { } . ; : " ' / 和 \。但是,可以使用下划线 ( _ )。

  3. 它不应该是 C# 关键字。

C

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

在 C# 中,一些标识符在代码上下文中具有特殊含义,例如 get 和 set 被称为上下文关键字。

下表列出了 C# 中的保留关键字和上下文关键字 -

Reserved 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

Contextual Keywords

add

alias

ascending

descending

dynamic

from

get

global

group

into

join

let

orderby

partial (type)

partial (method)

remove

select

set