C#のDictionaryに格納された値を更新する方法
C#におけるDictionaryは、キーと値のペアを格納するためのジェネリックコレクションです。Dictionaryでは、キーにnullを指定することはできませんが、値にはnullを設定することが可能です。また、キーは必ず一意である必要があり、重複したキーを使用しようとすると、コンパイラは例外をスローします。
Dictionaryの値を更新する基本構文
前述のとおり、Dictionary内の値はキーを使って更新できます。これは、すべての値に対してキーが一意に対応しているためです。
myDictionary[myKey] = myNewValue;
サンプルコード
ここでは、学生のIDと名前を持つDictionaryを例に考えてみましょう。IDが2の学生の名前を「Mrk」から「Mark」に変更したい場合、以下のように記述します。
using System;
using System.Collections.Generic;
namespace DemoApplication{
class Program{
static void Main(string[] args){
Dictionary<int, string> students = new Dictionary<int, string>{
{ 1, "John" },
{ 2, "Mrk" },
{ 3, "Bill" }
};
Console.WriteLine($"Name of student having id 2: {students[2]}");
students[2] = "Mark";
Console.WriteLine($"Updated Name of student having id 2: {students[2]}");
Console.ReadLine();
}
}
}コードの解説
- まず、
Dictionary<int, string>型の変数studentsを作成し、初期化子で3件のデータを登録します。 students[2]とインデクサーでアクセスすることで、キー「2」に対応する値を取得できます。students[2] = "Mark";という代入文により、既存の値「Mrk」が新しい値「Mark」で上書きされます。
実行結果
上記のコードを実行すると、出力は次のようになります。
Name of student having id 2: Mrk Updated Name of student having id 2: Mark
補足:存在しないキーへの注意点
なお、この構文で存在しないキーを指定した場合は例外が発生せず、代わりに新しいエントリとして追加される点に注意してください。キーが存在するかどうかを事前に確認したい場合は、ContainsKey()メソッドやTryGetValue()メソッドを活用すると安全です。
-
Windows 10 で特定の更新プログラムの自動インストールを防止する方法
ご存じのとおり、Windows 10 は利用可能な Windows 更新プログラムやドライバーを自動的にダウンロードしてインストールします。しかし場合によっては、特定の更新プログラムが正常にインストールされないことがあります。そのようなケースでは、Microsoft がバグを修正したり新しいバージョンをリリースしたりするまで、該当する更新プログラムのインストールを一時的にブロックしておくのが賢明です。 本記事では、Windows 10 における特定の更新プログラムの自動インストールをブロックする詳細な手順を解説します。 関連記事 Windows 10 の更新プログラムを完全に無効化する方法
-
Windows 10でWindows Updateの帯域幅を制限する2つの方法【設定・グループポリシー】
Windows 10には、必要なアップデートやダウンロードに応じて帯域幅を制限し、最適化する仕組みが標準で備わっています。Windows Updateの帯域幅を制限することで、データ通信量の上限を気にせずに済み、アップデートだけで回線を占有される心配もありません。アップデートが進行中でも、その範囲内であれば、Webブラウジング、ファイルのダウンロード、動画視聴、オンラインゲームなどを快適に続けられます。 ただし、この設定は自分のPCに対してのみ適用されるものであり、同じローカルネットワーク上にある他のPCの通信状況までは管理できません。そのため、アップデート中は他のデバイスで通信速度が低下する