如何搜索Complex Arraylist&在给定点插入

时间:2011-03-21 10:26:12

标签: c# search arraylist

我正在尝试创建一个简单的应用程序,它可以从文本文件中读取并写入文本文件。我有一个主要形式,如下所示,我也有一个次要形式,如下所示;还有客户,帐户和交易的getter和setter类。我想做的是根据持有的任何数据搜索客户,但主要是帐号。如何通过所有信息返回正确的客户。与此相关联,最好使用搜索作为插入新帐户的点。

以下是了解客户并从文件中获取信息的主要表格。

    //create account if all ok
    if (allInputOK)
    {
        //create Account
        Account temp = new Account(tempAccSortCode, tempAccNumber, tempAccNickName, tempAccDate, tempAccCurBal, tempAccOverDraft, tempNumTrans);

        //add to array
        Form1.accDetails.Add(temp);

        //finish up
        MessageBox.Show("Success Account added ");
        resetForm();
    }
}

    foreach (Customer c in bankDetails) 
    {
        lstOutput.Items.Add(" ");
        lstOutput.Items.Add(c.getCustomerNumber() + " " + c.getCustomerTitle() + " " + c.getFirstName()
                           + " " + c.getInitials() + " " + c.getSurname() + " " + c.getDateOfBirth()
                           + " " + c.getHouseNameNumber() + " " + c.getStreetName() + " " + c.getArea()
                           + " " + c.getCityTown() + " " + c.getCounty() + " " + c.getPostcode()
                           + " " + c.getPassword() + " " + c.getNumberAccounts());
        foreach (Account a in c.Accounts) 
        {
            lstOutput.Items.Add("\t" + a.getAccSort() + " " + a.getAccNumber() + " " + a.getAccNick() + " " + a.getAccDate()
                               + " " + a.getAccCurBal() + " " + a.getAccOverDraft() + " " + a.getAccNumTrans());

            foreach (Transaction t in a.Transactions) 
            {
                lstOutput.Items.Add("\t \t" + t.getDate() + " " + t.getType() + " " + t.getDescription() + " " + t.getAmount()
                                   + " " + t.getBalAfter());
            }
        }
    }

在上面添加帐户的代码中,在哪里将其添加到类帐户和arraylist我认为是不正确的主表单上的其余程序使用基础列表来存储客户信息和帐户/交易。

编辑:上面的代码片段显示添加了一个新帐户,但它似乎无法正常工作,因为我需要通过搜索客户数组找到正确的客户,然后将其插入正确的位置。第二段代码显示了arraylist,其中包含连接到每个客户的基础列表。

1 个答案:

答案 0 :(得分:0)

从哪里开始?

通常,对于查询对象,可以使用Linq to Objects。

另外,我建议不要使用文本文件来跟踪事物。起初他们很好,但很快变得笨拙和缓慢。最重要的是,如果您的应用程序在保存之前崩溃了怎么办?查看像SQLite这样的“轻型数据库”(是的,那是'L')。