Creating a Generic Struct

In addition to generic classes, you can also create a generic struct.  Like a class, the generic struct definition serves as a sort of template for a strongly-typed struct.  When you declare a variable of this struct type, you provide a type for its generic parameter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public struct ThreeTuple<T>
 {
     public ThreeTuple(T x, T y, T z)
     {
         X = x;
         Y = y;
         Z = z;
     }
     public T X;
     public T Y;
     public T Z;
 }
 public class Program
 {
     static void Main()
     {
         ThreeTuple<int> intTuple = new ThreeTuple<int>(32, 10, 12);
         int yVal = intTuple.Y;
         ThreeTuple<double> dblTuple = new ThreeTuple<double>(1.2, 3.4, 5.6);
         double yVal2 = dblTuple.Y;
     }
}