获得列表中的位置和比较

时间:2014-06-29 22:00:45

标签: c# list search comparison

我试图在一些值的列表中获取位置,以将它们与另一个列表进行比较。

for (int i = 0; i <= commands.ToArray().Length; i++)
{
    levensheteinvalues_commands.Add(commands.ToArray()[i].ToString());
    levensheteinvalues_numbers.Add(
        Program.ComputeLevenshteinDistance(args[0], 
            commands.ToArray()[i].ToString()));
}
for (int i = 0; i <= commands.ToArray().Length; i++)
{
    if (smallestlevensheteinvalue == 0)
    {
        smallestlevensheteinvalue = levensheteinvalues_numbers[i];
    }
    else if (smallestlevensheteinvalue > levensheteinvalues_numbers[i])
    {
        smallestlevensheteinvalue = levensheteinvalues_numbers[i];
    }

}
var indexes = levensheteinvalues_numbers.GetIndexes(smallestlevensheteinvalue);

为什么不

var indexes = levensheteinvalues_numbers.GetIndexes(smallestlevensheteinvalue);

工作?当我得到这个值时,如何将它与另一个列表进行比较?

1 个答案:

答案 0 :(得分:0)

您发布的代码存在一些严重问题。这个May解决了您的问题,因为您的代码以及您的方法非常不明确且含糊不清。我盲目地编辑了代码来解决严重的问题。

for (int i = 0; i < commands.Count(); i++) {
     levensheteinvalues_commands.Add(commands.ElementAt(i).ToString()); 
     Program.ComputeLevenshteinDistance(args[0], commands.ElementAt(i).ToString()));
}
for (int i = 0; i < commands.Count(); i++) {
     if (smallestlevensheteinvalue == 0)
     {
         smallestlevensheteinvalue = levensheteinvalues_numbers[i];
     }
     else if (smallestlevensheteinvalue > levensheteinvalues_numbers[i])
     {
         smallestlevensheteinvalue = levensheteinvalues_numbers[i];
     }
}
int index = levensheteinvalues_numbers.IndexOf(levensheteinvalues_numbers.Min());