Я знаю, что это должно быть что-то простое, я пропускаю, но это вызывает у меня проблемы с двумя разными классами. У них аналогичная настройка, поэтому я просто отправлю код для одного класса. Вот точная ошибка:Строковый список OutOfRangeException
System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. Parameter name: length at System.String.Substring(Int32 startIndex, Int32 length) at Terminal_Control_Center.UserDir.newDir() in C:\Users\Chris\Documents\GitHub\TerminalControlCenter\Terminal Control Center\Terminal Control Center\UserDir.cs:line 30 at Terminal_Control_Center.Program.Main(String[] args) in C:\Users\Chris\Documents\GitHub\TerminalControlCenter\Terminal Control Center\Terminal Control Center\Program.cs:line 259
namespace Terminal_Control_Center
{
class UserDir
{
List<string> userDir;
string input = "";
public UserDir(List<String> userDir, string input)
{
this.userDir = userDir;
this.input = input;
}
public void newDir()
{
// checks for invalid characters
if (input.Contains("/") ||
input.Contains(".") ||
input.Contains(",") ||
input.Contains("+") ||
input.Contains("*") ||
input.Contains("\\") ||
input.Contains("]") ||
input.Contains("[") ||
input.Contains("{") ||
input.Contains("}") ||
input.Contains(";") ||
input.Contains("'") ||
input.Contains("\"") ||
input.Contains(":") ||
input.Contains("<") ||
input.Contains(">") ||
input.Contains("%"))
{
// use later for invalid input
}
else // throws error
{
// currently throwing error LINE:30
userDir.Add(input.Substring(5, input.Length - 1));
}
}
public string getDir()
{
return userDir[0];
}
}
}
, что находится внутри 'if' –
Вы уверены, что о том, где исключение бросают? Звучит очень похоже, что исключение указывает пару строк вниз, где вы используете 'Substring'. Какова ценность 'input' в то время, когда это выполняется? –
Извините, у меня были плохие комментарии. Ошибка возникает в строке 30, подстрочной части. Комментарий заключается в том, чтобы выдать пользователю ошибку, в которой они вводят недопустимые символы. – Mercifies