wasSharp – Diff between revs 22 and 23

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 22 Rev 23
Line 27... Line 27...
27 this[key1] = new Dictionary<K2, V>(); 27 this[key1] = new Dictionary<K2, V>();
28 this[key1][key2] = value; 28 this[key1][key2] = value;
29 } 29 }
30 } 30 }
Line 31... Line 31...
31   31  
32 public new IEnumerable<V> Values -  
33 { -  
34 get -  
35 { -  
36 return from baseDict in base.Values -  
37 from baseKey in baseDict.Keys 32 public new IEnumerable<V> Values =>
38 select baseDict[baseKey]; -  
39 } -  
Line 40... Line 33...
40 } 33 base.Values.SelectMany(baseDict => baseDict.Keys, (baseDict, baseKey) => baseDict[baseKey]);
41   34  
42 public void Add(K1 key1, K2 key2, V value) 35 public void Add(K1 key1, K2 key2, V value)
43 { 36 {
44 if (!ContainsKey(key1)) 37 if (!ContainsKey(key1))
45 this[key1] = new Dictionary<K2, V>(); 38 this[key1] = new Dictionary<K2, V>();
Line -... Line 39...
-   39 this[key1][key2] = value;
-   40 }
-   41  
-   42 public void Remove(K1 key1, K2 key2)
-   43 {
-   44 if (!ContainsKey(key1) || !this[key1].ContainsKey(key2))
-   45 return;
-   46 this[key1].Remove(key2);
46 this[key1][key2] = value; 47 Remove(key1);
47 } 48 }
48   49  
-   50 public bool ContainsKey(K1 key1, K2 key2)
-   51 {
-   52 return ContainsKey(key1) && this[key1].ContainsKey(key2);
-   53 }
-   54  
-   55 public bool TryGetValue(K1 key1, K2 key2, out V value)
-   56 {
-   57 if (!ContainsKey(key1) || !this[key1].ContainsKey(key2))
-   58 {
-   59 value = default(V);
-   60 return false;
49 public bool ContainsKey(K1 key1, K2 key2) 61 }
50 { 62 value = base[key1][key2];
Line 51... Line 63...
51 return base.ContainsKey(key1) && this[key1].ContainsKey(key2); 63 return true;
52 } 64 }
Line 65... Line 77...
65 } 77 }
66 } 78 }
Line 67... Line 79...
67   79  
68 public bool ContainsKey(K1 key1, K2 key2, K3 key3) 80 public bool ContainsKey(K1 key1, K2 key2, K3 key3)
69 { 81 {
-   82 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3);
-   83 }
-   84  
-   85 public void Add(K1 key1, K2 key2, K3 key3, V value)
-   86 {
-   87 if (!ContainsKey(key1))
-   88 this[key1] = new MultiKeyDictionary<K2, K3, V>();
-   89 this[key1][key2, key3] = value;
-   90 }
-   91  
-   92 public void Remove(K1 key1, K2 key2, K3 key3)
-   93 {
-   94 if (!ContainsKey(key1) || !this[key1].ContainsKey(key2, key3))
-   95 return;
-   96 this[key1][key2].Remove(key3);
-   97 this[key1].Remove(key2);
-   98 Remove(key1);
-   99 }
-   100  
-   101 public bool TryGetValue(K1 key1, K2 key2, K3 key3, out V value)
-   102 {
-   103 if (!ContainsKey(key1) || !this[key1].ContainsKey(key2, key3))
-   104 {
-   105 value = default(V);
-   106 return false;
-   107 }
-   108 value = base[key1][key2, key3];
70 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3); 109 return true;
71 } 110 }
Line 72... Line 111...
72 } 111 }
73   112  
Line 84... Line 123...
84 } 123 }
85 } 124 }
Line 86... Line 125...
86   125  
87 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4) 126 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4)
88 { 127 {
89 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4); 128 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4);
90 } 129 }
Line 91... Line 130...
91 } 130 }
92   131  
Line 103... Line 142...
103 } 142 }
104 } 143 }
Line 105... Line 144...
105   144  
106 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5) 145 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5)
107 { 146 {
108 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5); 147 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5);
109 } 148 }
Line 110... Line 149...
110 } 149 }
111   150  
Line 123... Line 162...
123 } 162 }
124 } 163 }
Line 125... Line 164...
125   164  
126 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6) 165 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6)
127 { 166 {
128 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6); 167 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6);
129 } 168 }
Line 130... Line 169...
130 } 169 }
131   170  
Line 143... Line 182...
143 } 182 }
144 } 183 }
Line 145... Line 184...
145   184  
146 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7) 185 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7)
147 { 186 {
148 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6, key7); 187 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6, key7);
149 } 188 }
Line 150... Line 189...
150 } 189 }
151   190  
Line 163... Line 202...
163 } 202 }
164 } 203 }
Line 165... Line 204...
165   204  
166 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8) 205 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8)
167 { 206 {
168 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8); 207 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8);
169 } 208 }
Line 170... Line 209...
170 } 209 }
171   210  
Line 183... Line 222...
183 } 222 }
184 } 223 }
Line 185... Line 224...
185   224  
186 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8, K9 key9) 225 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8, K9 key9)
187 { 226 {
188 return base.ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8, key9); 227 return ContainsKey(key1) && this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8, key9);
189 } 228 }
Line 190... Line 229...
190 } 229 }
191   230  
Line 207... Line 246...
207 } 246 }
Line 208... Line 247...
208   247  
209 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8, K9 key9, 248 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8, K9 key9,
210 K10 key10) 249 K10 key10)
211 { 250 {
212 return base.ContainsKey(key1) && 251 return ContainsKey(key1) &&
213 this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8, key9, key10); 252 this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8, key9, key10);
214 } 253 }
Line 215... Line 254...
215 } 254 }
Line 235... Line 274...
235 } 274 }
Line 236... Line 275...
236   275  
237 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8, K9 key9, 276 public bool ContainsKey(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, K6 key6, K7 key7, K8 key8, K9 key9,
238 K10 key10, K11 key11) 277 K10 key10, K11 key11)
239 { 278 {
240 return base.ContainsKey(key1) && 279 return ContainsKey(key1) &&
241 this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8, key9, key10, key11); 280 this[key1].ContainsKey(key2, key3, key4, key5, key6, key7, key8, key9, key10, key11);
242 } 281 }
243 } 282 }
244 } 283 }