У меня есть переменная, в которой много контента, который мне нужно отсортировать. Но использование IndexOf и Substring просто дает мне ошибку, которая не так уж очевидна.
ArgumentOutOfRangeException: Аргумент вне допустимого диапазона.
Имя параметра: startIndex
Ошибка возникает в строке «string lookThroughString = ..».
Мой код просто пытается просмотреть строку, найти правильное содержимое и затем выплюнуть его.
private string SCRIPT_CONTENT;
public string GetVariable(string variable_name) {
int length = 0;
string lookThroughString = SCRIPT_CONTENT.Substring(SCRIPT_CONTENT.IndexOf(variable_name));
foreach(char c in lookThroughString) {
if(c.ToString() != ";") {
length++;
}
}
return SCRIPT_CONTENT.Substring(SCRIPT_CONTENT.IndexOf(variable_name + "::"), length);
}
«Сценарий» / «Контент», который я просматриваю, это:
spellName::Fireball;
spellID::1;
Я хочу, чтобы эта функция возвращалась в основном с начала введенного имени переменной (в данном случае «SpellName») и до первой точки с запятой.