2016-03-22 5 views
-4

Итак, я хочу добавить 7 текстовых файлов, и каждый из них написан как;Несколько файлов txt для 2D-массива C#

1 
2 
3 
4 
5 

И

A 
B 
C 
D 
E 

Каждый текстовый файл будет в основном столбец в 2D массива. Я знаю, как сделать особый файл txt в 2D-массив, но хотел бы, чтобы каждый столбец 2D-массива был отдельным текстовым файлом.

Прежде чем спросить, так я должен это сделать. Как вызов, поставленный начальством.

Этот 2D-массив использует как строковые, целочисленные, так и плавающие типы данных.

Спасибо

ответ

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; 
    } 
+0

Привет, Спасибо за помощь, но в первой строке второй части есть что-то, что должно быть в скобках после LoadFiles? –

+0

... является общим псевдокодом для «Положите все, что вам нужно здесь» – Jerry

+0

Привет, У меня больше проблем с этим. Я добавил его точно, как вы набрали его в свое приложение, и он придумал гору ошибок –