[教程][C#] 新手入门教程#19——Break

记得break 么?
我们在for 循环时说过
现在来细细看下

break
就是直接跳出整个loop (for, while,switch等等都适用)
不再继续循环

例子:

image
结果是很容易预测的:

image

... click to continue reading »

[教程][C#] 新手入门教程#18——Methods

当你有一段代码一直被重复用到时
你就可以将它们提取出来,放入methods (方法、函数)中
这样你就可以一直重复调用改方法,让你的程序的代码层次更加清晰
函数的申明方法是:

zrclip_003p41a4041e

Access Modifier

这个是访问权限,种类有:

New, Override, Private, Public, Static, Virtual

Return Type

函数返回值的类型,可以有:

void, int, string, 等等

Method Name

函数的名称

(Parameters)
函数接受的参数

Method Body
调用函数时会执行的代码

你:那我要怎么样申明函数?
我:在外面啊..
你:啊?

... click to continue reading »

[教程][C#] 新手入门教程#17——Try..Catch..Finally

如果在玩数组的时候
你很鸡冻/不小心的输入:

image
然后运行点击按钮时:

image

VS 罢工了!

... click to continue reading »

[教程][C#] 新手入门教程#16——Do..While 循环

Do..While 循环是 while 循环的变体

image

do.. while
它不管三七二十一直接就运行 code body
运行了才检查condition 是否为true
如果是,继续运行
如果不是,结束

看出do..while 跟do 的分别了吧?
你:不明白..
我:好吧,首先你先把你的手放在滑鼠上,找到你的scroll wheel,然后往上滚,一直到最顶..
你:(滚ing
你:然后?
我:重新读!
你:降!龙!十!八!掌!(

for (int i = 0; i < 18; i++) { Me.Slap(You); }

... click to continue reading »

[教程][C#] 新手入门教程#15——While循环

跟for 一样
while 也是循环结构的一种
但是他只是检测condition 是否为true

image

... click to continue reading »

[教程][C#] 新手入门教程#14——Foreach遍历

你:快说!我要怎么样直接一个一个访问我的students 数组!(亮刀
我:用For..
你:我不要For!
好吧,既然你不要For
这里还有另一个循环语句:Foreach

... click to continue reading »

[教程][C#] 新手入门教程#13——For循环

如果老师罚你写“我上课时不会吵闹”100遍,你会怎么办?

你:呜呜 大哭 然后泪奔

我:…

For 循环很简单

听名字就知道,它是用来做一些一直重复的工作的

 

(创建新project,加一个button 等等那些我以后都不特别申明了啊)

... click to continue reading »

[教程][C#] 新手入门教程#12——List

你:如果我不知道有多少个学生,但是我想把他们都储存起来要怎么样?
很简单,List 就是为此而设计的
List基本上很类似Array
但是List在申明的时候不必申明特定的数量
List可以动态调整它自己元素的数量

(一样的,先添加一个button,和一个textbox,然后双击button,进入event handler)

... click to continue reading »

[教程][C#] 新手入门教程#11——数组

你:我要怎么把一堆学生的名字储存在一个变量里面?
这个时候,数组就很有用了
数组基本上是一个变量,但是变量里面有多个其他相同类型但是不同值的变量

... click to continue reading »

[教程][C#] 新手入门教程#10——数学运算符

你:要怎么做加减乘除啊?

其实很简单

照着写就好了!

先加入一个button 和一个 textbox

image

双击button进入event handler

image

... click to continue reading »

[教程][C#] 新手入门教程#9——switch

之前介绍了if..else if .. else 结构
你;switch 又干嘛的?
我:恩..很简单,就像if .. else 的结构代替品,在特定的情况下,你可以打更少的代码!
你:例子例子!

... click to continue reading »

[教程][C#] 新手入门教程#8——if..else if..else

【if..else】

之前我们用了两个if来检查MessageBox.Show 返回的值

image

你:有木有不打两个if 的方法?
我:没有..
你:一巴掌(啪
但是你可以用if .. else .. 来判断(你还是需要用到两个if,但是整个代码的结构会比较清晰)

... click to continue reading »

[教程][C#] 新手入门教程#7——初识If Statement + .ToString() 方法

之前在教程#5 你认识了那帅帅的MessageBox,而且知道了如何更改MessageBox的显示按钮(OK、Yes、No等等),于是你又问问题了

你:如果用户按下Yes的话,我就MessageBox弹出“Yes”,按下No的话,就MessageBox显示“No”要肿么样呢?
我们来分析(或者说写“伪代码”,就是不是代码的代码):

如果 用户按下“Yes”按钮
让 MessageBox 显示“Yes”
如果 用户按下“No”按钮
让 MessageBox 显示“No”

我:如果的英文叫啥?
你:If!
我:厉害厉害!

... click to continue reading »

[教程][C#] 新手入门教程#6——初识变量、数据类型

你的一只脚开始踏入编程的门槛内了!

【变量?变量!】

你:变量是啥?变量是啥?告诉我呀!

我:恩..变量..变量..

你:(一巴掌过来

我:..变量,你可以想象成一个大桶,里面有水,水的分量呢,由你而定,你可以随时倒掉一些水,或清空它;或者你可以加进一些水..这就是变量。

变量是某种数据的载体,用来储存数据用的(废话),但是变量的值(也就是桶里面装的水),可以随时改变,所以才叫“变”量嘛!

C# 内的变量有很多类型,就像不同的桶只可以装特定的东西——垃圾桶啥都装、笔筒只放笔、水桶装液体等等

... click to continue reading »

[教程][C#] 新手入门教程#5——开始写代码:MessageBox

现在进入灰常好玩的地方——我们开始写代码!(这让我想起——【题外话】一首诗歌-写代码

【如何显示代码编辑器】

如果你忘了——点击form,按下F7
或者是右键点击form > 点击View Code

image
就会有这个了:

image

... click to continue reading »

[教程][C#] 新手入门教程#4——初识Form Designer、更改Properties、更改Form大小

【Form Designer是啥?】

首先打开VS,创建一个新的Solution:

默认看到的窗口就是这个:

image

这个就是Form Designer!它的功能就是给你添加、删除控件,编辑“可视化”的部分。在这里添加的控件等等就是编译过后“看得到”的部分,看不到的部分就是代码啦!
如何分辨Form Designer?
看上方TAB的内容,如果有“Design”的就是了!

image
如果你不小心关掉Form Designer 了,可以到Solution Explorer 双击form 就可以打开了

image

... click to continue reading »

[教程][C#] 新手入门教程#3——查看代码、编译程序、Solution Explorer

【Solution Explorer里面的东西都是啥?】

这里先解释下Solution Explorer里面的东西代表什么:

1、Properties 就是整个solution (也就是project)的属性

image

双击过后就会看到这个页面,这里就是整个solution的属性:

image

... click to continue reading »

[教程][C#] 新手入门教程#2——初识Visual Studio 2010

【主界面】

首先你得打开你的Visual Studio 2010 (废话,还有一下吧Visual Studio 2010 写成VS2010或者VS),先来看看VS的界面(笔者用VS2010 Ultimate,然后装了一些Plugin,如果你的跟我的不一样,别怕,没关系的)

image

... click to continue reading »

[教程][C#] 新手入门教程#1——前言

【写在前面的话】

其实想写教程很久了,但是没有足够的功底,所以也不敢胡乱写一通。现在就整理一下思绪,一点一点的写。

如果你不懂什么是C#,或者完全没有接触过任何编程语言,这个教程写给你的,但是你得知道怎么好好的操作电脑,比如按装程序、卸载等等,如果你不熟悉的话,那,对不起,这个教程基本上不适合你(当然你还可以看,但是你得花很多时间慢慢消化)。

如果教程中有什么错误等等,请大胆指出(当然别骂粗话..),我会尽快更改的。

【什么是C#?】

恩..C# 是Microsoft (别告诉我你连微软都不知道是啥..)基于.net 框架开发的语言,这代表如果你要运行C#程序,你得安装.net framework,而且C#不是跨平台的语言,这代表你不能在Linux或者是Mac 上面运行你的C# 程序。
(当然有一个开源的.net 框架叫做Mono,他能跨平台运行.net程序,但是,我不会写关于mono的教程,因为,我也不会用..)

... click to continue reading »

[教程][C#][算法] 迷宫生成算法入门——Recursive Backtracker + 实现

之前在这篇([教程][C#][算法] A*寻路算法入门——详解+实现)说到了“迷宫”
于是心血来潮,做了点研究,找到了几个不错的迷宫生成算法。

这篇文章不需要任何特定基础
你甚至可以用纸和笔直接手动生成迷宫!
(但是你要知道什么叫做堆栈)

【Recursive Backtracker】

基本步骤:

1、随便选一个格子

2、在该格子的相邻4个格子中,找出4面墙壁都完好的格子,随便选一个,然后将现在的格子与相邻的格子之间的墙壁打通,将选中的相邻入栈,已访问的格子数量+1;如果在相邻的4个格子之中都找不到4面墙壁都完好的格子,出栈,然后将其设置为下一轮的选中格子
3、继续一直到没有格子可选择(就是已经访问的格子等于总格子)

听得云里雾里吧?

... click to continue reading »