为了账号安全,请及时绑定邮箱和手机立即绑定

循环遍历字符串数组以创建这些字符串的类变量

循环遍历字符串数组以创建这些字符串的类变量

C#
MYYA 2021-06-28 13:08:31
所以我在一个名为 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 方法帮我找到了这个,谢谢。


查看完整回答
反对 回复 2021-07-03
  • 3 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信