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 
13  public static T[] Concat<T>(this T[] x, T[] y)
14  {
15  if (x == null) throw new ArgumentNullException("x");
16  if (y == null) throw new ArgumentNullException("y");
17  int oldLen = x.Length;
18  Array.Resize<T>(ref x, x.Length + y.Length);
19  Array.Copy(y, 0, x, oldLen, y.Length);
20  return x;
21  }
22 
23 
30  public static void Fill<T>(this T[] x, T FillValue)
31  {
32  for (int i = 0; i < x.Length; i++)
33  {
34  x[i] = FillValue;
35  }
36  }
37 
45  public static void Fill<T>(this T[] x, T FillValue, int StartPos)
46  {
47  for (int i = 0; StartPos < x.Length; i++)
48  {
49  x[i] = FillValue;
50  }
51 
52  }
53 
61  public static bool CompareContents<T>(this T[] CurrentArray, T[] CompareWith)
62  {
63  if (CurrentArray.Length != CompareWith.Length)
64  {
65  return false;
66  }
67 
68  for (int i = 0; i < CurrentArray.Length; i++)
69  {
70  if (!EqualityComparer<T>.Default.Equals(CurrentArray[i], CompareWith[i])) return false;
71  }
72  return true;
73 
74 
75  }
76 
77  }