摘要:#region 读取Excel /// <summary> /// 将 Excel 文件转成 DataTable 后,再把 DataTable中的数据写入表Products /// </summary> /// <param name="serverMapPathExcelAndFileName"></param> /// <param nam...
        
阅读全文
 
            
         
        
            
            
摘要:一、分类 C# 数据类型分为: 值类型、引用类型 值类型主要由两类组成:结构、枚举  结构分为以下几类:Numeric(数值)类型(整形 浮点型 decimal)、 bool 、用户自定义结构 引用类型包括: 类 class (Object、String)、代表 delegate、数组 Array、接口 interface 二、值类型 整形 类型 范围 大小 sbyte -128 到 127 有符...
        
阅读全文
 
            
         
        
            
            
摘要:在向大家详细介绍C#值类型和C#结构类型之前,首先让大家了解下类型设计,然后全面介绍C#值类型和C#结构类型。  条款讨论的是类型设计时候的tradeoff——是将类型设计为结构还是类。Bill Wagner先生给出了一个原则“C#值类型用于存储数据,引用类型用于定义行为(value types store values and reference types ...
        
阅读全文
 
            
         
        
            
            
摘要:using System;namespace cSharpJichu{ public class A { public A() { Console.WriteLine("A的构造函数被调用"); } } public class B : A { public B() { Console.WriteLine("B的构造函数被调用"); } X x = new X(); //初始化器  } publi...
        
阅读全文
 
            
         
        
            
            
摘要:using System;namespace cSharpJichu{  interface IInterface { void InterfaceClassA(); void InterfaceClassB(); } public class ImplementInterfaceClass : IInterface { private string a = "在 ImplementInterfa...
        
阅读全文
 
            
         
        
            
            
摘要:using System;namespace cSharpJichu{ public class BaseClass { private string a = string.Empty; public void RunAtBaseClassA() { Console.WriteLine("RunAtBaseClassA"); } public virtual void RunAtBaseClass...
        
阅读全文
 
            
         
        
            
            
摘要:在派生类中对虚方法进行重载    先让我们回顾一下普通的方法重载,普通的方法重载指的是:类中两个以上的方法(包括隐藏的继承而来的方法),取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪个方法。    而对基类虚方法的重载是函数重载的另一种特殊形式。在派生类中重新定义此虚函数时,要求的是方法名称,返回值类型、参数表中的参数个数、类型顺序都必须与基类中的虚函数完全一...
        
阅读全文
 
            
         
        
            
            
摘要:三、虚方法   当类中的方法声明前加上了virtual 修饰符,我们称之为虚方法,反之为非虚。使用了virtual  修饰符后,不允许再有static, abstract, 或override 修饰符。 示例1:带有虚方法的类  using System ; public class DrawingBase {  public virtual void Draw( ) { Console.Writ...
        
阅读全文
 
            
         
        
            
            
摘要:一、什么是多态    面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。    同一操作作用于不同的对...
        
阅读全文
 
            
         
        
            
            
摘要:using System;namespace cSharpJichu{ class BaseClass { private string a = string.Empty; public void RunAtBaseClassA() { Console.WriteLine("RunAtBaseClassA"); } public virtual void RunAtBaseClassVirtual...
        
阅读全文
 
            
         
        
            
            
摘要:类似这样的例子是很多的,GOF对它进行了抽象,称为Observer设计模式:Observer设计模式是为了定义对象间的一种一对多的依赖关系,以便于当一个对象的状态改变时,其他依赖于它的对象会被自动告知并更新。Observer模式是一种松耦合的设计模式。实现范例的Observer设计模式我们之前已经对委托和事件介绍很多了,现在写代码应该很容易了,现在在这里直接给出代码,并在注释中加以说明。using...
        
阅读全文
 
            
         
        
            
            
摘要:我们改写GreetingManager类,它变成了这个样子:public class GreetingManager{//这一次我们在这里声明一个事件public event GreetingDelegate MakeGreet;public void GreetPeople(string name) {MakeGreet(name);}}很容易注意到:MakeGreet 事件的声明与之前委托变量...
        
阅读全文
 
            
         
        
            
            
摘要:将方法绑定到委托看到这里,是不是有那么点如梦初醒的感觉?于是,你是不是在想:在上面的例子中,我不一定要直接在GreetPeople()方法中给 name参数赋值,我可以像这样使用变量:static void Main(string[] args) {string name1, name2;name1 = "Jimmy Zhang";name2 = "张子阳"; GreetPeople(name1,...
        
阅读全文
 
            
         
        
            
            
摘要:C# 中的委托和事件详解(一)2009年08月15日 星期六 08:09引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要...
        
阅读全文
 
            
         
        
            
            
摘要:[C#技术] Dictionary、ArrayList、Hashtable和数组 Array 的区别1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小, 但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的 2.数组要声明元素的类型,集合类的元素类型却是object. 3.数组可读可写不能声明只...
        
阅读全文
 
            
         
        
            
            
摘要:) 1.了解发送邮件的三种方式 2.实例介绍使用client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis 3.如何设定本机IIS的SMTP服务器 1.了解发送邮件的三种方式 第一:client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMetho...
        
阅读全文
 
            
         
        
            
            
摘要:C# /// <summary> /// 对DataTable进行分页,起始页为1 /// </summary> /// <param name="dt"></param> /// <param name="PageIndex"></param> /// <param name="PageSize"></pa...
        
阅读全文
 
            
         
        
            
            
摘要:is/as操作符,是C#中用于类型转换的,提供了对类型兼容性的判断,从而使得类型转换控制在安全的范畴,提供了灵活的类型转换控制。is 是判断可否将一种类型当作另一种类型使 as 是将一种类型转为另一种类型,转换失败则返回null is用来判断,as用于转换!1 as只能操作引用类型;(type)变量名可以应用于值类型和引用类型; 2 as不会引发不兼容类型转换异常,有性能优势;显示类型转换,可能引...
        
阅读全文
 
            
         
        
            
            
摘要:片段 1 using System.Data.OleDb; ... static void Main() { Application.Run(new Form1()); } private void Form1_Load(object sender, System.EventArgs e) { DataTable myT=ExcelToDataTable("D:/文件/新武昌站点资料.xls","...
        
阅读全文
 
            
         
        
            
            
摘要:作者:刘彦青 多少年来,许多的编程语言和工具都包含对正则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl 5中的规则表达式兼容。 此外,regexp类还能够完成一些其他的功能,例如从右至左的结合模式和表达式的编辑等。 在这篇文章中,我将简要地介绍System.Text.RegularEx...
        
阅读全文