在c#中变量在未明确赋值之前,变量拥有一个所属类型的等价于0的值。在正确理解c#中初始化的概念的时候,我们必须区分局部变量(local variable)——在一个方法内部声明的变量,它的作用范围被局限在此方法内;类的字段(fields of a class)的区别 Read more »
c#中变量的初始化
11月 11th, 2009c#中“躲在幕后”的ToString方法
11月 11th, 2009在c#中的object这个对象中,最常用的(也是最常被覆载)的方法,当属ToString()方法,在派生类继承object类中ToString()方法,如果派生类没有覆载ToString()方法,那么当调用ToString()方法时,只是输出类名,当覆载之后,才能输出用户自定义的内容。
在console.writeline方法中,一般认为该方法接受字符串参数,其实他已经被覆载的可以接受任意对象作为其参数,当一个对象引用被传入,writeline方法会自动调用该对象的tostring方法来得到该类的字符串表示,并输出到控制台。
c#常量知识点总结
11月 10th, 2009做完一个小项目后,发现自己的c#的基础知识有点缺失了,现在补一补,总结一下c#中常量的知识:
常量的声明方式: public const datatype name = value
- 常量隐含式静态的,所以不能再在声明上加上static关键字,如果试图是这样做,编译无法进行。
- 在声明一个常量的时候必须给定一个值,不能在声明常量后又在程序的其他位置修改它的值
- 常量的命名符合Pascal命名风格
- 常量的值必须是在编译的时候可以计算的表达式。例如 public const int a = 123+456 可以通过编译,而public const int a = Math.Sqrt(2.0);就无法通过编译,因为Math.Sqrt是一个方法,只能在运行时被调用。
- 常量的类型必须是预定义数值类型(char,int,double,float,byte等)或者是string类型
抽象的过程
11月 5th, 2009在做OO软件项目中,要做到理解面向对象对像我这样的初学者而言是比较困难的,下面就总结一下再项目初期将信息 进行抽象的过程,通过抽象,我们可以将信息得以简化:
- 通过抽象,将信息的特征概括出来
- 将信息模型组织为层次结构
- 抽象的重用。
Linux: the big picture
10月 20th, 2009This article gives a brief introduction to Linux, with a sketch of the background history. It was written for PC Update, the monthly magazine of the PC user group in Melbourne, Australia. This version does not contain all the editorial changes and spelling fixes made by the magazine.
April 28, 2003
History Read more »
字符串填充函数(javascript实现)
09月 22nd, 2009昨天js课上讲到这样一个字符串填充函数,上课老师讲的不是多么仔细,没怎么听懂,下课后研究一下,问了一下以前教c的老师,发现这个小技巧还是很优秀的,可以很大程度的减少循环的次数,从而大大的减少运算的时间。 Read more »
要开学了
08月 15th, 2009还有半个月就又要开学了,慢慢的来学的时间也已经有一段时间了。每天做着自己喜欢做得事情,感觉倒还是蛮不错的。这个暑假,感觉我兑现了自己的诺言–创造了属于自己的奇迹。我们做得小视频会议软件,现在虽然还处在实验阶段(已经具体实施的步骤),不过感觉自己现在的这种状态很好,每天研究一点,把东西从无到有的给弄出来,感觉很cool。 Read more »
[转载]JMF系统介绍
08月 13th, 2009一.简介
1.1JMF 体系结构简介
在开发JMF 应用程序之前要完全理解JMF 的体系架构、接口和类。就拿我们的家用摄像机系统作个例子。首先用摄像机拍摄内容,拍摄下来的内容录制在DV带中。DV带可以放在放像机里播放、放像机提 供视频信号给电视机,提供音频信号给音箱,这样我们就可以在电视机上看到画面,从音箱里听到声音。JMF API 提供的也是同样的模型。 Read more »
PHP缓冲机制(转)
08月 8th, 2009动态网站的内容加速显示十分重要,本文通过对 PHP 几个函数的深入讨论,提出了 PHP 网页压缩和缓冲的解决方案
终于搞清楚了c#中的事件和委托
07月 25th, 2009c#中的事件和委托,今天可算给搞明白了。比较高兴。嘿嘿。
理解c#中的事件和委托,关键还是要理解委托。要明白多播委托是怎么个玩意儿。现在把我自己写得一个例子,贴出来让大家看看,如果有什么不对的地方,希望指正。
狗饿 狗叫 给吃的。
public class Starter
{
public static void Main()
{
dog dog1 = new dog();
dog1.dogbark += new bark(Handler);
dog1.hungry();
}
public static void Handler(object o, DogEventArgs e)
{
Console.WriteLine(”给你一根骨头,吃吧。”);
}
}
public delegate void bark(object o, DogEventArgs e);
public class dog
{
public event bark dogbark;
public void hungry()
{
if (dogbark != null)
{
DogEventArgs args = new DogEventArgs();
dogbark(this, args);
}
}
}
public class DogEventArgs : EventArgs
{
}
其中我们将狗叫理解成引起事件的原因,狗叫理解成事件,给吃的理解成事件处理函数。对应代码就是:hungry()函数是引起事件的发生。dogbark是事件,Handler是事件处理程序。