关于C#的流程控制,与其它语言基本相同,包括:
选择控制:if、else、switch、case
循环控制:while、do、for、foreach
跳转语句:break、continue
异常处理:try、catch、finally
咱们看到在循环控制中多了一个foreach,在下面的过程当中咱们详细的了解.
选择控制:
咱们作个简单的用户验证,以下:
public static void
Main()

{
Console.WriteLine("请输入您的姓名");
string username=Console.ReadLine();
if (username != "")//格式:if(条件)

{
//知足条件时运行的代码
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
}
else//不知足

{
//不知足条件时运行的代码
Console.WriteLine("您没有输入任何内容,请离开!");
}
}
咱们发现,只要输入一个用户,就能够登陆系统,那么咱们来作下限制,让指定的人登陆,因而:
public static void
Main()

{
Console.WriteLine("请输入您的姓名");
string username=Console.ReadLine();
if (username == "jianle")//格式:if(条件)

{
//知足条件时运行的代码
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
}
else if (username == "boss")

{
//第二个条件
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);

}
else

{
//不知足条件时运行的代码
Console.WriteLine("您没有输入任何内容,请离开!");
}
}
switch选择控制
有一天,咱们须要能让更多的人登陆矩阵,那么就能够这样实现:
public static void
Main()

{
Console.WriteLine("请输入您的姓名");
string username=Console.ReadLine();

switch (username)

{
case "jianle":
Console.WriteLine("伟大的{0}主人欢迎您进入矩阵!", username);
break;
case "boss":
Console.WriteLine("伟大的{0}老大欢迎您进入矩阵!", username);
break;
case "cctv":
Console.WriteLine("伟大的{0}先生欢迎您进入矩阵!", username);
break;
case "gril":
Console.WriteLine("伟大的{0}女士欢迎您进入矩阵!", username);
break;
default :
Console.WriteLine("您输入有误,请离开.");
break;
}

}
循环控制:
又发现弊端了,某一天伟大boss的boss同志不当心少打了个s 发现他要退出系统重起系统才能够进入,因而有了下面解决方案:
public static void
Main()

{
bool bz = true;//这是一个标志
while (bz)//判断标志是否为true 若是是的话就继续 不然的话就退出循环.

{
Console.WriteLine("请输入您的姓名");
string username = Console.ReadLine();
switch (username)

{
case "jianle":
bz = false;
Console.WriteLine("伟大的{0}主人欢迎您进入矩阵!", username);
break;
case "boss":
bz = false;
Console.WriteLine("伟大的{0}老大欢迎您进入矩阵!", username);
break;
case "cctv":
bz = false;
Console.WriteLine("伟大的{0}先生欢迎您进入矩阵!", username);
break;
case "gril":
bz = false;
Console.WriteLine("伟大的{0}女士欢迎您进入矩阵!", username);
break;
default:
Console.WriteLine("您输入有误,请从新输入.");
break;
}
}
从上边例子咱们能够看到,while是死循环,语法参照例中. do while与while的区别为先执行循环再判断条件.经常使用的为while循环.
好了,咱们能够再也不去想这个关于登陆矩阵的问题啦,继续咱们循环的学习.
for循环
在这里咱们的例子作的是个遍历一个string数组的代码.
public
static
void
Main()

{
Console.WriteLine("输入三个数用,分割如:120,11,3");
string stra = Console.ReadLine();
string[] strb = stra.Split(',');//字符串的Split方法,能够把字符串分割,返回一个数组.
for (int i = 0; i < strb.Length; i++)//这是个for循环 strb.Length 为数组strb的元素叫数.

{
Console.WriteLine("您输入的第{0}个数为{1}",i,strb[i]);
}
}
foreach循环
foreach(数据类型 变量名 in 数组或集合 )
{
}
其中数据类型与数组或集合的类型一致,还能够是小于数组和集合的类型.
public static void
Main()

{
Console.WriteLine("输入三个数用,分割如:120,11,3");
string stra = Console.ReadLine();
string[] strb = stra.Split(',');//字符串的Split方法,能够把字符串分割,返回一个数组.
foreach(string a in strb)

{
Console.WriteLine(a);
}
}
再对于数组或集合的遍历时,建议使用foreach.
break与continue
break 语句可用于退出循环
continue 语句可用于跳过当前循环并开始下一循环
异常处理try
try语句提供了一种机制来捕捉块执行过程当中发生的异常,如下是它的三种的形式:
try-catch
try-finally
try-catch-finally
public static void
Main()

{


try

{
Console.WriteLine("请输入一个整数:");
int inta = int.Parse(Console.ReadLine());
Console.WriteLine("输入正确");
}
catch

{
Console.WriteLine("输入不正确");
}
finally

{
Console.WriteLine("无论对不对都要输出我!");
}
关于异常,其实还有不少东西,咱们这里只是简单提了一些基本的知识点,若是须要更详细的应用,请查阅MSDN!