Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 遍历类的列表_C#_.net_Json - Fatal编程技术网

C# 遍历类的列表

C# 遍历类的列表,c#,.net,json,C#,.net,Json,我已经从一个文本文件中列出了一个团队列表。我只是无法反复阅读 using(StreamReader sr = new StreamReader("TXT1.txt")) { using(JsonReader jr = new JsonTextReader(sr)) { JsonSerializer js = new JsonSerializer(); List<Teams> leagueTeams = js.Deserialize<

我已经从一个文本文件中列出了一个团队列表。我只是无法反复阅读

using(StreamReader sr = new StreamReader("TXT1.txt"))
{
    using(JsonReader jr = new JsonTextReader(sr))
    {
        JsonSerializer js = new JsonSerializer();
        List<Teams> leagueTeams = js.Deserialize<List<Teams>>(jr);
    }
}
但是联盟球队的说法有一个错误

在这种情况下,它并不存在

整段代码:

class Teams
{
    public string name;
    public int GoalDiff;
    public int POints;
}
class Program
{
    static void Main(string[] args)
    {
        using(StreamReader sr = new StreamReader("TXT1.txt"))
        {
            using(JsonReader jr = new JsonTextReader(sr))
            {
                JsonSerializer js = new JsonSerializer();
                List<Teams> leagueTeams = js.Deserialize<List<Teams>>(jr);
            }
        }

        foreach (var item in LeagueTeams)
        {

        }
    }
}

您试图访问其声明范围之外的联盟球队,这就是为什么会出现此错误。因此,您需要在使用声明之前移动列表联盟团队声明:

List<Teams> leagueTeams = new List<Teams>();
using(StreamReader sr = new StreamReader("TXT1.txt"))
{
   ....
   ....
   leagueTeams = js.Deserialize<List<Teams>>(jr);

您试图访问其声明范围之外的联盟球队,这就是为什么会出现此错误。因此,您需要在使用声明之前移动列表联盟团队声明:

List<Teams> leagueTeams = new List<Teams>();
using(StreamReader sr = new StreamReader("TXT1.txt"))
{
   ....
   ....
   leagueTeams = js.Deserialize<List<Teams>>(jr);

您可能正在尝试迭代LeagueTeams类,您可能想做的是迭代刚刚通过反序列化解析文件创建的列表

class Program
{
    static void Main(string[] args)
    {
        List<Teams> leagueTeams = new List<Teams>();
        using(StreamReader sr = new StreamReader("TXT1.txt"))
        {
            using(JsonReader jr = new JsonTextReader(sr))
            {
                JsonSerializer js = new JsonSerializer();
                leagueTeams = js.Deserialize<List<Teams>>(jr);
            }
        }

        foreach (var team in leagueTeams)
        {
            // access each team by 'team' variable
        }

        // another way using LINQ
        leagueTeams.ForEach(team => 
        {
            // access each team by 'team' variable
        });
    }
}

您可能正在尝试迭代LeagueTeams类,您可能想做的是迭代刚刚通过反序列化解析文件创建的列表

class Program
{
    static void Main(string[] args)
    {
        List<Teams> leagueTeams = new List<Teams>();
        using(StreamReader sr = new StreamReader("TXT1.txt"))
        {
            using(JsonReader jr = new JsonTextReader(sr))
            {
                JsonSerializer js = new JsonSerializer();
                leagueTeams = js.Deserialize<List<Teams>>(jr);
            }
        }

        foreach (var team in leagueTeams)
        {
            // access each team by 'team' variable
        }

        // another way using LINQ
        leagueTeams.ForEach(team => 
        {
            // access each team by 'team' variable
        });
    }
}
在首次使用前声明列出leagueTeams。leagueTeams在foreach!=没有大写首字母的leagueTeams。而且,我们必须有一个主副本。在第一次使用前声明列出leagueTeams。foreach中的leagueTeams!=没有大写首字母的联赛球队。而且,我们必须有一个大师级的傻瓜。