Your approach to this is not the best. You should be creating a helper class:
public class DatePrice
{
public DateTime Date { get; set; }
public decimal Price { get; set; }
}
Then creating a collection class:
var prices = new List<DatePrice>();
Then you can add data like this:
prices.Add(new DatePrice() { Date = DateTime.Now, Price = 10m });
And you can easily remove an item based on an index like this:
prices.RemoveAt(2);
If you really must use an array, you'll need an extension method, such as this to remove an item (copied from here):
public static T[] RemoveAt<T>(this T[] source, int index)
{
T[] dest = new T[source.Length - 1];
if( index > 0 )
Array.Copy(source, 0, dest, 0, index);
if( index < source.Length - 1 )
Array.Copy(source, index + 1, dest, index, source.Length - index - 1);
return dest;
}
For 2-dimensional arrays, use this:
string[][] a = new string[][] {
new string[] { "a", "b" } /*1st row*/,
new string[] { "c", "d" } /*2nd row*/,
new string[] { "e", "f" } /*3rd row*/
};
int rowToRemove = 1; // 2nd row
a = a.Where((el, i) => i != rowToRemove).ToArray();