初学者程序员在这里请尽量保持(解释)答案。 对于作业,我们得到了一个包含大量行的文本文件。 每一行都是一个不同的订单'具有订单号,位置,频率(每周的次数)以及一些其他参数。 例如:
18; New York; 3PWK; ***; ***;
等
我已经做好了这一行,以便读取每一行并将其存储在一个带
的字符串中string[] orders = System.IO.File.ReadAllLines(@<filepath here>);
我已经成立了一个名为&#34; Order&#34;其中包含所有属性的get + set,如ordernumber等。
现在我仍然坚持如何在那里获得价值。我知道字符串拆分如何工作,但不知道如何在循环中创建唯一对象。 我需要为每一行创建一个新订单,然后分配Order.ordernumber,Order.location等。
任何帮助都会非常感谢!
答案 0 :(得分:2)
一个简单的方法是让一个类来定义这样的命令:
public class Order{
public string OrderNumber{get;set;}
public string OrderId{get;set;}
public string OrderSomeThingElse{get;set;}
}
然后初始化List:
var orderList = new List<Order>();
然后循环并填充它:
foreach( var order in orders ){
var splitString = order.Split(';');
orderList.Add( new Order{
OrderNumber = splitString[0],
OrderId = splitString[1],
OrderSomeThingElse = splitString[2]
});
}
如果你想要一个简单但不那么优雅的方法,就是这样。
答案 1 :(得分:0)
除非我误解......你的意思是这样吗?
var ordersCollection = new List<Order>();
foreach (var order in orders)
{
var o = new Order();
o.PropertyName = ""; // Assign your property values like this
ordersCollection.Add(o);
}
// ordersCollection is now full of your orders.
答案 2 :(得分:0)
除了你已经收到的所有好答案。我建议您使用File.ReadLines()
代替File.ReadAllLines()
因为您正在阅读大文件。
ReadLines和ReadAllLines方法的不同之处如下:使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合;当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组。因此,当您使用非常大的文件时,ReadLines可以更高效。 MSDN