![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 54
hi_dzj
msndzj@live.cn
展开
-
函数默认参数(C#)
大家都知道在C++中,我们可以为方法的参数指定一个默认值,像这样:void foo(int i = 100);当我们以这种形式调用方法的时候: foo(); 实际上参数i被赋于了默认值,所以相当于调用了foo(100);然而在C#中是不支持参数的默认值的,那么如果我们要用到类似的功能应该怎么实现呢?考虑下面这个例子:class Buffer{ publ转载 2011-11-26 20:14:04 · 6055 阅读 · 0 评论 -
常用SQL语句
br>一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyN转载 2012-01-01 13:41:33 · 895 阅读 · 1 评论 -
enum和Enum区别
枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。 Enum 提供比较此类的实例的方法、将实例的值转换为其字符串表示形式的方法、将数字的字符串表示形式转换为此类的实例的方法和创建指定枚举和值的实例的方法。 也可以将枚举视为位域枚举类型都是值类型。System.En转载 2012-01-02 11:19:23 · 6436 阅读 · 0 评论 -
C#中的委托和事件(转续)
原文推荐:http://www.cnblogs.com/JimmyZhang/archive/2008/08/22/1274342.html源码下载:http://www.tracefact.net/SourceCode/MoreDelegate.rar如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方转载 2011-12-28 11:20:13 · 608 阅读 · 0 评论 -
托管资源和非托管资源
托管资源是指由CLR管理分配和释放的资源,一般是托管内存,而非托管资源是由系统分配和释放的资源一般地在CLR里new 一个对象或者分配一个数组都不需要手动去释放内存,且实现了IDisposable接口的都是非托管资源而如windows里的句柄资源常常需要手动释放,如字体、刷子、DC等所有的Window内核对象(句柄)都是非托管资源,如文件句柄、套接字句柄、窗体句柄最转载 2012-01-01 12:58:20 · 1016 阅读 · 0 评论 -
实例简介异常处理
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Globalization;using System.Data.SqlClient;namespace TestConsoleApp{ class Program {原创 2012-01-02 13:51:05 · 712 阅读 · 0 评论 -
ComboBox和ListBox添加项及设置默认选择项
此文章针对 C#(WinForm)Web控件DropDownList和WinForm控件ComboBox机制不一样。ComboBox没有对应的ListItem需要自己写一个:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace转载 2012-01-02 16:58:26 · 5229 阅读 · 0 评论 -
数据库访问通用类(第四版)
//////版本:SQLHelper 2.0///修改版本:SQLHelper 1.3///模块编号:1001///作用:数据库访问通用类///作者:邓政军///修改日期:2012-1-5///新增存储过程///新增显示连接关闭操作///using System;using System.Collections.Generic;using System.Linq;usi原创 2012-01-05 10:49:36 · 1029 阅读 · 0 评论 -
.NET 性能优化方法总结
1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 1.1.1.1避免循环创建对象 ★ 如果对象并不会随转载 2012-01-05 10:08:50 · 1090 阅读 · 0 评论 -
IDisposable标准实现
原文推荐:http://www.cnblogs.com/xlshcn/archive/2007/01/16/idisposable.html.NET中用于释放对象资源的接口是IDisposable,但是这个接口的实现还是比较有讲究的,此外还有Finalize和Close两个函数。MSDN建议按照下面的模式实现IDisposable接口: 1 public class Foo: IDis转载 2012-01-04 21:39:35 · 687 阅读 · 0 评论 -
C# WinForm开发系列
强帖支持!!作者:peterzb(个人开发历程知识库 - 博客园)出处:http://peterzb.cnblogs.com/该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm一直比较感兴趣,这几年积累收藏了不转载 2012-02-14 10:46:20 · 1149 阅读 · 0 评论 -
美化DataGridView控件
文章转载自:http://www.cnblogs.com/fmgs/archive/2011/01/01/1923713.html 开始做WinForm开发的时候,我想大家和我一样,都有一个相同的疑问。Windows可以做的如此漂亮,为什么它提供的开发控件确如此“平淡无奇”。甚至可以用普通来形容。时间长了以后才发现,原来可以通过OnPaint事件对控件的外观进行转载 2012-02-13 19:29:55 · 10509 阅读 · 2 评论 -
DataRow使用Delete和用Remove方法效果
事故现场:ds.Tables["Role"].Rows.RemoveAt(i),为什么数据适配器不能更新,同时不报错ds.Tables[ "Role "].Rows.RemoveAt(1), OleDbDataAdapter dataAdapter...... dataAdapter.update(ds, "role "); 程序不报错,但是记录集中的值翻译 2012-02-15 21:18:34 · 5661 阅读 · 0 评论 -
Timer简单使用
using System;using System.Threading;class TimerExample{ static void Main() { AutoResetEvent autoEvent = new AutoResetEvent(false); StatusChecker statusChecker = new StatusC转载 2012-02-24 17:44:03 · 659 阅读 · 0 评论 -
枚举类型的遍历
using System;public class EnumTest{ enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday }; public enum DefaultRoleType { Admin = 0, Edu = 1 }转载 2012-03-10 08:49:44 · 914 阅读 · 0 评论 -
DataGridView中CellClick,CellMouseClick,CellContentClick的区别
DataGridView中 事件CellClick,CellMouseClick,CellContentClick的区别(亲自实践)CellClick 在单元格的任何部分被单击时发生 CellMouseClick 在用户用鼠标单击单元格中的任何位置时发生。CellContentClick 点在列内容里 (有时候点击有响应,有时候没有)其中的CellCon转载 2012-03-20 11:05:00 · 11239 阅读 · 1 评论 -
使用using清理非托管资源
我们都知道,垃圾回收可以分为Dispose和Finalize两类,关于这两者的区别已经太多了,一个是正常的垃圾回收GC所调用的方法,另外一个是终结器Finalizer,所调用的方法,在Effective C#一书中,有着明确的建议是说使用IDispose接口来代替Finalize。原因是因为Finalize终结会增加垃圾回收对象的代数,从而影响垃圾回收。 有了上述的原因,我们现在只来看使转载 2012-01-01 12:45:59 · 587 阅读 · 0 评论 -
C# 中的委托和事件(转)
原文推荐:http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本转载 2011-12-28 09:23:21 · 617 阅读 · 0 评论 -
泛型剖析
原文推荐:http://www.cnblogs.com/JimmyZhang/archive/2008/12/17/1356727.htmlWord版本下载:《.Net之美》样章 - 1.1 理解泛型范例代码:点此下载.Net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持。通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆转载 2012-01-02 19:55:45 · 511 阅读 · 0 评论 -
数据访问通用类(C#)
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace SqlHelper{ public class原创 2011-11-29 19:06:32 · 788 阅读 · 0 评论 -
验证函数大集合(一)
public string IsFull(string Inputvalue) { if(Inputvalue== " ") { return "不能为空 "; } else { return " "; } } public string IsInter(string Inputvalue) { /* 判断输入是否为整型*/ if(转载 2011-12-04 09:53:24 · 476 阅读 · 0 评论 -
成员名称不能与它们的封闭类型相同
出现的原因可能是:1.类名跟系统中的构造函数名冲突了2.定义[WebMethod]方法的方法名与类名相同3.未知。。原创 2011-12-09 20:36:16 · 3995 阅读 · 0 评论 -
何为元数据
元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和引用的每个类型和成员都将在元数据中进行说明。当执行代码时,运行库将元数据加载到内存中,并引用它来发现有关代转载 2011-12-08 21:41:35 · 507 阅读 · 0 评论 -
C#类指针浅析
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) {翻译 2011-12-09 09:17:56 · 1198 阅读 · 0 评论 -
C# 类的组成原理简要剖析
昨天考试中遇到一道这样的题目,大概是如下形式:下列关于c#说法错误的是:(选择两项)A 类可以实例化为对象 B对象可以实例化为类C类可以调用非静态成员 D对象可以调用静态成员 一眼扫下来,我发现BCD三个选择都是错误的,BC选择错的很明显,而D选项的错误在于静态成员只能由类型对象来调用,而实例对象是不能调用静态成员的。回到寝室,我愈来感觉问题似乎不像转载 2011-12-09 10:25:18 · 815 阅读 · 0 评论 -
C#反射简析
(一)首先我们来创建一个用于反射的例子 1.我们来创建一个用于反射的类库 test.dllusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace test{ public class ReflectTest { p转载 2011-12-09 11:26:09 · 432 阅读 · 0 评论 -
C#反射(一)
在还不太熟悉反射的昨天,以为反射很神秘,在网上到处找答案.今天找了段代码敲了一下,茅塞顿开!其实反射也就那么简单的一回事! 反射是一种机制,通过这种机制我们可以知道一个未知类型的类型信息.比如,有一个对象a,这个对象不是我们定义的,也许是通过网络捕捉到的,也许是使用泛型定义的,但我们想知道这个对象的类型信息,想知道这个对象有哪些方法或者属性什么的.甚至我们想进一步调用这个对象的方法.关键转载 2011-12-09 11:31:59 · 484 阅读 · 0 评论 -
C# 类内部的组成原理简要剖析
昨天考试中遇到一道这样的题目,大概是如下形式:下列关于c#说法错误的是:(选择两项)A 类可以实例化为对象 B对象可以实例化为类C类可以调用非静态成员 D对象可以调用静态成员 一眼扫下来,我发现BCD三个选择都是错误的,BC选择错的很明显,而D选项的错误在于静态成员只能由类型对象来调用,而实例对象是不能调用静态成员的。回到寝室,我愈来感觉问题似乎不像翻译 2011-12-10 16:01:22 · 714 阅读 · 0 评论 -
什么是CIL
CIL (C Intermediate Language)CIL is a front-end for the C programming language that facilitates program analysis and transformation. CIL will parse and typecheck a program, and compile it into a sim转载 2011-12-29 10:32:37 · 1172 阅读 · 0 评论 -
产生随机验证码(asp.net)
当用户点击验证码时,会发生改变,效果如图aspx中body内的代码,注意标签 用户名: 密码: 验证码:原创 2011-12-30 18:23:48 · 751 阅读 · 0 评论 -
产生随机验证码(控制台)
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PreCLPZConsoleApp{ class Program { static void Main(string[] args) {原创 2011-12-30 16:51:56 · 815 阅读 · 0 评论 -
正则表达式简单实例
static void Main(string[] args) { //匹配6~30以内字符,且头字符不能有_ string regexTest = @"^[0-9a-zA-Z]{1}\w{5,29}{1}quot;; while(true) { stri原创 2011-12-30 19:35:37 · 440 阅读 · 0 评论 -
SQL连接字符串(ADO.NET)
在.NET应用程序中,创建数据连接分为三步:一、定义连接字符串不同的数据库连接字符串的格式不同,一般都包括要连接的数据库提供都名称、登陆信息以及要使用的数据库名称。注意:在定义连接字符串之前,一定要引入相应的命名空间。所有的连接都要用到连接字符串ConnectionString,该字符串是使用分号隔开的多项信息,其内容随着数据库类型和访问内容的变化而变化。不同的数据转载 2012-01-01 13:23:18 · 7330 阅读 · 2 评论 -
C# 缩写命名
1 ADO.NET 命名规范数据类型数据类型简写标准命名举例ConnectionconconNorthwindCommandcmdcmdReturnProductsParameterparmparmProductIDDataAdapterdad转载 2012-01-02 17:45:27 · 1369 阅读 · 0 评论 -
C#泛型
原文推荐:http://www.cnblogs.com/JimmyZhang/archive/2007/08/04/842663.html[译]C# 中的泛型PDF 浏览:http://www.tracefact.net/document/generics-in-csharp.pdf源码下载:http://www.tracefact.net/SourceCode转载 2012-01-02 20:00:49 · 448 阅读 · 0 评论 -
DataGridViewRow的Remove 与 DataRow的Remove区别
DataRow的Remove当移除行时,该行中的所有数据都将丢失。还可以调用DataRow 类的 Delete 方法来标记某行以供移除。调用 RemoveAt 等同于先调用 Delete 再调用 AcceptChanges。即调用了该Remove用update的话将没有更改数据库调用DataGridViewRow的Remove并update的话,会更改数据库原创 2012-04-15 08:33:24 · 1337 阅读 · 0 评论