如何解决堆栈不能正确添加行?

By simon at 2018-02-28 • 0人收藏 • 23人看过

现在使用下面的代码,当我尝试调用方法时,Console.WriteLine(ss[0]) 返回Console.WriteLine(ss[0])5和Console.WriteLine(ss[1])返回此值错误:System.IndexOutOfRangeException: 'Index was outside the bounds of the array.' 这是我的代码

static Stack<string> Loaded = new Stack<string>();  


public static void loadFile()
    {
        string ii = File.ReadLines(@"D:\test.txt").ToString();
        Loaded.Push(ii);
    }  


        public static void AddValues()
    {
        while (combos.Count > 0)
        {
            string line = Loaded.Pop();
            string[] ss = line.Split(':');
            Console.WriteLine(ss[0] + "55.65" + ss[1]); // error here because it isn't making the array right or something, not sure
        }
    }  
一个test.txt文件看起来像什么的例子 值1:值2 值6:值4 我需要的是它采取每条线和分裂给我Value155.65Value2

1 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

File.ReadLines返回IEnumerable<string>所以问题在于你指定 IEnumerable<string>至string。 你需要的是

string ii = File.ReadAllText(@"D:\test.txt");
这个方法只返回字符串。 所以,而不是
string ii = File.ReadLines(@"D:\test.txt").ToString();
使用
string ii = File.ReadAllText(@"D:\test.txt");

登录后方可回帖

Loading...