我有一个包含数字的文本文件,每个数字都由一个标签分隔。这些数字也有几行。我想读取文件并将文件存储到一个数组中,但我不知道该怎么做。
示例文件内容
137 12.36922 .28200 4312170 .0550 108.4431 14.9959
127 12.23045 .28200 10400044 140.9635 22.9278 19.8656
514 12.91381 .42300 12550428 .1157 61.7263 123.4808
209 12.26951 .28200 10432158 .0361 8.4094 69.3899
271 12.68842 .35250 91375 .0663 3.6094 25.2950
548 12.99388 .49350 2131433 .1386 .6384 78.6621
314 12.54900 .35250 12469075 .1451 44.1327 115.9872
1466 13.40586 .63450 27236 140.6160 53.3465 65.4476
55 11.97313 .21150 100246 .0911 63.5528 60.7556
27 11.66276 .21150 12353651 140.9790 42.3193 110.4559
44 11.81954 .21150 10420688 .0447 38.5853 3.6592
答案 0 :(得分:2)
假设数字是浮点数(你可以解析为你喜欢的任何类型,这只是一个例子)那么你可以这样做:
string myFileString = System.IO.File.ReadAllText(@"C:\Temp\MyFile.txt");
string[] myStringArray = myFileString.Split('\t');
List<float> myNumberList = new List<float>();
foreach (string s in myStringArray)
{
myNumberList.Add(float.Parse(s.Trim()));
}
答案 1 :(得分:2)
最简单的方法是使用Linq
:
var text = File.ReadAllText(@"Your file path goes here");
var result = text.Split(" \r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)?.Select(num => double.Parse(num)).ToArray()
如果您想要排序数据,则可以使用OrderBy
或OrderByDescending
扩展方法:
var result = text.Split(" \r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)?.Select(num => double.Parse(num)).OrderBy(d => d).ToArray()