从文件中读取整型到int变量或Vector3

本文关键字:int 变量 Vector3 整型 文件 读取 | 更新日期: 2023-09-27 18:10:14

如何从文件中输入整数到vector3或int变量?这是我的代码,只适用于字符串

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

从文件中读取整型到int变量或Vector3

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

将逐行读取,并将所有包含可解析的int值的行添加到列表中

一旦有了读取输入的代码:

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代码:

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]);
       }
    }
}