复习c#

FPS 每分钟刷新率
进程:应用程序执行和保存资源的调度单位
线程:进程承载的应用程序调度资源的最小单位
锁:线程为解决资源争夺问题而建立的一个互斥的引用类型对象
线程同步:让线程之间使用的共同资源有序、正确的进行

lock(引用类型对象)
{
}

Monitor.Enter(引用类型对象);进入锁
Monitor.Exit(引用类型对象);释放锁

死锁:某个锁因为某种原因无法得到释放。
死锁可能导致程序无法继续运行

复习:

第一章:
.NET:微软提供的一个开发平台
c#:是.NET平台支持的一个语言
.NET framework一个服务器
VS:Vitual Studio 开发工具 IDE继承开发环境
Nottepade++ 开发工具 Mono.NET

.NET=CLR+公共类库(一组工具包)
CLR:公共语言运行时=CTS(通用类型系统 Common Types System)+CLS(公共语言规范 Common Langudage System)

编译原理:由各自的语言编译器将源代码编译成中间代码(IL)储存在.exe.dll文件中,在运行时价格中间代码转换成机器代码

第二章:数据类型
值类型和引用类型

值类型:结构 枚举
引用类型:类 接口 委托

结构:Int32(int)Int64(long) Double(double) Boolean(bool) Char(char) DateTime Color Timespan
枚举:窗体的拉伸
类:Stopwatch Console Form Object String

引用类型可以为null null表示没有存放地址

类型的转换:取值范围小的类型和取值范围大的类型进行运算,得到的结果是取值范围大
数组:下标 数组 数组项

第三章:表达式和操作符

一元操作符:++ -- .
二元操作符;+ - * / > < ==
三元操作符:(?:)三目运算符

第四章:流程控制

分支选择:if switch(可以写bool 数字 char string类型) case后面只能用常量
循环: while for foreach
跳转:goto(面向对象禁止使用goto) break continue

第五章:面向对象

OOP:Oriented Object Program 面向对象开发
OOD:Oriented Object Designer 面向对象设计

使程序满足高内聚,低耦合

三大特征:封装 继承 多态

属性 字段 方法 构造函数
修饰符:public private protected internal
默认修饰符:类:internal 字段/属性/方法:private

构造函数:隐式
1.保证创建的对象的逻辑正确
2.要满足所有的情况
3.尽量让调用者调用简单

方法签名:返回类型 方法名 参数列表

参数类型 参数名
形参(没有值)
实参

this:当前对象,当前是什么类型就是什么类型
构造函数:创建对象的时候运行 对象初始化器

重载:一个类里有多个相同的参数名,返会类型相同,但是参数数目不同或者参数类型不同

静态static:只能使用类名去调用
static修饰类的话:静态类 静态类中只能有静态资源

static:在静态资源内部 不能使用静态资源

在非静态的资源内部,可以使用静态资源

面向对象公式:使用一套行之有效的思维模式,保证了前后的思维一致,始终反应现实情况,减少了出错的机率
面向对象开发更关注系统中实体,而不是流程,提高了程序中的可维护性和可扩展性
利于开发人员之间的沟通

面向对象的继承和多态:
继承:
单根性:有且只有一个父类
传递性:a是b的父类,b是c的父类,那么a也是c的父类
继承是为了描述对象之间的从属关系

向上转型:子类可以隐式的转换成父类
向下转型:父类转换成子类,必须要强制转换,不安全,安全的转换用(对象 is 类型 或者 对象 as 类型)

多态的方法(有共同的父类,但是实现的行为不同):
virtual虚资源 有方法体
abstract抽象资源 可以没有方法体,子类必须重写,不能创建对象

不能继承的类:
sealed密封类 static

GDI+图形封装好的接口
Graphics
DoubleBuffer双缓冲

命名规范:
通用的命名规范:非第一个单词的单词首字母必须大写
类名:首字母大写
公共资源:首字母大写
public protected internal:首字母大写
private:视具体规定
参数:首字母小写
变量:首字母小写

单词缩写:所有字母达写

时间: 2024-11-04 07:24:50

复习c#的相关文章

C++基础复习

一. C++与C的比较: C语言是一个结构化语言,它的重点在于算法和数据结构,C语言的设计首先要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到的输出(或实现过程(事物)控制). C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制. 所以C语言和C++的最大区别在于它们解决问题的思想不同,一个面向过程一个面向对象. C++对C的"增强",表现在六个方面: 1.类型检测更为严格. 2.

大量逻辑判断优化的思路——责任链模式复习总结及其和状态模式对比

俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的总结知识点如下: 责任链模式概念和例子 使用的条件 和状态模式的比较分析 责任链的优缺点 纯的责任链和不纯的责任链 javax.servlet.Filter#doFilter()方法源码分析 基于AOP思想,模拟一个拦截器 前面说了一个状态模式,总结过程中发现和这个责任链的使用场景很类似,都是为了解耦大量复杂业务逻辑判断的,那么他们有什么不同呢?回忆状态模式——状态模式允许通过改变对象的内部状态而改变对象自身的行为,这个对象

算法分析与设计复习

算法分析与设计复习 2016年初,研一上学期期末考试前,复习并总结算法分析与设计科目的内容.复习过程参照<算法导论>中文第2版,同时参照PPT,章节划分根据PPT内容 概要: 第一章 概述 第二章 插入排序&分治策略 第三章 复杂度分析 第四章 堆与堆排序 第五章 快速排序 第六章 线性时间排序 第一章 概述 算法的应用范围 算法在诸如生物等诸多领域有其应用 算法的意义 算法在很多情况下让不可能完成的事情变成了可能,让处理的很慢的过程变快. 一个铺垫 一串不全为0的数,怎么取能拿到一段

复习PHP-语言参考-预定义接口

1.Traversable 他是一个遍历接口规范 注意:发现一个有用的函数get_declared_classes,可以以数组形式显示当前脚本下所有已经定义的类名 2.Iterator Iterator迭代器继承自Traversable,是一种遍历对象内容的对象. 你可以自己写一个子类继承自它,并写上具体遍历的方法. Iterator包含:current(返回当前元素),key(当前键),next(下一个元素),rewind(返回至初始元素),valid(检测当前元素是否存在)五种方法. 3.I

underscore 复习 对象函数 篇章

_.partial = function(func) { var boundArgs = slice.call(arguments, 1); var bound = function() { var position = 0, length = boundArgs.length; var args = Array(length); for (var i = 0; i < length; i++) { args[i] = boundArgs[i] === _ ? arguments[positio

数据结构复习之C语言指针与结构体

数据结构指针复习: #include <stdio.h> void main() { int a[5] = {8, 2, 3, 4, 5}; // a[3] == *(3+a) printf("%d\n", *(3+a)); // a[3] 4 printf("*a其实就是a[0]: %d\n", *a); // 8 // 地址是连续的 printf("%p\n", a+1); printf("%p\n", a+2

jsp servlet基础复习 Part1

jsp和servlet的一些基础知识整理,用于备忘. 一.jsp与servlet的基本关系 1.jsp-->web容器-->servlet-->加载进容器的虚拟机执行-->输出执行结果给浏览器端 在这个过程,所有位于<%%>之外的值,都被认为是out.println()中的内容进行直接输出.详细理解看代码 <html> <% //例子说明:servlet和jsp的关系 boolean b = false; if(b){ %> 这里是内容一 <

shell脚本复习

最近公司工作量很小,就复习复习,看起了马哥的视频,感觉马哥讲课讲得特别细.这才是深入到系统的讲解,补充了很多我之前只是了解到皮毛的东西. shell编程:弱类型编程语言 强:变量在使用前,必须事先声明,甚至还需要初始化 NULL: 弱:变量用时声明,甚至不区分类型: 变量赋值:VAR_NAME=VALUE 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量) 关键字: 事先转换成可执行格式 C.  C++.JAVA.C# 动态语言:解释型语言 on the

[Java面试一]面试复习大纲.

一.Java基础部分 (搞定所有技术之后才考虑复习的技术点) 1.数组中的排序问题(笔试或者机试,前者可能性更大) 2.面向对象的理解 3.集合相关的问题,比如hashmap跟hashtable的区别.搞清楚每个集合对象的特性就欧了. 4.多线程启动方式,以及产生死锁的原因和解决办法[多线程问题不是很常问,有精力就复习这块内容] 5.IO流,了解常见的几个流对象以及基本的流操作即可,被机试的可能性比较小. 二.Web基础 (1年工作经验者需要重点复习的技术点) 1.http协议(定义.常见的请求

c#复习-2

输入三个学生的信息学号.姓名.分数从大到小排序 1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 7 namespace 复习CS 8 { 9 class Program 10 { 11 struct Student 12 { 13 public int num; 14 public string C