2017-12-25 45 views
-1

私はこことMSDNで見つけることができたものの多くのオプションを試しましたが、動作していないようです。 のでbasicly私は、ファイルを読むために必要があり、その後、例えば、[] [] をcharへのコンテンツを回し: ファイル:C#文字列[]からChar [] []

ABCD 
EFGH 
QWER  

になる必要があります。

{ { 'A','B','C','D' },{ 'E','F','G','H' },{ 'Q','W','E','R' } } 

そして、これは私これまでのところ:

private static char[][] ParseFile(string file) 
    { 
     string[] fileOne = File.ReadAllLines(file); 
     char[][] fileOut = {}; 
     char[] fileOutLine; 
     for (int i = 0; i < fileTwo.Length ; i++) 
     { 
      string linew = fileTwo[i]; 
      for (int j = 0; j < linew.Length; j++) 
      { 
       //Stuck here 
      } 
     } 

     return fileOut; 
private static char TurntoChar(string s) 
    { 
     switch (s) 
     { 
       case "S": 
        return 'S'; 
        break; 
       case "O": 
        return 'O'; 
        break; 
       case "F": 
        return 'F'; 
        break; 
       default: 
        return 'B'; 
        break; 
     } 
    } 
} 


internal class Point 
{ 
    public Point(int x, int y) 
    { 
     X = x; 
     Y = y; 
    } 

    public int Y { get; set; } 
    public int X { get; set; } 
} 

}   

ありがとうございます!

+3

ヒントを行く: 'string.ToCharArray'はあなたの友達です。 (また、LINQ: 'return fileOne.Select(line => line.ToCharArray())。ToArray())') –

+0

これは簡単だろうが、問題はLinqを避けなければならないということだ。基本的には純粋なC# – TesterTemp

+2

どのようにしてLINQは "純粋なC#"ではないのですか?あなたはあなたの質問にもっと詳細を入れるべきです。 (あなたの質問に「ポイント」の質問がある理由は明らかではありません) –

答えて

0

実際にラムダにショットを与える必要があります。それはあなたの人生を簡単にします。あなたがここにそれから主張すれば
さて、あなたは

string[] lines = File.ReadAllLines(@"yourpath"); 
char[][] charArray = new char[lines.Length][]; 
for (int i = 0; i < lines.Length; i++) 
{ 
    char[] lineChars = new char[lines[i].Length]; 
    charArray[i] = lineChars; 
    for (int j = 0; j < lines[i].Length; j++) 
    { 
     charArray[i][j] = lines[i][j]; 
    } 
} 
2

Linqを使用できます。

var fileOut = fileOne.Select(x => x.ToCharArray()).ToArray(); 

あなたがLinqを使用したくない場合は、

string[] fileOne = File.ReadAllLines(file); 
char[][] fileOut = new char[fileOne.Length][]; 
for (int i = 0; i < fileOne.Length; i++) 
{ 
    fileOut[i] = fileOne[i].ToCharArray(); 
} 
関連する問題