/// <summary>
 ///
 /// </summary>
 /// <param name="i"></param>
 /// <param name="j"></param>
 /// <returns></returns>
 public T this[int i, int j]
 {
     get
     {
         CoreUtil.BoundsCheck(i, CountX);
         return(_values[IndexAtUnchecked(i, j)]);
     }
     set
     {
         CoreUtil.BoundsCheck(i, CountX);
         _values[IndexAtUnchecked(i, j)] = value;
     }
 }