Mercurial > hg > ucis.core
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; |