c#基础回顾

本文深入探讨了C#语言与.NET框架的关系,解析了.NET的交互模式,详细介绍了.NET Framework平台组件,包括CLR、BCL和CLS。文章还涵盖了Windows快捷键、DOS命令、面向对象编程概念、数据存储原理、C#数据类型、属性赋值语法、类型转换、流程控制语句、数组与集合的区别、枚举、结构和字符串特性,以及方法参数和异常处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.c#语言和.NET的关系:

c#是一种运行在.NET Framework 平台下的编程语言,.NET可以将c#语言翻译成电脑可识别的机器语言, 并提供了C#运行所必须的环境.NET Framework类库以及CLR(公共语言运行时)。

2..NET的两种交互模式:

(1)C/S 模式:客户端和服务器端的交互模式。

         B/S 模式:浏览器与服务器的交互模式。

(2)C/S 与 B/S 的区别:

. 硬件环境不同:

C/S 一般需要用户进行安装.Net 的环 境,而 B/S 一般只要有操作系统和浏览器就可以了。B/S 架构实现了跨平台(任何平台)。

对安全要求不同:

C/S 一般面向相对固定的用户群, 对 信息安全的控制能力很强,一般高度机密的信息系统采 用 C/S 结构适宜,

可以通过 B/S 发布部分可公开信息 B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。

处理问题不同:

C/S 程序和本地硬件、程序的交互性很 强,比如可以控制本机的其他程序、可以读写本地磁盘 文件、可以与硬件交互。

B/S 很难和本地硬件、程序、 文件进行交互,比如很难控制本机的其他程序、读写本地磁盘文件、与硬件交互

3.NET Framework 平台的介绍

公共语言运行时(CLR)

遵循公共语言架构的标准,能够使 C++、C#、VB 以及 JavaScript 等多种语言深度集成。CLR 从某种意义上理解 相当于 Java 中的 Java 虚拟机(JVM)。

 基类库(BCL)

代表了.NET 框架的核心。不管人们开发何种应用程序, BCL 总是作为构建其他所有功能的起点。

公共语言规范(CLS)

公共语言规范是一组结构和限制条件,它是公共类型 系统的子集,它们一起定义了允许不同编程语言的标准集, 由这些编程语言编写的应用程序可以互操作。


4. Windows常用快捷键

Alt+F4:关闭当前运行程序、关机

Alt+tab:切换运行程序

Win+d:显示桌面

 Win+e:打开我的电脑

Win+l:锁定计算机

Win+m:最小化所有电脑

 Win+r:开启运行窗口


5. 常用DOS命令

D: 盘符切换到 D 盘(切换其他盘一样盘符+:+回车)

 Dir D: 列出 D 盘下面的所有文件夹以及文件

MD New          在当前目录下面创建一个名为 New 的文件夹

RD New           删除当前目录下面的名为 New 的文件夹

 CD D:\360\      进入 D 盘下面的 360 文件夹中

CD       返回到当前文件夹的上层文件夹中

CD\      返回根目录

Del *txt      删除当前目录下面所有的后缀名为 txt 的文件

CLS     清除控制台窗口

Exit      退出控制台窗口


6. 面向对象的计算机语言

①. 什么是对象

在使用面向对象的计算机语言的程序员眼里世间万物皆 是对象,例如大到地球、宇宙星空,小到细胞、尘埃等都视之 为对象。而具体的对象怎样解释呢?

对象是由属性、方法、事件组成。

  • 属性:用来描述对象的形态外貌特征
  • 方法:指对象的主动行为,天生具有的一些能力
  • 事件:指对象的被动行为,天生并不具备这种能力,而 是受其他因素影响产生的能力

② 什么是面向对象

面向对象是针对计算机语言的一种归类,那么我们也可以 理解程序员,在代码的世界里使用面向对象的计算机语言,通 过实现属性、方法、事件来制造出自己想要的世界这就是面向 对象编程。

③ 什么是类

类,我们可以理解为对对象的一个归类,(例如现实生活中 我们对生物的分类有:动物类和植物类等等), 具有相同属性特征和行为的所有对象的一个抽象化归类。

④什么是命名空间

类似于 Java 中的包的概念,也可以称作类库,也就是类 的一个所在空间。为了避免类名冲突的一种方式。


7.C#标识符命名规则–驼峰 --帕斯卡

(1)帕斯卡命名法:组成标识符的所有单词首字母大写(适 用于:类、接口、方法命名)

(2) 驼峰命名法:组成标识符的第一个单词全部小写,之后 的所有单词首字母大写(适用于:变量命名)

8.计算机存储数据原理

  1. 计算机最终存储的是机器语言—二进制
  2. 十进制-十六进制-八进制-二进制

9.C#数据类型


值类型
(1)存储在堆栈中
(2)System.ValueType中派生
(3)直接存储其值
(4)空间小,调用速度快
(5)内存自动释放
(6)有结构体、枚举、可空类型
引用类型
(1)存储在堆中
(2).从System.Object中派生
(3).直接存储其值的引用指针
(4).空间大,调用速度慢
(5).由GC自动释放
(6).有object、string、集合、数组


10.C#属性赋值语法


属性的分类,最终结果:保证等号两边的数据属性类型一致

  1. C#中预定义的15种:byte,sbyte int,uint long,ulong short,ushort float,double,decimal, char,string,bool,object

  2. 对枚举类型赋值:

    1.1 枚举类型的定义

    枚举的定义枚举类型定义的一般形式为:     enum 枚举名{ 枚举值表};

    在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。

    例如:    该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。

     1.2 枚举变量    如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。 设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:

    1. enum weekday{ sun,mou,tue,wed,thu,fri,sat };

      enum weekday a,b,c;

      或者为: enum weekday{ sun,mou,tue,wed,thu,fri,sat }a,b,c;

      或者为: enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;

11.C#运算符

算术运算符

数学运算

关系运算符

比较运算

逻辑运算符

and or

位运算符

按照数据的源码进行运算

12.C#类型转换

隐式转换:是 C# 默认的以安全方式进行的转换,其本质是小存储容量的数据类型转换为大存储量的数据类型

显示转换 :即强制转换(会造成数据丢失)这些转换是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。

  1. Convert

  2. int.Parse :将字符串强制转换成数字

  3. ToString

  4. (Char)XX

  5. as

  6. 拆箱和装箱:装箱: 将值类型转换成引用类型----将小的包装成大的拆箱:将引用类型转换成值类型----将大的拆分成小的-----前提是先装箱 隐式转换 :这些转换是 C# 默认的以安全方式进行的转换

13.变量(全局变量、局部变量)、常量

(1)变量:

所谓变量,就是在程序的运行过程中其值可以被改变的量,变量的类型可以是任何一种C#的数据类型。所有值类型的变量都是在实际存在于内存中的值

C# 中提供的基本的值类型大致可以分为以下几类:

①整数类型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char

②浮点型 float 和 double

③ 十进制类型 decimal

④布尔类型   true 或 false 值

⑤空类型 可为空值的数据类型


变量的初始化

变量数据类型 变量名(标识符)=变量值;

(2)常量:

所谓常量,就是在程序的运行过程中其值不能被改变的量。常量的类型也可以是任何一种C#的数据类型。

常量的初始化

  const 常量数据类型 常量名(标识符)=常量值;

eg:

       const double PI=3.1415926;

  const string VERSION="Visual Studio 2010";

14.C#流程控制语句


if
if…else
if…else if…
if的嵌套
switch
三元运算符
相等的比较
循环语句

for
while
do…while
foreach


循环终止语句:

continue:跳出当前循环进行下一次循环

break:跳出当前循环,进行当前循环之后的代码

return:跳出整个循环


15.数组、集合、泛型


简单数组
二维数组
集合
字典
泛型
哈希
队列
交错数组
数组:数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合;
集合:用于数据存储和检索的类;
#数组与集合的区别#
①数组是静态的,定长的,不能改变其大小,集合是不定长的,可根据其内容改变大小;
②数组声明其类型,集合不声明;
③数组是多维的,集合是一维的;
④数组存放类型只能是一种,集合不止一种
#可空类型#
C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。
例如,Nullable< Int32 >,读作"可空的 Int32",可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可以被赋值为 null 值。类似的,Nullable< bool > 变量可以被赋值为 true 或 false 或 null。


16.枚举、结构、字符串


枚举:
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。
C# 枚举是值类型。不能继承或传递继承。
结构:
结构体是值类型数据结构。它使一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录。
字符串
string 关键字是 System.Object 的命名空间,
string是C#中的类,String是.net Framework的类,
string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以
StringBuilder属于引用类型
来自System.Text的命名空间,自身是类,使用时必须实例化,支持空参数构造,默认是空字符串,它是可变参数,初始化时,如果字符串长度超出初始化的大小时,
会开辟一个新的地址空间,将原来字符串的内容复制到新的空间中,再追加超出的长度,旧空间会自动销毁,引用新空间地址,新空间大小是旧空间大小的基础倍。


17.C#方法参数


有返回值
方法完成必须保证有一个指定类型的返回结果

无返回值
void类型

参数
形参
指方法声明时在方法小括号中声明的参数

实参
指方法被调用时所传递的参数

传参方式:

out参数:输出参数;ref参数:引用传参

相同点:

(1)两者都是用来修饰参数

(2)在定义和调用方法是都必须带上各自的关键字ref或out

不同点:

(1)ref必须在调用前进行初始化,而out必须在方法体内进行初始化

(2)ref有进有出,out只出不进

(3)ref则用在需要被调用的方法修改调用者的引用的时候,而 out适合用在需要retrun多个返回值的地方

C#方法重载、递归


方法的重载:方法名相同,参数列表不同(参数类型,个数)
方法的递归(斐波那契数列)
一个方法可以自我调用。这就是所谓的递归。
C#异常处理
try…catch…catch…
try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值