![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 78
绿色盒子
热情的冒烟的绿色的木头的盒子
展开
-
自学C#之路1——Hello World
介绍一下我看的书叩响C#之门在百度百科中对这本书的介绍是这样的图书简介图中划红线的地方是这本书最吸引我的地方;书中插图初识:C# 不要傻傻地读作“C 井”,而应酷酷的读做“C Sharp”。它的含义是在 C++的基础上再扩展两个+,即 C++++。从名字就可以看出, C#是从 C++的基础上发展而来的。我使用的IDE是Visual Studio 201...原创 2018-11-20 15:58:36 · 4372 阅读 · 0 评论 -
自学C#之路13——多线程
操作系统以进程(Process)的方式运行应用程序,进程不但包括应用程序的指 令流,也包括运行程序所需的内存、寄存器等资源。在一个进程中我们可以创建多个个线程(Threading)来实现多个任务“同时”进行的目标。注:在单核 CPU 的计算机操 作系统将自动以“时间片轮转”的方式交替执行线程指令,多核心 CPU,使得线程能够真正的实现同步执行。在 C#中,线程由 System.Thre...原创 2018-11-22 13:41:48 · 299 阅读 · 0 评论 -
自学C#之路12——绘图
提到绘图在MFC中很容易想到GDI,GDI提供了很多基本的绘图操作。但是难以完成复杂的绘图。所以微软额外提供了Microsoft Windows GDI+。Microsoft Windows GDI+是为 C/C++开发者提供的一个基于类的应用程序编程接口(API)。 使用前需要外部链接。但C#背靠.net好乘凉。在.NET 中直接通过 GDI+(Graphics Device Interfa...原创 2018-11-21 14:45:31 · 505 阅读 · 0 评论 -
自学C#之路11——事件
上一篇文章我们讲到委托,委托其实就可以看成一类函数的类型定义。委托中的代码实例将委托和方法都放在一个类中,这样做是为了便于理解。但实际应用中 public void CircusStart(AnimalPlay animalPlay, string name)在一个类中public void DogPlay(string greetings)在另一个类中,并且面向对象设计,...原创 2018-11-21 10:26:38 · 234 阅读 · 0 评论 -
自学C#之路10——委托
本篇以一个马戏表演实例开始 看到上面这段立马就想起来C++中的回调函数,感觉很像 代码结构几乎一致,实现的效果也和类似。请忽略两只狗长的不一样!那这里我就是这么理解的回调函数的意义就是把函数指针作为参数传入回调函数,说到底委托和回调函数都是给一类结构相同的函数(返回值和参数相同)定义一种类型。和给整数定义为int类似。函数一旦有类型就能够作为参数...原创 2018-11-20 16:22:06 · 204 阅读 · 0 评论 -
自学C#之路9——windows窗体应用初识
在“项目类型”栏中选择“Visual C#”下的“Windows”选项,然后在“模板” 栏中选择“Windows 应用程序”就能创建一个Windows窗体应用程序。 右击窗 体编辑器中的窗体,选择“查看代码”命令,就打开了一个名为“Form1.cs”文件public partial class Form1 : Form 在 Form1 类的定义中使用了 partial 关键...原创 2018-11-20 16:21:02 · 347 阅读 · 0 评论 -
自学C#之路8——异常
异常(Exception)就是程序执行期间发生的问题。无论编程技术有多好,程序都难免 出现异常情况,而且错误发生的原因并不总在程序员,比如用户输入了非法数据,要读取 的文件不存在等等。如果不处理这些异常,程序可能会崩溃,但如果在程序中过多的处理 这些异常,会使程序结构不清晰。为此,C#为我们提供了一套完美的方案,让我们在程序 主线之外处理异常,不但使程序更加健壮、更加容错,而且保持了程序结构的清晰...原创 2018-11-20 16:19:30 · 264 阅读 · 0 评论 -
自学C#之路2——枚举,数据结构,数组
枚举 C#中的枚举与C++中没有区别,不做过多学习;数据结构数据结构几乎与C++有些不一样左(C#)右(C++)上面那张图是C#和C++在结构定义方面的差别在习惯C++模式之后使用C#的结构体一度感觉很烦,C#如果要改变变量的默认访问权限,必须给每个变量都得添加对应关键字。使用上的烦恼就更大了;在C++中使用结构体,一般我会将结构体全都定义到一个头文件...原创 2018-11-20 16:00:19 · 261 阅读 · 0 评论 -
自学C#之路7——装箱和拆箱
C#中的变量分为值类型和引用类型两种。值类型变量存储在栈上,比较简单;引用型变量存储在堆上,比较复杂。 int n = 123; Object obj = n; //装箱 string s = obj.ToString(); 这里 C#在暗中进行了魔术转换——装箱(Boxing)。装箱操作能把值类型数据打包到引用型变量中,使我们能够像使用对象一样使用值类型变量。 系统先创建...原创 2018-11-20 16:15:01 · 227 阅读 · 0 评论 -
自学C#之路6——.NET
本文基本为概念,请做好无聊的准备NET 框架(.NET Framework)是微软为开发应用程序而创建的一个富有革命性的全 新的编程平台。如何理解它呢?最简单的方式是把.NET 框架理解为代码的执行环境,一 方面它管理代码的执行过程,另一方面它为代码提供类库支持1.公共语言运行时 用.NET 平台编写的代码一般都在公共语言运行时(Common Language Runtime,CLR) 的...原创 2018-11-20 16:12:35 · 1128 阅读 · 0 评论 -
自学C#之路5——接口
接口用关键字 interface 定义,接口的名称习惯上以字母 I 开头。一般情况下,接口中 只能包含成员的声明,不能有任何实现代码。接口的成员总是公有的,不需要也不能添加 public 等修饰符,也不能声明为虚方法或静态方法。 //接口:银行账户 interface IBankAccount { //方法:存款 void PayIn(decimal amo...原创 2018-11-20 16:11:48 · 278 阅读 · 0 评论 -
自学C#之路4——面向对象(继承)
“一生二,二生三,三生万物”,世间万物往往具有因果衍生关系。面向对象编程吸取 了这种思想,可以从现有的类衍生出新的类,类类相生,生生不息。那么如何由一个类衍 生出新类呢?我们创建一个脊椎动物类(Vertebrata),然后由它派 生出哺乳动物类(Mammal),最后再由哺乳动物类派生出人类(Human)。 class Vertebrata { //私有成员 ...原创 2018-11-20 16:08:10 · 188 阅读 · 0 评论 -
自学C#之路3——面向对象(类)
面向对象面向对象的概念最早出现在Simula 67中,流行于C++,在Java等面向对象语言相继诞生之后达到高峰。面向对象的诞生是软件发展的必然选择。相对于过程语言,面向对象解决的是模块之间的解耦,模块的独立性大大的降低了软件代码量越来越大来带来的开发和维护的复杂程度。面向对象的基本概念主要有类、封装、接口和对象 创建类并实例化 上图创建了这么一个类,可以看出...原创 2018-11-20 16:01:13 · 198 阅读 · 0 评论 -
自学C#之路14——线程同步
线程同步也称线程管理。在线程的生命周期中,线程的状态并非一成不变的,它可能经历多种状态。线程的状 态由 Thread 类的 ThreadState 属性表示。线程同步就是需要我们手动设置线程的不同状态来实现。在大多数时候,计算机中都会有多个线程并发运行。有些线程之间是没有任何联系的, 它们各自独立运行,互不干扰,这类线程称为无关线程。而有些线程之间则是有联系的, 比如一个线程等待另...原创 2018-11-22 15:03:00 · 197 阅读 · 0 评论