序号 | 系列文章 |
---|---|
0 | 【C#基础】初识编程语言C# |
1 | 【C#基础】C# 程序通用结构总结 |
😄 大家好,我是writer桑,前面一章已经学习了C#的程序结构,那本章就开始学习C#程序中基础的语法,希望看完大家能够有所收获,感谢支持!
首先 C# 作为一门面向对象的编程语言,有着许多区别于其他语言不同的地方,其中包括关键字的运用、类成员、标识符等等。本章从这几个方面进行学习,以便对搭建 C# 程序有个初步的认识。
首先以下面 Square 程序的实现做示例,以借此讨论 C# 的基础语法。
using System; // using 指令 namespace SquareApplication // namespace 命名空间
{internal class Square{// 成员字段private double length;private 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 ExecuteSquare{// Main 方法的声明static void Main(string[] args){Square s = new Square(); // 创建类型的新实例s.Acceptdetails();s.Display();Console.ReadLine();}}
}
在 C# 程序中 using 关键字有三种用法:
1,using 指令导入指定的命名空间
using System;
2, using 别名指令为名称空间或类型创建别名。
using systext = System.Text;
// using systext; // 编译器错误:未能找到类型或命名空间名"systext"
3, using 语句定义一个范围,在此范围的末尾将释放对象。
// 注意 Square 类需要继承 IDisposable 接口
using (Square s = new Square())
{// use s..// 离开这个代码块资源会自动释放
}
namespace 关键字用于声明命名空间,在 C# 程序有两种用法:
1,namespace 关键字用于声明包含一组相关对象的作用域。可以使用命名空间来组织代码元素并创建全局唯一类型。
namespace SquareApplication
{class Square{public void SquareMethod(){System.Console.WriteLine("SquareMethod inside SquareNamespace");}}
}
2,从 C# 10 开始,可以为该文件中定义的所有类型声明一个命名空间,如以下示例所示:
namespace SquareApplication;class Square
{public void SquareMethod(){System.Console.WriteLine("SquareMethod inside SquareNamespace");}
}
在 C# 程序中使用 class 关键字声明类,示例如下:
class Square
{// Square details
}class ExecuteSquare
{// ExecuteSquare details
}
变量声明语法:
;在 Square 类中声明了 width 和 length 两个成员字段:
private double length;
private double width;
方法声明语法:
(Parameter List) { Method Body } ; Square 类包含了三个成员方法: AcceptDetails、GetArea 和 Display。
// 成员方法
public void Acceptdetails()
{// Method Body
}public double GetArea()
{// Method Body
}public void Display()
{// Method Body
}
在 C# 程序中, Main 方法是应用程序的入口点:
static void Main(string[] args)
{// Main Method Body
}
在 C# 程序中使用 new 运算符创建类型的新实例。 new 关键字还可用作成员声明修饰符或泛型类型约束。
// 创建类型的新实例
Square s = new Square()
{// 实例化 Square 类并在这设定初始值
};
// 使用 DerivedC.Invoke 隐藏了 BaseC.Invoke。
// 字段 x 不受影响,因为未使用类似名称将其隐藏。
public class BaseC
{public int x;public void Invoke() { }
}public class DerivedC : BaseC
{new public void Invoke() { }
}
class ItemFactory where T : new()
{public T GetNewItem(){return new T();}
}
标识符是分配给类型(类、接口、结构、记录、委托或枚举)、成员、变量或命名空间的名称。以下是 C# 标识符命名规则和约定:
命名规则:
有效标识符必须遵循以下规则:
命名约定:
除了规则之外,C # 程序的类型名称、命名空间和所有公共成员也应当遵循PascalCase(变量命名方法)。 以下为常见的约定:
关键字是预定义的保留标识符,对编译器有特殊意义。 除非前面有 @ 前缀,否则不能在程序中用作标识符。 例如,@if 是有效标识符,而 if 则不是,因为 if 是关键字。
1,第一个表列出了是 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 | int | interface |
internal | is | lock | long | namespace | new | null |
object | operator | out | 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 |
2, 以下三个表列出了 C# 中的上下文关键字。 上下文关键字用于在代码中提供特定含义,但它不是 C# 中的保留字。 一些上下文关键字(如 partial 和where)在两个或多个上下文中有特殊含义。
上下文关键字 | ||||||
---|---|---|---|---|---|---|
add | and | alias | ascending | args | async | await |
by | descending | dynamic | equals | from | get | global |
group | init | into | join | let |
托管(函数指针调用约定) | ||||||
---|---|---|---|---|---|---|
nameof | nint | not | notnull | nuint | on | or |
orderby | partial(类型) | partial(方法) | record | remove | select | set |
非托管(函数指针调用约定) | |||
---|---|---|---|
unmanaged(泛型类型约) | value | var | when(筛选条件) |
where(泛型类型约束) | where(查询子句) | with | yield |
✔️ 以上就是 C# 基础语法的介绍,希望能够对大家有所帮助。望大家多多支持,你们的支持就是笔者创作最大的动力!