- 博客(44)
- 资源 (4)
- 收藏
- 关注
原创 C#中的委托解析
谈及到C#的基本特性,“委托”是不得不去了解和深入分析的一个特性。对于大多数刚入门的程序员谈到“委托”时,都会想到“将方法作为方法的参数进行传递”,很多时候都只是知道简单的定义,主要是因为“委托”在理解上有较其他特性比较难的地方。在本次说明中,不会将委托的简单声明和调用作为重点。 “委托”不需要直接定义一个要执行的行为,而是将这个行为用某种方法“包含”在一个对象中。这个对象可以像其他
2016-11-23 12:30:25 459
C#的扩展方法解析
在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到。 继承的有关特性的使用所带来的问题:对象的继承关系实在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继...
2016-11-28 18:48:57 135
C#中的委托解析
谈及到C#的基本特性,“委托”是不得不去了解和深入分析的一个特性。对于大多数刚入门的程序员谈到“委托”时,都会想到“将方法作为方法的参数进行传递”,很多时候都只是知道简单的定义,主要是因为“委托”在理解上有较其他特性比较难的地方。在本次说明中,不会将委托的简单声明和调用作为重点。 “委托”不需要直接定义一个要执行的行为,而是将这个行为用某种方法“包含”在一个对象中。这个对象可以...
2016-11-28 10:42:37 139
原创 DotNet程序集解析
在.NET Framework框架中,程序集是重用、安全性以及版本控制的最小单元。程序集的定义为:程序集是一个或多个类型定义文件及资源文件的集合。程序集主要包含:PE/COFF,CLR头,元数据,清单,CIL代码,元数据。 PE/COFF文件是由工具生成的,表示文件的逻辑分组。PE文件包含“清单”数据块,清单是由元数据表构成的另一种集合,这些表描述了构成程序集的文件,由程序集中的...
2016-11-28 10:24:53 188
C#的Process类调用第三方插件实现PDF文件转SWF文件
在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来就会做一个简单的介绍。 在.NET平台中,对C#提供了一个操作对本地和远程的访问进程,使能够启动和停止系统进程。这个类就是System.Diagnostics.Process,我们首...
2016-11-28 10:20:49 172
原创 DotNet程序配置文件
在实际的项目开发中,对于项目的相关信息的配置较多,在.NET项目中,我们较多的将程序的相关配置直接存储的.config文件中,例如web.config和app.config。 .NET中配置文件分为两部分:配置的实际内容(位于appSetting节点);指定了节点的处理程序(位于configSections节点)。 在.NET程序中,.config文件存储相关配置是以xml格式,如果我们需
2016-11-27 19:46:38 440
原创 DotNet生成随机数的一些方法
在项目开发中,一般都会使用到“随机数”,但是在DotNet中的随机数并非真正的随机数,可在一些情况下生成重复的数字,现在总结一下在项目中生成随机数的方法。1.随机布尔值: /// /// 随机布尔值 /// /// /// 随机布尔值 public static bool NextBoolean(t
2016-11-27 19:46:35 318
原创 DotNet程序集解析
在.NET Framework框架中,程序集是重用、安全性以及版本控制的最小单元。程序集的定义为:程序集是一个或多个类型定义文件及资源文件的集合。程序集主要包含:PE/COFF,CLR头,元数据,清单,CIL代码,元数据。 PE/COFF文件是由工具生成的,表示文件的逻辑分组。PE文件包含“清单”数据块,清单是由元数据表构成的另一种集合,这些表描述了构成程序集的文件,由程序集中的文件实现的公开
2016-11-27 19:46:32 337
原创 C#中下限非零的数组解析
谈到数组时,当被问及数组是从什么数开始时,估计大部分程序员都会直接说出数组当然是从0开始的。这个回答当然没有错,现在我们就来了解一下C#中的下限非0的数组。 首先看一下数组的相关介绍: 1.数组:是允许将多个数据项当作一个集合来处理的机制。 2.数组的分类:在CLR中,数组可分为一维数组,多维数组,交错数组。 3.数组的类型:由于所有的数组都是继承自System.A
2016-11-27 19:46:29 480
原创 DotNet的JSON序列化与反序列化
JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。在现在的通信中,较多的采用JSON数据格式,JSON有两种表示结构,对象和数组,JSON 数据的书写格式是:名称/值对。 在vs解决方案中以前采用xml树的形式,组织项目的结构。在新的.net core中,项目的解决方案采用json作为项目的结构说明
2016-11-27 19:46:27 259
原创 DotNet指定文件显示的尺寸
在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,TB等。现在提供一个方法,实现将指定文件的尺寸, 提供:"字节", "KB", "MB", "GB", "TB"等尺寸的控制选项,一下方法代码可以在项目中直接使用,提高项目的开发效率。[System.ComponentModel.EditorBrowsable(System.ComponentModel.Edito
2016-11-27 19:46:24 169
原创 将文本文件内容存储在DataSet中的方法总结
项目中比较多的会对文件进行操作,例如文件的上传下载,文件的压缩和解压等IO操作。在.NET项目中较多的会使用DataSet,DataTable进行数据的缓存。 项目中对文本文件的操作比较简单,但是如果需要将文本文件的内容写入系统的缓存中,操作起来,会稍微的繁琐一些。现在总结一个较为通用的方法,将文本文件的内容缓存进入DataSet数据集中。private DataSet _iifSet;
2016-11-27 19:46:21 970
原创 Apple的LZF算法解析
有关LZF算法的相关解析文档比较少,但是Apple对LZF的开源,可以让我们对该算法进行一个简单的解析。LZFSE 基于 Lempel-Ziv ,并使用了有限状态熵编码。LZF采用类似lz77和lzss的混合编码。使用3种“起始标记”来代表每段输出的数据串。 接下来看一下开源的LZF算法的实现源码。 1.定义的全局字段: private readonly long[]
2016-11-27 19:46:18 639
原创 DotNet常用排序算法总结
数据结构和算法对一个程序来说是至关重要的,现在介绍一下几种算法,在项目中较为常用的算法有:冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等7中算法。 现在介绍选择排序算法,希尔排序算法,快速排序算法。 (1).选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选择出关键字最小的记录,并和第i(1大于等于i小于等于n)个记录交换。 (2).希尔排
2016-11-27 19:46:15 232
原创 C#创建安全的字典(Dictionary)存储结构
在上面介绍过栈(Stack)的存储结构,接下来介绍另一种存储结构字典(Dictionary)。 字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的,键和值都可以是任何类型。字典(Dictionary)是常用于查找和排序的列表。 接下来看一下Dictionary的部分方法和类的底层实现代码: 1.Add:将指定的键和值添加到字典
2016-11-27 19:46:12 3938
原创 C#创建安全的栈(Stack)存储结构
在C#中,用于存储的结构较多,如:DataTable,DataSet,List,Dictionary,Stack等结构,各种结构采用的存储的方式存在差异,效率也必然各有优缺点。现在介绍一种后进先出的数据结构。 谈到存储结构,我们在项目中使用的较多。对于Task存储结构,栈与队列是类似的结构,在使用的时候采用不同的方法。C#中栈(Stack)是编译期间就分配好的内存空间,因此你的代码中必须就栈的
2016-11-27 19:46:10 542
原创 C#的网络适配器操作
网络的相关设置在项目开发中有较多的应用,有时候需要在项目中对网络信息进行相关设置。主要包含IP设置,网关设置,DHCP设置,DNS设置等相关网络的设置。 现在提供提供几种相关的辅助方法类。 /// /// 网络适配器标识符,如:{274F9DD5-3650-4D59-B61E-710B6AF5AB36} /// public
2016-11-27 19:46:07 743
原创 C#设置文件权限
在开发中,我们经常会使用IO操作,例如创建,删除文件等操作。在项目中这样的需求也较多,我们也会经常对这些操作进行编码,但是对文件的权限进行设置,这样的操作可能会手动操作,现在介绍一种采用代码动态对文件设置权限的操作。 在对文件进行权限设置在DOtNet中,会采用FileSystemAccessRule类进行文件的权限操作。 1.现在看一下FileSystemAccessRule的实现代码
2016-11-27 19:46:04 1136
原创 浅析.NET的反射特性
在.net框架体系内,反射特性较多的应用到。反射的相关定义分为两种。 自然解释:射是一种自然现象,表现为受刺激物对刺激物的逆反应;这是反射的字面解释,我们看一下计算机编程中的反射; 编程解释:通过 System.Reflection 命名空间中的类以及 System.Type,您可以获取有关已加载的程序集和在其中定义的类型(如类、接口和值类型)的信息。 您也可以使用反射在运行时创建
2016-11-27 19:46:01 260
原创 DotNet隐藏敏感信息操作方法
在项目中,有时候一些信息不便完全显示,只需要显示部分信息。现在提供一些隐藏敏感信息的操作方法,主要为对信息的截取操作: 1.指定左右字符数量,中间的*的个数和实际长度有关: /// /// 隐藏敏感信息 /// /// 信息实体 /// 左边保留的字符数 /// 右边保留的字符数
2016-11-27 19:45:55 259
原创 DotNet中几种常用的加密算法
在.NET项目中,我们较多的使用到加密这个操作。因为在现代的项目中,对信息安全的要求越来越高,那么多信息的加密就变得至关重要。现在提供几种常用的加密/解密算法。 1.用于文本和Base64编码文本的互相转换 和 Byte[]和Base64编码文本的互相转换: (1).将普通文本转换成Base64编码的文本 /// /// 将普通文本转换成Base64编码的文
2016-11-27 19:45:53 1034
原创 HuffmanTree的浅析和在C#中的算法实现
无论是在我们的开发项目中,还是在我们的日常生活中,都会较多的涉及到文件压缩。谈到文件压缩,可能会有人想问文件压缩到底是怎么实现的,实现的原理是什么,对于开发人员来说,怎么实现这样一个压缩的功能。 接下来,我们就来了解一下文件压缩的相关知识。文件压缩是如何实现的?这个我们就得了解一下数据结构,因为文件在压缩的过程中会转化为数据流,那么如何将数据流进行对应的压缩,这个问题就得靠算法来实现。那么
2016-11-27 19:45:50 202
原创 解析Exception和C#处理Exception的常用方法总结
在.NET中,异常是指成员没有完成它的名称宣称可以完成的行动。在异常的机制中,异常和某件事情的发生频率无关。 异常处理四要素包括:一个表示异常详细信息的类类型;一个向调用者引发异常类实例的成员;调用者的一段调用异常成员的代码块;调用者的一段处理将要发生异常的代码块。异常类类型包括:基类:System.Exception;系统级异常:System.SystemException;应用程序级异常
2016-11-27 19:45:47 3229
原创 ManagementClass类解析和C#如何获取硬件的相关信息
在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作。 现在先来介绍一下ManagementClass类,首先看一下类的继承结构:650) this.width=650;" src="http://images2015.cnblogs.com/blog/831875/201610/831875-201610191316
2016-11-27 19:45:44 5261
原创 HTTP在.NET中的一些应用和解析
谈到HTTP协议(超文本传输协议),HTTP协议是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议的主要特点可概括为:1.支持客户/服务器模式。2.简单快
2016-11-27 19:45:41 194
原创 Oracle常用的SQL方法总结
在项目中一般需要对一些数据进行处理,以下提供一些基本的SQL语句: 1.基于条件的插入和修改:需要在表中插入一条记录,插入前根据key标识判断。如果标识符不存在,则插入新纪录,如果标识符存在,则根据语句中所给的新值对原纪录中的字段进行更新:merge into Ausing Bon (A.key = B.key)when matched then update set A.nam
2016-11-27 19:45:38 211
原创 将DataTable转换成CSV文件
DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。CSV文件是个纯文本文件,每一行表示一张图片的许多属性。 在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下: ///
2016-11-27 19:45:36 583
原创 C#中DataTable转化为List<T>解析
在.net项目中使用到DataTable和List集合的地方较多, 泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行。当涉及到两者之间的转换时,就显得有些较为繁琐。这个其中的问题主要在两者的存储方式,DataTable的存储方式采用一种二维表的方式进行数据的存储操作,DataTable表示内存中数据的一个表。在List集合中,
2016-11-27 19:45:33 1194
原创 DotNet项目中的一些常用验证操作
在项目中需要对用户输入的信息,以及一些方法生成的结果进行验证,一般在项目中较多的采用js插件或js来进行有关信息的校验,但是从项目安全性的角度进行考虑,可对系统进行js注入。 如果在后台对用户输入的信息进行验证会相对的安全,在出现信息验证不合法时,可以直接在程序中抛出异常,终止程序的运行。 现在提供几种较为常用的验证方法,可以减少在项目中开发时间和错误性:1.判断域名: //
2016-11-27 19:45:30 231
原创 DotNet处理服务器路径的方法
项目中需要使用到路径处理的地方比较多,对于路径的解析和匹配有时较为繁琐,现在提供一个对路径进行解析的方法: 1.验证设置路径字符串: /// /// 验证设置路径字符串 /// /// 路径字符串 /// 如果正在创建路径 static public void ValidatePath(string
2016-11-27 19:45:27 345
原创 C#中Uri操作
在现在的项目中,使用到uri的部分较多。uri的解析方法: public static Uri ReturnUri(this string val) { if (string.IsNullOrEmpty(val)) { throw new ArgumentNullException(val);
2016-11-27 19:45:24 7315
原创 DotNet的字符转义操作
在项目中使用到字符的转义,现在提供一种字符转义和反转义的操作方法:1.转义符操作: /// /// 转义符操作 /// /// /// /// public static string EscapeChar(string s, char charToEliminate)
2016-11-27 19:45:22 632
原创 C#运用QRCode生成二维码
在现在的项目中,较多的使用到二维码,现在介绍一个第三方组件,用于生成二维码。生成二维码: /// /// 生成二维码 /// /// 带生成二维码的字符串 /// 路径 /// public static string CreatehoughtWorksQrCode(string c
2016-11-27 19:45:19 1268
原创 C#枚举类型的常用操作总结
枚举类型是定义了一组“符号名称/值”配对。枚举类型是强类型的。每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueType又从system.Object派生,所以枚举类型是指类型。 编译枚举类型时,C#编译器会把每个符号转换成类型的一个常量字段。C#编译器将枚举类型视为基元类型。 1.获取枚举列表: ///
2016-11-27 19:45:16 2798
原创 C#二进制流的序列化和反序列化操作
C#项目中较多使用了序列化和反序列化,较为常用的序列化和反序列化操作有二进制流,JSON,XML等,现在介绍一下.net中二进制流的序列化和反序列化操作方法: 1.将对象序列化为二进制流: /// /// 将对象序列化为byte[] /// 使用IFormatter的Serialize序列化 /// /// 需要序列
2016-11-27 19:45:13 3800
原创 C#运用DocX操作文档
在项目开发中,一般需要对文档进行操作,但是使用微软提供的插件,需要安装一些程序,并且如果使用wps类的文档软件就无法操作了,第三方插件DocX就可以很好的解决这些文档,结合官方提供的文档,稍作修改,总结如下的一些方法: 1.创建一个具有超链接、图像和表的文档: /// /// 创建一个具有超链接、图像和表的文档。 /// //
2016-11-27 19:45:10 3374
原创 C#操作Xml的基本方法
在.net的项目开发中,经常会对XML文件进行操作,由于XML文件可以实现跨平台传输,较多的应用在数据传输中,特总结以下几种常用的XML操作方法:1.创建XML文档: /// /// 创建XML文档 /// /// 根节点名称 /// 根节点的一个属性值 /// XmlDocument对象
2016-11-27 19:45:07 274
原创 C#计算时间间隔和时间所属区间的通用操作方法
在.net项目中,对DateTime的相关操作使用的比较多,例如时间格式的转换,时间间隔的计算,时间所属的区间计算等,在这些要求中,虽然使用起来较为的简单,但是在转换的过程中,较为容易出错,花费的时间也较多,现在总结一些常用的时间操作方法,以便在项目开发中节省时间。 一下代码中需要使用到如下的实体类: /// /// 周(星期)信息实体类 ///
2016-11-27 19:45:04 2038
原创 DotNet中的DataTable相关操作
1.将泛型集合类转换成DataTable(表中无数据时使用):public static DataTable NullListToDataTable(IList list) { var result = new DataTable(); if (list.Count <= 0) return result; v
2016-11-27 19:45:02 285
原创 C#运用GmaQrCode生成二维码
项目中需要生成二维码,方法比较多,可以采用JS插件,也可以采用第三方插件后台生成二维码,在后台方法中可以采用QRCode或者GmaQrCode,现在介绍一种C#在后台生成二维码的方法: /// /// 获取二维码 /// /// 编码字符 /// 二维码地址 public static stri
2016-11-27 19:44:59 855
Redis实战《红丸出品》
2016-05-16
轻松搞定ext.js
2016-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人