110,535
社区成员
发帖
与我相关
我的任务
分享
string txt = @"104.544 285.106 -0.0198154
232.233 291.923 -0.15162
210.273 290.588 2.39844
103.807 290.364 -0.074542
119.751 297.782 0.0620041
124.992 301.494 -0.0500259
195.477 308.035 2.18787
189.829 310.14 2.16521
226.571 307.255 -0.135975
174.067 308.065 3.05251
100.55 298.681 4.02637
122.539 319.984 -0.147274
128.208 324.887 -0.132906
180.539 335.381 -0.118507";
foreach (var str in Regex.Split(txt, @"\s+"))
{
Console.WriteLine(str);
}
struct Vector
{
public double x, y, z;
public Vector(string str)
{
var r = str.Split(' ');
this.x = double.Parse(r[0]);
this.y = double.Parse(r[1]);
this.z = double.Parse(r[2]);
}
public override string ToString()
{
return "x = " + x + ", y = " + y + ", z = " + z;
}
}
你可以写一个方法用来从文件读 static List<Vector> getVector()
{
var res = new List<Vector>();
foreach (var x in File.ReadAllLines(@"data.txt"))
{
res.Add(new Vector(x));
}
return res;
}
于是你就有了 foreach (var x in getVector())
{
Console.WriteLine(x.ToString());
}
C# 是开发工具,不会像 matlab 之类的应用工具那样提供具体的方法
你总是要根据项目的需要和个人喜好,书写一些实用代码的string[] list = System.IO.File.ReadAllLines(@"filepath");
foreach (string line in list)
{
string[] arr = line.Split(' ');
double num0 = Convert.ToDouble(arr[0]);//数字一
double num1 = Convert.ToDouble(arr[1]);//二
double num2 = Convert.ToDouble(arr[2]);//三
}