Итак, у меня есть этот код в файле .cs с именем SchoolData, в котором есть класс и список.
public static List<YearGroupsData> yearGroupsDataList = new List<YearGroupsData>();
public class YearGroupsData
{
public int id { get; set; }
public int year { get; set; }
public string groupName { get; set; }
public int subject { get; set; }
}
Однако я пытаюсь использовать цикл в другом скрипте .cs, который выполняетвеб-соединение и получает данные с веб-сайта, я не включил информацию о соединении или некоторые сценарии для этого, так как это не та часть, которая идет не так ...
private IEnumerator ViewYearGroups()
{
//Some code for connection here
yield return viewYearGroups;
string yearGroupsDataString = viewYearGroups.text;
yearGroups = yearGroupsDataString.Split(';');
foreach (string yearGroup in yearGroups)
{
YearGroupsData yearGroupsData = new YearGroupsData()
{
id = Int32.Parse(GetDataValue(yearGroup, "Id:")),
year = Int32.Parse(GetDataValue(yearGroup, "Year:")),
groupName = GetDataValue(yearGroup, "GroupName:"),
subject = Int32.Parse(GetDataValue(yearGroup, "Subject:")),
};
SchoolData.yearGroupsDataList.Add(yearGroupsData);
}
}
GetDataValue являетсячасть, которая портит.Это дает мне ArgumentOutOfRangeException, и я не уверен, почему.Это работает, если я не использую его в цикле, я тоже пробовал цикл for и все тот же, кто-нибудь знает, что происходит?
public string GetDataValue(string data, string index)
{
string value = data.Substring(data.IndexOf(index) + index.Length);
if (value.Contains("|"))
{
value = value.Remove(value.IndexOf("|"));
}
return value;
}