我有一个这样的数据表。
我想在
上执行大量操作我应该使用哪种数据结构? 现在我有一个简单的数组,它正在成为一个需要控制的任务。
string[,] trainingData = new string[noOfRecords,5];
using (TextReader reader = File.OpenText("input.txt"))
{
int i =0;
string text = "";
while ((text = reader.ReadLine()) != null)
{
string[] bits = text.Split(' ');
for (int j = 0; j < noOfColumnsOfData; j++)
{
trainingData[i, j] = bits[j];
}
i++;
}
}
答案 0 :(得分:3)
扩大@Doan cuong的anwer, 我会使用一个可以想象的对象列表。 每个对象都可以是calle:Record和集合可以称为Table。 (表是IEnumarable)。
这是一个简单的例子:
static void Main(string[] args)
{
Table table = new Table();
int count1 = table.records.Where(r => r.Play == false && r.Outlook.ToLower() == "sunny").Count();
}
public class Record
{
public bool Play;
public string Outlook;
}
public class Table
{
//This should be private and Table should be IEnumarable
public List<Record> records = new List<Record>();
}
答案 1 :(得分:1)
这是一个非常令人不安的问题,因为它的意见不仅仅是一个有效的编程问题。很多程序员会说这个或那个。对于您正在显示的表,使用数组没有问题,就像您提到的简单查询一样。对于更复杂的数据和查询,我建议您花时间和精力学习LINQ
答案 2 :(得分:1)
创建一个类并将值写入属性。即:
public class Weather
{
public string Outlook {get;set;}
...
}
然后将它们存储到List<Weather>
集合中(在循环期间)。就像已经说过的那样,你可以对它运行LINQ
个查询。互联网上充满了如何使用LINQ
的示例。