一部の処理が必要なデータのセットがありますが、作業可能なスレッドを分割したいと考えています。これを単一の命令に変更するには、できれば for ループを削除するにはどうすればよいですか?
string[] keysForThread;
IEnumerable<string> allData;
List<string> dataForSingleThreadToProcess;
for (int i = 0; i < keys.length; i++)
dataForSingleThreadToProcess.AddRange(allData.Where(x => x.StartsWith(keys[i])));
string[] keysForThread を List に変更したり、List dataForSingleThreadToProcessinto を IEnumerable に変更したりしても構いません。