だから私はどこにもこれの良い例を見つけることができないようです。ディレクトリからランダムなファイルを選択するというこの質問から良い例を見つけましたが、ディレクトリツリー(深さが不明)からランダムなファイルを選択する必要があります。このコードは1つのディレクトリからランダムなファイルを取得しますが、それをすべてのサブディレクトリに拡張する方法についても困惑しています。そこにいるLINQの達人の1人が何かを作成するのに役立つと確信しています。
var extensions = new string[] { ".mp3" };
var di = new DirectoryInfo(MusicPath);
var rgFiles = di.GetFiles("*.*")
.Where( f => extensions.Contains( f.Extension.ToLower() ));
int fileCount = rgFiles.Count();
if (fileCount > 0)
{
int x = this.Generator.Next( 0, fileCount ); //Generator is 'Random' object
file = rgFiles.ElementAt(x).FullName;
}