0

for、foreach、while、do の 4 種類のループを学習しようとしています。私はこれまでにこのコードを作成しました:

Loops.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LoopFrame
{
    class Loops
    {
        // attribute (not property)
        private List<string> names;

        // constructor
        public Loops()
        {
            // initilize
            names = new List<string>();

            //insert values
            names.Add("Peter");
            names.Add("Susanne");
            names.Add("Steen");
            names.Add("Mohammed");
            names.Add("Poul");
            names.Add("Ebbe");
            names.Add("Henrik");
            names.Add("Per");
            names.Add("Anders");
            names.Add("Lars");
            names.Add("Vibeke");
            names.Add("Mogens");
            names.Add("Michael");
        }

        //
        // 4 loop methods
        //
        // all should print out the whole list 'names'
        //

        public void WhileLoop()
        {
            int x = 0;

            while (x < names.Count)
            {
                Console.WriteLine(names[++x]);
            }
        }

        public void DoWhileLoop()
        {
            int x = 0;
            do
            {
                Console.WriteLine(names[++x]);
                x++;
            } while (x < names.Count);
        }

        public void ForLoop()
        {
            for (int x = 0; x < 0; x++)
            {
                Console.WriteLine(names[++x]);          
            }
        }

        public void ForeachLoop()
        {
            int[] names = new int[] { 0 };
            foreach (int element in names)
            {
                System.Console.WriteLine(element);
            }
            System.Console.WriteLine();
        }
    }
}

Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LoopFrame
{
    class Program
    {
        static void Main(string[] args)
        {
            Loops loops = new Loops();
            Console.WriteLine();
            Console.ReadLine();
        }
    }
}

いくつかの障害があると思いますが、プログラムは現在コンパイルできますが、黒い画面が表示されるだけです。

お時間をいただきありがとうございます。

4

3 に答える 3

3

現状では、インスタンスを構築していLoopsますが、メソッドを呼び出していません。

static void Main(string[] args)
{
    Loops loops = new Loops();
    loops.WhileLoop();
    loops.DoWhileLoop();
    loops.ForLoop();
    loops.ForeachLoop();
    Console.WriteLine();
    Console.ReadLine();
}

Methodsを読みたいと思うかもしれません。

余談ですが、はるかに少ないコードでリストを作成できます。

names = new List<string> { "Peter", "Suzanne", "Steen" ... };

余談ですが、2 つのループ メソッドでは、反復ごとに index 変数を 2 回インクリメントしています。これは、他のすべての要素のみを出力する必要があります。

于 2013-10-09T09:28:17.520 に答える
0

リストの内容を印刷するメソッドを呼び出していません。

追加:

static void Main(string[] args)
{
    Loops loops = new Loops();

    //Call methods
    loops.WhileLoop();
    loops.DoWhileLoop();
    //...


    Console.WriteLine();
    Console.ReadLine();
}
于 2013-10-09T09:28:05.673 に答える