C#基础知识(一)

一、C#程序结构

《1》命名空间的声明(namespace declaration)

《2》一个class

《3》class方法

《4》class属性

《5》一个main方法

《6》语句(statements)&表达式(Expressions)

《7》注释
注:C#文件的后缀为.cs
二、C#的基本语法

《1》using关键词 using system;

《2》class关键词 class关键字用于声明一个类

《3》C#中的注释,注释用于解释代码,编译器会忽略

多行注释/**/ //

《4》成员变量:变量是类的属性或数据成员,用于存储数据

eg:double length; double width;

《5》成员函数:函数是执行一系列指定任务的语句,类的成员函数是在类内声明的。

eg:public double GetArea(){

return length*width;

}

《6》实例化一个类

ExecuteRectangle包含Main()方法和实例化Rectangle类的类;

csharp 复制代码
eg:class ExecuteRectangle
{
static void  Main(string[] args)
{
     Rectangle r=new Rectangle();
     r.Display();
}
}

《7》标识符:用来识别类,变量函数或任何其他的用户定义的项目,在C#中类的命名必须遵循以下六点;

csharp 复制代码
《1》标识符必须以字母,下划线或者@开头,后面可以跟一系列的字母;
《2》标识符的第一个字符不能是数字。
《3》标识符必须不包含任何嵌入的空格和符号。
《4》标识符不能是C#关键字除非他们有一个@前缀。
《5》标识符必须区分大小写。
《6》不能与C#类库的名称相同。

《8》C#关键字:关键字不能用作标识符,但是如果你想使用这些关键字作为标识符,可以在关键字前面加上@字符作为前缀;
三、C#数据类型

C#数据类型分为三种:值类型,引用类型,指针类型;

**如果需得到一个类型或者一个变量在特定平台上的准确尺寸,才可以使用sizeof方法;

表达式(sizeof(type))产生以字节为单位存储对象或类型的存储尺寸;

csharp 复制代码
值类型:
bool ,byte,char,decimal,double,float等等。
csharp 复制代码
当一个值类型转换为一个引用类型的时候---装箱
当一个对象转换为值类型时候-----拆箱

四、C#运算符

++a先进行自增运算在赋值;

--a先进行自减运算在赋值;

csharp 复制代码
A=20  B=10
+  A+B=30;
-  A-B=10;
*  A*B=200;
/  A/B=2;
%  A %B=0;取模运算,先除后取余;
++ A++=21 自增运算,整数后加一;
-- A--=19 自减运算,整数后减一;

其它运算符:

csharp 复制代码
sizeof()返回数据类型的大小 sizeof(int) 4
typeof()返回class的类型  typeof(StreamReader)
&返回变量的地址 &a;将得到变量的实际地址
*变量的指针   *a;将指向一个变量
?:条件表达式  如果条件为真?则为x:否则为y
is判断对象是否为某一类型   if(Ford is Car)检查car是否是Car类的一个对象。
as  强制转换即使转换失败也不会抛出异常。

C#中的运算优先级

右括号先括号,后乘除在加减,然后位移在关系,逻辑完后条件最后一个逗号;
五、C#判断

csharp 复制代码
《1》if语句
《2》if...else语句
《3》嵌套if语句
《4》switch语句
《5》嵌套switch语句
csharp 复制代码
《1》while循环
《2》for/foreach循环
《3》do...while循环
《4》嵌套循环

循环控制语句

《1》break:终止loop或者switch语句,程序流将继续执行紧接着loop或者switch的下一条语句;

《2》Continue:跳过本轮循环开始下一轮循环;

六、封装

封装被定义为把一个或者多个项目封闭到一个物理的或者逻辑的包中,封装是为了防止对实现细节的访问。

抽象和封装是面向对象程序设计的相关特性,封装使开发者实现所需级别的抽象,抽象允许相关信息可视化,C#封装根据具体的需要,设置使用者的权限,并且通过访问修饰符来实现。

相关推荐
Yanjun2i几秒前
Agent学习记录六:Tool 类 + Tool Registry
开发语言·python·学习
一条泥憨鱼4 分钟前
【从0开始学习计算机网络】| TIME_WAIT 为什么是 2MSL,CLOSE_WAIT / TIME_WAIT 堆积怎么排查
服务器·开发语言·网络·计算机网络·网络安全
(Charon)5 分钟前
【C++】 定时器入门:从定时任务到 epoll 驱动
开发语言·c++
亮_一个嵌入式新手8 分钟前
C语言Day21
c语言·开发语言
kcuwu.11 分钟前
第 1 课 · Hello, World 与一个 Go 程序的诞生
开发语言·后端·golang
php@king12 分钟前
golang入门到精通
开发语言·后端·golang
Leo.yuan13 分钟前
Flink + Kafka + Doris 之外的另一条路:FineDataLink 一体化实时数仓方案
开发语言·javascript·ecmascript
只睡四小时14 分钟前
端侧推理实战:face-api.js 零后端人脸识别踩坑记
开发语言·javascript·ecmascript
某不知名網友19 分钟前
C++ 深浅拷贝:从默认拷贝到 Rule of Five
java·开发语言
君顾130 分钟前
外卖CPS小程序开发实战指南:从零到上线的完整流程
java·开发语言·外卖