序号 | 系列文章 |
---|---|
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..
// 离开这个代码块资源会自动释放
}
在 C# 程序中 namespace 关键字用于声明命名空间,在后来的版本中有新的用法。
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 关键字主要用于声明类
类是可在一个单元中就将字段和方法及其他函数成员结合起来的数据结构,在 C# 程序中属于最基本的类型。示例如下:
class Square
{
// Square details
}
class ExecuteSquare
{
// ExecuteSquare details
}
成员字段也就是在类范围中声明的变量
变量声明语法:
private double length;
private double width;
成员方法也即类中定义的可以执行的函数
方法声明语法:
// 成员方法
public void Acceptdetails()
{
// Method Body
}
public double GetArea()
{
// Method Body
}
public void Display()
{
// Method Body
}
在 C# 程序中 Main 方法是定义程序的入口点
在示例程序中,ExecuteSquare 类声明了 Main 方法:
static void Main(string[] args)
{
// Main Method Body
}
在 C# 程序中可以使用 new 关键字创建实例、声明修饰符、作为类型约束。
1,new 运算符创建类型的新实例
// 创建类型的新实例
Square s = new Square()
{
// 在这设定初始值
};
2,new 关键字用作成员声明修饰符
// 使用 DerivedC.Invoke 隐藏了 BaseC.Invoke。
// 字段 x 不受影响,因为未使用类似名称将其隐藏。
public class BaseC
{
public int x;
public void Invoke() { }
}
public class DerivedC : BaseC
{
new public void Invoke() { }
}
3,new 关键字用作泛型类型约束
class ItemFactory<T> 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# 基础语法的介绍,希望能够对大家有所帮助。望大家多多支持,你们的支持就是笔者创作最大的动力!