Я бы использовал LINQ для этого:
FileInfo[] selectionFileOrder = dateAllOrder.Where(
d => d.LastAccessTime.Month == DateTime.Today.Month).ToArray();
Поскольку, похоже, вы не знаете, насколько большим массив должен быть заранее, я бы порекомендовал такой список:
var selectionFileOrder = new List<FileInfo>();
for (int index = 0; index < dateAllOrder.Length; index++)
{
if (dateAllOrder[index].LastAccessTime.Month == DateTime.Now.Month)
{
selectionFileOrder.Add(dateAllOrder[index]);
}
}
Вы можете присвоить список массиву позже, если вам нравится
FileInfo[] array = selectionFileOrder.ToArray();
Также выглядело, как будто у вас ошибка, в которой i
всегда будет 1, что, я думаю, не то, что вы хотите.