我想用数组替换文本文件中的数据并将其存储在变量中

时间:2019-01-31 13:17:15

标签: c# arrays text

目标是将数据绘制成文本文件格式。

我将其存储为数组int中的y和数组string中的x

有两个文本文件x.txty.txt,每个文本文件用空格分隔。例如y1 2 3 4 5 6,而xa b c d

我希望像

一样将其存储在数组中
 int[]    y = {1, 2, 3, 4, 5, 6};
 string[] x = {"a", "b", "c", "d"};

我尝试StreamReader ...但失败了

所以我想举一个例子说明我的问题。

StreamReader sy = new StreamReader("F:/C#/graph/graph/bin/Debug/y.txt", 
Encoding.Default);
        string[] ty = sy.ReadToEnd().Split(' ');
        Console.WriteLine(ty);
        for (int i = 0; i < ty.Length; i++)
        {
                y[i] = Int32.Parse(ty[i]);
                return;
                           }

2 个答案:

答案 0 :(得分:0)

您可以尝试以下解决方案:

   using(System.IO.StreamReader sr = new System.IO.StreamReader("F:/C#/graph/graph/bin/Debug/x.txt"))
    {
        string line;
        while((line = sr.ReadLine()) != null)
        {
            string[] x = line.Split(' ');
        }
    }

   using(System.IO.StreamReader sr = new System.IO.StreamReader("F:/C#/graph/graph/bin/Debug/y.txt"))
    {
        string line;
        while((line = sr.ReadLine()) != null)
        {
            string[] yString = line.Split(' ');
        }
        int[] y = Array.ConvertAll(yString , s => int.Parse(s));

    }

答案 1 :(得分:0)

似乎您早已退出循环

tree

查询数据(例如文件)时,我们经常使用 Linq ;如果您只想读取整个文件,则 for (int i = 0; i < ty.Length; i++) { y[i] = Int32.Parse(ty[i]); return; // <- Only 1st value will be read } 是一个过冲(输入简单的StreamReader):

File.ReadAllText