
C#
slowlifes
这个作者很懒,什么都没留下…
展开
-
C#加密方法汇总 .
//须添加对System.Web的引用 using System.Web.Security; ... /// /// SHA1加密字符串 /// /// 源字符串 /// 加密后的字符串 public string SHA1(s转载 2011-09-10 00:35:18 · 522 阅读 · 0 评论 -
C# 中的委托和事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过转载 2011-09-13 09:44:35 · 484 阅读 · 0 评论 -
C# 操作Excel之旁门左道 [ C# | Excel ] .
前言 C#使用自带的库(Excel 11.0/5.0 Object Library)操作Excel一直以来都有些问题,最严重的要数有时候Excel进程结束不掉这个问题,操作起来也不是很方便。其实Excel用得稍熟点的朋友就知道Excel可以导出为html格式的文件,我想说到转载 2011-10-02 16:38:19 · 214 阅读 · 0 评论 -
详解C#中的反射 .
反射(Reflection)2008年01月02日 星期三 11:21两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,转载 2011-09-30 20:26:54 · 587 阅读 · 0 评论 -
类的分类
类:有实体类、边界类、控制类。 1.实体类:实体类主要是作为 数据管理 和 业务逻辑处理 层面上存在的类别; 它们主要在分析阶段区分。 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。 2.边界类:用于描述外部参与者与系统之间的交互。识别边界类可以帮助开发人员识别出用转载 2011-10-24 21:16:51 · 3020 阅读 · 0 评论 -
抽象类和非抽象类
csdn解析: abstract 修饰符用于表示所修饰的类是不完整的,并且它只能用作基类。抽象类与非抽象类在以下方面是不同的:抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。允许(但不要求)抽象类包含抽象成员。抽象类不能转载 2011-10-29 19:08:32 · 2990 阅读 · 0 评论 -
IEnumerable和IEnumerator 详解 .
初学C#的时候,老是被IEnumerable、IEnumerator、ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质。下面我们先看IEnumerable和IEnumerator两个接口的语法定义。其实IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集转载 2012-03-16 20:13:24 · 849 阅读 · 0 评论 -
C#操作注册表
Windows 操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的,其中第二级目录包含了五个预定义主键分别是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。 下面我们来分别解释这5个类的作用 HKEY转载 2012-03-17 10:06:00 · 600 阅读 · 0 评论 -
C# 三层架构
用户界面表示层(USL) 业务逻辑层(BLL) 数据访问层(DAL) BLL将USL与DAL隔开了,并且加入了业务规则各层的作用 1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的转载 2012-04-08 11:02:19 · 2259 阅读 · 0 评论 -
C# 3.0语言的新特性——Lambda表达式
Lambda表达式在C# 3.0 中,Microsoft 添加了“lambda 表达式”。lamdba表达式曾经用于很久以前的LISP计算机语言中,在1936年由一个美国数学家Alonzo Church对其进行了概念化描述。这些表达式提供了便捷的语法来指定一个算法。但是在接下来开始介绍lambda表达式之前,首先看看将一个算法指定为某个方法的参数的演进过程,因为这正是lambda表达式的目转载 2012-03-22 20:55:46 · 582 阅读 · 0 评论 -
从Delegate,匿名方法到Lamdba表达式
首先看下面的数据集合:Code转载 2012-03-22 20:43:20 · 217 阅读 · 0 评论 -
MD5加密
摘自:http://blog.youkuaiyun.com/shenghui188/archive/2010/03/28/5423959.aspx方法一首先,先简单介绍一下MD5MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ro转载 2012-04-18 11:03:16 · 748 阅读 · 0 评论 -
net下的多线程
多线程是许多操作系统所具有的特性,它能大大提高程序的运行效率,所以多线程编程技术为编程者广泛关注。目前微软的.Net战略正进一步推进,各种相关的技术正为广大编程者所接受,同样在.Net中多线程编程技术具有相当重要的地位。本文我就向大家介绍在.Net下进行多线程编程的基本方法和步骤。 开始新线程 在.Net下创建一个新线程转载 2012-05-04 12:19:27 · 421 阅读 · 0 评论 -
C#几个经常犯错误汇总
在我们平常编程中,时间久了有时候会形成一种习惯性的思维方式,形成固有的编程风格,但是有些地方是需要斟酌的,即使是一个很小的错误也可能会导致昂贵的代价,要学会善于总结,从错误中汲取教训,尽量不再犯同样错误,注重编程之美,代码的优雅,总结几个平常经常犯的错误。1、在C#编程中,字符型类型是最容易处理出错的地方,代价是非常昂贵,在.Net Framwork中,字符串是一个相当特别的引用类型,stri转载 2012-05-06 14:28:49 · 465 阅读 · 0 评论 -
面向对象编程
关于面向对象的理解,原来我真的还有些不深刻,看了一个视频上的讲解,心中开朗了好多。分享给大家也细细琢磨一番,或许会有些启迪,或许也是个好复习。 一、 面向对象语言三大机制a) 封装,隐藏内部实现b) 继承,实现现有代码c) 多态,改写对象行为二、 面向对象设计原则a) 针对接口编程,而不是针对过程编程b) 优先使用对象组合,而不是类继承c) 封装变化点三、转载 2012-07-09 00:20:56 · 439 阅读 · 0 评论 -
面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用
这个问题困扰了我很久,很觉得设计的不完善,终于在今天把它彻底解决了,其实就是一个C#里的基础知识问题,主要涉及到了,接口,抽象类,接口继承,类继承,多态等知识。事件是这样的,我有一个统一接口规范的接口,它可以由linq to sql,ado.net和ef等相关数据源去实现(只是举个例,不是实际中的代码) 1 /// 2 /// 数据统一接口规范 3转载 2012-07-01 20:36:45 · 604 阅读 · 0 评论 -
谈谈:.Net中的序列化和反序列化
序列化和反序列化相信大家都经常听到,也都会用, 然而有些人可能不知道:.net为什么要有这个东西以及.net Frameword如何为我们实现这样的机制, 在这里我也是简单谈谈我对序列化和反序列化的一些理解。一、什么序列化和反序列化序列化通俗地讲就是将一个对象转换成一个字节流的过程,这样就可以轻松保存在磁盘文件或数据库中。反序列化是序列化的逆过程,就是将一个字节流转换回原来的对象的过程。转载 2012-07-13 17:23:25 · 1236 阅读 · 0 评论 -
【翻译】ASP.NET缓存管理
引言在解释ASP.NET中的缓存管理之前,我先澄清一下,不同的人使用不同的术语来解释同样的概念,有些人把它描述为状态管理,有些人描述为缓存管理。我喜欢用缓存管理,或许是因为我喜欢这个词“Cache”吧。 但是就所指含义来说,它们两个没有区别。现在让我们来探讨一下在ASP.NET环境下缓存管理的各个方面吧。尽管缓存管理在Windows应用程序中已经不再是个问题,但在web环境下依然是转载 2012-07-13 18:08:34 · 809 阅读 · 0 评论 -
浅谈.NET中可用的定时器和计时器【上篇】
.net中的计时问题可能每个人都会遇到,但是很少有人系统的总结,Baidu了下,无果,故写作本文。本文旨在总结.net中可用的各种计时方法,介绍的是DebugLZQ知道的几种.net中的定时、计时方法。并进行了我所知道的分析(重点)和简单使用,并不涉及更深层次的讨论。进入正题: 定时器是系统常用的组件之一,程序员可以根据自己的需求定制一个定时器类型,也可以使用.net内建的定时器类型转载 2012-08-06 14:43:35 · 742 阅读 · 0 评论 -
C#常用String.Format
C#常用String.Format今天在博客园上看到一片超赞的C#字符串格式的文章,是我看过最好的一个关于字符格式的文章,转来收藏,顺便向原作者flyingbread表示感谢和尊敬! 1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Library(WTL)的CString转载 2012-08-07 23:28:36 · 1038 阅读 · 0 评论 -
Web Service小结
Web Service的出现带来了很多系统工程直接相互的调用。无疑让代码的隐藏得到了好的封装。Web Service 它的主要的组成要素:SOAP:(Simple Object Access Protocol)简单对象访问协议,对于整个web 服务来说这是必须要遵循的一个协议。只有通过了这个协议才可以跨平台,或者跨防火墙直接进行通信。WSDL:(Web Service Descrip转载 2012-07-25 16:29:21 · 455 阅读 · 0 评论 -
DataSet DataTable DataReader dataAdapter区别[转载]
DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,应用程序开始运行时,把数据库相关数据保存到DataSet.DataTable表示内存中数据的一个表.常和DefaultView使用获取可能包括筛选视图或游标位置的表的自定义视图。DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,转载 2012-07-29 20:44:18 · 879 阅读 · 0 评论 -
C#中enum的总结
1、关于enum的定义enum Fabric{Cotton = 1,Silk = 2,Wool = 4,Rayon = 8,Other = 128}2、符号名和常数值的互相转换 Fabric fab = Fabric.Cotton; int fabNum = (int)fab;//转换为常数值。必转载 2012-07-29 17:35:01 · 6359 阅读 · 0 评论 -
C#序列化、反序列化学习
概念:序列化就是将对象转换为可保持或传输的过程,与序列化相反的过程就是反序列化。作用:通过序列化可以很轻松的存储和传输对象。三种序列化技术: .NET提供了三种序列化技术,我只知道这三种技术。分别是:Xml序列化、二进制序列化、Soap序列化(需要在项目内添加引用System.Runtime.Serialization.Formatters.Soap,然后在类中usi转载 2012-07-29 17:04:59 · 1657 阅读 · 0 评论 -
C#对Excel的一些操作【一】
C#操作Excel的方式多种多样,以下为个人实践中的一些总结,留个笔记方便以后查看,陆续更新中。。。进入正题:一:将Excel的数据直接导入到SQL数据库中这个需要Excel文件与数据库中的表的字段一致,或者指定每一个字段也行;首先读取Excel里面的内容:string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; "转载 2012-08-16 22:30:38 · 883 阅读 · 0 评论 -
C# base和this
new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在。所以,我们就有必要继续这个话题,把我认为最值得关注的关键字开展下去,本文的重点是访问关键字(Access Keywords):base和this。虽然访问关键字不是很难理解的话题,我们还是有可以深入讨论的地方来理清思路。还是老办法,我的问题先列出来,您是否做好了准备。 • 是否转载 2012-09-22 15:37:54 · 1258 阅读 · 1 评论 -
C# 压缩文件夹及文件
using System;using System.Collections.Generic;using System.Text;using System.ComponentModel;using System.Data;using System.Drawing;using System.Windows.Forms;using System.IO;using ICSh转载 2012-10-13 21:02:53 · 1263 阅读 · 0 评论 -
C#中Dictionary、ArrayList、Hashtable和Array的区别
数组:数组是固定大小的,不能伸缩,要声明元素的类型。数组可读可写不能声明只读数组;数组要有整数下标才能访问特定的元素int[] arry = new int[9];msdn解释:http://msdn.microsoft.com/zh-cn/library/system.array.aspxArrayList(using System.Collections)1、通过添加和转载 2012-12-03 21:32:43 · 863 阅读 · 0 评论 -
c#数据库存取图片的三种方式
第一种方式 文件夹与数据库配合 近来做了不少关于这块的功能 ,随着网络的飞速发展,网络存取图片已不再是神话,而成为了一种时尚,如果是你 是用Asp.net开发的话,可能更多的人会考虑使用数据库存储图片的路经,而在文件夹是存储图片的方式。这种方式主要的方法有两个一个就是怎么样读取图片,怎么样存储图上,读取的话我就不多说的这个是最简单的了,只要大家把地址=给存储图片的对象就行了,在取的时转载 2013-03-07 17:30:14 · 1581 阅读 · 0 评论 -
C# Socket网络编程精华篇
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念:TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用。http协议在应用层运行。 02,传输层(Tanspot):传输层转载 2013-03-08 08:37:40 · 3120 阅读 · 0 评论 -
c#中结构与类的区别
c#中结构与类的区别一.类与结构的示例比较:结构示例:public struct Person{ string Name; int height; int weightpublic bool overWeight(){ //implement something}} 类示转载 2013-03-29 11:07:42 · 689 阅读 · 0 评论 -
c#修饰符
符用于限定类型以及类型成员的申明,c#中有13种修饰符,按功能可分为三部分:存取修饰符,类修饰符和成员修饰符.存取修饰符:public:存取不受限制.private:只有包含该成员的类可以存取.internal:只有当前工程可以存取.protected:只有包含该成员的类以及继承的类可以存取.类修饰符:abstract:可以被指示一个类只能作转载 2013-03-29 11:12:05 · 1114 阅读 · 0 评论 -
Listview用法
选择例子 【学习源码下载】前端代码: onselectedindexchanging="ListView1_SelectedIndexChanging">转载 2013-04-08 10:59:03 · 862 阅读 · 0 评论 -
利用ListView和DataPager控件来对数据分页(转载)
GridView, DetailsView,FormView控件等都支持分页功能. 当配置为支持分页时,这些控件都呈现为包含LinkButtons, Buttons,或ImageButtons的分页界面.我们通过设置相关的属性来定制分页界面,比如使用Next/Previous,数字分页等.虽然这些配置都很好,但实现用户自定义的余地很小.比如,配置选项允许你指定分页接口出现在控件的顶部或者底部(或上转载 2013-04-08 10:39:26 · 2026 阅读 · 0 评论 -
C#之IO类库(一)——操作文件系统
C#的IO类库提供了丰富的IO操作,下面我来总结一下其IO类库提供的一些操作文件系统的方法一.操作驱动器C#用DriveInfo来操作驱动器1.创建对象a.我们可以通过静态方法DriveInfo.GetDrives()来获取所有的Driver。b.可以以Drive Letter为参数新建DriveInfo对象,注意DNS路径不能作为参数。c.此外,我们还可以通过Direct转载 2013-04-09 09:36:53 · 1123 阅读 · 0 评论 -
C#之IO类库(二)——读写文件
我们能够利用C#的IO库进行文件,文本的读写操作,一般的操作是先打开文件,进行读写操作,再关闭文件。其中打开文件的操作可以通过FileInfo对象进行,也可以通过File类进行,但是更常用和方便的是用File类进行,所以本文将只介绍用File类打开文件的方法。一.文件的简单读写操作如果你只想打开文件简单的读写,File类提供了一些函数能够一条语句就完成打开文件,读或写,关闭文件等操作:转载 2013-04-11 09:18:50 · 1480 阅读 · 0 评论 -
.NET简谈特性(代码属性)
由于很久没有写关于基础知识的东西了,今天来总结一下关于.NET平台中的代码属性的概念;只是基础介绍,文章的本意是带领初学者学会使用特性,而不是讨论高深的底层技术;[王清培版权所有,转载请给出署名]1.什么叫特性Attribute特性对一般.NET编程人员来说并不陌生,自从我们开始接触C#语言的时候,我们多多少少已经接触了关于特性的使用;但是对于初学者来说真的不明白特性的意义,特性到转载 2013-04-11 11:20:16 · 689 阅读 · 0 评论 -
.NET简谈反射(动态调用)
我们继续C#基础知识的学习,这篇文章主要要讲的是我们C#程序员迈向高级C#程序员的关键性的一步。有的朋友会说事实不是这样的,我不用反射就不能开发吗?当然可以,但是用与不用肯定是不一样的,任何复杂抽象的分层架构或者说是复杂的设计模式均是建立在这些基础之上的,比如我们要进行模块化、组件化开发,要严格的消除模块之间的耦合,要进行动态接口调用。这样的强大而灵活的系统开发,必须要用反射才行;任何技术转载 2013-04-11 10:24:54 · 771 阅读 · 0 评论 -
C#之IO类库(一)——操作文件系统
C#的IO类库提供了丰富的IO操作,下面我来总结一下其IO类库提供的一些操作文件系统的方法一.操作驱动器C#用DriveInfo来操作驱动器1.创建对象a.我们可以通过静态方法DriveInfo.GetDrives()来获取所有的Driver。b.可以以Drive Letter为参数新建DriveInfo对象,注意DNS路径不能作为参数。c.此外,我们还可以通过Dire转载 2013-04-11 09:17:54 · 775 阅读 · 0 评论 -
ArrayList的使用方法【转载】
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素实现了ICollection和IList接口灵活的设置数组的大小2、如何使用ArrayList 最简单的例子:ArrayList List = new ArrayList();for( int i=转载 2013-04-12 16:23:01 · 762 阅读 · 0 评论