C#学习笔记
学习大表哥
这个作者很懒,什么都没留下…
展开
-
C#学习笔记--使用OledB对Excel进行简单输出
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 1.先看一下我们需要输出的Excel文件内容 2.首先,为了便于操作,我将Excel文件置于项目文件中,并且将其设置成如果较新则复制 3.接着就是对文件进行操作,话不多说,上代码 using System; using System.Collections.Generic; using System.Data; using S...原创 2020-02-01 14:27:34 · 197 阅读 · 0 评论 -
json简易案例
首先,先写一个json文件 [ {“name”:“天下无双”,“id”:1,“damage”:100}, {“name”:“一箭穿心”,“id”:2,“damage”:500}, {“name”:“百步穿杨”,“id”:3,“damage”:700} ] 在这个案例中,我们引用LitJson class Program { static void Main(string[...原创 2020-01-28 13:39:00 · 539 阅读 · 0 评论 -
C#学习笔记--使用FileStream复制文件
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 话不多说,开始操作 首先看一下我们要复制哪个文件(图片中的IMG_0004.PNG文件) 步骤1.首先我们将图片拖入到工程文件中,并且设置其属性 属性>>复制到输出目录>>如果较新则复制 步骤2.代码部分>>创建两个文件流,一个是读取流,一个是写入流 //1.使用F...原创 2019-12-30 12:35:22 · 890 阅读 · 2 评论 -
C#学习笔记--线程争用条件与死锁
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 争用条件 当多个线程同时对一个对象进行操作时,可能就会出现争用条件的情况,这么说可能大家没法理解,直接上例子 例: 先声明一个对象,其中有一个int值默认为5,还有一个ChangeId方法,在这个方法中,会先对nameId进行自增操作,再判断如果nameId为5的话,就输出“nameId等于5”。 class Class1 ...原创 2019-12-23 12:31:47 · 259 阅读 · 0 评论 -
C#学习笔记--使用任务开启线程
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 案例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace 使用任务开启线程 { ...原创 2019-12-23 11:36:34 · 117 阅读 · 0 评论 -
C#学习笔记--使用线程池开启线程
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 什么是线程池 案例:使用线程池开启多个线程,在线程中输出当前线程的ID 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using S...原创 2019-12-23 10:28:48 · 424 阅读 · 0 评论 -
C#学习笔记--使用Thread开启线程
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 这里我们用4个案例来演示 情况1:使用Thread对象开启线程,线程中的方法是无参数无返回值的方法 class Program { static void DownLoad()//需要开启线程的方法 { Console.WriteLine("开始下载文件"...原创 2019-12-08 20:44:06 · 320 阅读 · 0 评论 -
C#学习笔记--BeginInvoke和EndInvoke的基本用法
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 如果你想开启一个耗时较长的操作(例如下载文件),但是你又不想这个耗时长的操作会影响接下来其他的操作,那就可以使用BeginInvoke去开启一个单独的线程,让这个耗时长的操作自己玩去吧~(耗时长的操作在这个单独的线程中执行)正常操作继续进行 接下来我用一个简单的流程图表示开启线程的作用 BeginInvoke方法触发你的异步方法...原创 2019-12-07 20:40:23 · 980 阅读 · 0 评论 -
C#学习笔记--进程和线程
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 什么是线程 线程与进程的简单描述 开启线程的方法 (1) 通过委托开启线程 注意:一般来说,为了程序的顺利运行,我们会为耗时多的操作单独开启一个线程去执行 例1(委托指向的是无返回值无参数的方法): namespace 进程和线程 { class Program { //一般来说,为了程序的顺利运行,...原创 2019-12-04 20:56:55 · 105 阅读 · 0 评论 -
C#学习笔记--正则表达式的简单应用
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 正则表达式的常用函数 1. Replace(string input,string pattern,string replacement) 将所有符合正则表达式的字符串替换成另一个字符串 注意:input是源字符串,pattern是匹配的条件,replacement是替换的内容,就是把符合匹配条件pattern的内容转换...原创 2019-12-04 19:32:33 · 103 阅读 · 0 评论 -
C#笔记--创建自定义特性类
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 例: 创建一个特性类 注意点: 1.自定义特性类的名字后缀以Attribute结尾 2.需要继承自System.Attribute 3.一般情况下声明为sealed 4.一般情况下 特性类用来表示目标结构的一些状态(定义一些字段和属性,一般不定义方法) namespace ConsoleApp29 { //注意点: ...原创 2019-12-04 17:01:19 · 221 阅读 · 0 评论 -
C#学习笔记--字符串的常用方法
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 1.CompareTo()方法,比较字符串的内容 依次比较两个字符串中的每一个字符的ASCII码,如果str1和str2相等,返回0,如果str1的字符在str2之前,返回-1,如果str1的字符在str2之后返回1 附:什么是ASCII码,大家可以百度一下,我在这里放一个链接,可以查询ASCII码 ASCII查询 扩展资料: 常...原创 2019-12-04 11:58:44 · 144 阅读 · 0 评论 -
C#学习笔记--反射和特性
本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。 放射和特性 Type的常用方法** Type type =myclass.GetType();//通过GetType方法可以获得对象所属类的type对象 type.Name //获取类的名字 type.Namespace//获取类的命名空间 type.Assembly//获取程序集 type.GetFields//获取类的所有...原创 2019-12-04 10:33:49 · 99 阅读 · 0 评论