C#笔记(4)基本语法
C# 基本语法
C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。
例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算面积和显示细节。
让我们来看看一个 Rectangle(矩形)类的实现,并借此讨论 C# 的基本语法:
实例
1 | using System; |
尝试一下 »
当上面的代码被编译和执行时,它会产生下列结果:
Length: 4.5
Width: 3.5
Area: 15.75
using 关键字
在任何 C# 程序中的第一条语句都是:using System;
using 关键字用于在程序中包含命名空间。一个程序可以包含多个 using 语句。
class 关键字
class 关键字用于声明一个类。
- 基本语法:
1 | class 类名 |
类名的命名规范?
- 类名和创建的.cs文件尽量保持一致:
- 类应该以
{
开头,以}
结尾,类中的内容应该写在开始大括号和结束大括号中间的任意区域。
类中添加主入口 Main()
- Main 方法的基本形式:
1 | static void Main(string[] args) |
注:单独写一个Main单词,是没有任何实质含义的。
运行程序时,编译器首先会试图去找Main()方法,然后按照代码的编写顺序执行;当Main()执行结束时,程序就结束了,如果当前类中除了Main()中还有其它内容,其它内容是不会被执行的。
语句
- 语句写在方法中,一条语句默认以分号结尾语句中涉及的所有标点符号,全部应该使用英文状态下符号。
- 一个方法中写多条语句,也可以0条语句。
C# 中的注释
注释的分类
单行注释: // 注释内容
- 一般是为一些语句添加单行注释;
- 解释作用
多行注释:
/*
* 注释内容
* 注释内容
* 注释内容
.....
*/
- 程序中有多行不参与程序运行时可以为其添加多行注释
/*
和*/
中间没有任何空格
文档注释:
一般类,方法或属性添加文档注释
基本语法:
/// 后面的内容自动补全
说明:
常用的注释:文档注释 和 单行注释
C# 中 // 注释和 /// 注释的区别
/// 会被编译, // 不会
所以使用 /// 会减慢编译的速度(但不会影响执行速度)
/// 会在其它的人调用你的代码时提供智能感知
/// 也是一种注释,但是这种注释主要有两种作用:
- 1.这些注释能够生成一个XML文件。这样呢,看起来会对程序的内容一目了然。
- 2.以这种方式对你的类,属性,方法等等加上注释之后,当你在其他地方使用以这种方式加上的类,属性,方法等等地时候,黄色的提示框里面会把你写的注释显示出来,是你更加明白你要使用的功能的作用。
1 | /// <summary> |
C# 编码的时候,常常涉及代码注释,常见的注释包括两类:
- 1)单行注释。格式:// Comments
- 2)多行注释。格式:/* Comments… */
C# 引入了新的 XML 注释,即我们在某个函数前新起一行,输入 ///,VS.Net 会自动增加XML格式的注释,这里整理一下可用的XML注释。 XML 注释分为一级注释(Primary Tags)和二级注释(Secondary Tags),前者可以单独存在,后者必须包含在一级注释内部。
注释的 3W 1H法则
- what: 什么是注释?
代码编写过程中,为程序添加一些解释说明性的文字。这些文字性内容不会参与程序的运行,方便开发者或内部开发更好的使用代码。 - why: 为什么要使用注释 ?
- 良好的编程规范
- 帮助开发者更好的理解程序
- 编码过程中,某一条语句或多条语句不想参与程序运行,怎么办?注释
- when: 什么时候使用注释 ?
编码过程中
学习过程中 - how : 注释如何使用?
I 一级注释
1 | <remarks>对类型进行描述,功能类似<summary>,据说建议使用<remarks>; |
II 二级注释
1 | <c> or <code>主要用于加入代码段; |
另外,还可以自定义XML标签
让C#智能注释时显示为换行
在C#智能注释时,常常希望它能在开发时显示为换行,使得提示更加友好!原来一直想怎么实现,今天偶然发现原来如此简单,只需将
注释在开发时换行显示的办法
1 | /// <summary> |
成员变量
变量是类的属性或数据成员,用于存储数据。在上面的程序中,Rectangle 类有两个成员变量,名为 length 和 width。
成员函数
函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。我们举例的类 Rectangle 包含了三个成员函数: AcceptDetails、GetArea 和 Display。
实例化一个类
在上面的程序中,类 ExecuteRectangle 是一个包含 Main() 方法和实例化 Rectangle 类的类。
标识符
标识符是用来识别类、变量、函数或任何其它用户定义的项目。在 C# 中,类的命名必须遵循如下基本规则:
- 标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
- 标识符中的第一个字符不能是数字。
- 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : “ ‘ / \。
- 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
- 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
- 不能与C#的类库名称相同。
C# 关键字
关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。
在 C# 中,有些关键字在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字(contextual keywords)。
下表列出了 C# 中的保留关键字(Reserved Keywords)和上下文关键字(Contextual Keywords):
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 |