![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 69
lovetaosha
这个作者很懒,什么都没留下…
展开
-
C#委托与事件
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) {转载 2012-11-29 22:15:44 · 348 阅读 · 0 评论 -
.C#中的委托是什么?事件是不是一种委托?
委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针。给你举个例子://声明一个委托,这里的NewDelegate()可以理解为是之后用来取方法的一个类型。delegate void NewDelegate();//下面定义的a,b两种方法,你可以理解为NewDelegate这个类型的两个实例。public void a(){};public void b(转载 2012-12-02 14:24:08 · 7106 阅读 · 1 评论 -
net中String是引用类型还是值类型
String是引用类型 string是值类型 关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确。希望能给大家带来点帮助。 如果有错误请指出。来看下面例子: //值类型 int a = 1; int b = a;转载 2012-12-01 16:32:34 · 613 阅读 · 0 评论 -
asp.net(c#)存储过程调用实例
asp.net(c#)存储过程调用实例本文从多个角度阐述了SQL Server与存储过程的比较。①为什么要使用存储过程?因为它比SQL语句执行快。②存储过程是什么?把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句。③来一个最简单的存储过程:CREATE PROCEDURE dbo.testProcedure_AXASsele转载 2012-12-02 14:20:42 · 593 阅读 · 0 评论 -
NET Framework 中的反射
1、什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装转载 2012-12-01 11:28:10 · 372 阅读 · 0 评论 -
(C#)WinForm窗体间传值
1.通过构造函数特点:传值是单向的(不可以互相传值),实现简单实现代码如下:在窗体Form2中 int value1;string value2;public Form2 ( int value1 , string value2 ){ InitializeComponent ( ); this.value1 = value1;转载 2012-12-12 15:40:03 · 367 阅读 · 0 评论 -
asp.net页生命周期示图
各个 ASP.NET 服务器控件都有自己的生命周期,该生命周期与页生命周期类似。 例如,控件的 Init 和 Load 事件在相应的页事件期间发生。 虽然 Init 和 Load 都在每个控件上以递归方式发生,但它们的发生顺序相反。每个子控件的 Init 事件(还有 Unload 事件)在为其容器引发相应的事件之前发生(由下到上)。但是,容器的 Load 事件是在其子转载 2012-12-27 09:46:33 · 407 阅读 · 0 评论 -
ViewState - ASP.NET 的一个特有存储容器
首先,我不确定是不是只有ASP.NET由ViewState,也不确认它有多特有,只是觉得这个东西对于Web开发MVC分离的进步很有帮助。所谓的ViewState,就是用来存放关于View的State的地方。以前的存储容器包括Cookies, Session, Application, Cache, Hidden,有时候连传递变量用的QueryString也用作存储容器,但都不是专门用来存储Vi转载 2012-12-27 10:17:01 · 538 阅读 · 0 评论 -
ASP.NET中的ViewState
ASP.NET中的ViewState ViewState是ASP.NET中用来保存WEB控件回传时状态值一种机制。在WEB窗体(FORM)的设置为runat="server",这个窗体(FORM)会被附加一个隐藏的属性_VIEWSTATE。_VIEWSTATE中存放了所有控件在ViewState中的状态值。ViewState是类Control中的一个域,其他所有控件通过继承Control来转载 2012-12-27 10:23:07 · 557 阅读 · 0 评论 -
asp.net页面生存周期及事件
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要,这样就能在合适的生命周期阶段编写代码,以达到预期效果。此外,如果开发自定义控件,则必须熟悉页生命周期,从而正确地初始化控件,使用视图状态数据填充控件属性以及运行所有控件行为逻辑。(控件的生命周期基于页的生命周转载 2012-12-27 09:23:06 · 592 阅读 · 0 评论 -
ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
1.Application对象 Application用于保存所有效户的公共的数据信息,若是应用Application对象,一个须要推敲的题目是任何写操纵都要在 Application_OnStart事务(global.asax)中完成.尽管应用Application.Lock和 Applicaiton.Unlock办法来避免写操纵的同步,然则它串行化了对Application对象的恳转载 2012-12-27 10:42:05 · 893 阅读 · 0 评论 -
asp.net ViewState 用法?
通常在页面 先定义protected void Page_Load(object sender, EventArgs e){if(!IsPostBack){ViewState["自定义名称用于区分不用的"] =null; // 定义的开始.}}其他地方,如果要存 .直接 赋值..ViewState["1"] = "我的值"; // string转载 2012-12-27 10:19:01 · 552 阅读 · 0 评论 -
C#设计模式之1——简单工厂模式 .
本人最近学习C#设计模式,所以把自己学到的东西写出来和大家分享一下。关于C#的设计模式将会有一个专题来写。 在OO编程中最常用到的一个模式就是简单工厂(Simple Factory)模式。简单工厂模式根据提供的数据或者参数返回几个可能的类中的一个实例,说通俗点有点像面向对象编程中的多态性,一个基类,有多个派生类,在另外的调用程序中,根据参数来决定返回这个基类的哪个具体的派生类,返回值为转载 2012-12-15 07:30:58 · 465 阅读 · 0 评论 -
ASP.NET 面试题大全
1 :维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么 答:尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策2 : ADO。NET相对于ADO等主要有什么改进?答 ADO转载 2012-12-18 16:59:30 · 754 阅读 · 0 评论 -
GUID在.net里的使用,就用System.Guid结构
/// Class1 的摘要说明。 /// class Class1 { /// /// 应用程序的主入口点。 /// [STAThread] static void Main(string[] args) { //使用NewGu转载 2014-12-03 15:06:01 · 2666 阅读 · 1 评论 -
C# lock的理解 ,注意看注释
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace LockTest{ class Program { /*原创 2015-03-09 10:30:40 · 2007 阅读 · 0 评论 -
强类型语言与弱类型语
简单的说:强类型语言编译质量更好,执行速度更快,但代码臃肿、死板。弱类型语言开发更敏捷,自由度更高,但效率略低。 强类型比较严谨, 比较严格, 在保证数据的有效性来说, 会比较好一些, 也就比较稳定但对初学者不大友善. 弱类型易用, 上手快但也经常出现一些问题, 如要调用一个方法时, 该变量不是对象, 或者, 该对象没有这个方法, 也就是程序的可靠性会比较差.原创 2012-12-01 14:58:36 · 929 阅读 · 0 评论 -
启动一个线程是用run()还是start()?
启动线程肯定要用start()方法。当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。当cpu分配给它时间时,才开始执行run()方法(如果有的话)。START()是方法,它调用RUN()方法.而RUN()方法是你必须重写的. run()方法中包含的是线程的主体。继承Thread类的启动转载 2012-12-02 16:26:03 · 630 阅读 · 0 评论 -
c#实现多线程代码例子
相信大家都有用过网际快车等下载资源的经历,它里面是可以设置线程数的(近年版本默认是10,曾经默认是5)。它会将文件分成与线程数相同的部分,然后每个线程下载自己的那一部分,这样下载效率就有可能提高。相信大家都有加多线程数,提升下载效率的经历。但细心的用户会发现,在带宽一定的情况下,并不是线程越多,速度越快,而是在某一点达到峰值。在C#中用多线程并不难实现。它有一个命名空间:System.Thre转载 2012-11-30 07:22:21 · 526 阅读 · 0 评论 -
C#中值传递与引用传递的区别 .
以值传递参数当实参当作值来传递时,就产生了一个新的拷贝。[c-sharp] view plaincopyprint?class Test { static void Main(string[] args) { int x=8; Fo(x); Conso转载 2012-11-29 22:13:12 · 482 阅读 · 0 评论 -
为什么c#中要有ref和out?(
问题:为什么c#中要有ref和out?(而java中没有)需求假设:现需要通过一个叫Swap的方法交换a,b两个变量的值。交换前a=1,b=2,断言:交换后a=2,b=1。现编码如下:class Program { static void Main(string[] args) { int a = 1;转载 2012-12-01 09:36:37 · 890 阅读 · 0 评论 -
C#中的值传递和引用传递是什么?
先搞清什么是值类型和引用类型。C#值类型数据直接在他自身分配到的内存中存储数据,而C#引用类型只是包含指向存储数据位置的指针。基础数据类型(string类型除外):包括整型、浮点型、十进制型、布尔型。整型包括:sbyte、byte、char、short、ushort、int、uint、long、ulong 这九种类型;浮点型就包括 float 和 double 两种类型;十进制型就转载 2012-12-01 09:59:33 · 592 阅读 · 0 评论 -
“结构体”和“类”有啥区别?
第一个问题:,“结构体”和“类”有啥区别?怎样辨别是结构体还是类! 结构体是一种值类型,而类是引用类型。(值类型、引用类型是根据数据存储的角度来分的)就是值类型用于存储数据的值,引用类型用于存储对实际数据的引用。那么结构体就是当成值来使用的,类则通过引用来对实际数据操作。第二个问题:两者里面是不是都有构造函数?为什么结构体用得比较少? 构造函数是为了初始化类的字段而存在转载 2012-12-01 10:08:25 · 605 阅读 · 0 评论 -
C#中虚函数跟抽象函数有什么用,怎么去区别
这个问题,你要明白:1.虚方法其目的就是为了重写,但它可以有自己的实现部分。2.抽象方法:其名为抽象,很好理解,其不能提供具体的实现,只是一个可重写的(隐性的)虚方法的(可以理解为接口)模版。3.这两个方法都是为了再次重写和实现,所以都不能密封 C#的重载:普通的重载是通过方法的参数个数,参数顺序,参数的类型来区分同名的方法。在实现多态的时候,对基类方法的重载是函转载 2012-12-01 10:21:58 · 4566 阅读 · 0 评论 -
C#中的接口和类有什么区别
接口不能实例化;接口中的方法没有方法体{};继承接口的类一定要实现接口中定义的方法;类可以实例化,可以定义自己的字段,属性,方法等等;类可以继承多个接口,但只能继承一个类! 随笔- 159 文章- 2 评论- 207 博客园 首页 新随笔 新文章 联系 管理 订阅 c#接口和抽象类的区别 大家都容易把这两者搞混,转载 2012-12-01 10:28:37 · 2719 阅读 · 0 评论 -
接口
1,默认是public2,不能有static 属性,方法等3,本身也不能是static的4,都只是实体声明,无具体的内容 一、接口接口是C#中很常见的工具,概念什么的就不说了,这里讲几个值得注意的小地方:1、接口内部只能有函数、属性和事件的声明:转载 2012-12-01 10:46:05 · 321 阅读 · 0 评论 -
.NET中反射的应用
【摘要】 反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象。 下面通过二个例子来学习,第一个,动态地调用一个类,第二个,动态地调用类里面转载 2012-12-01 11:08:37 · 354 阅读 · 0 评论 -
C# 序列化(Serialize)与反序列化(Deserialize)
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储。转载 2012-12-01 16:53:12 · 983 阅读 · 0 评论 -
using 关键字有两个用途
1、在程序开始处,声明程序中用到的命名空间,或者给命名空间定义别名;2、在程序中,处理非托管对象,保证其正确释放资源;例子如下:using System; // 声明了程序中用到的一个命名空间 Systemusing io = System.IO; // 给命名空间 System.IO 定义了一个别名,叫ionamespace ConsoleApplication1转载 2012-12-01 16:56:13 · 469 阅读 · 0 评论 -
const 与 readonly知多少
1,const 即一编译时即存在,不可变的,所以不用来在new 这种初始化才出来的2,readonly是运行时才开始赋值的 尽管你写了很多年的C#的代码,但是可能当别人问到你const与readonly的区别时候,还是会小小的愣一会吧~ 笔者也是在看欧立奇版的《.Net 程序员面试宝典》的时候,才发现自己长久以来竟然在弄不清出两者的情况下,混用了这么长的时间。的确,co转载 2012-12-02 09:47:12 · 306 阅读 · 0 评论 -
switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则: 只能针对基本数据类型使用switch,这些类型包括int和string等待。对于其他类型,则必须使用if语句。 case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。 case标签必须是惟一性的表转载 2012-12-01 11:33:34 · 2532 阅读 · 1 评论 -
C#序列化和反序列化 .
序列化是将对象状态转换为可保持或传输的格式的过程例如,可以序列化一个对象,然后使用HTTP通过Internet在客户端和服务器之间传输该对象。反之,反序列化根据流重新构造对象反序列化将流转换为对象序列化和反序列化过程结合起来,可以轻松的存储和传输数据什么情况下手使用序列化和反序列化永久存储将对象的状态永久保存在存储媒体中,一边可以在以后重新创建精确的副本值封送转载 2012-12-01 16:45:46 · 590 阅读 · 0 评论 -
采用Reflector的VS.net插件断点调试无源码DLL
.Net的编程利器Reflector可以反编译基于.net开发的应用程序和DLL,其功能强大不用多说。今天想试验一把利用VS.net的插件断点调试外部无源码的DLL(只要是程序集都可以,所以exe也行)功能。 一.加载VS.net的Reflector插件从官网下载的Reflector程序(最新版本为6.1.0)包中自带了VS.net的插件,名称为“RedGate.Reflector.A转载 2015-05-16 07:21:45 · 7857 阅读 · 0 评论