Google
 
资源下载 | 发布源码资源

已解决问题
C#的几个小问题
 
问题补充: 1。 以前是学C语言的,程序的执行一直认为是从上往下,从Main函数开始直到main函数结尾,未定义的变量不能赋值使用。变量的定义不能放在程序后面,看了C#的书,感觉有点不太对劲,不知道是怎么规定? 2。 public private等的修饰符可否作用于类 3。 public static bool IsLeapYear(iterator iYear) { return iYear%4==0&&(iYear%100!=0||iYear%400==0) } 我在书上看到一段话: 即便IsLeapYear是一个实例方法,Date构造器也仍能使用它,但结果就不一样了:当Date构造器调用IsLeapYear方法时,构造器还没来得及对iYear字段做出明确的设置--iYear字段的值将等于C#从堆里为Date对方分配内存时给堆内存设置的值,也就是0 静态方法IsLeapYear和实例方法IsLeapYear有什么区别吗?,这是《C#程序设计》书的第211页。。恩。。最好能帮我看看书,上面方法是一个程序中的一部分,我只打出了这个方法 4。 ………… static void ChangeStructure(PointStruct ps) { ps.x=ps.y=33; } struct PointStruct { public int x,y; } 刚开始给ps.x和ps.y分别复制22,为什么执行static void ChangeStructure(PointStruct ps)语句后ps.x和ps.y的数值还是22??? 结构传递的不也是指针吗??
提问者:tomore  提问时间:08-10-20 20:29  
 最佳答案
 的答案  ( 采纳时间: 70-01-01 08:00 )

 评论  回答时间: 70-01-01 08:00 
其他答案 (1)

1,C#是完全面向对象的,所以Main()方法也必须封装在一个类里,这个Main()方法中的函数会成为整个程序的执行入口。Main()方法必须是一个静态方法,以便能够在不实例化该类的情况下调用Main()方法。一般一个完整的程序中只应该有一个以Main()命名的方法,但如果你需要定义多个同名的方法,你需要制定哪个是入口。最后,区分大小写,main()和Main()是不一样的。 2,可以,但私有类一般没什么用处,默认的是公开。 3,没有那本书。实例方法(非静态方法)是指拥有该方法的类比较实例化之后才可以调用,而静态方法则可以不实例化直接由类命调用。比如你有一个类A,如果有非静态方法B,你必须先为A实例化一个对象a,然后用a.B()调用。但如果这个B是静态方法,则这样调用A.B(),不需要实例化。 4,结构是分配到栈上的,而不是像类那样分配到堆上,因此传递的并不是一个引用而是一个拷贝。指针在C#中其实就是引用,只是这个指针由运行时维护,你不可见。
0 评论  回答时间: 1224516261 


关于我们 - 广告服务 - 联系我们 - 网站声明 - Archiver - WAP - TOP
Copyright (c) 2001-2010 kkbar.com. All rights reserved.  京ICP备10020589号