快速撑握C#知识点之流程控制
2008-06-23 15:06
302 查看
关于C#的流程控制,与其它语言基本相同,包括:
选择控制:if、else、switch、case
循环控制:while、do、for、foreach
跳转语句:break、continue
异常处理:try、catch、finally
我们看到在循环控制中多了一个foreach,在下面的过程中我们详细的了解.
选择控制:
我们做个简单的用户验证,如下:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username=Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (username != "")//格式:if(条件)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else//不满足
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//不满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您没有输入任何内容,请离开!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
我们发现,只要输入一个用户,就可以登录系统,那么我们来做下限制,让指定的人登录,于是:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username=Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (username == "jianle")//格式:if(条件)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (username == "boss")
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//第二个条件
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//不满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您没有输入任何内容,请离开!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
switch选择控制
有一天,我们需要能让更多的人登录矩阵,那么就可以这样实现:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username=Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
switch (username)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "jianle":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}主人欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "boss":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}老大欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "cctv":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}先生欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "gril":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}女士欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
default :
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您输入有误,请离开.");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
循环控制:
又发现弊端了,某一天伟大boss的boss同志不小心少打了个s 发现他要退出系统重起系统才可以进入,于是有了下面解决方案:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bool bz = true;//这是一个标志
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
while (bz)//判断标志是否为true 如果是的话就继续 否则的话就退出循环.
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username = Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
switch (username)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "jianle":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}主人欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "boss":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}老大欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "cctv":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}先生欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "gril":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}女士欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
default:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您输入有误,请重新输入.");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
从上边例子我们可以看到,while是死循环,语法参照例中. do while与while的区别为先执行循环再判断条件.常用的为while循环.
好了,我们可以不再去想这个关于登录矩阵的问题啦,继续我们循环的学习.
for循环
在这里我们的例子做的是个遍历一个string数组的代码.
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入三个数用,分割如:120,11,3");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string stra = Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] strb = stra.Split(',');//字符串的Split方法,可以把字符串分割,返回一个数组.
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for (int i = 0; i < strb.Length; i++)//这是个for循环 strb.Length 为数组strb的元素叫数.
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您输入的第{0}个数为{1}",i,strb[i]);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
foreach循环
foreach(数据类型 变量名 in 数组或集合 )
{
}
其中数据类型与数组或集合的类型一致,还可以是小于数组和集合的类型.
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入三个数用,分割如:120,11,3");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string stra = Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] strb = stra.Split(',');//字符串的Split方法,可以把字符串分割,返回一个数组.
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
foreach(string a in strb)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine(a);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
再对于数组或集合的遍历时,建议使用foreach.
break与continue
break 语句可用于退出循环
continue 语句可用于跳过当前循环并开始下一循环
异常处理try
try语句提供了一种机制来捕捉块执行过程中发生的异常,以下是它的三种的形式:
try-catch
try-finally
try-catch-finally
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入一个整数:");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int inta = int.Parse(Console.ReadLine());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入正确");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入不正确");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
finally
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("不管对不对都要输出我!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
关于异常,其实还有很多东西,我们这里只是简单提了一些基本的知识点,如果需要更详细的应用,请查阅MSDN!
选择控制:if、else、switch、case
循环控制:while、do、for、foreach
跳转语句:break、continue
异常处理:try、catch、finally
我们看到在循环控制中多了一个foreach,在下面的过程中我们详细的了解.
选择控制:
我们做个简单的用户验证,如下:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username=Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (username != "")//格式:if(条件)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else//不满足
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//不满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您没有输入任何内容,请离开!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
我们发现,只要输入一个用户,就可以登录系统,那么我们来做下限制,让指定的人登录,于是:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username=Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (username == "jianle")//格式:if(条件)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (username == "boss")
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//第二个条件
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//不满足条件时运行的代码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您没有输入任何内容,请离开!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
switch选择控制
有一天,我们需要能让更多的人登录矩阵,那么就可以这样实现:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username=Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
switch (username)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "jianle":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}主人欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "boss":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}老大欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "cctv":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}先生欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "gril":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}女士欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
default :
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您输入有误,请离开.");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
循环控制:
又发现弊端了,某一天伟大boss的boss同志不小心少打了个s 发现他要退出系统重起系统才可以进入,于是有了下面解决方案:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bool bz = true;//这是一个标志
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
while (bz)//判断标志是否为true 如果是的话就继续 否则的话就退出循环.
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入您的姓名");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string username = Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
switch (username)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "jianle":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}主人欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "boss":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}老大欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "cctv":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}先生欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case "gril":
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
bz = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("伟大的{0}女士欢迎您进入矩阵!", username);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
default:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您输入有误,请重新输入.");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
从上边例子我们可以看到,while是死循环,语法参照例中. do while与while的区别为先执行循环再判断条件.常用的为while循环.
好了,我们可以不再去想这个关于登录矩阵的问题啦,继续我们循环的学习.
for循环
在这里我们的例子做的是个遍历一个string数组的代码.
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入三个数用,分割如:120,11,3");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string stra = Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] strb = stra.Split(',');//字符串的Split方法,可以把字符串分割,返回一个数组.
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for (int i = 0; i < strb.Length; i++)//这是个for循环 strb.Length 为数组strb的元素叫数.
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("您输入的第{0}个数为{1}",i,strb[i]);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
foreach循环
foreach(数据类型 变量名 in 数组或集合 )
{
}
其中数据类型与数组或集合的类型一致,还可以是小于数组和集合的类型.
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入三个数用,分割如:120,11,3");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string stra = Console.ReadLine();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] strb = stra.Split(',');//字符串的Split方法,可以把字符串分割,返回一个数组.
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
foreach(string a in strb)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine(a);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
再对于数组或集合的遍历时,建议使用foreach.
break与continue
break 语句可用于退出循环
continue 语句可用于跳过当前循环并开始下一循环
异常处理try
try语句提供了一种机制来捕捉块执行过程中发生的异常,以下是它的三种的形式:
try-catch
try-finally
try-catch-finally
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static void Main()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("请输入一个整数:");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int inta = int.Parse(Console.ReadLine());
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入正确");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("输入不正确");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
finally
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine("不管对不对都要输出我!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
关于异常,其实还有很多东西,我们这里只是简单提了一些基本的知识点,如果需要更详细的应用,请查阅MSDN!
相关文章推荐
- C#知识点之流程控制【1】
- 快速撑握C#知识点之编写一个C#程序 推荐
- C#中的主要流程控制语句之条件语句
- 快速撑握C#知识点之集合
- C#流程控制
- C#编程--流程控制switch case
- 快速撑握C#知识点系列之(struct)结构
- C#笔记(2)---基本语法 [流程控制语句]
- 流程控制小知识点
- [学习笔记]Asp.net(C#)菜鸟进级系列之流程控制
- (原创)c#学习笔记04--流程控制01--布尔逻辑02--按位运算符
- (原创)c#学习笔记04--流程控制04--循环02--while循环
- C#学习速记_流程控制
- 程序员——C语言之数据类型、基本运算、流程控制 易错知识点
- [叩响C#之门]第4章 流程控制 4.4 选择结构
- go语言快速入门:流程控制(7)
- C# 学习总结 之 流程控制
- C#之流程控制
- 快速撑握C#知识点之字符串格式化,字面量,转义符
- Core Java第三章知识点总结——程序的流程控制