文章分类 - C#
摘要:String.CompareTo 语法public int CompareTo( string strB)返回值小于 0,实例小于参数 strB;0,实例等于参数 strB;大于 0,实例大于参数 strB,或者 strB 是 null 引用。比较程序并不是按字符串长度来比较的,而是:比较两个字符串的第一个字符:相等则比较第二个,不相等则直接返回结果;比较两个字符串的第二个字符:相等则比较第三个,...
阅读全文
摘要:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。反之,反序列化根据流重新构造对象。此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件中“恢复”对象到序列化之前的状态。在...
阅读全文
摘要:静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 classSimpleClass{//StaticconstructorstaticSimpleClass(){//}} 在使用静态构造函数的时...
阅读全文
摘要:String对象是不可改变的。每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用Strin...
阅读全文
摘要:Js的substring和C#的Substring的作用都是从一个字符串中截取出一个子字符串,但它们的使用方法却有很大的不同,下边我们来比较看看:Js的substring语法: 程序代码String.substring(start, end)说明:返回一个从start开始到end(不包含end)的子字符串。示例: 程序代码var str="abcdefgh";document.write(str....
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--//现代流行的"程序员"privatestaticboolIsOddFirst(intn){while(true){switch(n){case1:returntrue;case2:returnfal...
阅读全文
摘要:在C#1.x的版本中,一个值类型变量是不可以被赋予null值的,否则会产生异常。在C#2.0中,微软提供了Nullable类型,允许用它定义包含null值(即空值)的数据类型,这对处理数据库中包含可选字段以及很多方面都有很大帮助。 定义Nullable类型 定义一个nullable类型非常类似于定义一个非nullable类型。不同之处在于使用类型修饰符“?”。比如定义一个整...
阅读全文
摘要:在数据类型转换中,C#相对其它语言来说是比较严格的,要求显式进行数据转化。为了操作方便,C#也提供了一种is操作符进行转换,十分方便,它自动检查时局是否和类型兼容,并返回结果。而且它不会抛出异常。如果对象引用为null,则is总返回false。[代码]平时自己也多用这种方式来做类型转化的,但今天看了个文章,对比了另外一种方式,as操作符进行转换,才知道as比is可以稍微地提高性能的。[代码]as稍...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicclassNumToRmb{publicArrayListchLen=newArrayList();publicArrayListToRmb=newArrayList();//public...
阅读全文
摘要:封装、继承、多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了。我一直认为学习OO的最好方法就是结合实践,封装、继承在实际工作中的应用随处可见,但多态呢?也许未必,可能不经意间用到也不会把它跟“多态”这个词对应起来。在此抛砖引玉,大家讨论,个人能力有限,不足之处还请指正。 之前看到过类似的问题:如果面试时主考官...
阅读全文
摘要:标识符(Identifier)是适用于变量、类、方法和其他各种用户定义对象的一般术语。 在编写代码时遵循命名规则,可以让程序更加易懂、易读;而且还能提供它的功能信息,如它是否是一个常量、包名或类等,这都有助于对程序的理解。标识符是由一系列字符组成,其中包括大小写字母、数字、下划线(_)和@字符。标识符不能以数字开头,也不能包含空格。合法的标识符的例子如Welcome1, _value, m_inp...
阅读全文
摘要:什么是BOMBOM(byte-order mark),即字节顺序标记,它是插入到以UTF-8、UTF16或UTF-32编码Unicode文件开头的特殊标记,用来识别Unicode文件的编 码类型。对于UTF-8来说,BOM并不是必须的,因为BOM用来标记多字节编码文件的编码类型和字节顺序(big-endian或little- endian)。在绝大多数编辑器中都看不到BOM字符,因为它们能理解Un...
阅读全文
摘要:C#代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicstringDateStringFromNow(DateTimedt){//估计DateTime中重载了运算符 "-"号 所以能够进行两个DateTime相减//其实DateTime...
阅读全文
摘要:C#时间间隔计算可以通过时间刻度类TimSpan类实现,这是一个系统类。C#时间间隔计算举例说明:实现两个时间之间C#时间间隔计算: TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); //获取当前时间的刻度数 //你的代码或者其他操作 TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks); TimeSpan ...
阅读全文
摘要:ASP.Net种使用C#, 向CoreDB.myBBS表中插入记录值(Title, Content)【文章的标题和内容】,由于Content, Title中可能包含单引号,直接使用sql的insert命令会报错,对此有两种处理方法,一种将单引号替换成两个单引号,第2种方法是使用存储过程。表myBBS的格式定义如下:CREATE TABLE [dbo].[myBBS] ([ID] [bigint] ...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--stringaa="你好欢迎你来到博客园";byte[]byteArry=newbyte[0];byteArry=System.Text.Encoding.Default.GetBytes(aa);s...
阅读全文
摘要:在类的成员变量(全局变量)中,DateTime的默认值为:0001-1-1 0:00:00注:局部变量必须赋值才能使用 继承于System.ValueType的全是值(Struct)类型的: System.ArgIterator System.Boolean System.Byte System.Char System.Collections.DictionaryEntry System.Coll...
阅读全文
摘要:常见问题:Ilist <> 本身只是一个泛型接口, 既然是接口当然不能实例化,只能用如下方法 IList <Class1> IList11 =new List <Class1>(); 但是为什么要这么用呢,为什么不直接用List: List <Class1> List11 =new List <Class1>(); 第一种用法有什么好处。...
阅读全文
摘要:最近有人问到 ref 关键字的正确用法,下面我们来举例说明。其实要更好的理解 ref 关键字,结合 C++ 代码更加容易一些。另外在开始我们的例子之前,需要提前说明几点: C# 中的数据有两种类型:引用类型(reference types)和值类型(value types)。 简单类型(包括int, long, double等)和结构(structs)都是值类型,而其他的类都是引用类型。 简单类型...
阅读全文
摘要:空接合运算符 空接合运算符(??)提供了一种快捷方式,可以在处理可空类型和引用类型时表示Null值。这个运算符放在两个操作数之间,第一个操作数必须是一个可空类型或引用类型,第二个操作数必须与第一个操作数的类型相同,或者可以隐含地转换为第一个操作数的类型。空接合运算符的计算如下:如果第一个操作数不是null,则整个表达式就等于第一个操作数的值。但如果第一个操作数是null,则整个表达式就等于第二个操...
阅读全文