【发布时间】:2016-03-22 18:04:01
【问题描述】:
所以我想添加7个txt文件,每个都写成这样;
1
2
3
4
5
还有
A
B
C
D
E
每个 txt 文件基本上都是二维数组中的一列。我知道如何将单个 txt 文件制作成 2D 数组,但想要一种将 2D 数组的每一列作为单独的 txt 文件的方法。
在被问到之前,这是我必须这样做的方式。作为上级设定的挑战。
此二维数组同时使用字符串、整数和浮点数据类型。
谢谢
【问题讨论】:
所以我想添加7个txt文件,每个都写成这样;
1
2
3
4
5
还有
A
B
C
D
E
每个 txt 文件基本上都是二维数组中的一列。我知道如何将单个 txt 文件制作成 2D 数组,但想要一种将 2D 数组的每一列作为单独的 txt 文件的方法。
在被问到之前,这是我必须这样做的方式。作为上级设定的挑战。
此二维数组同时使用字符串、整数和浮点数据类型。
谢谢
【问题讨论】:
至于你的“上司”,这听起来很像家庭作业。没有什么比让互联网做作业更有趣了。 :)
话虽如此,这就是我要做的:
为您要加载的每个文件创建一个具有一个属性的新对象:
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;
}
【讨论】: