- 博客(25)
- 收藏
- 关注
转载 C# typeof Gettype is as &拆箱 装箱
有时候,我们不想用值类型的值,就是想用一个引用。.Net提供了一个名为装箱(boxing)的机制,它允许根据值类型来创建一个对象,然后使用对这个新对象的一个引用。 首先,回顾两个重要的事实,1.对于引用 类型的变量,它的值永远是一个引用;2.对于值类型的变量,它的值永远是该值类型的一个值。 int i = 5; object o = i; int j = (int)o;这里...
2013-12-15 14:11:00 368
转载 C# Interface显式实现和隐式实现
c#中对接口的实现方式有两种:隐式实现和显式实现,之前一直没仔细看过,今天查了些资料,在这里整理一下。隐式实现的例子 interface IChinese { string Speak(); } public class Speaker:IChinese { public string S...
2013-12-13 10:16:00 165
转载 策略模式 ——解决继承带来的苦恼
在最近的维护版本的开发中,经常碰到的一个问题:接手的项目中使用了OO的观念,可是大量使用继承,造成对子类的行为约束的过紧,子类很难扩展,此时如果修改父类的话,又容易误伤子类(因为一些子类的行为修改,而另一些又不需要修改)。被百般折磨后发现了策率模式,故在此记录下。为了表示结构,使用了下面的类图,很简单。DuckA,DuckB,DuckC均继承自Duck,并在Duck中实现了Swim(...
2013-08-29 20:33:00 165
转载 .net I/O操作 导图
稍微总结下,System.IO提供了四种类型来实现,对单个文件和计算机目录结构的操作。Directory和File通过静态成员实现建立、删除、复制和移动操作(上图没有提及)。而FileInfo和DirectryInfo类型则通过实例级方法来实现类似的功能,并且更加推荐使用,原因是它们的成员方法返回强类型的对象。 FileStream和StreamReader/StreamWriter的...
2013-08-19 19:51:00 119
转载 LINQ Enumerable 续 II
Enumerable.TakeWhile和Enumerable.SkpWhile Enumerable.TakeWhile和Enumerable.SkpWhile将通过判断条件,来获取和跳过序列。 TakeWhile方法会在条件为真时,将按照条件继续检索序列,直到条件为false。当条件为false时,则立刻停止检索,并返回此时已经检索过的序列。 SkpWhile方法会在条件为真时,将按...
2013-08-01 18:07:00 109
转载 LINQ Enumerable 续
筛选序列 Enumerable.Distinct 对于复杂的对象列表,运行时引擎如何才能通过比较确定两个对象是否重复?对于复杂对象,必须提供一个比较器,即实现IEqualityComparer(Of T)执行比较的一个类实例。 假设有一个包括客户信息的序列,你希望得到这些客户坐在国家的专门列表。如果已有一个简单的国家列表,可使用默认比较器来比较字符串。但有可能面临的是一个客户类表(你当然...
2013-07-22 19:46:00 136
转载 LINQ Enumerable
System.Linq.Enumerable类,提供了数十种称为扩展方法的共享方法,帮助您操作所有实现IEnumerable(of T)接口的类中的数据。由于Enumerable类的扩展方法可以处理许多其他类如(包括Array和List),因此不仅可以使用Enumerable类的方法来创建LINQ查询,还可以用它来操作数组和其他数据结构的行为。 查看Enumerable类扩展方法的文档,...
2013-07-10 20:54:00 247
转载 Lambda 笔记
lambda表达式,将会带来代码的灵活性,同时使我们的代码更具表现力。 Dim doubleIt As Func(Of Integer, Integer) = _ Function(x As Integer) x * 2上面的这个例子,是一个基本lambda表达式定义的示例。它将 doubleIt 定义为接受一个整数并返回一个整数的 lambd...
2013-07-08 19:20:00 135
转载 LINQ 学习笔记
selectMany Demo1: DateTime cutoffDate = new DateTime(1997, 1, 1); var orders = from c in customers where c.Region == "WA" from o in c.Orders where o.OrderDate...
2013-07-08 10:24:00 124
转载 vb的LINQ实现
vb实现LINQ非常简单的例子: Dim numbers() As Integer = {1, 2, 3, 4, 5, 6, 7} Dim allNumbers = From number In numbers For Each num In allNumbers Console.WriteLine(num &a...
2013-07-06 17:34:00 454
转载 c#、vb 自动属性
vb示例:Public Property Name() As String = "Bob" 等效于 Private _name As String = "Bob" Property Name As String Get Return _name End Get Set(value As Str...
2013-07-06 13:46:00 219
转载 路径笔记
winForm 应用获取绝对路径var mpath = Application.ExecutablePath;注释:ExecutablePath—>获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 mpath执行结果:c:\Users\alexmeng\documents\visual studio 2012\Projects\PathDemo\PathFor...
2013-06-27 13:40:00 92
转载 异常处理
外围代码: private void button1_Click(object sender, EventArgs e) { try { BLL bl = new BLL(); bl.GetEmployee(); ...
2013-05-20 18:06:00 90
转载 LINQ 关键字
排序 IEnumerable<Student> studentQuery = from student in students where student.Scores[0] > 90 orderby student.L...
2013-03-17 17:13:00 138
转载 LINQ
LINQ通过提供一种跨各种数据源和数据格式使用数据的一致模型。在LINQ查询中,始终会用到对象。可以使用相同的基本编码模式来查询和转换XML文档、SQL数据库、ADO.NET数据集、NET集合中的数据以及对其LINQ提供程序可用的任何其他格式的数据。 查询操作的三个部分 1.获取数据源。2.创建查询。3.执行查询 '1.Data Source Dim n...
2013-03-15 10:30:00 102
转载 使用反射,运行时执行泛型方法
背景:有一个泛型类,其中一个方法是泛型方法 Public Class GenericClass(Of T) 'This is not a generic method Public Sub Swap(ByRef item1 As T, ByRef item2 As T) Dim temp As T = item1 item2 = i...
2013-02-27 15:44:00 304
转载 泛型类
泛型类封装不是特定于具体数据类型的操作。泛型类最常用于集合,如链表、哈希表、堆栈、队列、树等,其中,像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据类型无关。 一般情况下,创建泛型类的过程为:从一个现有的具体类开始,逐一将每个类型更改为类型参数,直至达到通用化和可用性的最佳平衡。创建您自己的泛型类时,需要特别注意以下事项: 将那些类型通用化为类型参数。 一般规则是,...
2013-02-27 10:18:00 101
转载 泛型类型参数
在泛型类型或方法中,类型参数是客户端在实例化泛型类型的变量时,指定的特定类型的占位符。 若要使用GenericList<T>,客户端代码必须通过指定尖括号中的类型参数来声明和实例化构造类型。此特定类的类型参数可以是编译器识别的任何类型。可以创建任意数目的构造类型实例,每个实例使用不同的类型参数。MyGenericList<float> list2 = new My...
2013-02-22 14:05:00 392
转载 反射 笔记
反射中的运行时类型 反射提供类(例如Type和MethodInfo)来表示类型、成员、参数和其他代码实体。但是,在你使用反射时,你并不直接使用这些类,这些类中的大多数是抽象的(MustInherit).你使用的是公共语言运行时提供的类型。 例如,使用C#的typeof运行符(VB中GetType)获取Type对象时,该对象实际上是RuntimeType。RuntimeTyp...
2013-02-21 15:42:00 71
转载 泛型介绍
泛型类和泛型方法同时具备可重用性、类型安全和效率,这是非泛型类和非泛型方法无法具备的。泛型通常用在集合中和在集合上运行的方法中。 对应的命名空间为System.Collections.Generic 可以创建自定义泛型类型和方法,以提供自己的通用解决方案,设计类型安全的高效模式。 泛型的优点 在公共语言运行库和c#的早期版本中,通用化是通过在类型与通用机类型objec之间进行强制转换来实...
2013-02-21 15:34:00 89
转载 WCF 摘要
WCF中实现双工通信参考:http://www.cnblogs.com/artech/archive/2007/03/02/661969.htmlMEP,Message Exchange Pattern ,消息交互模式WCF客户端与服务器之间是通过消息进行通讯,有必要了解WCF的消息交换模式,以对消息的发送和接受有更直观的理解。在WCF中,有三种消息交换模式:数据报...
2012-11-21 14:07:00 86
转载 异常 处理
异常处理——错误处理的方法通过在应用程序中放置异常处理代码,可以处理用户可能遇到的大多数错误并使应用程序能够继续运行。如果任何方法使用可能产生异常的运算符,或者调用、访问其他可能产生异常的过程,则在这些方法中应考虑使用异常处理。如果发生异常的方法不具备处理异常的功能,异常将被传播回调用方法或前一个方法。如果前一个方法也没有异常处理,则异常被传播回该方法的调用方,依次类推。对处...
2012-11-06 14:06:00 91
转载 MVP 总结
最近一直在看MVP的东西,现在打算来总结一下,以便后边回顾学习http://msdn.microsoft.com/zh-cn/magazine/ff955232.aspxMVP 的创建者将模型(在视图中处理的数据)与视图/控制器对巧妙地分开。他们还将控制器重命名为表示器,以强化一种概念,即在该模式中,控制器的角色就是用户与应用程序之间的调节器的角色。表示器是向用户“呈现”UI...
2012-11-01 16:49:00 120
转载 MVC & MVP 模式
MVC 模式Model 是对应用状态和业务功能的封装View 实现可视化UI的呈现,捕捉最终用户的交互操作(键盘、鼠标)Controller View捕捉到用户交互操作后,会直接转发给Controller,后者完成相应的UI逻辑 如果需要设计业务功能的调用,Controller会直接调用Model备注:1.Model接受Controller的请...
2012-10-26 12:28:00 88
转载 如何取出DataTable中某几个字段(列名)组合新表
在偶不知道第二种方法之前.偶费了好大劲才把这个问题解决.下面把这两个方法都帖出来,请大家批评指正.或有更好的办法也帖出来,一起交流第一种方法: string sql = "Report_proc"; SqlParameter[] paras ={ new SqlParameter("@deptno", "") }; Dat...
2012-10-23 11:45:00 161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人