- 博客(17)
- 收藏
- 关注
原创 实践一下ArrayList
以下是ArrayList里常用的方法,还有一个枚举哦。 项目都是这样一步一步累积起来的,多写写,赫赫。 using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace TestArayListClass...{ class Program
2006-12-24 22:53:00 606
原创 深入接口编程
现在所说的面向接口编程,是很重要的一个原则,大部分的设计模式的基础。接口的一些知识确实比较晦涩,需要总结一下。开闭原则告诉我们,只要有可能就应该把类的公共部分设计为接口,而不是特定的类类型,这样就可以让方法有非常大的灵活性。 一个应用程序首先需要定义角色,然后抽象出关于这个角色的方法,把他们放在一个接口中,可以很好的降低程序之间的耦合性。 接口当然是不能实体化的了,因
2006-12-08 09:57:00 718
转载 面向对象设计思想(C#)
有了翅膀才能飞,欠缺灵活的代码就象冻坏了翅膀的鸟儿。不能飞翔,就少了几许灵动的气韵。我们需要给代码带去温暖的阳光,让僵冷的翅膀重新飞起来。结合实例,通过应用OOP、设计模式和重构,你会看到代码是怎样一步一步复活的。 为了更好的理解设计思想,实例尽可能简单化。但随着需求的增加,程序将越来越复杂。此时就有修改设计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现
2006-12-07 23:02:00 858 1
原创 Reverse Ajax
最近接触到了Reverse Ajax,和Ajax相反的技术。Ajax是从客户端用Javascript通过XML去操作服务器,而Reverse Ajax,是由服务器主动去操作浏览器,通过java代码去调用Javascript,反映到浏览器上。我在想,Reverse Ajax似乎已经打破了Request/Reponse模式了,完全不需要用户参与,没有任何触发事件。不知道有没有这种可行性,据说已
2006-12-07 23:00:00 841
原创 C#中数组复制的4种方法
今天旁边的同事MM叫我调了一段程序,她想复制一个数组,int[] pins = {9,3,4,9};int [] alias = pins;这里出了错误,也是错误的根源,以上代码并没有出错,但是根本不是复制,因为pins和alias都是引用,存在于堆栈中,而数据9,3,4,3是一个int对象存在于堆中,int [] alias = pins;只不过是创建另一个引用,alias和pins同时指向{
2006-12-07 22:58:00 13722 2
原创 参数数组
C#引进参数数组,主要是适应如下情况:假如方法需要获取数量可变且类型有可能不同的参数,如果一直使用重载,那可能要写很多重载版本,但是如果参数经常变,变到我们无法控制,那我们只有用参数数组的方式来解决了。 参数数组有2种类型,一种是只容纳值类型的数组,params typt[]; 另一种是可以容纳所有类型,params object[]. One:params type[
2006-12-07 22:58:00 1282 1
原创 C#中的结构和类
类是在堆中创建的,某些时候,类中只包含极少的数据,因为管理堆造成的开销显得不合算。 所以C#中引入结构的概念是为了提高性能,提供给轻量级的“对象”,它是一个值类型,位于堆栈上;在语法上,结构和类是相似的。但是还是有很多不同的地方。主要体现在以下两个方面。 不能象类一样,给结构声明一个无参数的默认构造函数。必须给结构的每一个变量显示的声明构造函数。 stru
2006-12-07 22:57:00 694
原创 装箱和拆箱
在讨论装箱和拆箱之前,首先要回忆一下计算机的内存组织。操作系统和CLR一般将容纳数据的内存划分为2个独立的区域,每个区域都采取不同的方式来进行管理,这2个区域就是堆栈和堆。变量一般存储在堆栈中,对象存储在堆中。 值和引用的概念。如果将一个变量拷贝给另一个变量,这2个变量是没有联系的,修改一个不会影响另一个。但是引用就不同了,引用或者说句柄,是在堆栈中开辟一个空间来指向位于堆中的对
2006-12-07 22:56:00 658
原创 页面传值的2种方法
web开发中经常涉及到页面传值的问题,目前我实践过的有2种方法。 一 通过session传: WebForm1.aspx Session["str"] = "hello world."; Response.Redirect("WebForm2.aspx"); WebForm2.asp this.label.Text = Session["str
2006-12-07 22:53:00 610
原创 页面返回的3方法
一般的页面返回的方式有3种,客户端返回,服务器端返回(2种)。假如有2个页面 page1.aspx和page2.aspx.在page1.aspx中Response.Redirect("page2.aspx?reurl=page1.aspx"); 一 客户端返回:在页面加载中初始化button1,为button1添加属性,代码如下:this.Button1.Attributes.Add("
2006-12-07 22:52:00 855
原创 使用Enter键代替Tab键的功能
function keyDown(){var keycode=event.keyCode;var keyChar=String.fromCharCode(keycode);if(keycode==13)event.keyCode=9;};document.onkeydown=keyDown;
2006-12-07 22:51:00 741
原创 datagrid循环打勾
function allChecked() { if(document.getElementById("allCheckBox3").checked == true) { //开始循环打勾 var count = document.getElementsByTagName("input").length var temp; for(var i = 0
2006-12-07 22:50:00 742
原创 table循环显示记录
// Total number of rows int rowCnt; // Current row count int rowCtr; // Total number of cells per row (columns) int cellCtr; // Current cell counter int cellCnt; rowCnt = int.Parse
2006-12-07 22:48:00 778
原创 动态菜单树实现方式
技术需求。需要一个菜单树,它能实现在IE中添加节点以及子节点,每刷新一次菜单都要从数据库中读取节点内容,每个节点内容都要有相应的链接。 开始一直在考虑用javascript和xml自己写,也就是炒作的比较厉害的AJAX。但是谈何容易。根据.net面向控件的特点,首先要想得是在网上找有这个功能的控件,微软的treeview是比较好的了。要用的话当然也需要写一些代码,大体是把节点读取
2006-12-07 22:46:00 1244
原创 .NET类库解脱C++人的苦恼
C++开发人员一直在使用类似 GetDIBits(),RegisterWndClassEx(),IsEqualID()这种恶心的API函数,甚至有些还要传递Windows句柄函数;C++开发人员总是很容易访问整个windows API,而C#和JAVA 开发人员只能访问其语言所能访问的基本操作系统功能。.net基类库新增内容就是把visual basic和java库的易用性和我indows
2006-12-07 22:44:00 783
原创 XAML and .NET Workflow
前天在微软中心接触到了.net3.0,增加了很多新的技术,在微软的体系是新技术,但是在整个软件领域,算不上什么新啦,但是微软总是能把别的体系中的技术转移到自己的平台,并且很有自己的特色,操作简便性是最大的特点,开发人员可以充满趣味的设计or编程。 关于XAML,在.net3.0中的一种新的界面语言,用XAML做出来的界面非常酷,新的技术必定会带来应用软件需求的变化,凭借.net3.0增
2006-12-07 22:42:00 1258 2
原创 连接数据库的2种方式
对于数据库操作来说,首先第一步就是建立连接,然后才是一些具体的操作。必须在操作完后释放资源,对于连接数据库有2种方式,对于第一种方式我们用的是最多的,而对于第二种方式似乎很少用到,甚至根本没有听说过。 One method:try...catch...finally... try { //Open the connection conn.Open(
2006-12-07 20:59:00 612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人