言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

C#辞典

  1. トップページ
  2. C#辞典
  3. 辞書.Add() / Remove() / Clear()

辞書.Add() / Remove() / Clear()

対応: C# 2.0(2005)

キーと値のペアを管理する『Dictionary<TKey, TValue>』に要素を追加する『Add()』、削除する『Remove()』、全消去する『Clear()』メソッドです。

構文

using System.Collections.Generic;

// Dictionary を作成します。
Dictionary<TKey, TValue> dict = new Dictionary<TKey, TValue>();

// キーと値のペアを追加します。キーが既に存在する場合は ArgumentException をスローします。
dict.Add(TKey key, TValue value)

// キーに対応する要素を削除します。削除できた場合は true を返します。
dict.Remove(TKey key)

// すべての要素を削除します。
dict.Clear()

メソッド一覧

メソッド概要
Add(TKey key, TValue value)指定したキーと値のペアを追加します。キーが既に存在する場合は ArgumentException がスローされます。
dict[key] = valueインデクサーでキーに値を設定します。キーが存在しない場合は追加、存在する場合は上書きします。
Remove(TKey key)指定したキーとそれに対応する値を削除します。キーが存在すれば true、なければ false を返します。
Clear()Dictionary のすべての要素を削除します。Count が 0 になります。

サンプルコード

Program.cs
using System;
using System.Collections.Generic;

// Dictionary<string, int> を作成して要素を追加します。
Dictionary<string, int> scores = new Dictionary<string, int>();
scores.Add("岡部倫太郎", 85);
scores.Add("牧瀬紅莉栖", 92);
scores.Add("椎名まゆり", 78);
Console.WriteLine(scores.Count); // 3

// インデクサーで値を取得・設定します。
Console.WriteLine(scores["岡部倫太郎"]); // 85

// インデクサーで上書きします(Add() と違いキー重複でエラーになりません)。
scores["岡部倫太郎"] = 90;
Console.WriteLine(scores["岡部倫太郎"]); // 90

// 初期値付きで作成する方法です。
Dictionary<string, string> capitals = new Dictionary<string, string>
{
    { "日本", "東京" },
    { "アメリカ", "ワシントンD.C." },
    { "フランス", "パリ" }
};

// Remove() で要素を削除します。
bool removed = capitals.Remove("フランス");
Console.WriteLine(removed);         // True
Console.WriteLine(capitals.Count);  // 2

// Clear() ですべて削除します。
scores.Clear();
Console.WriteLine(scores.Count);  // 0
dotnet script dictionary_add_remove_clear.csx
3
85
90
True
2
0

概要

辞書のキーは重複できません。同じキーで『Add()』を2回呼び出すと ArgumentException がスローされます。キーが既に存在するかどうか不明な場合は、インデクサー dict[key] = value を使うか、事前に『ContainsKey()』で確認してください。

インデクサーで存在しないキーを取得しようとすると KeyNotFoundException がスローされます。安全に値を取得するには『TryGetValue()』を使用してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。