C#入门经典—新手教学
对于只会 Java 和 PHP 的小朋友,要如何学习 C# 呢?
首先 Java 和 C# 皆是物件导向的语言,属于本机程式开发。
而 PHP 则是网页程式语言,若要和 C# 比较的话,就要谈 ASP.NET 网页程式语言。
但不论是本机程式开发或网页后端程式语言,皆是採用 C# 的程式语言来进行撰写开发。
应用程序界面设计
Java 难搞的 GUI 界面,基本上是以 AWT 和 Swing 为主
就相当于 C# Windows Form 和 Windows Presentation Foundation 的应用程式
差别主在于外观是否受作业系统的影响,
且若以外观来说,通常会采用的是 Java 的 Swing 以及 C# 的 WPF
Java 可以透过 NetBeans 的免费工具,很方便的拉出视窗画面
C# 可以透过 Visual Studio 的免费工具,更方便的拉出视窗画面
而现今的行动应用程式,基本上可分3种:
iPhone 太复杂不适合初学者,所以不细谈。
Android 有点复杂,採用 Java 进行程式的开发,适合初学者。
Windows Phone 7 比较简单,採用 C# 进行程式的开发,很适合初学者。
简单的了解视窗设计的基本概念后,就準备开发第一个应用程式啦,一开始就先 新增 C# WPF 的空白专案,接下着请先拉出理想中应用程式的画面,基本上就是用来显示输入资讯、处理互动和输出结果的画面,接着再透过属性 (Properties) 视窗调整物件的细部样式。

此外在应用程式画面设计这阶段,除了要美观之外,每个物件更要有规则且好记的名称。
会透过属性 (Properties) 视窗修改该物件名称,通常会采用驼峰式大小写命名规则。

使用者互动操作
当界面产生好了之后,接着请在处理互动的 Button 物件上按两下左键,就可以开始进行程式的撰写,让使用者达到互动的效果。
简单互动操作的程式码:
lblResult.Content = txtInformation.Text;
txtInformation 代表 TextBox 输入框物件的名称
lblResult 代表 Label 标籤物件的名称
.Content 代表输入框物件的输入资讯
.Text 代表标籤物件的输出结果
简单来说,每个物件都有许多相关的属性可以透过程序设定,只要打入组件的名称后,再打入 . (点) 就可以列举出所有可以设定或取得的属性,若写在等号的左边就是设定,若写在等号的右边就是取得。

接着请按键盘上的 F5 钮,即可执行应用程式,此时当您在输入框输入资讯,按下处理互动按钮后,就会透过标籤产生出结果。

小结
如此就写好第一个可进行互动操作的程式,简单来说每个程式不论是命令提示字元的操作还是视窗界面的操作,其程式运作最基本的塬理就是输入、处理和输出,接着才是针对不同的需求套用不同判断逻辑 Logic 的流程,达到更多元的效果,而当程式撰写越来越大时,就会有模组化的概念,简单来说就是物件导向的观念 OOP,让程式码更有弹性的重复使用,最后若要考量程式是否好维护,此时就需要选择适当的设计模式 Design Pattern。
当然若您资质和英文都不错,在此建议可以参考微软 MSDN 的「使用者入门教学」,其中有四个范例,透过教学手册将可轻鬆开发出图片检视器、迷宫程式、数学程式和配对游戏。
开始撰写程序
当熟悉画面的物件属性之间的互动操作之后,接下来要正式进入程式开发的撰写,首先要了解是如何除错,也就是所谓的 Debug ,简单来说,就是在任何一行的程式码按 F9 钮会以深红色的方式反白,接着当程式按 F5 钮执行时,当执行到该程式码时会以黄色的方式反白,此时即可进行变数和逻辑的侦错,而当按下 F11 钮即可逐步侦错,最后再按 F5 钮即可正常的继续执行程式,当学会侦错之后,接下来撰写程式就更简单容易了。
首先要了解的就是变数的型别宣告,若以初学者来说只需了解最基本的四种型别,分别是整数值 int 、字串 string 、布林 bool 和浮点数 double ,基本上就够用了,接着很重要的观念就是阵列,因为常常会需要使用到一系列的资讯,此时就必需宣告阵列搭配反覆运算陈述式循序取出一系列的资讯。
当然程式执行时会有许多的决策,此时就必须搭配选择陈述式,使得程式更加的有趣,当然也会透过选择陈述式,进行逻辑错误的判断,使得程式执行时,更加的隐定。除此之外更有针对例外状况处理的陈述式,程式撰写时,逻辑正确不保证能正常执行,相反的能正常执行不保证逻辑正确。
初步了解基本的概念之后,接下来就是开始动手将脑中的流程和逻辑撰写成程式码,简单来说,就是将演算法实作出来,例如:当使用者有输入五个数字,接着要进行排序的处理,最后再将结果进行输出的程式码 。
首先要先想怎么输入资讯呢?一般来说测试时可先宣告值并撰写在程式当中。
再来要思考何时进行处理呢?一般来说测试时可先假设使用者按下某钮才进行处理。
最后则是要如何输出结果呢?一般来说测试时可透过讯息方块将结果显示出来。
因此只需在画面的正中央,拉出一个按钮,接着连按两下滑鼠左键,就开始撰写程式码。
private void Button_Click(object sender, RoutedEventArgs e)
{
// 声明输入资讯的阵列变数
int[] number = { 11, 33, 22, 66, 44, 55 };
// 进行排序的处理
int temp = 0;
for (int i = 0; i < number.Length; i++)
{
for (int j = i; j < number.Length - 1; j++)
{
if (number[j] > number[j + 1])
{
temp = number[j + 1];
number[j + 1] = number[j];
number[j] = temp;
}
}
}
// 输出排序后的结果
string result = "";
for (int n = 0; n < number.Length; n++)
{
result += number[n] + " ";
}
MessageBox.Show( result , "排序后的结果" );
}
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
