- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 .net下面的as与“cast”
在.net下面,我们做类型的强制转换有两种方式,比如把对象o转换成A类型的对象:1。 A a = (A)o;2。 A a = o as A;那么这两种方式有什么区别呢?或者说有区分它们的必要么?看了我下面的分析,大家自然就明白了。实际上,对这个问题不能一概而论,需要考虑这样几种情况。第一种情况:o是A的子类。在这种情况下,无论是用方法1还是方法2,效果都是一
2007-12-21 16:41:00 759
原创 python第二天
学习python的第二天,没忍住好奇心,.net了一把。按照IronPython的说明,用VS2005调试了一把python,感觉吧,怪怪的,而且并不方便。还有就是发现.net的python竟然没有os模块。也是刚刚学习,不熟的很,不知道在.net版本下面应该用什么来替代。不过这到不是问题,因为我现在还没打算把大把的py程序移植到.net下面。还是先学好纯粹的python吧。
2007-12-19 16:58:00 880
原创 python第一天
今天是学习python的第一天。最近越来越喜欢跨平台的东西了。感觉一个东西要是不跨平台,就会很yd的去bs一下,呵呵。今天先熟悉了一下python的环境和语言,感觉还不错。挺像我以前接触过的QBasic似的。想想那个时候,QB可是我的最爱啊。所以,这次肯定不会放过python了,嘿嘿。一会去MacOS下面再熟悉一下,我也跨跨平台,哈哈。
2007-12-17 16:10:00 570
原创 foreach与hashtable
声明:这可能是个火星贴!今天发现了一个小技巧,是关于hashtable的。其实不能说是发现,而应该说是以前太大意了没有注意到。我们知道hashtable里面保存的都是“键值对”。我们有时候需要键,有时候需要值,还有的时候两个都需要。有没有方便的办法可以分别获取这些内容呢?答案是当然有啦。取得键:foreach(object obj in someHashtable.Keys)
2007-12-13 15:53:00 1762 1
原创 Hashtable的同步问题
Hashtable的同步是个老问题了。这几天仔细看了一下Hashtable的实现代码,总算找到了一些答案,下面就聊聊这个。首先说一下同步根(SyncRoot)。网上很多人都在讨论说是要锁table还是锁它。其实,对于非同步的Hashtable,也就是普通的通过new创建的hashtable,SyncRoot就是table它本身。因为这个属性的代码直接的返回了this,this是谁?当然就是
2007-12-06 15:04:00 1227
原创 foreach与IEnumerator
都快2008年了,还是看到不少人在辛苦的用着IEnumerator遍历某个数据结构。逢上foreach的“源代码”,希望可以让IEnumrator的funs彻底死心,呵呵。还是反编译(最近好上这个了,呵呵)如下的代码:ArrayList somelist = new ArrayList();foreach(object o in somelist){...}得到
2007-12-03 15:36:00 905 3
原创 lock与Monitor
在多线程开发的时候,lock和monitor是非常常用的东西。以前用的时候没注意过区别。今天反编译了一把,一下明白了,呵呵。下面是lock的代码:lock(this){...}它的IL代码大致如下:callvirt ...Monitor.Enter(object)...leave.s....callvirt ...Monitor.Exit(obj
2007-12-03 14:29:00 545
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人