0

ファイルから vector3 または int 変数に整数を入力するにはどうすればよいですか? これは、文字列のみで機能する私のコードです

using (var enviromentPos = new FileStream("enviromentPos.txt", FileMode.OpenOrCreate))
{
  using(var input = new StreamReader(enviromentPos))
  {
    int line = "";

    while ((line = input.ReadLine()) != null)
    {
    }
  }
}
4

2 に答える 2

0

入力を読み取るコードを取得したら、次のようにします。

String line = null;
var input = new List<int>();
while ((line = file.ReadLine()) != null)
{
    int i = 0;
    if( int.TryParse(line,out i))
    {
       input.Add(i);
    }
}

後でリストを処理できます。

var vectors = new List<Vector3>();
for (int index = 0; index < input.Count; index += 3)
{
    vectors.Add(new Vector3(input[index], input[index+1], input[index+2]);
}

入力を切り捨てるかパディングして、入力が 3 の倍数であることを確認する必要があります。

vectors.Addまたは、読み取り中に入力を処理することもできますが、ファイルから読み取られた 3 番目の値ごとにコードを実行できるように、カウンターが必要になります。

String line = null;
var input = new List<int>();
int count = 0;
var vectors = new List<Vector3>();
while ((line = file.ReadLine()) != null)
{
    int i = 0;
    if( int.TryParse(line,out i))
    {
       input.Add(i);
       count++;
       if (count % 3 == 0)
       {
          vectors.Add(new Vector3(input[count-2], input[count-1], input[count]);
       }
    }
}
于 2013-04-20T21:21:12.617 に答える