解析エンジニアの自動化 blog

コツコツと自動化した方法を残す blog

C# の List の 2次元配列みたいな使い方



こんにちは。
仕事の自動化にやりがいと達成感を感じるガッくんです。


この記事の目次



背景・目的


前の記事でListを使ってみましたが、使い勝手が良さそうなので、2次元配列みたいな使い方をしてます。

C# の List の使い方 - 解析エンジニアの自動化 blog



動作環境


Windows 7
Visual Studio 2017



プログラム

ソースコード


using System;
using System.Collections.Generic;
 
namespace List_How_to_use
{
    class Program
    {
        static void Main(string[] args)
        {
            // 2 次元配列のように扱える List の定義
            var varList = new List<List<int>>();
 
            // 代入する要素の作成用変数
            int calc = 0;
 
            // List に要素を代入する
            for(int i = 0; i < 10; i++)
            {
                // i 行目の要素に List を作成する
                varList.Add(new List<int>());
 
                // i 行目の要素を作成・追加する
                for(int j = 0; j < 10; j++)
                {
                    // 要素の作成
                    calc = i * j;
 
                    // 要素の追加
                    varList[i].Add(calc);
                }
            }
 
            // 出力( 10 × 10 の数値が表示される)
            // i 行目のループ
            for(int i = 0; i < varList.Count; i++)
            {
                // j 列目のループ
                for(int j = 0; j < varList[i].Count; j++)
                {
                    // j 列目が最後の要素なら
                    if(j + 1 == varList[i].Count)
                    {
                        Console.WriteLine(string.Format("{0, 4}", varList[i][j]));
                    }
                    // j 列目が最後の要素では無いなら
                    else
                    {
                        Console.Write(string.Format("{0, 4}", varList[i][j]));
                    }
                }
            }
 
            // 何かキーが押されるまで待つ
            Console.ReadKey();
        }
    }
}



結果

2次元配列の様に使えました。

図2 出力結果



コメント

Listは使えますね。

とっつきにくくて、Listは使ってこなかったんですが、早く使うべきでした。

ソートや削除の方法もやってみたいと思います。



以上