Dont use an ArrayList implmente IDictonary or ICollection so you can
access with col[YourKey]
1: using System;
2: using System.Collections;
3: using System.Collections.Generic;
4: 5: public class MyClass
6: {7: public class TestClass
8: {9: public string MyName = string.Empty;
10: public TestClass(string name)
11: {12: this.MyName = name;
13: } 14: }15: public static void Main()
16: {17: Hashtable ht = new Hashtable();
18: string [] findKey = new string[] {
19: new Random().Next(1, 1000).ToString(),
20: new Random().Next(1, 1000).ToString(),
21: new Random().Next(1, 1000).ToString(),
22: new Random().Next(1, 1000).ToString(),
23: new Random().Next(1, 1000).ToString(),
24: new Random().Next(1, 1000).ToString(),
25: new Random().Next(1, 1000).ToString(),
26: new Random().Next(1, 1000).ToString(),
27: new Random().Next(1, 1000).ToString(),
28: new Random().Next(1, 1000).ToString(),
29: new Random().Next(1, 1000).ToString(),
30: new Random().Next(1, 1000).ToString(),
31: new Random().Next(1, 1000).ToString(),
32: new Random().Next(1, 1000).ToString(),
33: new Random().Next(1, 1000).ToString(),
34: new Random().Next(1, 1000).ToString(),
35: new Random().Next(1, 1000).ToString(),
36: new Random().Next(1, 1000).ToString(),
37: new Random().Next(1, 1000).ToString(),
38: new Random().Next(1, 1000).ToString(),
39: new Random().Next(1, 1000).ToString(),
40: new Random().Next(1, 1000).ToString(),
41: new Random().Next(1, 1000).ToString(),
42: new Random().Next(1, 1000).ToString(),
43: new Random().Next(1, 1000).ToString(),
44: new Random().Next(1, 1000).ToString(),
45: new Random().Next(1, 1000).ToString(),
46: new Random().Next(1, 1000).ToString(),
47: new Random().Next(1, 1000).ToString(),
48: new Random().Next(1, 1000).ToString(),
49: new Random().Next(1, 1000).ToString(),
50: new Random().Next(1, 1000).ToString(),
51: new Random().Next(1, 1000).ToString(),
52: new Random().Next(1, 1000).ToString(),
53: new Random().Next(1, 1000).ToString(),
54: new Random().Next(1, 1000).ToString(),
55: new Random().Next(1, 1000).ToString(),
56: new Random().Next(1, 1000).ToString(),
57: new Random().Next(1, 1000).ToString(),
58: new Random().Next(1, 1000).ToString(),
59: new Random().Next(1, 1000).ToString(),
60: new Random().Next(1, 1000).ToString(),
61: new Random().Next(1, 1000).ToString()
62: }; 63: 64: for(int i = 0; i< 1000; i++)
65: {66: TestClass t = new TestClass(i.ToString());
67: ht.Add(i.ToString(),t); 68: } 69: DateTime startTime = DateTime.Now;70: foreach(string abc in findKey)
71: foreach(DictionaryEntry de in ht)
72: {73: if(de.Key == abc)
74: {75: TestClass tt = de.Value as TestClass;
76: Console.WriteLine(tt.MyName);77: break;
78: } 79: } 80: 81: DateTime stopTime = DateTime.Now; 82: TimeSpan duration = stopTime - startTime; 83: 84: Console.Write(@"foreach took (ms): ");
85: Console.WriteLine(duration.Milliseconds); 86: startTime = DateTime.Now;87: foreach(string abc in findKey)
88: {89: TestClass tt1 = ht[abc] as TestClass;
90: Console.WriteLine(tt1.MyName); 91: } 92: 93: stopTime = DateTime.Now; 94: duration = stopTime - startTime; 95: 96: Console.Write(@"key took (ms): ");
97: Console.WriteLine(duration.Milliseconds); 98: 99: Console.ReadLine(); 100: } 101: }

No comments:
Post a Comment