您的位置:首页 > 编程语言 > C#

快速撑握C#知识点之流程控制

2008-06-23 15:06 302 查看
关于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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息