多个txt文件到2D数组C#

时间:2016-03-22 18:04:01

标签: c# multidimensional-array

所以我想添加7个txt文件,每个文件都写成;

A
B
C
D
E

并且

{{1}}

每个txt文件基本上都是2D数组中的一列。我知道如何将单个txt文件制作成2D数组,但想要将2D数组的每一列作为单独的txt文件。

在被问到之前,这是我必须这样做的方式。作为上级设定的挑战。

此2D数组使用字符串,整数和浮点数据类型。

谢谢

1 个答案:

答案 0 :(得分:0)

对于你的"上司",这听起来很像家庭作业。没有什么比上网做你的功课更好的了。 :)

话虽如此,这就是我要做的事情:

创建一个新对象,该对象对要加载的每个文件都有一个属性:

public class MyHomeworkClass
{
    public int a { get; set; }
    public string b { get; set; }
    ...
}

接下来,为每个文件中的每一行创建一个循环。对于第一个文件,您必须创建一个新对象。对于所有后续文件(假设它们都具有相同的行数),您只需重新使用现有对象。

    public List<MyHomeworkClass> LoadFiles(...)
    {
        List<MyHomeworkClass> ret = new List<MyHomeworkClass>();

        List<string> fileA = File.ReadAllLines("your starting file");

        // For the first file, just create a new object for each line
        foreach (string a in FileA)
        {
            MyHomeworkClass newMHC = new MyHomeworkClass();

            // Convert to an integer for your object
            newMHC.a = int.parse(a);

            ret.add(newMHC);
        }

        // Now, for each remaining file, use the number of "A" entries
        // to drive which object(s) you update.
        List<string> fileB = File.ReadAllLines("your file B");

        for (int x=0; x < ret.count; x++)
        {
            MyHomeworkClass mhc = ret[x];
            string line = fileB[x];
            // No need to convert this since it is already a string.
            mhc.b = line; 
        }

        // repeat the steps for fileB for each subsequent file.


        // Once all files are loaded, return your object.
        return ret;
    }