【C#Winform学习笔记】教程文章相关的互联网学习教程文章

C#学习笔记(二)【代码】

表达式 编程语言的表达式:用于求值的表达实体,最小的算法元素 C#对表达式的定义: (一个或多个操作数)和(0个或多个操作符组成) 获取类型名称:xxx.GetType().FullName 语句 定义:最小的独立元素,表达式可以组成语句,语句是高级语言才有的,低级语言只有指令。 高级语言中的表达式对应低级语言中的指令,语句等价于一个或一组有明显逻辑关联的指令。 编程:使用语句编写程序 变量的作用域: 字段 什么是字段:一种表示与对象或...

C#学习笔记4-飞行棋项目【代码】

飞行棋项目前言飞行棋游戏介绍飞行棋游戏编写 前言 前天才说的每天学习八小时,没想到昨天就食言了,才学习了四个小时,今天早上七点半起来继续学习飞行棋项目,最终成功编译出来了。由于电脑字符问题,最终显示出来的有点丑,等学完C#后继续学习QT可学着美化一下。 飞行棋游戏介绍 此次编程实现的飞行棋和我们小时候玩的有些不一样,规则大致类似,但是我在学习过程中的飞行棋大大简化了过程;当前编写的程序适合双人玩(也可改成...

C#接口与抽象类学习笔记【代码】【图】

本笔记摘抄自:https://www.cnblogs.com/solan/archive/2012/08/01/CSharp06.html,记录一下学习过程以备后续查用。 摘要: 抽象类:是一种特殊的类,可以定义具有实现的方法,也可以定义未实现的方法契约,本身不能被实例化,只能在派生类中进行实例化。接口:对一 组方法签名进行统一的命名,只能定义未实现的方法契约,本身也不能被实例化,只能在实现类中进行实例化。 二者都可以有部分数据成员(如:属性),它们...

【C#学习】笔记(1):Math类之科学计算

用Math类进行一些简单的科学计算,包括幂数,指数,对数等的计算 命名空间using Systemdouble m, n; m = Math.Exp(0.5); //自然对数e的0.5次方 n = Math.Exp(30); //自然对数e的30次方 n = Math.Log(3); //以e为底,3的对数 n = Math.Log(125, 5);//以5为底,125的对数 n = Math.Log10(1000);//以10为底,1000的对数 n = Math.Pow(8, 2.5);//8的2.5次方n = Math.pow(10, -1);//10de -1次方 n = 1.34e-3; //科学计数法,表示数字 Ma...

C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻【代码】【图】

前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻。如果没有看过前面的文章,请到我的博客首页查看。前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要采用分层架构,就拿最简单的三层架构来说吧,我们通常把业务逻辑写在DLL中,现在就来写一个例子,看看如何在不编译整个项目的情况下,轻松的实现扩展。先透露一下,我们只要添加一个DLL就可以了。这里就以银行为例子吧,首先...

C#可扩展编程之MEF学习笔记(五):MEF高级进阶【代码】

好久没有写博客了,今天抽空继续写MEF系列的文章。有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后。 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用的基本已经讲完了,相信大家已经能看出MEF所带来的便利了。今天就介绍一些MEF中一些较为不常用的东西,也就是大家口中的所谓的比较高级的用法。 前面讲的导出都是在每个类上面添加Export注解,实现导出的,那么有没有一种比较简...

C#线程学习笔记六:线程同步--信号量和互斥体【代码】【图】

本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/23/Mutex_And_Semaphore.html,记录一下学习过程以备后续查用。 一、信号量(Semaphore) 信号量(Semaphore)是由内核对象维护的int变量。当信号量为0时,在信号量上等待的线程会堵塞;信号量大于0时,就解除堵塞。当在一个信号量上等待 的线程解除堵塞时,内核自动会将信号量的计数减1。在.NET下通过Semaphore类来实现信号量同步。 Semaphore类限制可同...

C#学习笔记-2019-12-10

泛型的使用泛型只能使用在类中或者函数中或者委托中,实际使用时必须指明T的类型 集合类型take、Select、Where等函数的使用此知识点牵涉到LINQ查询,需要在命名空间内引用System.LINQ命名空间,才能激活这些函数Select 和Where后接的是函数,可以使用lamda表达式或者引用函数的引用名其中Select是返回集合中每个对象的特定属性的集合,传入的函数返回值为原对象的特定属性Where是返回符合某一条件的元素的集合,传入的函数返回值为...

c#学习笔记——正则表达式(RegularExpression)

一、什么是正则表达式?英文Regular Expression,是计算机科学的一个重要概念,她使用一种1数学算法来解决计算机程序中的文本检索,匹配等问题, 正则表达式语言是一种专门用于字符串处理的语言。在很多语言中都提供了对它的支持,c#也不例外,它可以帮我们解决下面的问题:1,检索:通过正则表达式,从字符串中获取我们想要的部分 2,匹配:判断给定的字符串是否符合正则表达式的过滤逻辑 你可以认为正则表达式表述了一个字符串的...

C#学习笔记04--排序/查找/二维数组/交叉数组【代码】【图】

一. 冒泡排序(重点) 思路: 每次比较把较小的放在前面, 大的放到后面; 图解:下图是最坏情况下的排序 ` 冒泡排序m个元素, 就有(m-1)趟排序, 第一趟m-1次, 第二趟 m-2次.... 总结下来就是趟数加上次数就等于总的元素数; 核心算法: int[] intNums = new int[] { 5, 4, 3, 2, 1 };int temp;for (int i = 0; i < intNums.Length - 1 ; i++){for (int j = 0; j < intNums.Length - 1 - i; j++){if (intNums[j] ...

c#扩展方法学习笔记【代码】【图】

C#扩展方法,简单的理解是不修改原来类的源代码的情况下,为某个类添加某个方法。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this修饰符为前缀。 有一个典型的应用场景,就是程序二开。比如别人的DLL不公开源代码,要想在DLL某个类中添加一个新方法的话,是不太可能的。但是可以使用扩展方法,达到类似的目的。 1、新建两个类文件:Rectangl...

C# 学习笔记 多态(一)虚方法【代码】

在面对对象编程中,类的三大特性分别为封装,继承,多态。其中多态的具体实现,依赖于三个方法,也就是虚方法,抽象类和接口。多态的具体作用是什么呢?或者说多态的存在有什么意义呢?多态的存在有效的降低了程序的耦合度,在使用的时候,不仅可以表现大家都有的共性,还能在必要的时候突出一些特殊的的个性。那么如何用上文三个方法实现多态呢?今天先说下虚方法:首先,我们定义一个人类的基类。其中包含了这个人的姓名和国籍。...

C#学习笔记【八】——正则表达式

正则表达式(Regular Expression)是计算机科学的一个重要概念,它使用一种数学算法来解决计算机程序中的文本检索,匹配等问题,正则表达式语言是一种专门用于字符串处理的语言。在很多语言中都提供了对它的支持,c#也不例外,它可以帮我们解决下面的问题: 检索:通过正则表达式,从字符串中获取我们想要的部分 匹配:判断给定的字符串是否符合正则表达式的过滤逻辑 可以认为正则表达式表述了一个字符串的书写规则,如...

C#学习笔记【九】——委托之一

9.1委托的声明与赋值 委托(delegate)是一种存储函数引用的类型。 委托的定义指定了一个返回类型和一个参数列表(告诉编译器这个委托可以指向哪些类型的方法)。 定义了委托之后,就可以创建该委托的实例(声明该委托类型的变量),接着就可以把一个返回类型和参数列表跟委托一样的函数赋值给这个变量。 委托的使用分两步: 定义 声明(变量) 结构体,枚举的使用同上都分为定义和声明。整数类型数组类型字符串类型都是直接声...

C#学习笔记【二】——数据类型

2.1数值类型 byte: int: long: float:12.3f doube: 2.2非数值类型 char: bool: true,false string: 对字符串的处理 创建字符串 string s = "www.devsiki.com"; 获取字符串长度 s.Length(属性) 比较字符串是否一样 s=="www.devsiki.com" 字符串连接 s="http://"+s; 使用类似索引器的语法来取得字符串中的某个字符 stringName[index] s[0] s[3] 关于string字符串:string创建的字符串实际...