CSDN博客

img zhf7878

一周学会C#(语句三)

发表于2004/1/12 17:11:00  512人阅读

一周学会C#(语句三)

C#才鸟(QQ:249178521

9.for语句

·       for 语句

w       for块中声明的变量是局部的,只在for块中有效

w       可以省略for语句中的任何一部分

for (int digit = 0; digit != 10; digit++)

{

    Console.Write("{0} ", digit);

}

//屏幕上显示0 1 2 3 4 5 6 7 8 9

for块中声明的变量只在for块中有效。例如:

     for (int digit = 0; digit != 10; digit++)

   { ... }

   Console.WriteLine(digit); //错误,digit只在for块中有效

可以通过逗号在for语句中声明多个变量和多个变化语句:

   for (int i = 0, j = 0; i + j < 20; i++, j++)

   { ... }

10.foreach

·       来源于shell, VB, PERL

w       用于任一集合,包括数组

using System;

sealed class Foreach

{

    static void Main(string[] args)

    {

        foreach (string arg in args)

        {

            Console.Write("{0} ", arg);

        }

        Console.WriteLine();

    }

}

把以上程序在windows命令行进行编译:C:/Sharp>csc Foreach.cs

然后键入:C:/Sharp>Foreach 0 1 2 3 4 5 6 7 8 9

屏幕上显示0 1 2 3 4 5 6 7 8 9

foreach用来遍历集合或数组中的元素。

11.foreach的几点注意

·        foreach ( 类型 标识符 in 表达式 )

w       类型和标识符声明一个循环变量

w       循环变量隐含为readonly, 不能有ref out 修饰

w        表达式是可列举的集合

sealed class ForeachTranslation

{

    static void Example(MyWibbleCollection wibbles)

    {

        MyEnumerator pos = wibbles.GetEnumerator();

        while (pos.MoveNext())

        {

            Wibble current = pos.Current;

            Console.Write("{0} ", current);

        }

    }

}

集合类型的定义规则:(假设集合的名字是C

C必须定义一公有函数GetEnumerator(),该函数的返回值是一结构类型或是一类类型或是一接口类型(假设返回值的名字是E;

返回值E的定义规则:

ü        E包含一公有函数MoveNext(),用来使E指向集合中的下一个元素,返回值的类型是bool

ü        E包含一公有属性Current,用来读取当前值。这个属性的类型是集合元素的类型。

12.break/continue

break用来结束一个循环,continue用来重新启动一个循环。

13.找错

{

    for (int i = 0; i != 12; i++)                       1

    {

        ...

    }

    int i = 0;

}

 

for (int i = 0, i == 12, i++)                           2

{

    ...

}

 

foreach (int i in array)                                 3

{

    i++;

}

1个程序的错误:不能在一个父块和一个子块中声明两个相同名字的变量

2个程序的错误:不是使用逗号分割for语句的三个部分,而应使用分号。

for语句的判断条件应为逻辑语句。

3个程序的错误:foreach的循环变量是只读的

0 0

相关博文

我的热门文章

img
取 消
img