利用javascript实现页面跳转的几种方法
作者:天涯孤旅 日期:2009-06-22
再笑一下,脸部肌肉有点点痛了。。
作者:天涯孤旅 日期:2009-06-22
笑一笑十年少
作者:天涯孤旅 日期:2009-06-22
C# ref关键字的理解
作者:天涯孤旅 日期:2009-06-22
C# 中的变量 C# 中的数据有两种类型:引用类型(reference types)和值类型(value types)。 简单类型(包括int, long, double等)和结构(structs)都是值类型,而其他的类都是引用类型。 简单类型在传值的时候会做复制操作,而引用类型只是传递引用,就像 C++ 中的指针一样。注意 structs 在 C# 和 C++ 中的区别。在 C++ 中, structs 和类基本相同(except that the default inheritance and default access are public rather than private)。 而在 C# 中,structs 和类有很大的区别。其中最大的区别(我个人觉得,同时也是容易忽略的一个地方)可能就是它是值类型,而不是引用类型。依据网上的一些文章介绍,要了解 C# 对内存的处理,首先要了解 C# 中的变量,以及变量的值是什么。在 C# 中,一个变量仅仅用于连接一个名称(这个名称当然就是变量名了,我们在代码中用到的)和一小块内存。一个变量有它的值,也就是这小块内存中存储的值。至于这小块内存的大小,以及如何解释其中存储的数据,则是和变量的类型(值类型和引用类型)相关的;这也就是值类型和引用类型的区别所在。 一个引用类型的变量的值永远是 null 或者一个引用。如果是引用,则它一定会指向一个相对应的对象实例。比如:一个申明为 Stream s 的变量一定会是 null 或者指向一个 Stream 类的实例(当然也可能是 FileStream, MemoryStream 等子类的实例)。而这个变量的大小则永远是一个引用所需的大小,和其指向实例的大小是没有关系的。在 32 位系统上,引用的大小是 4 个字节。 而值类型则不同!一个值类型变量的值(所对应内存块中存储的数据)则永远是其对应实例的值。比如,我们定义了一个 struct: 1 2 3 4 5 6 public struct MyStruct { public int a; public int b; } MyStruct m1 = new MyStruct(); 在这里,变量 m1 的值则是两个整数,而不是一个指向两个整数的引用。其内存中的存储的数据大小也就是 8 个字节,而不是引用所需的 4 个字节了。 讲到这里,大家也就会明白为什么值类型是按值传递(copy整个对象中的数据,对新对象数据的修改是不会影响到原对象的),而引用类型是按引用传递(仅仅 copy 的是引用--暂时可以把它当作内存地址吧)了!而不仅仅是看它们各自的名称,呵呵。在 C# 中,值类型因为都是按值传递,所以也就不存在对象生命周期,引用计数啊什么的。在 unsafe 的情况下,我们甚至还可以像 C++ 中的那样申明值类型的指针!但是对于引用类型,这确是不行的。我想,C#中,引用类型的对象都是由系统来管理的;如果再允许我们用指针来指来指去的,整个程序非得乱套了不可! 那么我们再来看看上次那些 C# 的代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 // ---------------------------------------- // MyClass definition public class MyClass { public int Value; } // ---------------------------------------- // Tester methods public static void TestRef(ref MyClass m1) { // 这里的 m1 也就相当于大家所说的指向指针的指针: // m1 指向 Main 中的 m,而 m 则指向那个实际的 MyClass 的实例 // 相当于 C++ 中的 // MyClass** m1 = &m; // (*m1)->Value = 10; // m1.Value = 10; } public static void TestNoRef(MyClass m1) { // 这里是一个普通的传递引用类型的例子。相当于: // MyClass m1 = m; // m1.Value = 20; // // m1 复制了 m 中的内容,也就是说现在 m1 也和 m 一样,指向了 m 指向的实例 // 所以这里对 m1 的修改也会影响到 Main 中的 m。 // m1.Value = 20; } public static void TestCreateRef(ref MyClass m1) { // 这里的 m1 也是一个指向引用的引用: // m1 指向 Main 中的 m,而 m 则指向那个实际的 MyClass 的实例 // 相当于 C++ 中的 // MyClass** m1 = &m; // *m1 = new MyClass(); // (*m1)->Value = 100; // 在上面的 *m1 = new MyClass() 这个调用的时候,实际上只是将 Main 中 m 的值(引用)给修改了, // 也就是说现在 m1 指向 Main 中的 m,而 m 现在则指向了这个新生成的实例。 // 所以这里 m1.Value = 100 是会影响到 Main 中的结果的 // m1 = new MyClass(); m1.Value = 100; } public static void TestCreateNoRef(MyClass m1) { // 在这个方法里面,我们新申明了一个 MyClass 的实例,而让 m1 指向了这个实例 // 这时候,实际上将 m1 的值修改了, m1 和 Main 中的 m 各自指向不同的实例 // 所以对 m1 做的任何修改都不会影响到 m 了 // m1 = new MyClass(); m1.Value = 200; } public static void Main() { MyClass m = new MyClass(); m.Value = 1; TestRef(ref m); Console.WriteLine(m.Value); TestNoRef(m); Console.WriteLine(m.Value); TestCreateRef(ref m); Console.WriteLine(m.Value); TestCreateNoRef(m); Console.WriteLine(m.Value); }
全国大范围DNS出现问题,很多网站无法打开
作者:天宇 日期:2009-05-19
SQL库中被注入字符替换方法
作者:天宇 日期:2009-05-18
笑话几则
作者:天宇 日期:2009-04-23
1.高中的时候,一次下课,同学们都抢着到外面买盒饭。一女生为了比别人先到,绕了个近道走,结果前面窨井盖没盖好,掉了下去!一会儿她撑着井沿往上爬,很是狼狈,一群初中小孩惊骇地从身边走过,她竟急中生智,一边爬一边说:哎!真难修啊……
2.还是中学时,夏天裸睡被蚊子咬到DD,上课奇痒难忍,可总不能伸进去抓痒吧,我忍!痛不欲生!课间偷了同桌(女生)的一盒清凉油狂奔厕所,抹上之后才追悔莫及————那个刺激呀,DD翘起来说什么也不回去!夏天衣服少也挡不住呀,只好弯着腰挪回教室,坐下去紧紧靠着书桌一动不敢动。清凉油这东西气味可真大,同桌厉声喝问:你是不是偷我清凉油了,抹哪儿了?!—————我生不如死!
刚打开可乐喝两口,晃了下,井喷了。拿嘴去堵,坚持着,终于从鼻子里喷出来了。
2.还是中学时,夏天裸睡被蚊子咬到DD,上课奇痒难忍,可总不能伸进去抓痒吧,我忍!痛不欲生!课间偷了同桌(女生)的一盒清凉油狂奔厕所,抹上之后才追悔莫及————那个刺激呀,DD翘起来说什么也不回去!夏天衣服少也挡不住呀,只好弯着腰挪回教室,坐下去紧紧靠着书桌一动不敢动。清凉油这东西气味可真大,同桌厉声喝问:你是不是偷我清凉油了,抹哪儿了?!—————我生不如死!
刚打开可乐喝两口,晃了下,井喷了。拿嘴去堵,坚持着,终于从鼻子里喷出来了。
两个傻MM
作者:天宇 日期:2009-04-23
有两个城里人,一个叫小骆驼,一个叫小O。她们听说乡下空气新鲜,对身体有好处,就跑到那儿去找工作。虽说两上人对庄稼、牲畜方面一无所知,可还是找到了一份放羊的工作。她们的任务是每天清晨把牧民的2000只羊赶到山上的草地去吃草,傍晚再把羊赶回羊圈。
可是才干了一天,两个人就累得盘疲力尽。傍晚她们找那个牧民。小骆驼说:“对不起,我们不干这活了,太累啦!”小O接着说:“就是呀,早知道这么辛苦,我宁可不要新鲜,空气死在城里的好。”
牧民问:“怎么回事?这个工作挺清闲的呀!你们要在羊群旁边走走看着他们吃草就行啦?”
可是才干了一天,两个人就累得盘疲力尽。傍晚她们找那个牧民。小骆驼说:“对不起,我们不干这活了,太累啦!”小O接着说:“就是呀,早知道这么辛苦,我宁可不要新鲜,空气死在城里的好。”
牧民问:“怎么回事?这个工作挺清闲的呀!你们要在羊群旁边走走看着他们吃草就行啦?”
程序代码
