2017-05-20 13 views
0

ロボット工場の管理をプログラムする必要があります。したがって、私は設定ファイルを.txtとして持っています。このテキストファイルの各行は、作業ステーションの構成です。foreach-loopとテキストベースのインスタンス化によるリスト構築

Eingangslager EL01 A1 INITIALISIEREN 
Ausgangslager AL01 G1 EINLAGERN 
Fertigungsinsel FI01 A3 TRENNEN 
Fertigungsinsel FI02 C3 FRAESEN 
Fertigungsinsel FI03 E3 BESCHICHTEN 
Fertigungsinsel FI04 G3 LOETEN 

私の最初の質問:VisualStudioはこの.txtを文字列全体として認識しますか、それとも別々の文字列に分割しますか?このテキストファイルを繰り返し処理して、すべての行に対してリストを作成したいからです。 2番目のループでは、列を各リストに入れたいと思います。なぜなら私は最初のループのすべてのリストの新しい名前を作る方法を知らないからです。ありがとうございました!

私はこのコードを手に入れました。リストを作成するためにそれを使用できますか?

foreach (List<string> listenZeile in KonfigurationenLader.LeseKonfiguration(@"Resources/Produktrezept.txt")) 
     { 
      foreach (string verarbeitungsschritt in listenZeile) 
      { 
       // Beispiel der Konvertierung von 'string' zu einem Enumerations-Typ. 
       verarbeitungsschrittliste.Add((Verarbeitungsschritt)Enum.Parse(typeof(Verarbeitungsschritt), verarbeitungsschritt)); 
+1

Visual Studioでは、ファイルを無視したり、出力ディレクトリにファイルをコピーしたり、ファイルをリソースとして埋め込んだりすることができます。後者の2つのオプションでは、そのファイルを読み込んで処理するコードを記述するのはあなた次第です。 "Visual Studio"はそのファイルの* contents *に何もしません。 **ファイル全体をコピー、埋め込み、または無視します**。 –

答えて

1

Visual Studioはファイルの拡張子を遵守します。あなたの変更は、あなたがリソースにしていることに基づいて変更されます。たとえば、それを埋め込みリソースにしたいのですか?

それ以外の場合は、C#言語を使用すると、ファイルを1行ずつ読み込むことができます。

var collection = new List<string>(); 
using(var stream = new StreamReader(path) 
    while(!stream.EndOfStream()) 
      collection.Add(stream.ReadLine()); 

私が投稿した例では、単に各行をコレクションに追加します。しかし、while loopの中でアプローチを修正したり追加したりすることができます。または上記を行い、それを分解し、Linqを使って再構築することもできます。詳細がなければ、豊富なアプローチがあります。

+0

私はそれを行う最も簡単な方法を取っていきたいと思います。私は4つの項目で6つのリストを持ちたいので、それを拡張することができます:)。私はC#を初めて使用しているので、組み込みリソースやコレクションが何であるか分かりません。 – Skorab

関連する問題