この記事を三行にまとめると
C#の配列角かっこを使った書き方
Listを使った書き方
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。
System.Array.ResizeのSystemを省略する場合は「using System;」の記述が必要。
(using SystemはClassの外に書く)
ただしこれは特定の要素を削除するのではなく要素の数を減らす方法なのでピンポイントで削除するには別のやり方が必要。
LINQを使った要素の削除方法
同じ要素が複数ある場合
角かっこを使った初期値の書き方
// 基本的な書き方
string[] omikuji = {"大吉", "中吉", "小吉"};
// もう少していねいな書き方
string[] omikuji = new string[3]{"大吉", "中吉", "小吉"};
// 要素を省略した書き方
string[] omikuji = new string[3];
// 要素の数を省略した書き方
string[] omikuji = new string[]{"大吉", "中吉", "小吉"};
要素の取得
string[] omikuji = new string[]{"大吉", "中吉", "小吉"};
System.Console.Write(omikuji[0]); // 大吉
System.Console.Write(omikuji[1]); // 中吉
System.Console.Write(omikuji[2]); // 小吉
要素の追加
string[] omikuji = new string[]{"大吉", "中吉", "小吉"};
System.Array.Resize(ref omikuji, 4);
omikuji[3] = "末吉";
System.Array.ResizeのSystemを省略する場合は「using System;」の記述が必要。
(using SystemはClassの外に書く)
要素の削除
using System;
string[] omikuji = new string[]{"大吉", "中吉", "小吉"};
Array.Resize(ref omikuji, 2);
ただしこれは特定の要素を削除するのではなく要素の数を減らす方法なのでピンポイントで削除するには別のやり方が必要。
LINQを使った要素の削除方法
要素の存在を確認
using System;
string[] omikuji = new string[]{"大吉", "中吉", "小吉"};
Array.IndexOf(omikuji, "大吉"); // 0
Array.IndexOf(omikuji, "中吉"); // 1
Array.IndexOf(omikuji, "小吉"); // 2
Array.IndexOf(omikuji, "末吉"); // -1
同じ要素が複数ある場合
using System;
string[] omikuji = new string[]{"大吉", "中吉", "大吉"};
Array.IndexOf(omikuji, "大吉"); // 0
Array.IndexOf(omikuji, "末吉"); // -1
Array.LastIndexOf(omikuji, "大吉"); // 2
Listの書き方
using System.Collections.Generic;
// 基本的な書き方
List omikuji = new List<string>(){"大吉", "中吉"};
// 要素を省略する場合
List omikuji = new List<string>();
Listの要素の追加と上書き
using System.Collections.Generic;
List omikuji = new List<string>(){"大吉", "中吉"};
omikuji.Add("小吉");
omikuji[2] = "末吉";
Listの要素を削除
using System.Collections.Generic;
List omikuji = new List<string>(){"大吉", "中吉"};
omikuji.Remove("小吉");
Listの要素がどこにあるかを確認
using System.Collections.Generic;
List omikuji = new List<string>(){"大吉", "中吉"};
omikuji.IndexOf("大吉"); // 0
omikuji.IndexOf("末吉"); // -1
omikuji.LastIndexOf("中吉"); // 1
Listの要素の存在のみを確認
using System.Collections.Generic;
List omikuji = new List<string>(){"大吉", "中吉"};
omikuji.Contains("大吉"); // True
omikuji.Contains("末吉"); // False