C# 将数组元素分配给另一个数组

C# assigning array element to another array

我正在制作一个浏览文件的程序,将它们放入一个数组中,然后用户将这些文件以随机顺序放入一个名为播放列表的新数组中。

明确地说,我不想将一个数组分配给另一个数组。我只想将一个数组的众多元素之一分配给另一个现有数组。

这是怎么做到的?

这是我能想到的:

playlist[1] = files[5];

您可以很容易地使用系统和 System.IO 名称space。

var files = Directory.GetFiles("directory path");
var playlist = new string[files.Length];

到那时,您将拥有两个数组。文件数组将包含您指定目录中每个文件的完整路径,播放列表将是一个与文件数组大小相同的字符串数组。

要获取随机文件并将其分配给播放列表数组,可以使用系统名称space中的随机数class来获取一个范围内的随机数。

var random = new Random();
int index = random.Next(0, playlist.Length);

您可以使用一系列逻辑语句来确保您不会多次复制一个文件,并且您复制到的 space 尚未被占用一份文件。但是你有想法。传输所有路径看起来像这样

playlist[RandomPlaylistIndex] = files[RandomFileIndex];

左边是接收端。无论如何,这几乎就是它的要点。如果您仍然卡住,我可以 post 更多代码。

使用 Array.Copy,您可以在其中定义源数组的开始和结束。

例如将Files的第15个元素复制到PLaylist:

  Array.Copy(Files, 15, 1, Playlist, Playlist.Length,1)