2017-10-16 17 views
0

ヘッダーを含む.txtファイルから読んでいます。すべてが正常に動作しています。しかし、最終的なコードを見てから質問があります。私のコードは次のようになります。ヘッダーでテキストファイルを解析する最もクリーンな方法C#

var fileReader = File.ReadLines("PathTOFILE") 

foreach (var lineItem in fileReader.Skip(1)) 
{ 
    var propertyValues = lineItem.Split(null); 

    listToReturn.Add(new NormData 
    { 
     prop1 = Convert.ToInt32(propertyValues[0]), 
     prop2 = Convert.ToInt32(propertyValues[1]), 

    }); 

さて、私の質問は、その代わりにpropertyValues[n]として、各項目を参照するのである私は、ヘッダの値が表示されている方法で値を対応何とかことができる方法があるとのマジックナンバーを使用しないよう値を参照してください?

+2

CSVファイルを読むことについて何百もの質問があります...明らかにあなたのために働いた提案はありません - この情報を質問に含めるのは気になりますか? –

+0

これには多くのCSVツールがあります。少なくとも1人はファイルを読み込み、内容を解析してコレクションに格納します – Plutonix

+3

なぜ完全に細かい実行コードにオーバーヘッドを追加したいのですか? (私が追加する唯一のことは、分割後のアイテムの正確な数をチェックすることです) – Steve

答えて

0

あなたがマッピングを得ることができますリフレクションを使用して、あなたはクラスNormDataのプロパティの属性のものを定義することができるマジックナンバーを参照しないようにするにはint.TryParse

を行うことができます。

関連する問題