C#___语法概念部分

文章内容来源

文章是B站UP游戏谭的视频内容笔记。如有侵权立即删除。

链接: [link]https://www.bilibili.com/video/BV1sy4y1u7cw/?p=5&spm_id_from=pageDriver&vd_source=bef58c6219c539b73b93f44bae68c923)

C#的起源

console.readline \writeline

作用:在控制台输入或者输出一段字符;

Q:“Console” 控制台是什么?
A:在 Windows操作系统中,控制台称为"命令提示符"窗口并接受 MS-DOS 命令。

关键字

ref

作用:地址传递。区别于值传递。
示例:
在这里插入图片描述
C# 是没有指针的概念的。所以想实现地址传递,就得使用"ref"关键字.

pubulic private static

作用:定义作用范围;pubulic 表示可以在Class之外访问。 private 表示只能在class之内访问。

static概念:静态声明。可以声明属于类型本身而不属于特定对象的成员。不需要实例化就可以直接使用的变量。

partial

概念:部分的。是一部分类的定义。在大型项目中,在不同的独立文件中均有同一个类的部分定义,实现多程序员共同开发。

public partial class Employee
{
    public void DoWork()
    {
    }
}

public partial class Employee
{
    public void GoToLunch()
    {
    }
}

继承

概念:子类继承父类的属性。class b: a{}; 是一个由普通到特殊的类型定义的过程。比如“人"是"老师"的父类。
作用:父类是一个公共类型。子类是一个特殊类型。子类在父类的基础上去修改父类的变量定义。可以减少重复代码。

object

概念:是所有类型的基类。

interface

概念:接口,声明所有可以被调用的函数。

abstruct

概念:抽象声明,即在父类中没有实现,需要在子类中去实现。

virtual

概念:虚函数,类似C语言中的weak 可以重定义。

泛型

概念:将变量类型定义为可变的类型,减少“相似”类型的定义。在实例化对象时指定变量的类型。
示例:pubulic class GVector{}; GVector gf = new GVector (0,1);
其中尖括号内的T就是可变的变量类型,在实例化对象时指定;
在这里插入图片描述

变量类型

与C不同的变量类型:string、char.

作用:string 定义字符串变量。 char 用来定义字符。
举例:string name = “Cloop”; char Number = ‘M’;

重点: 对于字符串的操作是很方便的。例如获取长度,获取子字符串,字符串内容替换等等。
举例如下: length_tmp = name.length; // 获取字符串name的长度

还可以调用函数:
string name_tmp = name.substring(2,3); // 获取子字符串,从第二个字符开始,取三个字符;

Q:C#和C有没有变量类型差异?
A:

class 和 struct 的区别

概念:Class 是引用类型,定义在堆;struct 是值类型,定义在栈。内部定义的内容是相同,变量或者函数。
应用场景:

堆和栈中的变量

CLASS

定义:里面可以定义变量,函数等。
作用:

容器

在这里插入图片描述

函数指针

概念:保存多个函数的指针,实现多个函数的调用。使用+=、-=操作;
示例:delegate float GeneralFunc (int a, int b); // 符合这样形式的函数指针都可被保存。

运算符

Q:C#和C 语言有没有运算符差异?

异常

概念:程序编写不当,可能会出现异常。对异常不处理的话,会导致程序退出。
方法:使用try{} catch{}; 语句来实现异常捕获,对异常进行处理。
在这里插入图片描述
示例:如果obj是null空指令,后面使用.ToString()函数,是错误操作,会出现NullReferenceException错误。catch操作能捕获到这个错误,并且给出执行语句,避免程序异常退出。
在这里插入图片描述
throw
概念:异常抛出。当程序被调用时发生的异常不想处理时,就将异常抛出,让调用人来处理。

finally
概念:异常处理的一种方法。作用是无论如何,即使出现异常也会处理的内容。

索引器

概念:

C#应用场景

C# 的任务调度原理

在这里插入图片描述

如何调试C#代码

技巧:灵活使用断点和条件断点,观察变量值。

如何对C#代码增删改查

如何用C#实现一个界面应用

C#界面应用常用的函数?

C# 如何实现多线程,如何构思?如何实现?

方法:实例化多个线程的对象,并且初始化对象。更推荐使用task;
示例:thread t = new thread(
// 操作1;
// 操作2;
);
原理:多线程就是利用CPU的多核。
同时执行
同时执行+等待状态;

task:使用task来实现任务的调度。
await;等待当前任务执行完成,执行后面的任务。
list:使用动态数组来实现多任务的执行顺序。
拉姆达表达式??

C# 的优势

C#与.NET的关系?

.net 是框架,c#是在框架上的开发语言。

C#的常用控件

C#的技巧