C#未分配的数组但可以分配任何东西吗?

bob*_*mac 0 c# arrays file

我有点麻烦让这个c#代码工作我可以让它工作,如果我使用我已注释掉的console.write但我可以得到存储在这个数组中的相同结果供我在不同的部分使用我的节目.

FileInfo[] selectionFileOrder;
     for (int index = 0; index < dateAllOrder.Length; index++)
     {
          if (dateAllOrder[index].LastAccessTime.Month == DateTime.Now.Month)
          {
               int i = 0;
               i++;
               selectionFileOrder[i] = dateAllOrder[index];
               // Console.Write("{1}. {0}", dateAllOrder[index].Name, index);
               // Console.Write(" ({0}) ", dateAllOrder[index].Length);
               Console.WriteLine();
          }
      }
Run Code Online (Sandbox Code Playgroud)

我看过谷歌,似乎无法找到我的问题的任何答案我知道它是变量selectionFileOrder是无符号的,但我没有任何分配给它.任何新鲜的想法都会有所帮助

谢谢

Str*_*llo 7

您需要初始化数组:

FileInfo[] selectionFileOrder = new FileInfo[dateAllOrder.Length];
Run Code Online (Sandbox Code Playgroud)

或者更好,使用List:

IList<FileInfo> selectionFileOrder = new List<FileInfo>();
foreach(FileInfo item in dateAllOrder)
{
     if (item.LastAccessTime.Month == DateTime.Now.Month)
     {
          selectionFileOrder.Add(item);
          // Console.Write("{1}. {0}", dateAllOrder[index].Name, index);
          // Console.Write(" ({0}) ", dateAllOrder[index].Length);
          Console.WriteLine();
     }
}
Run Code Online (Sandbox Code Playgroud)

或者最好,使用LINQ!