给列表中的每一行一个 ID

问题描述

我正在尝试从其他文件创建一个 tiMetables.txt,到目前为止我已经有了这个。

static void Main(string[] args)
    {
        string Routes = @"C:\Users\peepee poopoo\gtfs\routes.txt";

        var column1 = new List<string>();
        var column2 = new List<string>();
        using (var rd = new StreamReader(Routes))
        {
            while (!rd.EndOfStream)
            {
                var splits = rd.ReadLine().Split(',');
                column1.Add(splits[0]);
                column2.Add(splits[1]);
            }
        }

        // print column1
        Console.WriteLine("Column 1:");
        foreach (var element in column1)
            Console.WriteLine(element);

        // print column2
        Console.WriteLine("Column 2:");
        foreach (var element in column2)
            Console.WriteLine(element);
    }

但是,我需要列表中每一行的第一列都有一个从 1 开始计数的数字。我该怎么做?

解决方法

只需查看下面编写的代码并添加即可。

var dictionary = new Dictionart<string,string>();
    using (var rd = new StreamReader(Routes))
    {
        while (!rd.EndOfStream)
        {
            var splits = rd.ReadLine().Split(',');
            dictionary.Add(splits[0],splits[1]);
        }
    }

    foreach(var item in dictionary)
    {
       Console.WriteLine(item.Key + "\t" + item.Value);
    }
,

这是有效的:

string Routes = @"C:\Users\peepee poopoo\gtfs\routes.txt";

        var dictionary = new Dictionary<string,string>();
        using (var rd = new StreamReader(Routes))
        {
            while (!rd.EndOfStream)
            {
                var splits = rd.ReadLine().Split(',');
                dictionary.Add(splits[0],splits[1]);
                //dictionary.Add(splits[0],splits[1]);
            }
        }

        foreach (var item in dictionary)
        {
            Console.WriteLine(item.Key + "\t" + item.Value);
        }

输出变为 this