まず、特定の拡張子を持つリスト内のファイルの数を返すヘルパー メソッドがあります。特定のリスト内のオーディオ ファイル全体の数を取得したいのですが、使用されているオーディオ拡張子のリストがあります。
public List<string> accepted_extensions = {"mp3", "wav", "m4a", "wma", "flac"};
ヘルパー メソッド:
private int getFileTypeCount(string[] files, string ext)
{
int count = 0;
foreach (string file in files) if (Path.GetExtension(file).Contains(ext))
{
count++;
}
return count;
}
そのため、LINQ を使用して ForEach を記述し、各メソッドの結果をリストと指定された拡張子で整数に追加できるかどうかを確認したかったのです。私はLINQがあまり得意ではないので、次から始めました。
int audio_file_count = accepted_extensions.ForEach(i => getFileTypeCount(new_file_list.ToArray(),i));
しかし、ヘルパー メソッドによって返された数値を合計に追加する方法がわかりません。これは通常の foreach ループで簡単に実行できることはわかっていますが、LINQ でそれが可能かどうかに興味がありました。