posted @ 2011-10-18 11:13 yuanws 阅读(295) 评论(0) 推荐(0) 编辑
摘要:
如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅仅是作为其派生类的一个基类,这样的类就是抽象类,在抽象类中声明方法时,如果加上abstract时就是抽象方法1.抽象类概述及声明抽象类与非抽象类的主要区别:·抽象类不能直接被实例化·抽象类中可以包含抽象成员,但非抽象类中不可以·抽象类不能被密封举个小例子public abstract class oneClass{ public int i; public void denylau() { }}2.抽象方法概述及声明声明抽象方法时需注意:·抽象方法必须声明在抽象类中 ·声明抽象方法时, 阅读全文
摘要:
1.子类方法与父类方法的关系分为三种(1)方法不同名字(2)同名,但参数类型和数目不同(重载)(3)方法名称和参数列表完全相同(方法的隐藏)2.继承关系下的方法重载构成重载的方法具有以下特点(1)方法名相同。(2)方法的参数列表不同判断第2点的标准有三点,满足任一点均可认为方法参数列表不同:(1)参数数目不同:(2)参数相同类型不同;public int Add(int x,inty){……}public double Add(double x,double y){……}(3)参数数目和类型都相同,但参数类型出现的先后顺序不一样;public void f(int i ,string s){… 阅读全文
posted @ 2011-10-18 10:58 yuanws 阅读(491) 评论(0) 推荐(0) 编辑
摘要:
在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会。而所谓的“一面响应操作,一面添加节点”永远只能是相对的,使 UI 线程的负担不至于太大而已,因为界面的正确更新始终要通过 UI 线程去做,我们要做的事情是在工作线程中包揽大部分的运算,而将对纯粹的界面更新放到 UI 线程中 阅读全文
posted @ 2011-09-30 09:23 yuanws 阅读(280) 评论(0) 推荐(0) 编辑
摘要:
使用匿名委托,Lambda简化多线程代码理解C#中的Lambda表达式====================================先来看两段C#代码,来比较Lambda表达式:Threadt=newThread(()=> { AddItAddDelegate=newAddIt(AddItem); this.Invoke(AddDelegate); }); Threadt3=newThread(newThreadStart(()=> { AddItAddDelegate=newAddIt(AddItem);this.Invoke(AddDelegate); })); 这两 阅读全文
posted @ 2011-09-30 09:19 yuanws 阅读(1018) 评论(0) 推荐(0) 编辑
摘要:
普通行列转换问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ----李四 74 84 94张三 74 83 93-------------------select 姓名 姓名, max(case 课程 when '语文' then 分数 else 0 end) 语文, max(case 课程 when '数学' then 分数 else 0 end) 数学, max(case 课程 阅读全文
posted @ 2011-09-28 13:16 yuanws 阅读(176) 评论(0) 推荐(0) 编辑
摘要:
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1.row_number 2.rank3.dense_rank4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:图1其中field1字段的类型是int,field2字段的类型是varchar一、row_number row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:selectrow_number()over(orde. 阅读全文
posted @ 2011-09-26 18:05 yuanws 阅读(261) 评论(0) 推荐(0) 编辑
摘要:
先看如下一个数据表(t_tree):Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4 上图显示了一个表中的数据,这个表有三个字段:id、node_name、parent_id。实际上,这个表中保存了一个树型结构,分三层:省、市、区。其中id表示当前省、市或区的id号、node_name表示名称、parent_id表示节点的父节点的id。 现在有一个需求,要查询出某个省下面的所有市和区(查询结果包含省)。如果只使用SQL语句来实现,需要使用到游标、临时表等技术。但在SQL Server2005中还可以使用CTE来实现。 从这个需求来看 阅读全文
posted @ 2011-09-26 17:54 yuanws 阅读(167) 评论(0) 推荐(0) 编辑
摘要:
先看下面一个嵌套的查询语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select*fromperson.StateProvincewhereCountryRegionCodein(selectCountryRegionCodefromperson.CountryRegionwhereNamelike'C%') 上面的查询语句使用了一个子查询。虽然这条SQL语句并不复杂,但如果嵌套的层次过多,会使SQL语句非常难以阅读和 阅读全文
posted @ 2011-09-26 17:53 yuanws 阅读(164) 评论(0) 推荐(0) 编辑