前段时间看别人的程序,对于classname<T>这种结构一直不大明白。今天看了C#泛型才明白,同时也看到了C#泛型的优点。下面我借用msdn上的例子:
看一个常用的数据结构(Stack) 实例化
public class Stack Stack stack = new Stack();
{object[] m_Items; stack.Push(1);
public void Push(object item) {...} int number = (int)stack.Pop();
public object Pop() {...}
}
编译时任何类型都可以转换成object,因此就无法保证运行时的类型的安全性。有可能就会写下这样错误的代码:
Stack stack = new Stack();
stack.Push("test");
int number = (int)stack.Pop();
如果编写特定类型的数据结构,又会带来代码冗余,重用率低,而且一个数据结构的变更会带来所有类型的数据结构做相应的改变等不便。但是如果我们用C#泛型一切就相对方便多了。
public class Stack <T> Stack<int> stack = new Stack<int>(); Stack<string> stack = new Stack<string>()
{T[] m_Items; stack.Push(1); stack.Push("test");
public void Push(T item) {...} int number = stack.Pop(); string str = stack.Pop();
public T Pop() {...}
}
初学,理解的还不够深入,见笑了。
posted @ 2006-09-04 19:19 诺亚方舟 阅读(193) 评论(6)
编辑
今天Buddy给我们share了下交际能力,蛮有道理的哦,理论知识又增加不少,实际的交际能力能不能提高就不知道了。理论的东西就扔到一边,下面是一个小测试,可以测测你的交际能力。10分下的一定要教教我怎么和人打交道哦。 如果一位谈话者在谈论一个乏味的话题,我尽力忍受不出声
在讲演之前,我先演练一下(做笔记、记要点、在朋友或镜子前做练习
我听到“我懂你的意思”比听到“我同意你的观点”时,更感到满意
当被别人打断时,我会保持安静,耐心等待
当我在谈话中感到愤怒或紧张时,我就讲的很少
我愿意寻求朋友们的帮助
几乎在任何谈话中,我都发现提问题是非常容易的事
别人说服我比我说服别人的时候更多
按照下面标准,给每个句子打分:
1 总是这样; 2 几乎总是这样;
3 有时如此; 4 很少如此;
5 从来没有;
◇总分少于 20分,你正从一个有利的位置上起步,你已经显示出了一些有效的交际中所必需的修养、耐心、好奇;
◇总分在 21~31之间,那么你处在中间地带,你具有说服别人的潜力,只是尚未充分利用最好的工具来完成它而已;
◇总分超过 31,你是在用一种自由放任的方式交流,其危险在于你的判断和怀疑可能会影响你自由交际的能力。
posted @ 2006-08-28 20:14 诺亚方舟 阅读(85) 评论(1)
编辑
今天老大找我谈话了,说这段时间的考察没看出我有什么优点,问我的职业目标,实施计划,及有什么优缺点。说实在的,我还真没想过。这段时间想的就是怎样更快的学习C#,能快一点地接手项目开发。所以在平时做完分配下来的任务后,都是自己看看程序,或看看资料什么的。也没有想过比较长远一点的计划,至于优缺点,缺点总感觉自己有好多,什么不善人际,欠缺实践经验等等,优点嘛,好像除了不怕吃苦就没什么优点啦,蛮平庸的一个。老大说我没有目标,缺乏自信心,让我回去多想想自己的职业规划。
谈完话后心情是比较沉重的,想一下自己这段时间的表现,也确实如此。因为才开始接触c#,好多东西都不会,做什么事情都怕引起其他的大问题。像目标啊这样比较宏大的东西,我也不大擅长架构。看来以后得多想想,给自己规划下,弄个比较明确的目标,以后也好做更充分的准备。
哈,现在心情好一些了,下午和老大谈完话有点窝心就把阿科叫住了,让他陪我晚上聊聊。哈我现在才知道是给他带来了些不便哦,原来今天我们的玲妹妹在他身边哦,我估计本来他们是要跑到什么树啊花下谈什么的,结果我的要求哈,他们的计划泡汤了。hoho ^_^ ! 以后有机会请他们搓哦。 聊了下自信心,职业规划,要学习的东西。反正谈了以后心情轻松了不少。在心情不好的时候找个人倾诉下,感觉真好!!!
posted @ 2006-08-24 20:03 诺亚方舟 阅读(8862) 评论(4)
编辑
刚开始接触NetAdvanced Infragistics(for .net 2.0), 确实是一款功能非常强大的控件,给开发者带来丰富美观的页面效果,而且将一些常用的.net控件组合加工成功能更加完善,使用更加方便的控件。或许是以前很少使用grid,感觉Infragistics WebGrid控件尤其强大,样式多,并且联合AJAX, 功能更是强的没话说。而且还能够在grid中加入一些控件,像加入DateChooser控件实现datetime的选择。
不过我今天用的时候出了点问题。在grid中原来用的是DateTimeEditor控件控制时间的格式及输入,但又有需求要将datetime改成日期时间可以通过日历来选取,然后时刻通过人工输入。我采用了Infragistics介绍的Date Editor with Drop-Down Calendar方法试图用WebDateTimeEditor和WebCalendar这两个Infragistic控件来组合完成在下拉的WebCalendar中选取日期,再在WebDateTimeEditor中更改时刻。我把grid的EditControlID设置成WebCalendar的ID, 但这样做就有问题了,异常是WebCalendar不能够实现接口IProvidesEmbeddableEditor。看来是这样做是行不通的,除非自己写代码去实现那个接口。而我才开始学.net,要自己去实现这个接口还是有困难的,先放放,以后催得紧的了再仔细看看。对于这个问题,路过如果知道有什么好的方法或者建议 ,请赐教,先谢了。
posted @ 2006-08-23 20:05 诺亚方舟 阅读(276) 评论(1)
编辑
以前对UI处理的不多,而且也对它也没什么要求,只需要能基本上表达出我想看到的东西就足够了。现在开始真正开始对UI进行调整和控制,才发现UI其实也有很多讲究的。不说其他的一下子就能或者比较容易吸引眼球的东西,就说上下左右的边距,Menu的顺序,Button的样式等等这些比较小平时也不怎么注意的问题,都是有讲究的。虽然对于不同的风格和需求,这些可能有不同的要求,但真正地开发一个项目,这些东西还是有规定的。个人感觉最好是开始就定好样式,以后即便是有修改的需求,也可以修改下.css就好了。如果是后来才制定的,并且要重新规格化这些东西,就要让人费点心思,可能会碰到需要重新设计部分UI的状况,如果这样又导致要修改后台操作,那就比较让人头疼的。现在有时候就会中招,搞的前台后台都做修改,并且经常修改一部分又导致其他的问题。头大啊!!!!
posted @ 2006-08-21 19:19 诺亚方舟 阅读(67) 评论(2)
编辑