搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
墨韵书生
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【Node JS环境搭建及sublime Text 3配置Node Js环境】_sublime text 3 nodejs v2.0.6
2
Maven提示Failure to find com.oracle:ojdbc14:jar:10.2.0.4.0
3
mfc edit只允许输入数字
4
vue项目中各文件说明_vue2 public中都有什么文件
5
上期2D子弹跟随大受欢迎,想要个3D版本的?
6
含掩膜mask的单通道灰度图转化为COCO数据集格式标签的json文件(python)_mask to json
7
Unity编辑器扩展-拖拽调整区域大小_限制unity在编辑器中拖拽物体的移动单位
8
记一次使用yum安装xtrabackup和/etc/my.cnf冲突报错_yum install percona-xtrabackup-24 my.cnf 冲突
9
mariadb不能导入与mysql可以_MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述
10
小红书内容营销3.0趋势拆解+新锐品牌增长案例_营销3.0案例
当前位置:
article
> 正文
大学生C#考试必看总结~_c#大一
作者:墨韵书生 | 2024-01-16 14:25:39
赞
踩
c#大一
近期忙于考试,不过在C#考试的时候将学过的内容进行了归纳整理,特置于网上,供学C#的同学们学习,分享一下~如有不足之处,还望海涵。。
CLR
公共语言运行时
BCL/FCL
基础类库
CTS
公共类型规范
CLS
公共语言规范
符合公共语言规范的任何语言都可以在公共语言运行库上运行
第
2
章
语法基础
I
1
、
c#
代码结构
命名空间的引入
using
类中不用使用完全限定名来引用类
定义命名空间
namespace
定义类
class
main
方法
static
(在和实例对象之前)
2
、
Console
类
(实现控制台的
i/o
)
System
命名空间(所有命名空间的根
)
读取单个字符或整行
将值类型的实例、字符数组、对象集自动转换为字符串,写入控制台
ReabLine
()等待输入字符,直到按回车键为止
ReadKey
()
3
、变量
—— 代表存储地址,类型决定存储在变量中的熟知的类型。
在一个命令行中,类型不同的变量赋值不能同时赋值,必须分开两行。
变量名必须字母开头
字母、数字、下划线
不能和关键字、命名空间、类库名称相同、
int a=1
;
//
初始化
int a
;
a=1
;
//
赋值
作用域——访问该变量的代码区域(字段、局部变量)
字段
_
——类中(不是类中的方法和属性中)
整个类
局部变量——独立的语句块
定义开始到离开语句块
同名的局部变量会隐藏同名的类及变量。
4
、常量
值在使用过程中不会发生变化
关键字
const
。
必须声明时初始化,其后不能再修改。而变量的值可以重新修改。
默认为
static
但定义时不需要声明为
static
。
不能用变量的值进行初始化。
只读字段可以用变量的值进行初始化。类级别声明初始化,只能为静态字段
int d=1
;
readonly static
int a=d
;
5
、预定义数据类型(通过
GetType
方法
获取
变量
的数据类型)
值类型:
整型(有符号:
sbyte short int long
无符号:
byte ushort uint ulong
)默认为
Int32
long a=124
;先赋值,再转换为
long
类型
long
b=124L
;赋值之前已经将
124
强制转换为
long
类型
(栈)
浮点型(预设是
double
类型,如果想设为
float
,可加
F
或
f
)
字符型(一个
16
位
Unicode
字符
单引号
)‘
a
’‘
\u0041
’‘
\x0041
’
(char)65
bool
型
decimal
型(
128
位高精度浮点数
加
M
或
m
)
日期型(
DateTime
)
转义字符
\0
空
\a
警告
\b
退格
\f
换页
\n
换行
\t
水平制表符
“\’hello\’”
@”’hello’”
第
3
章
语法基础
II
第
4
章
类型转换
1
、隐式转换(扩展转换):窄数据类型转换为宽数据类型,且能保证转换过程中不丢失数据
(
1
)
系统默认,不需要加以声明就能转换
(
2
)编译器自动执行
(
3
)整数和浮点数之间转换可能会丢失数据
long/ulong
转换为
float
会丢
4
个字节
(
4
)
不存在浮点型与
decimal
之间的隐式转换
(
5
)不存在到
char
类型的隐式转换
2
、显示转换(强制类型转换):
(
1
)数值类型只能在数字、
char
类型和
enum
类型之间转换
(
2
)
Boolean
数据类型不支持转换
(
3
)
所有类型都可以通过
ToString
()方法转换为字符串
(
4
)
Convet
类的相应方法将字符串转换为相应的数据类型
3
、装箱:(可以隐式进行)
值类型转换为引用类型
4
、拆箱:(必须显示)
引用类型转换为值类型
装什么,拆什么(不仅装数值还要装类型)
5
、枚举类型:
(
1
)
访问修饰符
enum
枚举名:基础类型(显示声明,默认为
int
)
{
枚举成员
1
,
枚举成员
2
(该枚举类型的命名常数不能重名)必须在基础类型范围内
第一个枚举成员的默认值为零,以后依次加一
允许多个枚举成员有相同的值,没有赋值的前一个加一
}
(
2
)
System.Enum
类型
(
本身不是枚举类型,是一个类类型,所有枚举类型都是从它派生的
)
是所有枚举类型的抽象基类,从他继承来的成员在任何枚举类型中都可用。
(
3
)枚举类型不能隐式转换为基本类型,基本类型也不能隐式转换为枚举类型。
(4)
枚举名
.
枚举成员
第
5
章
流程控制
1
、条件语句
If
单一
If/else
二选一
If/else/if
多选一
2
、分支语句
Switch
(
int/char/string
表达式)
{
case
常量表达式
1
:
语句
1
;
break
;
case
常量表达式
2
:
语句
2
;
break
;
defult
:
break
;
}
3
、循环语句
for
foreach
针对集合和数组
尤其不知道有多少元素的
while
do/while
循环至少一次
4
、跳转控制语句
break
中断循环,跳出循环体
continue
继续下一次循环
return
退出方法
goto
无条件转移语句
第
6
章
数组
System.Array
:所有数组的基类
数组作用
:保存一系列数据类型相同的数据
引用类型,存放在堆内存中
一维数组:
数组类型
[ ]
数组名
定义数组后,必须对其进行初始化才能使用。用下标引用或修改数组中的元素值
动态初始化,使用
new
。
数据类型【】
数组名
=new
数据类型【
n
】
{
元素值
0
,元素值
1
,。。。,元素值
n-1}
此时可以省略“数组长度”。数组长度不能用变量,只能是整形常量。
也可不给出初始值部分。
和静态初始化(这种情况下不能将数组定义和静态初始化分开)
数据类型【】
数组名
={
元素值
0
,元素值
1
,。。。,元素值
n-1}
二维数组
数据类型【,】
数组名;
3
、多维数组
4
、锯齿数组(交错数组)数组中的数组
必须赋行数,必须不赋列数
5
、
Array
类
CreateInstance
方法来创建数组
Array obj=Array.CreateInstance(typeof(string),10);
Sort()
Reverse()
IndexOf()
LastIndexOf()
SetValue()
GetValue()
CopyTo()
Copy()
Clear()
GetLength()
GetUpperBound()
GetLowerBound
第
7
章
运算符与表达式
1
、单目运算符
逻辑非(!)自增(
++
)自减(——)
双目运算符
算术运算符(
+
—
*/%
)
逻辑运算符(
&& ||
)
字符串连接运算符(
+
)
三目运算符
赋值运算符(从右向左赋值)
算术运算符
加法减法运算符
自增自减运算符
乘法除法运算符
取余运算符
关系运算符
逻辑运算符
条件运算符
is
判断是否是某个类型
as
引用类型的显示类型转换
new
创建类类型(
object
、
class
、
string
)数值类型、数组类型和代理类型的实例(即变量)
typeof
获得
指定类型
的
System.Type
对象
第
8
章
集合与范式
1
、非泛型集合
将成员存储为
Object
类型的实例,可以存储任何类型的元素,同时会增加装箱拆箱的性能开销。
命名空间:
System.Collections
ArrayList
类——动态数组
Add AddRange Remove RemoveAt
Hashtable
类——哈希表
名值对
(类似于字典)
Add Keys Key Value
Stack
类——
堆栈
后进先出
Push
入栈
Pop
出栈
Peek
弹出最后一项不删除
Queue
类——
队列
先进先出
Enqueue
入队
Dequeue
出队
Peek
弹出最后一项不删除
泛型集合
命名空间:
System.Collections.Generic
泛型可以存储任何类型的元素,同时类型安全,又省去装箱拆箱的性能开销。
List<T>
类
Dictionary<K,V>
Stack<T>
Queue<T>
第
10
章
类和方法
所有的类都继承于
System.Object;
类的成员
:
数据成员:常量、字段
函数成员:方法、属性(被封装的字段)、索性器、事件、构造函数、析构函数
方法访问修饰符:
public internal
(只可以被本程序集内所有类访问)
protected private
(默认)
类访问修饰符:
public internal
(默认)(只可以被本程序集内所有类访问)
protected private
方法参数:值参数。引用型参数
ref
。输出参数
out
。数组型参数
params
方法重载
成员变量和局部变量的区别
对象的生命周期
第
11
章
属性和索引器
字段(其实就是一个变量):
域或成员变量(在类成员中,用于存储属性值),实现数据的传递功能。
private
字段和常量作为
数据成员
(字段和常量和事件)可以直接被访问,而属性不能直接进行访问,必须通过访问器
set get
属性是对字段的封装,字段的延伸,是类对外的特性。
public
访问修饰符
数据类型
属性名
静态属性:应用于整个类而不是类的实例,只能访问类的静态成员
访问修饰符
static
数据类型
属性名
索引器:
访问修饰符
数据类型
this
【数据类型
标识符】
,只能用于类的实例,不能再类上直接使用。
对他们的访问是通过其所属对象进行的,必须用
this
不能是静态,参数只能是传值类型,也可多态。
静态成员:静态数据成员变量,静态成员方法
第
12
章继承和多态
继承:(不允许多继承)
class
父类名称
{}
虚方法(可以由子类重写的方法):访问修饰符
virtual
方法返回类型
方法名()
class
子类名称:父类名称
{}
重写父类方法访问修饰符
override
方法返回类型
方法名()
base :
挂接父类的构造函数签名,代表将数据传递到父类构造函数(调用);
提供对父类的访问;
静态成员函数
中不能使用
base
;
静态成员
为该类及子类所共有;
成员变量、方法的隐藏:
new
密封类:
sealed
不能做基类,不能是抽象类(为了派生子类),为了防止派生
密封方法:
防止派生中子类重写该方法;
多态:
同一实现接口,使用不同的实例而执行不同的操作;
使用虚函数实现动态多态:
父类引用指向子类对象;
子类重写父类虚方法
;
父类引用调用被重写的方法;
第
13
章
抽象类和接口
抽象类:
public abstract class MyClass{}
在不需要创建父类对象,而且父类中某些方法不需要有方法体时就用抽象类和抽象方法即可;
抽象类不能创建对象;
方法和属性都没有具体实现,使用
override
重写方法和属性
;
专门用于派生子类
;
子类必须重写抽象方法
override
,否则,子类仍是抽象类;
抽象方法
:
public abstract void MtMethod();
不能定义为
private
,因为要被子类所重写,可以定为
protected
;
方法体不能有实现代码;
包含抽象方法的一定是抽象类,但抽象类中的方法不一定是抽象方法
接口:(“纯”的抽象类)方法特征的集合
public
interface
IFly
()
允许多继承;
不允许包含字段
;
所有的方法默认都是
public abstract
,
不允许加访问修饰符
;
实现接口的类,
不需要标注
override
,访问修饰符必须是
public
第
14
章
异常处理
System.Exception
异常:在程序运行过程中所发生的不正常的事件,中断程序的运行。
错误:语法错误、逻辑错误、运行时错误
处理异常:
try catch finally throw
自定义异常:继承于
ApplicationException
第
15
章
文件操作
System.IO
Directory :Exists()
CreateDirectory() Move() Delete()
DirectoryInfo: Exists Creat()
MoveTo()
Delete()
以上是做了一个整体的总结,之后将放上部分章节的内容
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/article/detail/40283?site
推荐阅读
article
软件工程
学生
信息管理系统
结构化的
需求
分析_
学生
信息管理系统
软件工程
...
1.实验目的1)完成毕业生就业服务系统整个
需求
分析工作;2)掌握结构化数据流分析技术;3)进行业务
需求
分析、用户
需求
、功...
赞
踩
article
1000以内
的
回文
数
_杭城
有
学校
带
学生
玩
扑克、
数
糖果
...
“云课堂”下
的
数
学很
有
趣!这些
数
学
游戏
,...
杭城开启“云课堂”
数
日,牛牛君默默关注了线上开课情况,发现趣味不少。比如说小学低段
的
数
学,
学校
大多提倡“
玩
”“悟”“探索...
赞
踩
article
【
Linux
】
nohup
命令
使用...
nohup
是
Linux
和Unix系统中的一个
命令
,其作用是在终端退出时,让进程在后台继续运行。它的全称为“no hang...
赞
踩
article
【
微软
Azure
认知
服务
】零
基础
搭建
微软
Azure
AI
认知
服务
实验
分享...
Azure
人工智能
认知
服务
实验
Azure
认知
服务
(语音合成产品系列)是
微软
云
服务
里面的明星产品,基于行业领先的Hifi-...
赞
踩
article
2023 一带一路暨
金砖
国家
技能
发展与
技术创新
大赛一
计算机
软件测试
规程_
金砖
大赛
软件测试
...
赛项名称:
计算机
软件测试
赛项级别: 中国赛区国内赛赛项组别: 高职组 中职组赛项归属产业: 电子信息大类。_
金砖
大赛软件...
赞
踩
article
openssl3.2 - 官方
demo
学习 -
pkey
-
EVP
_
PKEY
_
RSA
_
keygen
...
官方指出 :
RSA
key 如果小于2048位, 就属于弱key官方
demo
中, 给出的默认key长度为4096位从名...
赞
踩
article
1.
k8s
基本
使用
(
测试
加
分)...
Pod是一组紧密关联的容器集合,支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的...
赞
踩
article
unity
3d
-导出到
ios
报错
_
unity
转
ios
接入
taptap
防沉迷
报错
...
Unity-iPhone is automatically signed for development, but a ...
赞
踩
article
C++-
windows
-
linux
-
linux
deployqt打包QT
应用程序
...
linux
deployqt 打包QT 程序C++-
windows
-
linux
-
linux
deployqt打包QT
应用程序
...
赞
踩
article
Android
Studio 创建
aidl
文件时
的
问题,
参考资料
《
Android
的
开发艺术探索》_
as
...
最近在看任玉刚老师
的
《
Android
的
开发艺术探索》,看到
aidl
这一章,就手动跟着老师
的
讲解敲一下代码。 首先是按照老...
赞
踩
article
1.6
计算机网络
的
性能指标
...
常用的
计算机网络
的
性能指标
有7个:速率、带宽、吞吐量、时延、往返时间、利用率、丢包率1.6
计算机网络
的
性能指标
...
赞
踩
article
微信
小
程序
健身房
私教
预约
系统设计与实现...
黄菊华老师《Vue.js入门与商城开发实战》《
微信
小
程序
商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石...
赞
踩
article
在众多
的
材质
中选择
灰口
铸铁
铸造
划线
平台
、
铸铁
平台
等
的
原因——河北北重...
耐磨性好:北重机械
灰口
铸铁
具有较高
的
耐磨性,能够抵抗摩擦和磨损。这对于制作需要经常被磨擦和刮擦
的
平台
和设备非常重要,如划...
赞
踩
article
Android
Menu
菜单
-
菜单
无法
显示
_
android
跳转到
menu
界面
但是不
显示
...
Android
Menu
菜单
问题描述:代码中明确写了添加
菜单
布局的代码 (排除添加布局错误的情况),为什么还是不
显示
菜单
...
赞
踩
article
Unity
从入门
到
主程
学习
路线(内含
学习
资料)干货超全_
csdn
林新发
unity
路线...
复制粘贴每天把
学习
中遇
到
的问题最后的解决方案总结一下,想想为什么出现了这个错误,加深自己的印象,是什么导致了这个错误,犯...
赞
踩
article
2020面试 总结_
rebuild
online
parallel
4
nologging
...
2,索引:什么叫 revised key index?反键索引是BTree索引的一个分支,它的设计是为了运用在某些特定的...
赞
踩
article
深入
理解
Flink
(二)
Flink
StateBackend
和
Checkpoint
容错
深入
分...
状态
和
精准一次是
Flink
流式计算引擎的一大特色,本章节从状态、状态后端、checkpoint 算法逐步为读者展示了...
赞
踩
article
android
之使用
Soap
协议调用
webservice
实现手机归属地查询_
soap
userid
...
一:Web服务(
webservice
)是局域网和因特网上能够支持机器与机器之间互操作的软件系统。它有一个用WSDL描述的...
赞
踩
article
S
table
Diffusion
超
详细
教程!从0-1入门
到
进阶_如何将
table
diffusio...
s
table
diffuion_如何将
table
diffusion
集成
到
自己
的
软件
中如何将
table
diffu...
赞
踩
article
Jenkins 升级版本和对应JDK说明_
jenkins
和jdk版本对照...
在 2.346.1 本本后就支持 JDK 11、12了。如果不需要,那么就下载支持JDK1.8最后war包即可。在JDK...
赞
踩
相关标签
软件工程
需求分析
1000以内的回文数
linux
运维
服务器
1024程序员节
microsoft
azure
计算机视觉
云计算
压力测试
openSSL
kubernetes
docker
java
c++
开发语言
计算机网络
微信小程序
小程序
材质
制造
Android Menu菜单-菜单无法显示