方法1 using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<string, int> { { "フシギダネ", 1 }, { "フシギソウ", 2 }, { "フシギバナ", 3 }, }; // 最大値を</string,>…
ソースコード using System.Collections.Generic; public static class DictionaryExt { public static bool Remove<TKey, TValue> ( this Dictionary<TKey, TValue> self, TKey key, out TValue value ) { self.TryGetValue( key, out value ); return self.Remove( key ); } } 使用方法</tkey,></tkey,>…
目次 目次 foreach で結合する LINQ で結合する(キーが重複する場合は例外) LINQ で結合する(キーが重複しても大丈夫) 参考サイト様 foreach で結合する using System; using System.Collections.Generic; public static class Program { private static…
ソースコード using System.Collections.Generic; using System.Collections.ObjectModel; public static class Program { private static void Main() { // 通常の Dictionary var table1 = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { </int,>…
構造体を使用する方法 using System; using System.Collections.Generic; public static class Program { // 構造体でキー用のデータを定義 public struct KeyData { public int m_series; public int m_number; public KeyData( int series, int number ) {…
ソースコード using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 100, "フシギダネ" }, { 101, "フシギダネ" }, { 102, "フシギダネ" }, { </int,>…
ソースコード using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // 逆</int,>…
ソースコード using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // Fi</int,>…
ソースコード using System; using System.Collections; using System.Collections.Specialized; public static class Program { private static void Main() { // OrderedDictionary を使用すると登録順を取得できます var table = new OrderedDictionary {…
方法1 - SortedDictionary を使用する using System; using System.Collections.Generic; public static class Program { private static void Main() { var table = new SortedDictionary<int, string> { { 3, "フシギバナ" }, { 2, "フシギソウ" }, { 1, "フシギダネ" }</int,>…
方法 FirstOrDefault 関数を使用 using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシ</int,>…
ソースコード using System; using System.Collections.Generic; public static class Program { private static void Main() { // デフォルトでは大文字と小文字は区別される var table1 = new Dictionary<string, int>(); table1.Add( "sample", 1 ); table1.Add( "Samp</string,>…
ソースコード using System; using System.Collections.Generic; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // キーと値を同時に参照</int,>…
ソースコード using System.Collections.Generic; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // 指定されたキーの要素を削除する tabl</int,>…
メンバ変数の場合 using System.Collections.Generic; public class Program { // コレクション初期化子を使用する方法 その1 public Dictionary<int, string> m_table1 = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // コレク</int,></int,>…
ソースコード using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // キーの配列に変換</int,>…
ソースコード using System.Collections.Generic; public static class KeyValuePairExt { public static void Deconstruct<TKey, TValue> ( this KeyValuePair<TKey, TValue> self, out TKey key, out TValue value ) { key = self.Key; value = self.Value; } } 使用例 通常 foreach ( </tkey,></tkey,>…
ソースコード using System; using System.Collections.Generic; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1 , "フシギダネ" }, { 2 , "フシギソウ" }, { 3 , "フシギバナ" }, { 4 , "ヒトカゲ" }, { 5 </int,>…
ソースコード using System.Collections.Generic; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "リザードン" }, }; // OK table[ 3 ] = "フシギバナ"; // NG</int,>…
ソースコード 使い方 var m = new MultiDictionary<string, string>(); m.Add( "ほのお", "ヒトカゲ" ); m.Add( "ほのお", "リザード" ); m.Add( "ほのお", "リザードン" ); m.Add( "でんき", "ピカチュウ", "ライチュウ" ); m.Remove( "でんき", "ライチュウ" ); m.Remove( </string,>…
ソースコード using System; using System.Collections.Generic; using System.Linq; public static class DictionaryExt { private static Random m_random; private static Random random => m_random ?? ( m_random = new Random() ); public static KeyV…
ソースコード using System; using System.Collections.Generic; public static class DictionaryExtensions { /// <summary> /// 指定したキーを持つ値を削除します。 /// 削除前に指定された関数を呼び出します /// </summary> public static void Remove<TKey, TValue>( this Dictionary<TKey, TValue> se</tkey,></tkey,>…
ソースコード using System; using System.Collections.Generic; public static class DictionaryExtensions { /// <summary> /// 指定されたキーが格納されている場合は指定された関数を呼び出します /// </summary> public static void SafeCall<TKey, TValue>( this Dictionary<TKey, TValue> self, TKey </tkey,></tkey,>…
ソースコード using System.Collections; using System.Collections.Generic; /// <summary> /// Dictionary 型の拡張メソッドを管理するクラス /// </summary> public static class DictionaryExtensions { /// <summary> /// 指定された Dictionary<TKey, TValue> を Hashtable に変換します /// </summary> /// <param name="self"></param>…
ソースコード using System.Collections; using System.Collections.Generic; /// <summary> /// Hashtable 型の拡張メソッドを管理するクラス /// </summary> public static partial class HashtableExtensions { /// <summary> /// 指定された Hashtable を Dictionary<string, string> に変換します //</string,></summary>…
ソースコード using System.Collections.Generic; /// <summary> /// Dictionary 型の拡張メソッドを管理するクラス /// </summary> public static class DictionaryExtensions { /// <summary> /// <para>指定したキーと値をディクショナリに追加します</para> /// <para>指定したキーが既に格納されている</para></summary>…
ソースコード using System.Collections.Generic; /// <summary> /// Dictionary 型の拡張メソッドを管理するクラス /// </summary> public static class DictionaryExtensions { /// <summary> /// 指定したキーに関連付けられている値を取得します。 /// キーが存在しない場合は既定値</summary>…
例えばアイコンの種類によってテクスチャ名を取得するなど int型や列挙型をキーにして値を取得したい時は下記のようにDictionaryを使っていました // アイコンの種類 public enum IconType { SOLDIER, // 王国兵士 SORCERER, // 魔法使い } // アイコンごと…