所以我在一个名为 SchoolData 的 .cs 文件中有这个代码,它有一个类和一个列表。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;}
3 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
我使用 .Split 在每个分号处划分字符串的地方是问题所在。我正在拆分的字符串在最后一个分号之后有一个空格,它从中创建了一个空索引。我用了 yearGroups = yearGroups.Take(yearGroups.Count() - 1).ToArray();
删除最后一个为空的索引。trycatch 方法帮我找到了这个,谢谢。
- 3 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消