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

时间:2015-09-03 01:29:18

标签: c# arrays elements

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

要明确我不想将一个数组分配给另一个数组。我只想将一个数组的许多元素之一分配给另一个现有数组。

这是怎么做到的?

以下是我能想到的全部内容:

playlist[1] = files[5];

2 个答案:

答案 0 :(得分:3)

您可以非常轻松地使用System和System.IO命名空间。

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

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

要获取随机文件并将其分配给播放列表数组,可以使用System命名空间中的Random类来获取范围之间的随机数。

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

您可以使用一堆逻辑语句来确保您不会多次复制一个文件,并且您将其复制到的空间还没有被占用一份文件。但你有这个想法。转移所有路径看起来像这样

playlist[RandomPlaylistIndex] = files[RandomFileIndex];

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

答案 1 :(得分:3)

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

例如,要将文件的第15个元素复制到PLaylist:

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