2014-05-21 42 views
0

我有一個文本文件「read.txt」像這樣如何從C#中的文本文件讀取int []?

a 1 2 3 4 
b 4 6 7 8 
c 5 6 7 1 
... 

在C#我想定義:

int[] a = {1,2,3,4}; 
int[] b = {4, 6, 7, 8}; 
int[] c= {5, 6, 7, 1}; 
... 

我想問如何讀取所有行,並把到上面的c#文件中

謝謝。

+0

你想在編譯時生成c#源文件,這是正確的嗎? – Constantin

回答

0

您可以使用以下方法來解決你的任務:

System.IO.File.ReadAllLines // Read all lines into an string[] 
string.Split     // Call Split() on every string and split by (white)space 
Int32.TryParse    // Converts an string-character to an int 

創造ints數組我會在它創建首先List<int>Add()每解析整數。比你可以打電話給名單上的ToArray()來獲得你的陣列。

1

我不知道確切的目標是什麼,但我的猜測是,你需要這樣的:

public Dictionary<string, int[]> GetArraysFromFile(string path) 
{ 
    Dictionary<string, int[]> arrays = new Dictionary<string, int[]>(); 
    string[] lines = System.IO.File.ReadAllLines(path); 
    foreach(var line in lines) 
    { 
     string[] splitLine = line.Split(' '); 
     List<int> integers = new List<int>(); 
     foreach(string part in splitLine) 
     { 
      int result; 
      if(int.TryParse(part, out result)) 
      { 
       integers.Add(result); 
      } 
     } 
     if(integers.Count() > 0) 
     { 
      arrays.Add(splitLine[0], integers.ToArray()); 
     } 
    } 

    return arrays; 
} 

這是假設你的第一個字符是字母/鍵。 您將擁有一本字典,其中您的字母是鍵,值是數組。