Итак, я пытаюсь сравнить кортежи здесь.по сути, у меня есть список данных, которые были отсортированы определенным образом, и мне нужно выяснить, как они были отсортированы.Чтобы сделать это, я поместил эти массивы в кортежи и отсортировал их по возможному способу их сортировки.когда я сравниваю кортежи, они, по-видимому, верны, когда должны быть.Кортеж, который должен быть отсортирован по возрасту имени, а затем вес равен несортированной оригинальной информации, и все же он никогда фактически не изменяет значение на правильное значение.
public string Solve(string[] name, int[] age, int[] weight)
{
string Value = "";
var personDefault = new List<Tuple<string, int, int>>();
for (int i = 0; i < name.Length-1 ; i++)
{
personDefault.Add(new Tuple<string, int, int>(name[i], age[i], weight[i]));
}
var personSorted = new List<Tuple<string, int, int>>();
personSorted = personDefault;
personSorted = personSorted.OrderBy(s => s.Item1).ThenBy(s => s.Item2).ThenBy(s => s.Item3).ToList();
if (personDefault.Equals(personSorted) == true)
Value = "NAW";//Name Age Weight
personSorted = personSorted.OrderBy(s => s.Item1).ThenBy(s => s.Item3).ThenBy(s => s.Item2).ToList();
if (personDefault.Equals(personSorted) == true)
Value = "NWA";//Name Weight Age
personSorted = personSorted.OrderBy(s => s.Item2).ThenBy(s => s.Item1).ThenBy(s => s.Item3).ToList();
if (personDefault.Equals(personSorted) == true)
Value = "ANW";//Age Name Weight
personSorted = personSorted.OrderBy(s => s.Item2).ThenBy(s => s.Item3).ThenBy(s => s.Item1).ToList();
if (personDefault.Equals(personSorted) == true)
Value = "AWN";//Age Weight Name
personSorted = personSorted.OrderBy(s => s.Item3).ThenBy(s => s.Item2).ThenBy(s => s.Item1).ToList();
if (personDefault.Equals(personSorted) == true)
Value = "WAN";//Weight Age Name
personSorted = personSorted.OrderBy(s => s.Item3).ThenBy(s => s.Item1).ThenBy(s => s.Item2).ToList();
if (personDefault.Equals(personSorted) == true)
Value = "WNA";//Weight Name Age
/*
if (1 == 1)
Value = "IND";//Indeterminate
if (1 == 1)
Value = "NOT";//None of the above
*/
return Value;
}