C# ref,out关键字

评论(0)浏览(157)分类:Asp.Net/C#/WCF
C# ref,out关键字 C# ref,out关键字  参数可以通过引用和值传递给方法。通过引用传递给方法的变量可以有调用它的方法作自由改变,所作的修改会影响原来的变量的值;在C#中,除非特别说明,所有的参数都是值传递。  这是默认情况,也可以使用ref关键字,迫使值参数通过引用传递给方法,则给方法对变量所作的修改都会影响原来对象的值。在定义该方法时把该参数..

C#重载运算符

评论(0)浏览(110)分类:Asp.Net/C#/WCF
C#重载运算符  C#运算符重载是指允许用户使用用户定义的类型编写表达式的能力。它允许用户定义的类型与预定义的类型具有相同的功能。  例如,通常需要编写类似于以下内容的代码,以将两个数字相加。很明显,sum 是两个数字之和。int i = 5;int sum = i + j;  如果可以使用代表复数的用户定义的类型来编写相同类型的表达式,那当然是最好不过了:Comple..

分析C#判断空字符串性能

评论(0)浏览(76)分类:Asp.Net/C#/WCF
分析C#判断空字符串性能C#判断空字符串的3种方法分别是:string a=;1.if(a==)2.if(a==String.Empty)3.if(a.Length==0)3种方法都是等效的,那么究竟那一种方法性能最高呢?  本人用实验说明问题。  建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test )WebForm1.aspxprivate void Page_Load(object sender, System.EventArgs e) { st..

C#中6种常用集合

评论(0)浏览(103)分类:Asp.Net/C#/WCF
C#中6种常用集合一.先来说说数组的不足(也可以说集合与数组的区别):  1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的  2.数组要声明元素的类型,集合类的元素类型却是object.  3.数组可读可写不能声..

C#特性Attribute介绍

评论(0)浏览(104)分类:Asp.Net/C#/WCF
C#特性Attribute介绍   C#特性(attribute)是被指定给某一声明的一则附加的声明性信息。  在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。  using System;  public class AnyClass{ [Obsolete(Don't use Old method, use New method, true)] ..

C#获取前执行的函数名,代码行,源代码文件名

评论(0)浏览(82)分类:Asp.Net/C#/WCF
C#获取前执行的函数名,代码行,源代码文件名 C#获取前执行的函数名System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); this.Text = st.GetFrame(0).ToString();C#获取前执行代码行,源代码文件名StackTrace st = new StackTrace(new StackFrame(true));Console.WriteLine( Stack trace for current level: {0}, st.ToString());StackFrame sf = st.Get..

C#读写INI配置文件

评论(0)浏览(93)分类:Asp.Net/C#/WCF
C#读写INI配置文件  INI就是扩展名为INI的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数。  INI文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:[Section1]KeyWord1 = Val..

Configuration system failed to initialize

评论(0)浏览(99)分类:Asp.Net/C#/WCF
Configuration system failed to initialize  如果用这个System.Configuration.ConfigurationSettings.AppSettings[XXX]方法来读取配置文件,发生Configuration system failed to initialize错误。  可以将配置文件中的appSettings和configSections调换一下位置。

DataTable Compute方法

评论(0)浏览(139)分类:Asp.Net/C#/WCF
DataTable Compute方法  Csharp DataTable Compute方法1:聚合函数Sum()2:自由计算表达式20*30+13:bool表达式1=24:IFF逻辑表达式 IIF(201000, 0, 1) //还支持IsNull,Trim,SubString等  一个小应用:让DataTable模拟Excel的Formula功能。Excel中的Formula功能强大,如果能让DataTable有类似的功能就好了。大部分事件DataTable只是用作数据载体,其实很少用它做..

C# timer类所在名字空间及作用

评论(0)浏览(153)分类:Asp.Net/C#/WCF
C# timer类所在名字空间及作用  C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里   System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的。它的主要缺点是计时不精确,而且必须..

C#中ParameterizedThreadStart和ThreadStart区别

评论(0)浏览(152)分类:Asp.Net/C#/WCF
C#中ParameterizedThreadStart和ThreadStart区别ThreadStart不需要传递参数,也不需要返回参数  我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下:+展开-C#ThreadStartthreadStart=newThreadStart(Calculate);Threadthread=newThread(threadStart);thread.Start();publicvoidCalculate(){ doubleDiameter=0.5; Console.Write("TheAreaOfCirclewithaDiameterof{0}is{1}"Diamet..

C#委托,事件与回调函数详细使用说明

评论(0)浏览(112)分类:Asp.Net/C#/WCF
C#委托,事件与回调函数详细使用说明一、委托(有些书中也称为委派)  委托是什么呢?这个名字的意思已经赋予了我们想象的空间,你是编程的,你现在正在写一个ASP.NET网页,而JS是你不熟悉的,于是你委托你的一位同事来帮助你完成JS部分。这就是委托,把你所不能做的事情交给其他人去做。而怎么知道是哪个人去做呢?当然是要知道名字!而为了区别名字一样的不同人,因此,需要描述..

C#保留指定的小数位数

评论(0)浏览(187)分类:Asp.Net/C#/WCF
C#保留指定的小数位数  C#保留指定的小数有多少位数的方法1.第一种方法+展开-C#System.Globalization.NumberFormatInfoprovider=newSystem.Globalization.NumberFormatInfo();provider.NumberDecimalDigits=intDecLength;//要設定的小數位數doublestrCashAmt=Convert.ToDouble(this.txtCashAmt.Text);//先把控件內的值轉成doublethis.txtCashAmt.Text=strCashAmt.T..

C#冒泡排序算法

评论(0)浏览(90)分类:Asp.Net/C#/WCF
C#冒泡排序算法  冒泡排序算法实现过程1)N个数字来排序,两两相比大的靠前2)外层循环N-1,内层循环N-1-i.3)如果要升序,只要把程序中的if (a[j] a[j + 1]) 小于号换成大于号就行了  C#冒泡排序算法源代码实现+展开-C#usingSystem;classProgram{staticvoidMain(string[]args){int[]a=newint[5]{58,87,99,71,68};inttemp;//临时变量,保存最大值inti,..

c#排列组合算法

评论(0)浏览(267)分类:Asp.Net/C#/WCF
c#排列组合算法 +展开-C#usingSystem;usingSystem.Collections;usingSystem.Data;///summary///组合数学函数集////summarypublicclassCombinatorics{#region公共函数///summary///把二维整形数组转换为数据表////summarypublicstaticDataTableTwoDemisionIntArrayToDataTable(int[,]source){DataTabledt=newDataTable();DataRowdr;inti,j;intb1=source.GetUpper..

C# Socket异步接收网络广播源代码

评论(0)浏览(171)分类:Asp.Net/C#/WCF
C# Socket异步接收网络广播源代码  首先,C# Socket要异步接收网络广播,必须设置SOCKET为低级操作模式+展开-C#byte[]InByte=newbyte[4]{1,0,0,0};byte[]OutByte=newbyte[4];intSIO_RCVALL=unchecked((int)0x98000001);intScoketCode=MySocket.IOControl(SIO_RCVALL,InByte,OutByte);ScoketCode=OutByte[0]+OutByte[1]+OutByte[2]+OutByte[3];  数据包的结构+展开-C#[Struct..

c#使用socket传输文件

评论(0)浏览(103)分类:Asp.Net/C#/WCF
c#使用socket传输文件+展开-C#intport=1234;intport=1234;IPAddressip=IPAddress.Parse("127.0.0.1");socket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);IPEndPointiep=newIPEndPoint(ip,port);//socket.Blocking=false;socket.Bind(iep);socket.Listen(10);Console.WriteLine("start......");try{for(inti=0;i10;i++){}}catch{Cons..

C#启动局域网计算机

评论(0)浏览(115)分类:Asp.Net/C#/WCF
C#启动局域网计算机  要启动局域网计算机,网上大多介绍的是Magic Packet的工具。  实际上,此Magic Packet是AMD公司开发的,请在google.cn中搜索Magic Packet Technology。原理上我们不用深入,实现上是发一个BroadCast包,包的内容包括以下数据就可以了。FF FF FF FF FF FF,6个FF是数据的开始,紧跟着16次MAC地址就可以了。比如MAC地址是11 22 33 44 55 66,..

C#实现重启、关闭局域网计算机

评论(0)浏览(301)分类:Asp.Net/C#/WCF
C#实现重启、关闭局域网计算机  如何使用C#语句编写重启、关闭局域网计算机的代码?  首先要将Management组件引用到项目文件中。  添加引用方法为:执行菜单“项目”→“添加引用”。  在弹出的对话框中,选择.net选项卡,然后,在组件名称列表中找到“System.Management”并选择,然后点击“确定”按钮,这样,Management组件就添加到项目文件了。最后,再using中,..

.NET性能优化细节

评论(0)浏览(147)分类:Asp.Net/C#/WCF
.NET性能优化细节.NET性能优化 1)避免使用ArrayList。  因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型。建议使用自定义的集合类型代替ArrayList。.net 2.0提供了一个新的类型,叫泛型,这是一个强类型,使用泛型集合就可以避免了封箱和拆箱的发生,提高了性能。2)使用HashTale代替其他字典集合类型 ..

C#如何将汉字转化为拼音

评论(1)浏览(84)分类:Asp.Net/C#/WCF
C#如何将汉字转化为拼音   原理就是先将汉字转化成为内码,然后通过内码和拼音的对照来查找。+展开-C#publicclasschs2py{privatestaticint[]pyvalue=newint[]{-20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036,-20032,-20026,-20002,-19990,-19986,-19982,-19976,-19805,-19784,-19775,-19774,-19763,-19756,-19751,-19746,-197..

C#获取数据库连接统计数据

评论(0)浏览(160)分类:Asp.Net/C#/WCF
C#获取数据库连接统计数据  .NET 2.0中的SqlConnection多了一个StatisticsEnabled属性和ResetStatistics()、 RetrieveStatistics()两个方法,用于获取SQLServer的连接统计数据。当然,这样做是以性能损耗为代价的,但作为监控数据库状态的一种快捷实用手段未尝不可。+展开-HTML%@ImportNamespace="System.Data"%%@ImportNamespace="System.Data.SqlClient"%%@pagelangu..

C#同一时间N个线程在并发执行,其余在队列中如何实现

评论(0)浏览(126)分类:Asp.Net/C#/WCF
C#同一时间N个线程在并发执行,其余在队列中如何实现  具体的需求是 在某一时间点,只有N个线程在并发执行,如果有多余的线程,则排队等候~  还真是费尽心思啊~最终还是被我攻克了~  下面我就来说说具体的实现  C#提供了Mutex与Interlocked这两个与线程相关的类,都在Threading命名空间下~!  Mutex中提供了WiteOne,ReleaseMutex 两个实例方法~  WiteOne的作用是"阻塞当前线程,提供对该线程..

C#线程为什么无法开启窗口

评论(0)浏览(98)分类:Asp.Net/C#/WCF
C#线程为什么无法开启窗口  在 C# 里面, 主窗口拥有主线程, 主线程产生子线程监控 Socket 埠, 子线程一收到数据流就会给主线程发送一个事件, 创建一个窗口. 现在的情况是子线程能够收到数据流, 主窗口能够收到子线程发送过来的事件, 能够创建一个窗口. 这个窗口有问题: 窗口状态像死掉程序的窗口一样, 反白的.开发碰到很棘手的问题, 寻找解决方法. 品味程序出错过程, 逐..

C#多线程编程

评论(0)浏览(101)分类:Asp.Net/C#/WCF
C#多线程编程   C#是.Net平台的通用开发工具,它能够建造所有的.Net应用。在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到 Win32进程,实际上它们还是有很大的不同。应用程序域提供了一种安全而通用的处理单元,公共语言运行库可使用它来隔离应用程序。注意在.Net中应用程序的隔离是应用程序域而不是进程,在单个进程中可以存在几个应用程..

C#多线程介绍

评论(0)浏览(134)分类:Asp.Net/C#/WCF
C#多线程介绍一.多线程的概念  Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己..

C#多线程如何共享数据

评论(0)浏览(112)分类:Asp.Net/C#/WCF
C#多线程如何共享数据  在多线程编程中,我们经常要使用数据共享.C#中是如何实现的呢?很简单,只要把你要共享的数据设置成静态的就可以了.关键字static .如下:+展开-C#staticQueueq1=newQueue();staticintb=0;  在这里我定义了一个整形变量b和队列q1.  接下去就可以创建多线程代码了.如下:+展开-C#MyThreadmyc;Thread[]myt;myt=newThread[10];myc=newMyThread();..

c#线程基础

评论(0)浏览(101)分类:Asp.Net/C#/WCF
c#线程基础  c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。using System.Threading;开始一个线程  System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复一个线程。创建一个新线程通过new..

c#多线程断点续传实现代码

评论(0)浏览(135)分类:Asp.Net/C#/WCF
c#多线程断点续传实现代码+展开-C#System.IO.StreamiStream=null;//Buffertoread10Kbytesinchunk:byte[]buffer=newByte[10240];//Lengthofthefile:intlength;//Totalbytestoread:longdataToRead;//Identifythefiletodownloadincludingitspath.stringfilepath=@"E:/software/SQLServer2000PersonalEdition.ISO";//Identifythefilename.stringfilename=System.IO.Path.GetF..

.NET WMI名字空间介绍

评论(0)浏览(164)分类:Asp.Net/C#/WCF
.NET WMI名字空间介绍  .NET框架中与WMI规范有关的命名空间有两个,分别是System.Management和System.Management.Instrumentation两个命名空间。  其中System.Managemen命名空间提供的类对象为访问各种管理对象提供了面向对象的编程接口,而System.Management.Instrumentation命名空间提供的类用来设置用户自定义的应用程序,使得这些应用程序对象能够符合WMI的规..