В настоящее время я хочу сравнить 2 списка, которые никогда не будут иметь одинаковую длину.
List<int> data
, которая имеет длину n
List<int> numbersToSeekFor
, которая имеет длину n и содержит множество всех различных значений в data
List<Color> colorsToAssign
, чьядлина равна numbersToSeekFor
То, чего я хочу достичь, но не очень успешно, это сравнить все элементы в data
с каждым индексом numbersToSeekFor
.Если это условие истинно, первый index
из colorsToAssign
будет добавлен в список, а затем второй индекс и т. Д. *
Очень глупым примером следующего будет этот метод.Если бы я предполагал, что в numbersToSeekFor
есть 3 элемента.Выходной список этого метода также должен иметь размер, равный data
.
public List<Color> Foo(List<int> data, List<int>numbersToSeekFor, List<Color> colorsToAssign)
{
List<Color> colors = new List<Color>();
for (int i = 0; i < data.Count; i++)
{
if(data[i] == numbersToSeekFor[0])
{
colors.Add(colorsToAssign[0]);
}
if(data[i] == numbersToSeekFor[1] )
{
colors.Add(colorsToAssign[1]);
}
if(data[i] == numbersToSeekFor[2])
{
colors.Add(colorsToAssign[2]);
}
}
return colors;
}
Какой самый чистый способ добиться этого?
Спасибо за вашу помощь