comparison Util/ArrayUtil.cs @ 1:28dc7d535036

Small improvements, introduced PacketStream
author Ivo Smits <Ivo@UCIS.nl>
date Mon, 07 Jan 2013 16:43:28 +0100
parents 3ab940a0c7a0
children 9533a87363f3
comparison
equal deleted inserted replaced
0:3ab940a0c7a0 1:28dc7d535036
82 if (a == null || b == null) return false; 82 if (a == null || b == null) return false;
83 if (a.Length != b.Length) return false; 83 if (a.Length != b.Length) return false;
84 for (int i = 0; i < a.Length; i++) if (a[i] != b[i]) return false; 84 for (int i = 0; i < a.Length; i++) if (a[i] != b[i]) return false;
85 return true; 85 return true;
86 } 86 }
87 public static int GetHashCode<T>(T[] array) {
88 int h = 0;
89 foreach (T v in array) h ^= v.GetHashCode();
90 return h;
91 }
92 public static void Add<T>(ref T[] array, T item) {
93 if (array == null) {
94 array = new T[] { item };
95 } else {
96 int index = array.Length;
97 Array.Resize(ref array, index + 1);
98 array[index] = item;
99 }
100 }
101 public static void AddUnique<T>(ref T[] array, T item) {
102 if (Array.IndexOf(array, item) != -1) return;
103 Add(ref array, item);
104 }
87 } 105 }
88 } 106 }