首页 > 编程语言 >C#程序结构

C#程序结构

时间:2023-05-16 15:46:31浏览次数:31  
标签:语句 定义 C# 程序结构 关键字 命名 标识符

1. C# 命名空间

a) 类名是不能重名的。

b) 但类是面向对象语言的基本单位。数量会上万,为了像变量的作用域一样将类分隔开,需要使用命名空间。

c) 命名空间类似于文件夹,不同文件夹下的文件可以同名,同理不同命名空间下的类也可以同名。并且命名空间的作用域不像语句块,不会延申到子命名空间。

d) 命名空间使用关键字namespace+空间名定义。使用大括号包围放在他下面的类。

类似于文件夹,命名空间也可以分层。但是类名不能和同级的命名空间重名。

2. C# 类

a) 当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量称为类的成员。

b) 类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。下面是类定义的一般形式:

//普通类

class class_name

{

}

c) 如果要访问类的成员,你要使用点(.)运算符。

d) 点运算符链接了对象的名称和成员的名称。

 

3. C# 标识符及关键字

a) 标识符

变量名 方法名 类名 枚举 自定义的东西只要符合规则都叫标识符

1. 含义:用来命名的一种字符串(不能是关键字)。

2. 注意事项:

• 字母和下划线(a-z、A-Z和_)可以用在任何位置。

• 数字不能放在首位,可以放在除首位的任何地方。

• @字符只能放在标识符的首位。虽然允许使用,但是不推荐将@作为常用字符。

• 标识符区分大小写。

b) 关键字

1. 含义:用来定义C#语言的字符串记号。(不建议死记硬背)

2. 注意事项:

• 关键字不能用作变量名或其他任何形式的标识符,除非以@字符开始。

• 所有C#关键字全部都由小写字母组成。

3. 上下文关键字仅在特定的语言结构中充当关键字的标识符,可以在代码的其他部分被用作标识符。

4. 注释是被编译器忽略但被包含在代码中以说明代码的文本片段

4. C# 语句

1. 语句是描述某个类型或让程序执行某个动作的源代码指令。分为声明语句、嵌入语句、标签语句。

标签语句由一个标识符后面跟一个冒号,再跟一条语句所组成,形式如下:

int xyz = 0; //表示变量xyz

xyz : Console.Writeline("这样写是可以的!"); //表示标签xyz

2. 如果细说的话里面还有空语句,块语句,简单语句等等。

3. 简单语句由一个表达式和后面跟着的分号组成,块是由一对大括号括起来的语句序列。在块里面也可以包含声明,嵌套,标签等。

 

4. 表达式语句可在表达式后面放置语句终结符(分号)来从一个表达式创建一条语句。

x=10;

5. 控制流语句,条件执行 依据一个条件执行或跳过一个代码片段。

if;

if...else;

switch;

6. 循环语句 重复执行一段代码

do;

while;

for;

foreach;

7. 跳转语句 把控制流从一个代码片段改变到另一个代码片段中的指定语句

break;

continue;

return;

goto;

throw;

 

 

标签:语句,定义,C#,程序结构,关键字,命名,标识符
From: https://www.cnblogs.com/ksjqsj/p/17405831.html

相关文章

  • buuctf [第二章 web进阶]XSS闯关
    本题每一关都需要我们使用alert弹窗level1URL为http://7db5b895-7c64-4b97-a85e-bc011762312f.node4.buuoj.cn:81/level1?username=xss查看源码可知get传的username直接被输出所以直接注入js代码即可?username=<script>alert(1)</script>level2level2对输入的username......
  • Python try 和 except
    使用场景:当代码有可能报错,但不想由于代码报错而中断整个代码的运行,就可以使用。#用法try:xxx#需要运行的代码exceptExceptionase:#可以根据可能发生的error类型,但是Exception比较万能print(e) 参考:blog.csdn.net/chengxuyuanlaow/article/details/1275......
  • C++ | 运算符重载
    1.运算符重载1.1基本概念函数重载(函数多态)是指用户能够定义多个名称相同但参数列表不同的函数,旨在使用户能够用同名的函数来完成相同的基本操作,即使这种操作被用于不同的数据类型。运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义。实际上,很多C++(也包括C语......
  • TypeScript 类型
    类型判断getType:function(obj:any){returnObject.prototype.toString.call(obj).slice(8,-1);}//=>[objectFunction/xxxx]=>‘Function/xxxx’Object.prototype.toString.call(obj))是一种常用的typeof,使用了object原型上的toString。该值存放于对象的[Sym......
  • LeetCode 111. 二叉树的最小深度
    题目链接:LeetCode111.二叉树的最小深度题意:给定一个二叉树,找出其最小深度。给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。解题思路:1.递归法与求最大深度类似,采用先序或者后序都是可以的,但是这里要注意一个问题:最小深度是从......
  • mac 12以上python环境问题
    每次因为环境问题,会导致浪费很多时间,故有必要写一篇博客记录一下,防止以后踩坑,没有升级的,建议升级到mac12以上我现在的系统版本是13.3.1内置的python3版本是3.9.6。  由于项目里需要使用python2版本,故需要装一下python2版本:下载地址: https://www.python.org/downloads/......
  • docker部署elk
    0,创建elk配置文件夹mkdir-p/home/songyan/data/docker/elk 1,es部署dockerpullelasticsearch:8.7.0dockernetworkcreateelasticdockerrun-d--namees--netelastic-p9200:9200-p9300:9300-e"discovery.type=single-node"elasticsearch:8.7.0......
  • 微服务注册中心之Zookeeper,Eureka,Nacos,Consul,Kubernetes区别
    目录1微服务注册中心1.1注册中心概念1.1.1为什么需要注册中心1.1.2如何实现一个注册中心1.1.3如何解决负载均衡的问题1.2注册中心如何选型1.2.1Zookeeper1.2.2Eureka1.2.3Nacos1.2.4Consul1.2.5Kubernetes1微服务注册中心微服务的注册中心目前主流的有以下五种:Zooke......
  • SynchronousQueue相关介绍
    SynchronousQueue是一个没有容量的队列,它的put操作和take操作之间是相互依赖的,即put操作必须在take操作准备好时才能将元素“推”过去,反之take操作也必须在put操作准备推元素的时候才能获取到元素。 同步队列:SynchronousQueue,零容量的SynchronousQueue,一进一出,避免队列里缓冲......
  • LockSuport
    是JUC的核心之一,AQS的await()、signal()等方法底层就是LockSuport实现的实现线程挂起和唤醒的操作,和每个线程关联一个许可(permit),核心方式就是park和unpark,底层是Unsafe类的native方法实现;类似object的wait和notify/notifyAll方法核心方法方法解释......