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

关于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!
posted @ 2008-06-23 15:06 剑了 阅读(264) 评论(1)  编辑 收藏 所属分类: .NET技术

  回复  引用    
#1楼 2008-06-23 15:44 | 牛腩 [未注册用户]
阅,简单而精练,把重点都点了!

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-09 10:49 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: