随笔分类 -  C#

摘要:分析问题由于流模式读取数据库的特点,在具体应用时很难确定数据库连接何时才能被关闭,因为读取的动作是连续进行的,下面是一个常见的数据访问层的静态方法:///<summary>/// 常见的获取SqlDataReader方法/// 通常的数据访问层都会提供这个方法///</summary>static SqlDataReader GetReader(){//通过连接字符串获取连接SqlConnection con = new SqlConnection(conn_String);try{//打开连接,执行查询//并且返回SqlDataReadercon.Open();Sql 阅读全文
posted @ 2011-11-25 15:14 EasyPass 阅读(326) 评论(0) 推荐(0)
摘要:在通过dynamic类型实现的操作中,该类型的作用是绕过编译时类型检查,改为在运行时解析这些操作。dynamic类型简化了对 COM API(例如 Office Automation API)、动态 API(例如 IronPython 库)和 HTML 文档对象模型 (DOM) 的访问。在大多数情况下,dynamic类型与object类型的行为是一样的。但是,不会用编译器对包含dynamic类型表达式的操作进行解析或类型检查。编译器将有关该操作信息打包在一起,并且该信息以后用于计算运行时操作。在此过程中,类型dynamic的变量会编译到类型object的变量中。因此,类型dynamic只在编译 阅读全文
posted @ 2011-11-13 17:35 EasyPass 阅读(1105) 评论(0) 推荐(1)
摘要:1.dynamic ExpandoObject熟悉js的朋友都知道js可以这么写 :1var t =newObject();2t.Abc = ‘something’;3t.Value = 243;现在这个js动态语言的特性,我们也可以在c#中使用了,前提是将一个变量声明为ExpandoObject类型。如下例:1staticvoidMain(string[] args)2{3dynamic t =newExpandoObject();4t.Abc ="abc";5t.Value = 10000;6Console.WriteLine("t's abc = { 阅读全文
posted @ 2011-11-13 17:33 EasyPass 阅读(293) 评论(0) 推荐(0)
摘要://字符长度的理解 string s = "我是一个2兵"; int len = s.Length;//6个字符 byte[] sarr = System.Text.Encoding.Default.GetBytes(s); len = sarr.Length;//11个字节 //10进制转字符串,也没有意义,要转成对应的ascii码 int t1 = 81; string s1 = t1.ToString(); //这个10进制转对应ASCII字符才有意义。 s1 = ((char)t1).ToString(); //16进制转字符串:这个没有意义。就是tostring了 阅读全文
posted @ 2011-09-05 13:00 EasyPass 阅读(599) 评论(0) 推荐(0)
摘要:一、服务器端using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;namespace UDPServer{ class Program { static void Main(string[] args) { int recv; byte[] data = new byte[1024]; //构建TCP 服务器 //得到本机IP,设置TCP端口号 IPEndPoint ipep = new IPEndPoint(IPAddress.Any 阅读全文
posted @ 2011-08-03 15:28 EasyPass 阅读(476) 评论(0) 推荐(0)
摘要:1、全表自动列宽 mysheet.Cells.Select(); mysheet.Cells.Columns.AutoFit();2、合并 excelRangeParm.Merge(Missing.Value); 3、粗体设置 excelRangeParm.Font.Bold = true; 4、字体大小设置 excelRangeParm.Font.Size = 12; 5、水平对齐设置 excelRangeParm.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; 6、垂直对齐设置 excelRangeParm.V... 阅读全文
posted @ 2011-08-02 15:02 EasyPass 阅读(3440) 评论(1) 推荐(0)
摘要:DateTimedt=DateTime.Now;//当前时间int dayOfWeek = Convert.ToInt32(dt.DayOfWeek.ToString("d"));DateTime startWeek = dt.AddDays(1-((dayOfWeek == 0)?7:dayOfWeek));//本周周一DateTimeendWeek=startWeek.AddDays(6);//本周周日DateTimestartMonth=dt.AddDays(1-dt.Day);//本月月初DateTimeendMonth=startMonth.AddMonths(1 阅读全文
posted @ 2011-07-16 22:34 EasyPass 阅读(553) 评论(0) 推荐(0)
摘要:由于所需要操作的XML文件结点格式不统一,故写了一个通用递归类,代码如下:一、XML文件<?xml version="1.0" encoding="utf-8"?><configuration> <appSettings> <Cycles> <SY_DT5_GSM_Month>5</SY_DT5_GSM_Month> <SY_DT5_GSM_Day>50</SY_DT5_GSM_Day> </Cycles> </appSettings> 阅读全文
posted @ 2011-07-12 19:01 EasyPass 阅读(2886) 评论(1) 推荐(0)
摘要:下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。打开你的VS.net,新建一个控制台应用程序(Console Application),编写完全控制一个线程的代码示例://ThreadTest.csusing System;using System.Collection 阅读全文
posted @ 2011-06-17 10:59 EasyPass 阅读(459) 评论(0) 推荐(0)
摘要:什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。多线程的不利方面 阅读全文
posted @ 2011-06-17 10:43 EasyPass 阅读(284) 评论(0) 推荐(0)
摘要:泛型是 .NET 2.0 中引入的一个新特性,从 .NET 2.0 发布到现在已经过去好多年的时间了,到现在很多公司在面试时都喜欢问诸如用过泛型吗、什么是泛型、怎么写泛型之类的问题。似乎泛型是什么高深莫测的绝学了,犹如辟邪剑法一样,一般人难以运用。其实虽然每个 .NET 程序员的具体工作内容不一样,但是对于 .NET 里的一些基本的东西的运用相差不会很大,我想对于学过C# 的刚毕业的学生也不至于没有用过泛型。下面我就简单说一下泛型。泛型将类型参数的概念引入了 .NET 中,类型参数使类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。使用泛型可以最大限度地重用代码、保护 阅读全文
posted @ 2011-05-08 16:42 EasyPass 阅读(382) 评论(0) 推荐(1)
摘要:public interface IReview{ void GetReviews();}public class ShopReview :IReview{ public void GetReviews(){}}这种方式是隐示实现:IReview rv = new ShopReview();rv.GetReviews();ShopReview rv = new ShopReview();rv.GetReviews();都可以调用GetReviews这个方法。还有一种方式是显示实现:public interface IReview{ void GetReviews();}public class 阅读全文
posted @ 2011-04-15 16:13 EasyPass 阅读(516) 评论(2) 推荐(0)
摘要:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceEcan{#regionChineseCalendarException///<summary>///中国日历异常处理///</summary>publicclassnewCalendarException:System.Exception{publicnewCalendarException(stringmsg):base(msg){}}#endregionpublicclassEcanChineseCalendar{#regio 阅读全文
posted @ 2011-03-08 17:23 EasyPass 阅读(653) 评论(0) 推荐(2)
摘要:方法一: Ext.Net.Checkbox Chk = (Ext.Net.Checkbox)Page.FindControl(Name);方法二: ((Label)Page.FindControl(Name).Text = "xxx"; 阅读全文
posted @ 2010-11-22 11:02 EasyPass 阅读(339) 评论(0) 推荐(0)
摘要:// C 货币2.5.ToString("C");// ¥2.50// D 10进制数25.ToString("D5");// 25000// E 科学型25000.ToString("E");// 2.500000E+005// F 固定点25.ToString("F2");// 25.00"F?"表示保持几位小数// G 常规2.5.ToString("G");// 2.5// N 数字2500000.ToString("N");// 2,500,00 阅读全文
posted @ 2010-11-02 17:21 EasyPass 阅读(348) 评论(0) 推荐(2)
摘要:Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel以其功能强大,界面友好等受到了许多用户的欢迎。在设计应用系统时,对于不同的用户,他们对于打印的需求是不一样的,如果要使得程序中的打印功能适用于每一个用户,可以想象程序设计是十分复杂的。由于Excel表格的功能强大,又由于几乎每一台机器都安装了它,如果把程序处理的结果放到Excel表格中,这样每一个用户就可以根据自己的需要在Excel中定制自己的打印。这样不仅使得程序设计简单,而且又满足了诸多用户的要求,更加实用了。那么用Visual C#如何调用Excel,如何又把数据存放到Excel表格中?本文就来探讨上述. 阅读全文
posted @ 2010-07-13 10:13 EasyPass 阅读(1110) 评论(2) 推荐(2)
摘要:执行存储过程出现这个错误异常详细信息: System.InvalidOperationException: String[0]: Size 属性具有无效大小值 0。param[1] = comm.Parameters.Add("@Name", SqlDbType.VarChar);//错误param[1].Value = Name ;param[1].Direction = ParameterDirection.Output;output方式从存储过程传出参数必须使用三个参数版本的,及Parameters.Add("@Name", SqlDbType.V 阅读全文
posted @ 2010-06-20 14:37 EasyPass 阅读(440) 评论(0) 推荐(0)
摘要:1、C#是一门强类型的语言,当类型不匹配时必须转换类型.C#的一般转型语法和C++、Java一样:string s = (string)obj;转型操作符对右面的整个表达式有效,在下面的例子中,a.b被转型成Form,而不是a.Form f = (Form)a.b;如果要对表达式的一部分转型,请使用括号,在下面的例子中,obj被转型成Form:string s = ((Form)obj).Text;2、C#还有一个转型操作符de lang="cs">asde>.as操作符和转型基本一样,但是转型失败时,它返回null,而一般转型则会抛出异常。在下面的例子中,bt 阅读全文
posted @ 2010-06-15 15:07 EasyPass 阅读(1672) 评论(1) 推荐(0)
摘要:1、代码 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->System.IO.DriveInfo[]drive=System.IO.DriveInfo.GetDrives();for(inti=0;i<drive.Length;i++){if(drive[i].DriveType==DriveType.Fixed){dsmch=drive[i].Name;doubletmp=drive[i].TotalSize/1024/1024/ 阅读全文
posted @ 2010-04-20 17:24 EasyPass 阅读(616) 评论(0) 推荐(0)
摘要:一、方法InvokeWebservice/// <summary> /// 根据指定的信息,调用远程WebService方法 /// </summary> /// <param name="url">WebService的http形式的地址</param> /// <param name="namespace">欲调用的WebService的命名空间</param> /// <param name="classname">欲调用的WebService的 阅读全文
posted @ 2010-04-08 14:33 EasyPass 阅读(786) 评论(0) 推荐(0)