文章分类 - C#
摘要://今天DateTime.Now.Date.ToShortDateString();//昨天,就是今天的日期减一DateTime.Now.AddDays(-1).ToShortDateString();//明天,同理,加一DateTime.Now.AddDays(1).ToShortDateString();//本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWe
阅读全文
摘要:C#的Trace类提供一组帮助跟踪代码执行情况的方法和属性,使用是非常方便的,具体到输出到什么地方,取决于TraceListener的类型,系统自带了三种类型:System.Diagnostics.DefaultTraceListenerSystem.Diagnostics.EventLogTraceListenerSystem.Diagnostics.TextWriterTraceListener有时候我们想自己定义输出类型,比如输出到数据库,输出到socket等等,这就需要自定义TraceListener,这个非常容易,只需要简单的继承System.Diagnostics.TraceLis
阅读全文
摘要:1、Queue定义System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除。2.优点1、能对集合进行顺序处理(先进先出)。2、能接受null值,并且允许重复的元素。3. Queue的构造器构造器函数注释Queue ()初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0)。Queue (ICollection)初始化 Queue 类的新实例,该实例包含从指定集合复制的元素,具有与所复制的元素数相同的初始容量并使用默认增长因子。Queue (Int32)初始化 Queue 类的
阅读全文
摘要:1、Stack定义System.Collections.Stack类表示对象的简单的后进先出非泛型集合。2.优点1、后进先出的集合。2、Stack 能接受空引用作为有效值并且允许重复的元素3. Stack的构造器构造器函数注释Stack ()初始化 Stack 类的新实例,该实例为空并且具有默认初始容量。Stack (ICollection)初始化 Stack 类的新实例,该实例包含从指定集合复制的元素并且具有与所复制的元素数相同的初始容量。Stack (Int32)初始化 Stack 类的新实例,该实例为空并且具有指定的初始容量或默认初始容量(这两个容量中的较大者)。4、Stack的属性属性
阅读全文
摘要:FielStream类操作的是字节和字节数组,而stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行。FielStream类维护内部文件指针,该指针指向文件中进行下一次读写操作的位置。FileStream只能处理原始字节(raw byte),处理原始字节的功能使用FileStream类可以用于处理任何数据文件。通过读取字节数据,FileStream对像可以用于读取图像和声音。代价是FileStream类不能将数据直接读入字符串此指针可以修改用Seek方法,它有两个参数:第一个参数:规定文件指针以字节为参
阅读全文
摘要:System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。(1) 文件打开方法:File.Open () 该方法的声明如下: public static FileStream Open(string path,FileMode mode) 下面的代码打开存放在c:\tempuploads目录下名称为newFile.txt文件,并在该文件中写入hello。privatevoidOpenFile(){ FileStream.TextFile=File.Open(@"
阅读全文
摘要:public static void displayEnvironment() { IDictionary dict = Environment.GetEnvironmentVariables(); Console.WriteLine("There are {0} environment variables",dict.Count); string[] keys = new string[dict.Count]; string[] values = new string[dict.Count]; int ix = 0; foreach (DictionaryEntry de
阅读全文
摘要:管理位值的压缩数组,该值表示为布尔值,其中true表示位是打开的(1),false表示位是关闭的(0) using System; using System.Collections; public class SamplesBitArray { public static void Main() { // Creates and initializes several BitArrays. BitArray myBA1 = new BitArray( 5 ); BitArray myBA2 = new BitArray( 5, false ); byte[] myBytes = new byt
阅读全文
摘要:提供了一个简单结构,该结构以32位内存存储布尔和小数值 对于内部使用的布尔值和小整数,BitVector32 比 BitArray 更有效。 BitArray 可以按需要无限地扩大,但它有内存和性能方面的系统开销,这是类实例所要求的。 相比之下,BitVector32 只使用 32 位。 BitVector32 结构可以设置成包含小整数的若干节或包含布尔值的若干位标志,但不能同时包含两者。 BitVector32.Section 是 BitVector32 中的窗口,且由最小数量的连续位构成,连续位可以包含 CreateSection 中指定的最大值。 例如,带有最大值 1 的节只由一个位构成
阅读全文
摘要:1:比较和排序的概念 比较:两个实体类之间按>,=,<进行比较。 排序:在集合类中,对集合类中的实体进行排序。排序基于的算法基于实体类提供的比较函数。 基本型别都提供了默认的比较算法,如string提供了按字母进行比较,int提供了按整数大小进行比较。2:IComparable和IComparer 当我们创建了自己的实体类,如Student,默认想要对其按照年龄进行排序,则需要为实体类实现IComparable接口。 class Student:IComparable { public string Name { get; set; } public int Age { get;
阅读全文
摘要:有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是在Framework2.0中定义泛行时才会使用到的,自己对c#2.0中的支持还只是粗通皮毛,怪不得累死somany脑细胞也没能想不出这第三种来!三种用法如下:在C#中,new关键字可用作运算符、修饰符或约束。1)new运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。2)new修饰符:在用作修饰符时,new关键字可以显式隐藏从基类继承的成员。3)new约束:用于在泛型声明中约束可能用作类型参数的
阅读全文
摘要:本文以Sql Server2000为例,示例数据库为china,表为test,来说明以C#中使用sql存储过程的方法。一、test表的创建sql语句:create table test55(uid int identity(1,1),class1 varchar(20),class2 varchar(20),uname varchar(20),birth smalldatetime,meno varchar(50))alter table test55add constraint primary_id primary key(uid)二、创建一个有输入、输出、返回值参数的存储过程:create
阅读全文
摘要:C# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过
阅读全文
摘要:1.将String转换成另外一种类型:object val = (object)Convert.ChangeType((new DataTable()).Compute("4", string.Empty), typeof(object));2.static类型构造函数,const,readonly,enum: 它是在任何静态变量被调用或者类对象被初始化的时候自动调用。const类型变量由类名直接调用。本质上是一种read-only型的static变量。readOnly是一种instance类型的成员.它使得我们得以在确保"只读访问"的前提下,把obje
阅读全文
摘要:/// <summary> /// 马赛克效果 ///原理:确定图像的随机位置点和确定马赛克块的大小,然后马赛克块图像覆盖随机点即可. /// </summary> /// <param name="m_Iimage"></param> /// <param name="val">分割成val*val像素的小区块</param> public Image MaSaiKe(Image m_PreImage , int val) { Bitmap MyBitmap = new Bitma
阅读全文
摘要:一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化; 2、包含未实...
阅读全文
摘要:Equals,==,ReferenceEquals都可以用于判断两个对象的个体是不是相等。 a)ReferenceEquals ReferenceEquals是Object的静态方法,用于比较两个引用类型的对象是否是对于同一个对象的引用。对于值类型它总是返回false。(因为Box以后的对象总是不同的,hehe) b)==是一个可以重载的二元操作符,可以用于比较两个对象是否相等。 对于内置值类型...
阅读全文
摘要:operator 关键字用于在类或结构声明中声明运算符。运算符声明可以采用下列四种形式之一:参数:result-type 运算符的结果类型。 unary-operator 下列运算符之一:+ - ! ~ ++ — true false op-type 第一个(或唯一一个)参数的类型。 operand 第一个(或唯一一个)参数的名称。 binary-operator 其中一个:+ - *...
阅读全文
摘要:params 关键字可以指定在参数数目可变处采用参数的方法参数。params 关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力,它在只能出现一次并且不能在其后再有参数定义(之前可以),必须在参数末尾处声明。param array只能是一维,而且不能用 ref 或者 out 修饰.示例:using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{class App{//第一个参数必须是整型,但后面的参数个数是可变的。//而且由于定的是object数组,
阅读全文
摘要:delegate是C#中的一种类型,C# event的处理实际上是一种具有特殊签名的delegate,本文就介绍了C# delegate和C# event。 在基于Windows平台的程序设计中,事件(event)是一个很重要的概念。因为在几乎所有的Windows应用程序中,都会 涉及大量的异步调用,比如响应点击按钮、处理Windows系统消息等,这些异步调用都需要通过事件的方式来完成。即使在下一...
阅读全文

浙公网安备 33010602011771号