comparison Util/ArrayUtil.cs @ 19:b9ef273964fd

Updated ArrayUtil
author Ivo Smits <Ivo@UCIS.nl>
date Wed, 10 Apr 2013 01:34:05 +0200
parents 9533a87363f3
children 29cf42a12c34
comparison
equal deleted inserted replaced
18:a6faa87767bb 19:b9ef273964fd
90 public static int GetHashCode<T>(T[] array) { 90 public static int GetHashCode<T>(T[] array) {
91 int h = 0; 91 int h = 0;
92 foreach (T v in array) h ^= v.GetHashCode(); 92 foreach (T v in array) h ^= v.GetHashCode();
93 return h; 93 return h;
94 } 94 }
95 public static void Add<T>(ref T[] array, params T[] items) {
96 if (array == null) {
97 array = new T[items.Length];
98 items.CopyTo(array, 0);
99 } else {
100 int index = array.Length;
101 Array.Resize(ref array, index + items.Length);
102 items.CopyTo(array, index);
103 }
104 }
105 public static void Add<T>(ref T[] array, ICollection<T> items) {
106 if (array == null) {
107 array = new T[items.Count];
108 items.CopyTo(array, 0);
109 } else {
110 int index = array.Length;
111 Array.Resize(ref array, index + items.Count);
112 items.CopyTo(array, index);
113 }
114 }
95 public static void Add<T>(ref T[] array, T item) { 115 public static void Add<T>(ref T[] array, T item) {
96 if (array == null) { 116 if (array == null) {
97 array = new T[] { item }; 117 array = new T[] { item };
98 } else { 118 } else {
99 int index = array.Length; 119 int index = array.Length;