WIP
DirectOutput framework for virtual pinball cabinets WIP
Go to:
Overview 
ArrayExtensions.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 
6 
10  public static class ArrayExtensions
11  {
12 
20  public static bool CompareContents<T>(this T[] CurrentArray, T[] CompareWith)
21  {
22  if (CurrentArray.Length != CompareWith.Length)
23  {
24  return false;
25  }
26 
27  for (int i = 0; i < CurrentArray.Length; i++)
28  {
29  if (!EqualityComparer<T>.Default.Equals(CurrentArray[i], CompareWith[i])) return false;
30  }
31  return true;
32 
33 
34  }
35 
36  public static T[] Concat<T>(this T[] x, T[] y)
37  {
38  if (x == null) throw new ArgumentNullException("x");
39  if (y == null) throw new ArgumentNullException("y");
40  int oldLen = x.Length;
41  Array.Resize<T>(ref x, x.Length + y.Length);
42  Array.Copy(y, 0, x, oldLen, y.Length);
43  return x;
44  }
45 
46 
53  public static void Fill<T>(this T[] x, T FillValue)
54  {
55  for (int i = 0; i < x.Length; i++)
56  {
57  x[i] = FillValue;
58  }
59 
60  }
61 
69  public static void Fill<T>(this T[] x, T FillValue, int StartPos)
70  {
71  for (int i = 0; StartPos < x.Length; i++)
72  {
73  x[i] = FillValue;
74  }
75 
76  }
77  }