![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 59
LixiSchool
这个作者很懒,什么都没留下…
展开
-
C# 各种符号用法
【代码】C# 各种符号用法。原创 2023-06-20 17:54:08 · 501 阅读 · 0 评论 -
C# 功能收集
C#功能收集原创 2022-07-15 16:44:01 · 190 阅读 · 0 评论 -
C# 隐式接口和显式接口
C#中对于接口的实现方式有隐式接口和显式接口两种:隐式地实现接口成员创建一个接口,IChinese,包含一个成员 Speak;我们创建一个类Speaker,实现接口Chinese//隐藏式实现例子public interface IChinese{ string Speak();}public class Speaker : IChinese{ public string Speak() { return "中文"; }}这个就是隐转载 2022-03-03 14:41:55 · 1325 阅读 · 1 评论 -
C# 深浅拷贝 深浅克隆
实现System.ICloneable 接口的以下函数 public object Clone() { return MemberwiseClone(); //值类型的话可以达到深拷贝的目的 } [Serializable] class Person:ICloneable { /// <summary> /// 字符串在clone 中类似于值类型的处理方式...原创 2021-11-05 18:58:15 · 157 阅读 · 0 评论 -
C# 对包含数字的文件名进行排序
原文:C# 对目录中的文件名按照数字序号进行排序_Jeffxu_lib的博客-CSDN博客在读取该目录的文件后,文件名将按照0、1、11、12、13、14、..........的顺序来进行排列,而不是上图中的顺序进行排列,此时可以通过调用Windows的 Shlwapi.dll 来对读取后的文件进行排序。1、先创建一个继承自IComparer 的类,可以将该类的访问属性设置为 public (若设置为私有,则只能在该工程中被使用)using System;using ...原创 2021-10-29 10:09:21 · 1454 阅读 · 0 评论 -
C#之DataSet和DataTable 的介绍
1.DataSet是什么DateSet在c#程序中建立一个临时数据库下图所示:概述 可以把DataTable和DataSet看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,那你可能要问:我不用这种容器,自己读到变量或数组里也一样可以存起来啊,为什么用容器? 原因是,这种容器的功能比较强大,除了可以存数据,还可以有更大用途。举例:在一个c/s结构的桌面数据库系统里,你可以把前面存放查询结果的容器里的数据显示到你客户端界面上,用户在界面上对数据进行添加、...原创 2021-08-06 18:35:00 · 5226 阅读 · 0 评论 -
c#读取文件顺序与window文件排序保持一致
新建一个文件排序类public class FileNameSort : IComparer { //调用DLL [System.Runtime.InteropServices.DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCmpLogicalW(string param1, string param2); /原创 2020-10-29 08:39:29 · 796 阅读 · 0 评论 -
C# 新特性,新功能,新语法
"$"作用和用法C#中$的用法:"$"是在C#6.0出现的一个新特性,其作用相当于对String.format()的简化。string.format()需要自己在字符串中写占位符,在后面跟上参数。如果要格式化的参数比较多,写起来就比较恶心。而用$符号,写法就简洁多了,我们可以直接在字符串的相应位置协商自己想要替换的参数就好了。 string name = "Lix...原创 2020-04-02 18:20:01 · 461 阅读 · 0 评论 -
C# 异步编程
异步编程就是,程序无须按照代码顺序自上而下的执走进异步编程的世界:https://www.cnblogs.com/liqingwen/p/5831951.html什么是异步编程:https://www.cnblogs.com/jubaotan/p/9244185.htmlhttps://www.cnblogs.com/wphl-27/p/10534704.html这里记录一下...原创 2019-10-21 11:40:27 · 159 阅读 · 0 评论 -
C# 接口和继承
转载自:https://www.cnblogs.com/songhe123/p/9558545.html接口是方法的抽象,如果不同的类有同样的方法,那么就应该考虑使用接口。例1:using System;/** 假设我们公司有两种程序员:VB程序员指的是用VB写程序的程序员,用VBpro这个类表示;C程序员指的是用C写程序的程序员,用Cpro这个类来表示。每个类都有一个Wr...转载 2019-10-11 14:55:04 · 752 阅读 · 0 评论 -
C#操作XML方法详解
本文的主要模块为: ① :生成xml文件 ② :遍历xml文件的节点信息 ③ :修改xml文件的节点信息 ④ :向xml文件添加节点信息 ⑤ :删除指定xml文件的节点信息·假设我们需要设计出这样的一个xml文件来存储相应的信息,如下所示:<Computers> <Computer ID="11111111" Descrip...原创 2019-05-24 16:54:30 · 6184 阅读 · 2 评论 -
XML详细介绍
是什么?XML,Extensible Markup Language,扩展性标识语言。文件的后缀名为:.xml。就像HTML的作用是显示数据,XML的作用是传输和存储数据。XML指可扩展标记语言(eXtensible Markup Language),被设计用来传输和存储数据。是各种应用程序之间进行数据传输的最常用的工具。XML提供了一套夸平台,跨网络,跨应用程序的语言的描述方式。...原创 2019-05-24 15:30:45 · 4353 阅读 · 0 评论 -
C# 功能实现学习笔记
某个路径下创建文件夹: /// <summary> /// 某个路径下创建文件夹 /// </summary> /// <param name="path">需要创建文件夹的路径</param> /// <param name="folderName">文件夹名称</param> ...原创 2019-05-10 15:39:29 · 266 阅读 · 0 评论 -
CRC校验原理及步骤
什么是CRC校验?CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。CRC校验原理:其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,...转载 2019-03-08 16:52:12 · 239 阅读 · 0 评论 -
C# XOR CRC16 校验码计算类
CyclicRedundancyCheck循环冗余检验,是基于数据计算一组效验码,用于核对数据传输过程中是否被更改或传输错误。1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC(循环冗余校验)在线计算http://www.ip33.com/crc.html2、生成CRC码的基本原理:任意一个由二...转载 2019-03-08 14:06:08 · 1389 阅读 · 0 评论 -
C# 学习笔记
匿名函数: public class NamespaceSettingsData { private readonly static string NAMESPACE_KEY = Application.productName + "@NAMESPACE"; public static string Namespace ...原创 2019-01-02 10:21:39 · 359 阅读 · 0 评论 -
在C#中??和?分别是什么意思?
1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。例如:string str=null; 是正确的,int i=null; 编译器就会报错。为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?"来表示,表现形式为"T?"例如:int? 表示可空的整形,DateTime? 表示可为空的时间。T? 其实是System.Nullabl...原创 2018-10-30 10:33:29 · 7025 阅读 · 0 评论 -
C# 托管与非托管的理解
在C/C++中,资源都是需要手动释放的,比如,你new了一个指针,用过之后就需要delete掉,否则就会造成内存泄露。而在Java中,不必考虑资源释放的问题,Java的垃圾回收机制(GC,Garbage Collection)会保证失效的资源被自动释放。而C#的机制与Java类似,运行于.net平台上的代码,分配的资源一般会自动由平台的垃圾回收器释放,这样的资源就是托管资源。但是一些例外的资...原创 2018-10-16 17:51:19 · 1383 阅读 · 0 评论 -
C#中的关键字
In /// <summary> /// 封装一个方法,该方法只有一个参数并且不返回值。 /// </summary> /// <typeparam name="T">此委托封装的方法的参数类型。</typeparam> /// <param name="obj">此委托封装的方法的参数。<...原创 2018-09-20 16:51:39 · 762 阅读 · 0 评论 -
C# 静态类(static class)
静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。 静态类是自C# 2.0才引入的,C# 1.0不支持静态类声明。程序员必须声明一个私有构造器。私有构造器禁止开发者在类的范围之外实...转载 2018-05-24 10:21:42 · 33847 阅读 · 0 评论 -
C#中的委托和事件
注意:文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(方法名);1. 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很...转载 2018-06-06 15:54:03 · 152 阅读 · 0 评论 -
C# or Unity 约定俗成的命名
规范目的:(1.1)增强代码可维护性。代码的编写不是一次性就能写得很完美的,需要不断的修复bug,修改或增加功能,重新设计整体架构等。这时就需要进入代码中去做修改,如果没有良好的代码规范,时间久了自己阅读起来就很费力。 (1.2)提高团队开发效率。大多数项目的代码都不是由一个人编写的,其他成员也许会因为项目的交接需要接手管理你所编写的代码,如果没有良好的代码规范,他人便无法快速轻松的理解你的代码。...原创 2018-06-07 11:58:19 · 1407 阅读 · 0 评论 -
C# default(T)关键字
C#关键词default函数,default(T)可以得到该类型的默认值.C#在类初始化时,会给未显示赋值的字段、属性赋上默认值,但是值变量却不会。值变量可以使用默认构造函数赋值,或者使用default(T)赋值。默认构造函数是通过 new 运算符来调用的,如下所示:int myInt = new int();default(T)如下所示:int myInt = defaul...原创 2018-08-07 10:08:11 · 17474 阅读 · 1 评论 -
1.设计模式_里氏替换原则
里氏替换,LSP(Liskov Substitution Principle),所有引用基类的地方必须能够透明地使用其子类的对象。通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何异常。 我们知道面向对象语言的三大特征是继承、封装、多态,里氏替换原则就是依赖于继承、多态,建立抽象,通过抽象建立规范,在运行时替换成具体的对象,保证系统的扩展性、灵活性。 往往和开放封闭原则...原创 2018-08-30 16:56:44 · 146 阅读 · 0 评论 -
C# 中的委托和事件(详解:简单易懂的讲解)
本文转载自 http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.htmlC# 中的委托和事件(详解)https://www.cnblogs.com/newcapecjmc/p/7084026.html基础:https://www.cnblogs.com/hongfei/p/3574239.html 中级...原创 2018-08-28 09:00:39 · 114666 阅读 · 21 评论 -
C# 接口《通俗解释》
原文地址:https://www.cnblogs.com/hamburger/p/4681681.html 接口的定义: 接口是指定一组函数成员,而不实现他们的引用类型。 接口使用interface 关键字进行定义,可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。 接口的特点: 1、接口类似于抽象基类,不能直接实例化接口;接口中的方法都是抽象方法,实现...原创 2018-08-28 09:27:35 · 12435 阅读 · 18 评论 -
C# override new
override是指“覆盖”,是指子类覆盖了父类的方法。子类的对象无法再访问父类中的该方法。 new是指“隐藏”,是指子类隐藏了父类的方法,当然,通过一定的转换,可以在子类的对象中访问父类的方法。重载首先重载是指具有相同的方法名,通过改变参数的个数或者参数类型实现同名方法的不同实现。 覆盖(重写)重写则是只在继承中,子类通过override关键字修饰方法,实现父类和子类相同方法的不...原创 2018-08-31 15:24:27 · 591 阅读 · 0 评论 -
1.设计模式_Observer(观察者模式)
Observer(观察者模式)设计模式中主要包括如下两类对象:Subject:监视对象,它往往包含着其他对象所感兴趣的内容。在本范例中,热水器就是一个监视对象,它包含的其他对象所感兴趣的内容,就是temprature字段,当这个字段的值快到100时,会不断把数据发给监视它的对象。 Observer:监视者,它监视Subject,当Subject中的某件事发生的时候,会告知Observer,而...原创 2018-08-29 10:34:33 · 126 阅读 · 0 评论 -
C# abstract抽象类的定义,作用(使用场景)
关于C#中抽象类的一些感想写代码已经有很长一段时间, 但感觉成长很少,基本是为了功能开发而开发,我相信80%的程序员都一样,基本都是拿网上的开源项目改改改后实现功能就行, 很少会去深入,去思考为什么要这么来实现,所以有了今天的文章,我作为程序员小白鼠把C#中的抽象类学习中的感想跟大家分享一下:什么是抽象类 抽象类的应用场景 实例代码 1.什么是抽象类 我先来个百度百科的词条...原创 2018-09-03 11:34:27 · 41323 阅读 · 25 评论 -
详解C#中的反射
在.NET中的反射也可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法。反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个对象的类...原创 2018-09-06 09:26:56 · 322 阅读 · 0 评论 -
C# typeof() 和 GetType()区别
C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型。typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称;GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用。Typeof的参数只能是int,string,String,自定义类型,且不能是实例 GetType()和ty...原创 2018-09-06 11:56:45 · 1220 阅读 · 0 评论 -
C# protected修饰词
概述:假设A为基类,B为子类,被protected修饰的成员在基类中 1. 在A中可直接访问 2. 在B中可直接访问; 3. 在A中通过A或B的实例访问; 4. 在B中通过B的实例访问,不能通过A的实例访问; 5. 在A和B外部的类中,无法访问; 总结:基类中访问无限制;子类中直接访问或通过子类实例访问,多级派生类中仍可以访问父类的protected成员代码示例:...原创 2018-09-10 13:53:01 · 462 阅读 · 0 评论 -
C#中命名参数和可选参数(命名参数调用)
调用方法时,变量名不需要添加到调用中。比如有如下的方法用于移动矩形并在移动之后设置他的宽和高:public void MoveAndResize(int x,int y,int width,int height)有两种调用方式:1. MoveAndResize(10,20,30,40); 2. MoveAndResize(x: 10,y: 20,width: 30,heigh...原创 2018-09-20 16:11:23 · 1117 阅读 · 0 评论 -
C# ref与out之间的区别
相同点:方法的定义和调用都必须显示使用ref、out关键字。都会导致参数按引用传递。不同点:传递给ref关键字的参数必须赋初始值,而out不用。out关键字会清空变量,即使变量已经赋值也不行,退出函数时所有out引用个变量都要赋值。 说明:ref的应用场景是内部对外部的值进行改变,而out则是内部对外部变量赋值。out一般用在函数有多个返回值。using System;usin...原创 2018-09-20 16:31:20 · 209 阅读 · 0 评论 -
C#中的扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。 以上是msdn官网对扩展方法的描述,现在我通过一个情景例子来对此进行阐释。假设一个控制台程序class Program{}里面的主函数如下:static void Main(string[] args) { ...原创 2018-05-24 10:19:40 · 2547 阅读 · 0 评论