トップ > コンピュータ > プログラム > C#プログラミングレッスン

C#での .NETプログラミングを易しく丁寧に解説するメールマガジンです。「C#プログラミング・レッスン」で、.NETプログラミングをマスターしましょう。 

RSS

メルマガの登録・解除

登録した方には、メルマ!からオフィシャルメルマガ(無料)をお届けします。

【C#プログラミングレッスン】 - レシピ編 Dictionaryの操作(1)

発行日:2/7

■━ [C#プログラミングレッスン] ━━━━━━━━━━━━━━━ No.319 ━□

「レシピ編」-- ディクショナリーの操作(1)
                                                            by Gushwell  
□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━■

今回は、Dictionary<TKey, TValue>ジェネリック クラスの操作についてみていきま
しょう。Dictionaryジェネリック クラスは、キーとそれに対応する値を複数保持で
きるコレクションを表します。
Dictionaryジェネリック クラス(以降、Dictionary)はハッシュ テーブルとして
実装されているため、キーを使用した値の取得は非常に高速です。

今日のコード

 1. Dictionaryを初期化するには
 2. Dictionaryに要素を追加するには
 3. Dictionaryから要素を削除するには
 4. Dictionaryから要素を取り出すには
 5. Dictionaryからすべての要素を取り出すには
 6. Dictionaryからすべてのキーを取り出すには


■□───────────────────────────────────
■□ Dictionaryを初期化するには

Dictionaryを初期化するコードを示します。
花の名前と、それに対応する値段を保持するDictionaryに例です。

 var dict = new Dictionary<string, int>() {
     { "sunflower", 400 },
     { "pansy", 300 },
     { "tulip", 200 },
     { "rose", 500 },
     { "dahlia", 400 },
 };

これは、C#3.0で導入されたコレクションの初期化機能を使っています。


■□───────────────────────────────────
■□ Dictionaryに要素を追加するには

上記コードに続けて、要素に追加するには、以下のように、Addメソッドを使います。

 dict.Add("violet", 600);


■□───────────────────────────────────
■□ Dictionaryから要素を削除するには

要素を削除するには、Removeメソッドを使います。

 dict.Remove("pansy");

Removeメソッドの引数には、削除したい要素のキーを指定します。


■□───────────────────────────────────
■□ Dictionaryから要素を取り出すには

要素を取得するには、配列にアクセスするように記述することで、キーに対応する
要素を取り出すことができます。

 int price = dict["rose"];

上の例では、"rose"に対応する値500がpriceに代入されます。


■□───────────────────────────────────
■□ Dictionaryからすべての要素を取り出すには

Dictionaryに格納されているすべての要素を取り出すコードを示します。
配列やListと同様、foreachを使うことで、すべての要素を取り出せます。

 foreach (var d in dict)
     Console.WriteLine("{0} = {1}", d.Key, d.Value);

要素の型は、KeyValuePair<TKey, TValue> ですので、この例では、KeyValuePair<
string, int> 型のオブジェクトになります。


■□───────────────────────────────────
■□ Dictionaryからすべてのキーを取り出すには

Dictionaryクラスには、Keysプロパティがあり、これを利用すると、Dictionaryに
格納されているすべてのキーを列挙することができます。

 foreach (var k in dict.Keys)
     Console.WriteLine(k);


─────────────────────────────────────
『C#プログラミングレッスン』  (ほぼ週刊)                                 
☆皆さまからの感想をお待ちしています。http://gushwell.ifdef.jp/mail.html  
─────────────────────────────────────
Published by Gushwell.                                                    
  Copyright (C) 2012 Gushwell All rights reserved.                        
  Microsoft MVP for Visual C#(Apr 2005 - Mar 2012)                        
                                                                          
■Gushwell's Page                                                         
facebook Page                     : http://www.facebook.com/CSharpLesson  
Gushwell's C# Dev Notes           : http://gushwell.ldblog.jp/            
Gushwell's C# Programming Page    : http://gushwell.ifdef.jp/             
Gushwellの読書ノート              : http://gushwell.jugem.jp/             
Twitterアカウント                 : @gushwell                             
─────────────────────────────────────

最新の記事

ブックマークに登録する

TwitterでつぶやくLismeトピックスに追加するdel.icio.usに追加Buzzurlにブックマークニフティクリップに追加ライブドアクリップに追加Yahoo!ブックマークに登録記事をEvernoteへクリップ
My Yahoo!に追加Add to Google

規約に同意してこのメルマガに登録/解除する

登録した方には、メルマ!からオフィシャルメルマガ(無料)をお届けします。

この記事へのコメント

コメントを書く


上の画像で表示されている文字を半角英数で入力してください。

コメントの投稿時は投稿者規約への同意が必要です。

  1. コメントはありません。

このメルマガもおすすめ

  1. Office & VBA パーフェクトマスター

    最終発行日:
    2012/05/16
    読者数:
    5859人

    Excel・Access・Word等の今さら聞けない「疑問」、今すぐ知りたい「困った」、たちまち解決!のmoug(モーグ)がお送りする、関数初心者からVBA手練の方への+1テクニックメールマガジン!読めば納得の情報マガジンです。

  2. ネットワークエンジニア

    最終発行日:
    2012/05/04
    読者数:
    348人

    ネットワークエンジニアはコンピュータでソフトウェアを開発する時、参考にできるC・VC言語の情報マガジンす。

  3. 知って得する!パソコン知識

    最終発行日:
    2012/05/14
    読者数:
    7929人

    パソコンに関する操作、裏技、知識を一日一配信一解説します。毎日購読すればあなたもパソ通です。

  4. 全部フリーソフト!!

    最終発行日:
    2012/05/15
    読者数:
    5191人

    ネット上にはこんなに便利なソフトがいっぱい。仕事にも、遊びにも、あると絶対にお得で楽しいソフトを1つずつご紹介します。

  5. VisualBasic エンジニア

    最終発行日:
    2012/05/04
    読者数:
    339人

    VisualBasic エンジニアはコンピュータでソフトウェア開発をするためにVisualBasic 言語・Basic 言語・スクリプトなど、様々な言語を題材に多くの使用方法・プログラミングテクニックをお送りするマガジンです。

発行者プロフィール

Gushwell

Gushwell

http://gushwell.ifdef.jp/

Microsoft MVP for Visual C# を7年連続で受賞しています。

過去の発行記事