这应该不是第一次学C#了,以前曾经在图书馆借过C#方面的书,大体的感觉是与C++的语法有比较相似的一面,没有在这方面做很多练习,自然就陌生了。回顾自己学习C++的历程,却也是经过了很多遍的学习与实践的结合才掌握到如此程度的。C#应该也是如此。
其实在程序设计语言方面,掌握好几门就已经足够了。计算机领域的核心问题不在程序设计,而在算法与数据结构设计。如果希望自己设计的软件有良好的市场前景,关键还是在于头脑。
借了本《C#大学教程》,感觉读起来没有什么困难,应该算入门级书吧。
第一个例程是设计一个带有图片以及文字的窗体,一行代码也不用写,直接拖控件就可以了。效果如图:
这使我联想到,如果用MFC,Qt该怎样去实现。MFC虽然也可以拖控件,但是远远无法达到这样的效果:设置图片文件,改变字号,改变字体,改变背景……这些确实让我对C#的功能非常惊叹,大概就是可视化编程与代码自动生成的魅力所在吧。
通过观察解决方案资源管理器,发现主要文件是:
Form1.cs 负责窗体的消息处理
Form1.Designer.cs 负责窗体的布局及外观
Form1.resx 负责窗体中的相关资源,例如图片等
Program.cs 主程序,整个应用程序的入口
通过观察代码我还发现:
- 命名空间的规则与java有些相似,都是使用点号“.”而不是C++的双冒号“::”;
- 在声明命名空间时采用 using System 的形式,而在C++中则采用的是using namespace std 的形式;
- 入口函数名为Main,必须为一个类的静态成员函数;
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Windows.Forms; 5 6 namespace ASimpleProject 7 { 8 static class Program 9 {10 ///11 /// 应®|用®?程¨¬序¨°的Ì?主¡Â入¨?口¨²点Ì?。¡ê12 /// 13 [STAThread]14 static void Main()15 {16 Application.EnableVisualStyles();17 Application.SetCompatibleTextRenderingDefault(false);18 Application.Run(new Form1());19 }20 }21 }