Vielen Dank für Ihr Feedback. Ich bekomme immer noch eine Ausnahme außerhalb des Bereichs. Ich debugge, kann aber nicht verstehen, warum ich die Ausnahme bekomme. Wenn ein int höher als ein bestimmter anderer int ist, sollte es funktionieren. Hat es etwas mit der Länge zu tun?C# Listenanzahl mit Datenvalidierung
AKTUALISIERT-Code
do
{
Console.Write("Input the element that you want to exclude from the list: ");
result = int.TryParse(Console.ReadLine(), out delSelection);
tempInputDelInt = (int)(tempList[delSelection]);
tempInputDelStr = Convert.ToString(tempInputDelInt);
if (result == true && tempInputDelInt >= 0 && tempInputDelInt < tempList.Count)
{
tempList.RemoveAt(delSelection);
Console.WriteLine("\nYou've deleted the temperature " + tempInputDelStr + " from index " + delSelection);
success = false;
Console.ReadKey(true);
Console.Clear();
}
else if (result == true && tempInputDelInt >= tempList.Count || tempInputDelInt < 0)
{
Console.WriteLine("You've input a number that's outside the list. Input a digit between 0 and " + (tempList.Count - 1) + ".\n");
success = true;
Console.ReadKey(true);
}
else if (result == false)
{
Console.WriteLine("\nYou didn't input a digit, try again!\n");
success = true;
Console.ReadKey(true);
}
} while (success);
success = false;
ich mit der Validierung der ersten else if-Anweisung einige Probleme habe. Ich möchte die Fälle abfangen, wenn ein Wert außerhalb des Arrays eingegeben wird, aber das schaffe ich nicht.
Ich habe ein praktisch identisches Programm mit array.Length mit Erfolg gemacht.
Gibt es einen Unterschied zwischen array.List und list.Count? Ist das das Problem?
Vielen Dank im Voraus für Ihre Hilfe!
do
{
Console.Write("Input the element that you want to exclude from the list: ");
result = int.TryParse(Console.ReadLine(), out delSelection);
tempInputDel = Convert.ToString(tempList[delSelection]);
if (result == true && delSelection >= 0 && delSelection < tempList.Count)
{
tempList.RemoveAt(delSelection);
Console.WriteLine("\nYou've deleted the temperature " + tempInputDel + " from index " + delSelection);
Console.ReadKey(true);
Console.Clear();
}
else if (result == true && delSelection >= tempList.Count || delSelection < 0)
{
Console.WriteLine("You've input a number that's outside the list. Input a digit between 0 and " + (tempList.Count - 1) + ".\n");
}
else if (result == false)
{
Console.WriteLine("\nYou didn't input a digit, try again!");
Console.ReadKey(true);
}
} while (result == false);
Was läuft falsch? –