C# Listのサンプル

C#のListのサンプルです。

確認環境
・Microsoft Visual Studio Community 2017

目次

List<T> クラス

  • 1次元配列としてデータを保持します。
  • インデックスを指定してアクセスできます。
  • サイズをあとから動的に変更できます。
  • スレッドセーフではありません。
  • 以下はMicrosoftのC#のList<T> クラスのリンクです。
    https://msdn.microsoft.com/ja-jp/library/6sh2ey19(v=vs.110).aspx

要素を初期値でセットする

要素を初期値でセットするサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>(){ "赤", "黄", "青" };

        foreach (var a in colors)
        {
            Console.WriteLine(a);// 赤 黄 青
        }
    }
}

8行目は、Listクラスをインスタンス化し、かつ初期値をセットしています。代入する変数はvarで宣言できます。
10~13行目は、foreach文で値を取得しています。

 

要素を追加する (Add/Insertメソッド)

要素を追加するサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        //List<string> colors = new List<string>();
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        foreach (var a in colors)
        {
            Console.WriteLine(a);// 赤 黄 青
        }

        colors.Insert(2, "オレンジ");
        Console.WriteLine(colors);

        for (int i = 0; i < colors.Count; i++)
        {
            Console.WriteLine(colors[i]);// 赤 黄 オレンジ 青
        }
    }
}

9行目は、Listクラスをインスタンス化しています。
代入する変数はvarで宣言できます。8行目のようにデータの型でも可能です。
11~13行目は、Addメソッドで要素を追加しています。
15~18行目は、foreach文で値を取得しています。
20行目は、Insertメソッドで位置を指定して要素を追加しています。

 

要素を取得する

要素を取得するサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        Console.WriteLine(colors[1]);// 黄

    }
}

14行目は、インデクサー([1])で要素の位置を指定して要素を取得しています。
要素の位置は、赤=0、黄=1、青=2です。

 

要素を置き換える

要素を置き換えるサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        colors[1] = "オレンジ";
        foreach (var a in colors)
        {
            Console.WriteLine(a);// 赤 オレンジ 青
        }
    }
}

14行目は、インデクサー([1])で要素の位置を指定して要素を置き換えています。
要素の位置は、赤=0、黄=1、青=2です。

 

要素数を取得する (Countメソッド) 

要素数を取得するサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        Console.WriteLine(colors.Count);// 3
    }
}

14行目は、Countメソッドで要素数を取得しています。

 

要素を削除する(RemoveAt/Removeメソッド)

要素を削除するサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        colors.RemoveAt(0);
        foreach (var a in colors)
        {
            Console.WriteLine(a);// 黄 青
        }

        colors.Remove("黄");
        foreach (var a in colors)
        {
            Console.WriteLine(a);// 青
        }
    }
}

14行目は、RemoveAtメソッドでインデックスを指定して削除しています。インデックスは0から始まります。
20行目は、Removeメソッドで値を指定して削除しています。

 

すべての要素を削除する (Clearメソッド)

すべての要素を削除するサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        colors.Clear();
        Console.WriteLine(colors.Count);// 0
    }
}

14行目は、Clearメソッドですべての要素を削除しています。

 

指定の要素があるかを返す (Containsメソッド)

指定の要素があるかを返すサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>();

        colors.Add("赤");
        colors.Add("黄");
        colors.Add("青");

        Console.WriteLine(colors.Contains("青"));// True
    }
}

14行目は、Containsメソッドで指定の要素があるかを取得しています。
ある場合trueです。

 

要素を逆順にする(Reverseメソッド)

要素を逆順にするサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>() { "赤", "黄", "青" };

        foreach (var a in colors)
        {
            Console.WriteLine(a);// 赤 黄 青
        }

        colors.Reverse();
        foreach (var a in colors)
        {
            Console.WriteLine(a);// 青 黄 赤
        }
    }
}

15行目は、Reverseメソッドで要素を逆順にしています。

 

要素を配列にする(ToArrayメソッド)

要素を配列にするサンプルです。

using System;
using System.Collections.Generic;

class Test1
{
    static void Main()
    {
        var colors = new List<string>() { "赤", "黄", "青" };

        string[] c1 = colors.ToArray();

        foreach (var a in c1)
        {
            Console.WriteLine(a);// 赤 黄 青
        }
    }
}

10行目は、ToArrayメソッドで要素を配列にしています。

関連の記事

C# Dictionaryのサンプル
C# HashSetのサンプル

△上に戻る