自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (4)
  • 收藏
  • 关注

原创 C#中的委托解析

谈及到C#的基本特性,“委托”是不得不去了解和深入分析的一个特性。对于大多数刚入门的程序员谈到“委托”时,都会想到“将方法作为方法的参数进行传递”,很多时候都只是知道简单的定义,主要是因为“委托”在理解上有较其他特性比较难的地方。在本次说明中,不会将委托的简单声明和调用作为重点。    “委托”不需要直接定义一个要执行的行为,而是将这个行为用某种方法“包含”在一个对象中。这个对象可以像其他

2016-11-23 12:30:25 416

C#的扩展方法解析

   在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到。    继承的有关特性的使用所带来的问题:对象的继承关系实在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继...

2016-11-28 18:48:57 106

C#中的委托解析

    谈及到C#的基本特性,“委托”是不得不去了解和深入分析的一个特性。对于大多数刚入门的程序员谈到“委托”时,都会想到“将方法作为方法的参数进行传递”,很多时候都只是知道简单的定义,主要是因为“委托”在理解上有较其他特性比较难的地方。在本次说明中,不会将委托的简单声明和调用作为重点。    “委托”不需要直接定义一个要执行的行为,而是将这个行为用某种方法“包含”在一个对象中。这个对象可以...

2016-11-28 10:42:37 117

原创 DotNet程序集解析

   在.NET Framework框架中,程序集是重用、安全性以及版本控制的最小单元。程序集的定义为:程序集是一个或多个类型定义文件及资源文件的集合。程序集主要包含:PE/COFF,CLR头,元数据,清单,CIL代码,元数据。   PE/COFF文件是由工具生成的,表示文件的逻辑分组。PE文件包含“清单”数据块,清单是由元数据表构成的另一种集合,这些表描述了构成程序集的文件,由程序集中的...

2016-11-28 10:24:53 163

C#的Process类调用第三方插件实现PDF文件转SWF文件

   在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来就会做一个简单的介绍。    在.NET平台中,对C#提供了一个操作对本地和远程的访问进程,使能够启动和停止系统进程。这个类就是System.Diagnostics.Process,我们首...

2016-11-28 10:20:49 151

原创 DotNet程序配置文件

在实际的项目开发中,对于项目的相关信息的配置较多,在.NET项目中,我们较多的将程序的相关配置直接存储的.config文件中,例如web.config和app.config。   .NET中配置文件分为两部分:配置的实际内容(位于appSetting节点);指定了节点的处理程序(位于configSections节点)。   在.NET程序中,.config文件存储相关配置是以xml格式,如果我们需

2016-11-27 19:46:38 401

原创 DotNet生成随机数的一些方法

在项目开发中,一般都会使用到“随机数”,但是在DotNet中的随机数并非真正的随机数,可在一些情况下生成重复的数字,现在总结一下在项目中生成随机数的方法。1.随机布尔值:        ///         /// 随机布尔值        ///         ///         /// 随机布尔值        public static bool NextBoolean(t

2016-11-27 19:46:35 296

原创 DotNet程序集解析

在.NET Framework框架中,程序集是重用、安全性以及版本控制的最小单元。程序集的定义为:程序集是一个或多个类型定义文件及资源文件的集合。程序集主要包含:PE/COFF,CLR头,元数据,清单,CIL代码,元数据。   PE/COFF文件是由工具生成的,表示文件的逻辑分组。PE文件包含“清单”数据块,清单是由元数据表构成的另一种集合,这些表描述了构成程序集的文件,由程序集中的文件实现的公开

2016-11-27 19:46:32 308

原创 C#中下限非零的数组解析

谈到数组时,当被问及数组是从什么数开始时,估计大部分程序员都会直接说出数组当然是从0开始的。这个回答当然没有错,现在我们就来了解一下C#中的下限非0的数组。  首先看一下数组的相关介绍:      1.数组:是允许将多个数据项当作一个集合来处理的机制。      2.数组的分类:在CLR中,数组可分为一维数组,多维数组,交错数组。      3.数组的类型:由于所有的数组都是继承自System.A

2016-11-27 19:46:29 447

原创 DotNet的JSON序列化与反序列化

JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。在现在的通信中,较多的采用JSON数据格式,JSON有两种表示结构,对象和数组,JSON 数据的书写格式是:名称/值对。   在vs解决方案中以前采用xml树的形式,组织项目的结构。在新的.net core中,项目的解决方案采用json作为项目的结构说明

2016-11-27 19:46:27 237

原创 DotNet指定文件显示的尺寸

在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,TB等。现在提供一个方法,实现将指定文件的尺寸,   提供:"字节", "KB", "MB", "GB", "TB"等尺寸的控制选项,一下方法代码可以在项目中直接使用,提高项目的开发效率。[System.ComponentModel.EditorBrowsable(System.ComponentModel.Edito

2016-11-27 19:46:24 148

原创 将文本文件内容存储在DataSet中的方法总结

项目中比较多的会对文件进行操作,例如文件的上传下载,文件的压缩和解压等IO操作。在.NET项目中较多的会使用DataSet,DataTable进行数据的缓存。    项目中对文本文件的操作比较简单,但是如果需要将文本文件的内容写入系统的缓存中,操作起来,会稍微的繁琐一些。现在总结一个较为通用的方法,将文本文件的内容缓存进入DataSet数据集中。private DataSet _iifSet;

2016-11-27 19:46:21 946

原创 Apple的LZF算法解析

有关LZF算法的相关解析文档比较少,但是Apple对LZF的开源,可以让我们对该算法进行一个简单的解析。LZFSE 基于 Lempel-Ziv ,并使用了有限状态熵编码。LZF采用类似lz77和lzss的混合编码。使用3种“起始标记”来代表每段输出的数据串。    接下来看一下开源的LZF算法的实现源码。     1.定义的全局字段:        private readonly long[] 

2016-11-27 19:46:18 612

原创 DotNet常用排序算法总结

数据结构和算法对一个程序来说是至关重要的,现在介绍一下几种算法,在项目中较为常用的算法有:冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等7中算法。  现在介绍选择排序算法,希尔排序算法,快速排序算法。    (1).选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选择出关键字最小的记录,并和第i(1大于等于i小于等于n)个记录交换。    (2).希尔排

2016-11-27 19:46:15 210

原创 C#创建安全的字典(Dictionary)存储结构

在上面介绍过栈(Stack)的存储结构,接下来介绍另一种存储结构字典(Dictionary)。 字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的,键和值都可以是任何类型。字典(Dictionary)是常用于查找和排序的列表。  接下来看一下Dictionary的部分方法和类的底层实现代码:  1.Add:将指定的键和值添加到字典

2016-11-27 19:46:12 3871

原创 C#创建安全的栈(Stack)存储结构

在C#中,用于存储的结构较多,如:DataTable,DataSet,List,Dictionary,Stack等结构,各种结构采用的存储的方式存在差异,效率也必然各有优缺点。现在介绍一种后进先出的数据结构。   谈到存储结构,我们在项目中使用的较多。对于Task存储结构,栈与队列是类似的结构,在使用的时候采用不同的方法。C#中栈(Stack)是编译期间就分配好的内存空间,因此你的代码中必须就栈的

2016-11-27 19:46:10 513

原创 C#的网络适配器操作

网络的相关设置在项目开发中有较多的应用,有时候需要在项目中对网络信息进行相关设置。主要包含IP设置,网关设置,DHCP设置,DNS设置等相关网络的设置。    现在提供提供几种相关的辅助方法类。        ///         /// 网络适配器标识符,如:{274F9DD5-3650-4D59-B61E-710B6AF5AB36}        ///         public 

2016-11-27 19:46:07 681

原创 C#设置文件权限

在开发中,我们经常会使用IO操作,例如创建,删除文件等操作。在项目中这样的需求也较多,我们也会经常对这些操作进行编码,但是对文件的权限进行设置,这样的操作可能会手动操作,现在介绍一种采用代码动态对文件设置权限的操作。   在对文件进行权限设置在DOtNet中,会采用FileSystemAccessRule类进行文件的权限操作。    1.现在看一下FileSystemAccessRule的实现代码

2016-11-27 19:46:04 1036

原创 浅析.NET的反射特性

在.net框架体系内,反射特性较多的应用到。反射的相关定义分为两种。     自然解释:射是一种自然现象,表现为受刺激物对刺激物的逆反应;这是反射的字面解释,我们看一下计算机编程中的反射;     编程解释:通过 System.Reflection 命名空间中的类以及 System.Type,您可以获取有关已加载的程序集和在其中定义的类型(如类、接口和值类型)的信息。 您也可以使用反射在运行时创建

2016-11-27 19:46:01 242

原创 DotNet隐藏敏感信息操作方法

在项目中,有时候一些信息不便完全显示,只需要显示部分信息。现在提供一些隐藏敏感信息的操作方法,主要为对信息的截取操作:     1.指定左右字符数量,中间的*的个数和实际长度有关:        ///         /// 隐藏敏感信息        ///         /// 信息实体        /// 左边保留的字符数        /// 右边保留的字符数      

2016-11-27 19:45:55 235

原创 DotNet中几种常用的加密算法

在.NET项目中,我们较多的使用到加密这个操作。因为在现代的项目中,对信息安全的要求越来越高,那么多信息的加密就变得至关重要。现在提供几种常用的加密/解密算法。  1.用于文本和Base64编码文本的互相转换 和 Byte[]和Base64编码文本的互相转换:    (1).将普通文本转换成Base64编码的文本        ///         /// 将普通文本转换成Base64编码的文

2016-11-27 19:45:53 1014

原创 HuffmanTree的浅析和在C#中的算法实现

无论是在我们的开发项目中,还是在我们的日常生活中,都会较多的涉及到文件压缩。谈到文件压缩,可能会有人想问文件压缩到底是怎么实现的,实现的原理是什么,对于开发人员来说,怎么实现这样一个压缩的功能。     接下来,我们就来了解一下文件压缩的相关知识。文件压缩是如何实现的?这个我们就得了解一下数据结构,因为文件在压缩的过程中会转化为数据流,那么如何将数据流进行对应的压缩,这个问题就得靠算法来实现。那么

2016-11-27 19:45:50 184

原创 解析Exception和C#处理Exception的常用方法总结

在.NET中,异常是指成员没有完成它的名称宣称可以完成的行动。在异常的机制中,异常和某件事情的发生频率无关。    异常处理四要素包括:一个表示异常详细信息的类类型;一个向调用者引发异常类实例的成员;调用者的一段调用异常成员的代码块;调用者的一段处理将要发生异常的代码块。异常类类型包括:基类:System.Exception;系统级异常:System.SystemException;应用程序级异常

2016-11-27 19:45:47 3172

原创 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 5177

原创 HTTP在.NET中的一些应用和解析

谈到HTTP协议(超文本传输协议),HTTP协议是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议的主要特点可概括为:1.支持客户/服务器模式。2.简单快

2016-11-27 19:45:41 168

原创 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 186

原创 将DataTable转换成CSV文件

DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。CSV文件是个纯文本文件,每一行表示一张图片的许多属性。   在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下:        ///    

2016-11-27 19:45:36 562

原创 C#中DataTable转化为List<T>解析

在.net项目中使用到DataTable和List集合的地方较多, 泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行。当涉及到两者之间的转换时,就显得有些较为繁琐。这个其中的问题主要在两者的存储方式,DataTable的存储方式采用一种二维表的方式进行数据的存储操作,DataTable表示内存中数据的一个表。在List集合中,

2016-11-27 19:45:33 1156

原创 DotNet项目中的一些常用验证操作

在项目中需要对用户输入的信息,以及一些方法生成的结果进行验证,一般在项目中较多的采用js插件或js来进行有关信息的校验,但是从项目安全性的角度进行考虑,可对系统进行js注入。   如果在后台对用户输入的信息进行验证会相对的安全,在出现信息验证不合法时,可以直接在程序中抛出异常,终止程序的运行。   现在提供几种较为常用的验证方法,可以减少在项目中开发时间和错误性:1.判断域名:        //

2016-11-27 19:45:30 205

原创 DotNet处理服务器路径的方法

项目中需要使用到路径处理的地方比较多,对于路径的解析和匹配有时较为繁琐,现在提供一个对路径进行解析的方法: 1.验证设置路径字符串:        ///         /// 验证设置路径字符串        ///         /// 路径字符串        /// 如果正在创建路径        static public void ValidatePath(string 

2016-11-27 19:45:27 322

原创 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 7246

原创 DotNet的字符转义操作

在项目中使用到字符的转义,现在提供一种字符转义和反转义的操作方法:1.转义符操作:        ///         /// 转义符操作        ///         ///         ///         ///         public static string EscapeChar(string s, char charToEliminate)    

2016-11-27 19:45:22 612

原创 C#运用QRCode生成二维码

在现在的项目中,较多的使用到二维码,现在介绍一个第三方组件,用于生成二维码。生成二维码:        ///         /// 生成二维码        ///         /// 带生成二维码的字符串        /// 路径        ///         public static string CreatehoughtWorksQrCode(string c

2016-11-27 19:45:19 1236

原创 C#枚举类型的常用操作总结

枚举类型是定义了一组“符号名称/值”配对。枚举类型是强类型的。每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueType又从system.Object派生,所以枚举类型是指类型。  编译枚举类型时,C#编译器会把每个符号转换成类型的一个常量字段。C#编译器将枚举类型视为基元类型。 1.获取枚举列表:        ///      

2016-11-27 19:45:16 2756

原创 C#二进制流的序列化和反序列化操作

C#项目中较多使用了序列化和反序列化,较为常用的序列化和反序列化操作有二进制流,JSON,XML等,现在介绍一下.net中二进制流的序列化和反序列化操作方法: 1.将对象序列化为二进制流:        ///         /// 将对象序列化为byte[]        /// 使用IFormatter的Serialize序列化        ///         /// 需要序列

2016-11-27 19:45:13 3709

原创 C#运用DocX操作文档

在项目开发中,一般需要对文档进行操作,但是使用微软提供的插件,需要安装一些程序,并且如果使用wps类的文档软件就无法操作了,第三方插件DocX就可以很好的解决这些文档,结合官方提供的文档,稍作修改,总结如下的一些方法:    1.创建一个具有超链接、图像和表的文档:        ///         /// 创建一个具有超链接、图像和表的文档。        ///         //

2016-11-27 19:45:10 3306

原创 C#操作Xml的基本方法

在.net的项目开发中,经常会对XML文件进行操作,由于XML文件可以实现跨平台传输,较多的应用在数据传输中,特总结以下几种常用的XML操作方法:1.创建XML文档:        ///         /// 创建XML文档        ///         /// 根节点名称        /// 根节点的一个属性值        /// XmlDocument对象     

2016-11-27 19:45:07 255

原创 C#计算时间间隔和时间所属区间的通用操作方法

在.net项目中,对DateTime的相关操作使用的比较多,例如时间格式的转换,时间间隔的计算,时间所属的区间计算等,在这些要求中,虽然使用起来较为的简单,但是在转换的过程中,较为容易出错,花费的时间也较多,现在总结一些常用的时间操作方法,以便在项目开发中节省时间。 一下代码中需要使用到如下的实体类:        ///         /// 周(星期)信息实体类        /// 

2016-11-27 19:45:04 1981

原创 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 261

原创 C#运用GmaQrCode生成二维码

项目中需要生成二维码,方法比较多,可以采用JS插件,也可以采用第三方插件后台生成二维码,在后台方法中可以采用QRCode或者GmaQrCode,现在介绍一种C#在后台生成二维码的方法:           ///         /// 获取二维码        ///         /// 编码字符        /// 二维码地址        public static stri

2016-11-27 19:44:59 838

C#技术内幕

C#技术内幕

2016-05-16

Redis实战《红丸出品》

2016-05-16

轻松搞定ext.js

2016-05-16

WCF技术剖析

细致的讲解了WCF编程的设计思想,以及实际的操作方法。

2015-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除