C#学习心得 (一)
最近这两天开始着手看C#,觉得没有想像中的难。比C更容易理解多了,可是还是有些时候会出些莫名其妙的问题。比如:
string text;
for(int i=0;i<10;i++)
{
text="The numberis"+i;
}
Console.Writeline(text);
这个代码是不对的,教程里说:原因是text第一次初始化发生在for循环中。解决办法是将第一行改为
string text="";
调试过程中,发现for中的text确实是string text;声名的text变量,不是只作用于for循环中的局布临时变量,原因是将for循环中text变量改名为text1时会出现未声明text1变量的错误。但是for循环结束之后,text中的内容却没有了。这是为什么呢?不得而知。但将string text;改为string text="";就不会出现这种问题。希望能有机会向高手请教一下。
C#中的数据声名方式不再是int a[5]这种了,成了int[] a=new int[5];这种。应该可以理解为把数组类型和单个的变量类型划成了两种类型吧。一种是int[]类型,一种是int类型。这样可以容易记一些。
然后就是委托了,这对于我来说是一个全新的概念。居然可以声名一个“变量”,然后用这个“变量”来实现函数的功能。委托似乎可以这样理解:委托就像VB里的Set Object1=Object2,但Object1是委托变量,Object2是要委托的函数。一个委托变量可以被设置为符合某种规则的函数,委托后这个委托变量就有了这个函数的功能。可以将不同的函数置于委托变量里,而在别的函数中可以不考虑这个变量所内含的函数是什么来使用。这样的好处是可以设计功能更多的函数。
C#中,函数的功能比VB强大了很多。函数的参数支持params型变量。这样函数就可以支持各种个数的参数了。函数的参数还可以加ref和out前缀。它们都是可以使函数有修改函数外部参数的能力。区别是,ref型的函数必须在传入函数时己经被初始化(有一个确定的值)。而out型则不用。函数可以直接改变这个变量的内容,而外部参数的内容也随着改变。
张旋(zxsoft)
如对本文有什么疑问,请在下面写下留言,谢谢!

浙公网安备 33010602011771号