2016-04-05 54 views
0

这里是我的数据,它位于文本文件中。这些数据是坐标。如何从文本文件中获取数据(坐标)并将其置于C#中的Vector3数组中

(55,297)(300,297)(55,297)(55,52)

我由波纹管代码读取这些数据点,

using System.Text; 
using System.Threading.Tasks; 
using System.IO; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 


      using (System.IO.StreamReader sr = new System.IO.StreamReader("C:\\Users\\UVINDU\\Desktop\\Data.txt")) 
      { 
       string line; 
       while ((line = sr.ReadLine()) != null) 

       { 
        string splits = line.TrimStart('['); 
        string[] split = line.Split(')'); 


        string a = split[0], b = split[1], c = split[2], d = split[3]; 

        a = a.Trim(new Char[] { '[', '(' }); 
        Console.WriteLine(a); 

        b = b.Trim(new Char[] { ',', '(' }); 
        Console.WriteLine(b); 

        c = c.Trim(new Char[] { ',', '(' }); 
        Console.WriteLine(c); 

        d = d.Trim(new Char[] { ',', '(' }); 
        Console.WriteLine(d); 
        Console.ReadLine(); 
       } 
      } 
     } 
    } 
} 

如何添加这些值(a,b,c,d)到Vector3数组?

+0

刚刚得到的值的字符串并解析它以整数或浮点数,如:'INT X = int.Parse(的valueString);' –

+1

@JerrySwitalski更改您的评论回答,这样他就可以接受 –

+0

@JerrySwitalski我想知道如何将这些值添加到Vector3数组? –

回答

1

所以,basicly你想解析字符串浮动:

string s = "55"; 
string s2 = "297"; 
string s3 = "0"; 
float x = float.Parse(s); 
float y = float.Parse(s2); 
float z = float.Parse(s3); 

然后你要创建的Vector3对象:

Vector3 v1 = new Vector3(x, y, z); 
Vector3 v2 = new Vector3(x2, y2, z2); 
Vector3 v3 = new Vector3(x3, y3, z3); 
Vector3 v4 = new Vector3(x4, y4, z4); 

最后,你想这个载体添加到阵列:

Vector3[] vArr = new Vector3[4] {v1, v2, v3, v4}; 

但坦率地说,我不确定你显示的值是什么,以及为什么缺少第三个值为z。

+0

第三个值总是0.这就是为什么我已经删除它 –

相关问题