按特定顺序将多个数组合并在一起?

时间:2016-04-16 20:56:20

标签: c# arrays

目前尝试将一些数组合并在一起,我得到了一些文本文件,其中包含数年,数月和5种类型的天气数据(已根据所包含的数据导入为字符串,整数和浮点数)。我现在必须显示这些值,显示月份和月份以及其他信息。

现在这是我感到困惑的一点,因为我不确定将这些数组合并在一起的过程所以信息全部包含在一起并显示它然后我还需要按升序和降序搜索和排序,同时保留年份和月份等信息。

这是我应该关注的数组还是更适合其他数据结构,如数据表?

2 个答案:

答案 0 :(得分:0)

您是否尝试过定义包含字符串集合的类(使用getter和setter)?试试这样的事情

class Data
{
    public string Year{get;set;}
    public string Month{get;set;}
    public string WeatherReport1{get;set;}
    public string WeatherReport2{get;set;}
    public string WeatherReport3{get;set;}
    public string WeatherReport4{get;set;}
    public string WeatherReport5{get;set;}
}

然后使用这个类的对象。设置Year,Month,WeatherReport1,...的值。将类的对象添加到此类的类型的数组中。有点像这样

class Data
{
    public string Year { get; set; }
    public string Month { get; set; }
    public string WeatherReport1 { get; set; }
    public string WeatherReport2 { get; set; }
    public string WeatherReport3 { get; set; }
    public string WeatherReport4 { get; set; }
    public string WeatherReport5 { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        Data objdata;
        Data[] array = new Data[5];
        for (int i = 0; i < array.Length; i++)
        {
            objdata = new Data();
            objdata.Year = "Year";
            objdata.Month = "Month";
            objdata.WeatherReport1 = "report1";
            objdata.WeatherReport2 = "report2";
            objdata.WeatherReport3 = "report3";
            objdata.WeatherReport4 = "report4";
            objdata.WeatherReport5 = "report5";

            array[i] = objdata;
        }

        for(int i=0;i<array.Length;i++)
        {
            Console.WriteLine(array[i].Year+" "+array[i].Month+" "+array[i].WeatherReport1+" "+array[i].WeatherReport2+" "+array[i].WeatherReport3+" "+array[i].WeatherReport4+" "+array[i].WeatherReport5);
        }
        Console.Read();
    }

我希望它有所帮助。请告诉我。我是StackOverflow的新手,我正在尝试学习新东西:)

答案 1 :(得分:0)

取决于数据量 - 以及您要搜索的内容的要求。如果它们在任何方面含糊不清或者你有更多的数据然后你想在内存/可以被诅咒弄清楚如何存储和搜索然后数据库,因为它旨在解决这些问题 - namley如何查询存储在文件中的数据一个磁盘。

如果数据库不够大,为什么要在代码中执行此操作?你正在描述excel非常擅长的东西。

这可能是一个数据库工作,因为你可能有几千兆字节,但只需要在任何时候向一个用户提供20-30个项目。

至于使用订单等进行搜索,你可能会看到一个有序的数组,然后决定你需要键入它然后有一个类似的键,这会让你到一个红黑树或其他一些。一旦你变得足够大,你就会开始看b树,这基本上意味着使用数据库。