C#の連想配列について2分で語ってみた

この記事はだいぶ前に書かれたものなので情報が古いかもしれません
多重配列は結構きついイメージ

この記事を三行にまとめると

C#の連想配列
要素の追加や削除
多重配列の書き方
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。





基本的な書き方

using System.Collections.Generic;

Dictionary<string, int> points = new Dictionary<string, int>(){
  {"国語", 75},
  {"数学", 82},
  {"英語", 100},
};



要素を取得

using System;
using System.Collections.Generic;

Dictionary<string, int> points = new Dictionary<string, int>(){
  {"国語", 75},
  {"数学", 82},
  {"英語", 100},
};

Console.Write(points["国語"]); // 75
Console.Write(points["数学"]); // 82
Console.Write(points["英語"]); // 100



要素を追加

using System.Collections.Generic;

Dictionary<string, int> points = new Dictionary<string, int>(){
  {"国語", 75},
  {"数学", 82},
  {"英語", 100},
};

// Add関数で追加
points.Add("社会", 58);

// 角かっこで追加
points["理科"] = 80;



要素の削除

using System.Collections.Generic;

Dictionary<string, int> points = new Dictionary<string, int>(){
  {"国語", 75},
  {"数学", 82},
  {"英語", 100},
};

points.Remove("国語");



キーや値の存在確認

using System.Collections.Generic;

Dictionary<string, int> points = new Dictionary<string, int>(){
  {"国語", 75},
  {"数学", 82},
  {"英語", 100},
};

// キーの存在確認
points.ContainsKey("国語"); // True
points.ContainsKey("社会"); // False

// 値の存在確認
points.ContainsValue("100"); // True
points.ContainsValue("50"); // False



Dictionaryの多重配列

using System.Collections.Generic;

Dictionary<string, Dictionary<string, int>> points = new Dictionary<string, Dictionary<string, int>>(){
  {"太郎", new Dictionary<string, int>(){{"国語", 75}}},
  {"花子", new Dictionary<string, int>(){{"国語", 90}}},
};



多重配列の要素を取得

using System;
using System.Collections.Generic;

Dictionary<string, Dictionary<string, int>> points = new Dictionary<string, Dictionary<string, int>>(){
  {"太郎", new Dictionary<string, int>(){{"国語", 75}}},
  {"花子", new Dictionary<string, int>(){{"国語", 90}}},
};

Console.Write(points["太郎"]["国語"]) // 75
Console.Write(points["花子"]["国語"]) // 90



多重配列に要素を追加

using System;
using System.Collections.Generic;

Dictionary<string, Dictionary<string, int>> points = new Dictionary<string, Dictionary<string, int>>(){
  {"太郎", new Dictionary<string, int>(){{"国語", 75}}},
  {"花子", new Dictionary<string, int>(){{"国語", 90}}},
};

points["太郎"]["数学"] = 80;
points["花子"].Add("数学", 70);



多重配列から要素を削除

using System;
using System.Collections.Generic;

Dictionary<string, Dictionary<string, int>> points = new Dictionary<string, Dictionary<string, int>>(){
  {"太郎", new Dictionary<string, int>(){{"国語", 75}}},
  {"花子", new Dictionary<string, int>(){{"国語", 90}}},
};

points["太郎"].Remove("国語");



多重配列のキーや値の存在確認

using System;
using System.Collections.Generic;

Dictionary<string, Dictionary<string, int>> points = new Dictionary<string, Dictionary<string, int>>(){
  {"太郎", new Dictionary<string, int>(){{"国語", 75}}},
  {"花子", new Dictionary<string, int>(){{"国語", 90}}},
};

points["太郎"].ContainsKey("国語");
points["花子"].ContainsValue(90);
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください