最初の行に列名があり、行の値が 1 より大きい csv ファイルを読み込んでいます。列名の位置を取得する必要があります。私が考えることができる唯一の方法は、switchまたはifsのいずれかを実行することです。私の場合、ifsを実行する方が速い(良い)ということをどこかで読みました。ただし、ファイルには多くの列 (〜 120) があります。代替案があるかどうか疑問に思っています。
private static void Get_Position(string line, performance p)
{
string[] line_split = line.Split(',');
for (int i = 0; i < line_split.Length; i++)
{
if (line_split[i].Contains(@"(0)\% Processor Time"))
{
p.percore[0] = i;
}
else if (line_split[i].Contains(@"(1)\% Processor Time"))
{
p.percore[1] = i;
}
else if (line_split[i].Contains("Private Bytes"))
{}
else if (line_split[i].contains("DPC")
{
}
//on and on and on with else ifs