了解下C# 基本语法
C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。 |
相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。
例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算面积和显示细节。
让我们来看看一个 Rectangle(矩形)类的实现,并借此讨论 C# 的基本语法:
实例
using System; namespace RectangleApplication {class Rectangle{// 成员变量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
using 关键字
在任何 C# 程序中的第一条语句都是:
using System;
using 关键字用于在程序中包含命名空间。一个程序可以包含多个 using 语句。
class 关键字
class 关键字用于声明一个类。
C# 中的注释
注释是用于解释代码。编译器会忽略注释的条目。在 C# 程序中,多行注释以 /* 开始,并以字符 */ 终止,如下所示:
/* This program demonstrates The basic syntax of C# programming Language */
单行注释是用 '//' 符号表示。例如:
}//end class Rectangle
成员变量
变量是类的属性或数据成员,用于存储数据。在上面的程序中,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):
保留关键字 | ||||||
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 | |||||
上下文关键字 | ||||||
add | alias | ascending | descending | dynamic | from | get |
global | group | into | join | let | orderby |
partial (type) |
partial (method) |
remove | select | set |
了解下C# 基本语法相关推荐
- vue打包后在ie浏览器下访问报语法错误
vue项目部署后在ie浏览器下访问报语法错误: 1.解决方法首先定位到报错文件: 2.编译为es5:在线编译
- Linux下Makefile编写语法
原创 Linux下Makefile编写语法 2016-07-29 08:31:53 Datrilla 阅读数 1386更多 分类专栏: Linux Makefile 版权声明:本文为博主原创文章,遵循 ...
- Hexo下的Markdown语法(GFM)写博客
为了更好的观看效果,可跳转到 我的主页:https://zhuzhuyule.xyz下的: Hexo下的Markdown语法(GFM)写博客 Markdown 是一种轻量级的「标记语言」,优点在于 - ...
- vscode去除红色下划线(语法检查)
vscode去除红色下划线(语法检查) 写C/C++:(亲测有效) 首选项–设置 在搜索栏输入:C_Cpp.errorSquiggles 将enable设置为disable就可以了 或者:(来自百度) ...
- Linux下的ATT语法(即GNU as 汇编语法)入门
学习这么长时间,一直在C语言这一层面上钻研和打拼,日积月累,很多关于C的疑惑在书本和资料中都难以找到答案.程序员是追求完美的一个种群,其头 脑中哪怕是存在一点点的思维黑洞都会让其坐卧不宁.不久前在it ...
- python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips
阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. ...
- linux 下 .sh 文件语法
转自:http://blog.sina.com.cn/s/blog_54f82cc201010hfz.html 介绍: 1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh ...
- stol函数在linux下使用,Linux下ATT汇编语法简介一
这显得很古怪,不过在gcc知道程序员拿这些寄存器做些什么后,这确实能够对gcc的优化操作有所帮助.表5-3中是一些可能会用到的寄存器加载代码及其具体的含义. 表5-3 常用寄存器加载代码说明 代 码 ...
- verilog程序,ISE 10.1环境下,检查语法和仿真均可,综合出错“ this signal is connected to multiple drivers.”
背景:Xilinx公司的FPGA ,ISE 10.1 开发环境, verilog HDL语言 问题描述:检查语法没有错误,用modelsim仿真也可以,但综合时出错,错误如下: ERROR:Xst ...
最新文章
- 狂神java什么来头_狂神说SpringBoot18:集成SpringSecurity
- CentOS 7 的 32 位版发布
- Sql中如何将数据表的两个字段的值如何互换?
- Objective-C 的 self 和 super 详解
- html字母间距属性,html – 是否可以相对于font-size具有字母间距并正确继承?
- jsf如何与数据库连接_JSF身份验证登录注销数据库示例
- 从零开始学Vue(一)—— Vue.js 入门
- 魔方矩阵c语言,C语言检验并打印魔方矩阵,检验并打印魔方矩阵,用C语言,求大神尽快解决...
- SpringBoot动态获取项目部署的端口号
- matlab TVdenoise,TV_Denoise TV全变分模型图像去噪
以及高斯模糊处理 2D Graphic 2D图形编程 272万源代码下载- www.pudn.com...
- 大数据技术之云数据库
- 伍鸣博士受邀出席徐汇区住房租赁市场研讨会
- 动手开发一个有用的 ABAP ALV 工具 - 查看指定用户的 ABAP 传输请求试读版
- JavaScript专题(一)变量提升与预编译,一起去发现Js华丽的暗箱操作
- 虚拟机Ubuntu18.04开机后没有网络的解决办法
- 【职业篇】Linux服务器开发架构师, 高屋建瓴谈谈知识体系的建立丨职业方向就业分析解决你的就业疑虑
- ASTM F404 – 21儿童餐椅标准消费者安全规范测试项目
- Flutter入门并开发天气预报APP(8)——天气预报第二步-选择省、市、区界面及网络请求
- 用生成函数法解决数列求和问题
- 解决ubuntu下c++标准库缺少conio.h