这妞不错!

会有那么一天...

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年5月27日

摘要: 在上一篇文章中,我们详细讲述了C# 3.0中Lambda表达式(构造委托)的使用方式,它在语义上的优势及对编程的简化——这些内容已经属于委托的“扩展内容”。不如这次谈得更远一些,就来讨论一下上文中“编程方式”的性能相关话题。循环分离及其性能在上文的第一个示例中,我们演示了如何使用Lambda表达式配合.NET 3.5中定义的扩展方法来方便地处理集合中的元素(筛选,转化等等)。不过有朋友可能会提出,那个“普通写法”并非是性能最高的实现方法。方便起见,也为了突出“性能”方面的问题,我们把原来的要求简化一下:将序列中的偶数平方输出为一个列表。按照那种“普通写法”可能就是:static List< 阅读全文
posted @ 2011-05-27 10:23 这妞不错 阅读(231) 评论(0) 推荐(0) 编辑

摘要: 在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势、目的及注意事项。那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的表现形式又演变成了什么样子,还有什么特点和作用。.NET 3.5中委托的写法(Lambda表达式)Lambda表达式在C#中的写法是“arg-list => expr-body”,“=>”符号左边为表达式的参数列表,右边则是表达式体(body)。参数列表可以包含0到多个参数,参数之间使用逗号分割。例如,以下便是一个使用Lambda表达式定义了委托的示例1:Func<int, in 阅读全文
posted @ 2011-05-27 10:22 这妞不错 阅读(366) 评论(1) 推荐(0) 编辑

摘要: 可能有一件事情需要说在前面,那就是:委托本身其实从来没有改变过,改变的一直都是委托的“写法”。因此更确切地说,改变的只是“编译器”。而本文所有内容都用C#来实现,其实谈得也都是C#编译器本身——但是其实VB.NET也有变化啊。再由于.NET版本和C#版本的关系也是非常密切的,因此全文就使用.NET版本进行指代了。.NET 1.x中委托的写法委托,如果不追究细节,从表面上来看我们可以将其通俗地理解为一个安全的“函数指针”。当然,这个函数指针其实也是一个对象,有自己的成员,也会封装了被调用方的上下文等等。至于委托的定义和使用方式,则是这样的:public delegate int SomeDele 阅读全文
posted @ 2011-05-27 10:19 这妞不错 阅读(447) 评论(1) 推荐(0) 编辑

2011年5月24日

摘要: C#操作字符串方法总结:staticvoid Main(string[] args){string s ="";//(1)字符访问(下标访问s[i])s ="ABCD";Console.WriteLine(s[0]); // 输出"A";Console.WriteLine(s.Length); // 输出4Console.WriteLine();//(2)打散为字符数组(ToCharArray)s ="ABCD";char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A 阅读全文
posted @ 2011-05-24 13:15 这妞不错 阅读(365) 评论(0) 推荐(2) 编辑

摘要: 快速排序(Quicksort)的Javascript实现作者: 阮一峰日期: 2011年4月 4日日本程序员norahiko,写了一个排序算法的动画演示,非常有趣。这个周末,我就用它当做教材,好好学习了一下各种排序算法。排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。目前,最常见的排序算法大概有七八种,其中"快速排序"(Quicksort)使用得最广泛,速度也较快。它是图灵奖得主C. A. R. Hoare(1934--)于1960时提出来的。"快速排序"的思想很简单 阅读全文
posted @ 2011-05-24 09:14 这妞不错 阅读(565) 评论(0) 推荐(0) 编辑

2011年5月23日

摘要: Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致);如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。 union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union A 阅读全文
posted @ 2011-05-23 16:33 这妞不错 阅读(235008) 评论(4) 推荐(20) 编辑

摘要: 结果:select name as 队名,sum(case Score when N'胜' then 1 else 0 end)as 胜,sum(case Score when N'平' then 1 else 0 end)as 平,sum(case Score when N'负' then 1 else 0 end)as 负,--自定义列 计算积分(胜+3 平+1 负+0)sum(case Score when N'胜' then 3 when N'平' then 1 end) as 积分from T_Score 阅读全文
posted @ 2011-05-23 16:32 这妞不错 阅读(408) 评论(0) 推荐(0) 编辑

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace NewOveride{ class Program { /* 重写和隐藏的定义: 重写:基类方法声明为virtual(虚方法),派生类中使用override申明此方法的重写. 隐藏:基类方法不做申明(默认为非虚方法),在派生类中使用new声明此方法的隐藏。 自己的理解: 比如父类A,有个方法标记为virtual,a(){}子类B继承A,也声明一个方法a(){} 如果B里面的a()使用override,那么访问A的 阅读全文
posted @ 2011-05-23 16:30 这妞不错 阅读(4349) 评论(0) 推荐(1) 编辑

摘要: 值类型和引用类型的区别:值类型(Value Type),值类型实例通常分配在线程的堆栈(stack)上,并且不包含任何指向实例数据的指针,因为变量本身就包含了其实例数据。引用类型(Reference Type),引用类型实例分配在托管堆(managed heap)上,变量存储对值的内存地址的引用。usingSystem;publicclassTest{ staticvoidMain() { //定义值类型和引用类型,并完成初始化 MyStructmyStruct=newMyStruct(); MyClassmyClass=newMyClass(); //定义另一个值类型和引用类型, //以便了 阅读全文
posted @ 2011-05-23 11:44 这妞不错 阅读(1586) 评论(0) 推荐(0) 编辑

2011年5月20日

摘要: 张鑫旭 CSS/JS/jQuery相关网页前端技术http://www.zhangxinxu.com/wordpress/ 梦想天空 jQuery/js/c#http://www.cnblogs.com/lhb25/ 阅读全文
posted @ 2011-05-20 09:24 这妞不错 阅读(581) 评论(0) 推荐(0) 编辑