【类型转换】list集合之再认识

        这一周由于一直没解决list集合到底好在了哪里,故而机房重构的D层和B层一直不感谢下去,说到底还是自己太懒,不愿“费劲”,就想着图省事。

        关键图省事吧,还偏偏考虑的到很多,一会试试这个方法,一会换换那个参数什么的,没有一定的规格,老是根据自己的意愿随意编写,到最后就算写着备注都不知道什么情况了,我也是佩服自己啊!

       好了,回归正题。这周六我又就这个问题“思考”很久,然后一直没有解决,最后还是去问了同学。才发现,一直我的集合没有排上用场,是因为我将集合当作了单个实体,反过来又将单个实体当作了集合,故而就定义了一个实体集合,将U层数据传给外观层的时候用的集合,接受返回信息的时候也用的集合,最后我也不知道我的集合使用来干什么的了。

 Dim list As New List(Of Model.Card_Info) '实例化实体集合退卡
        Dim Facade_BackCard As New Facade.Facade_BackCard '实例化外观退卡
        Dim message As String = "" '用于接收B层处理的可能存在的判断分析       

        '验证卡号输入是否为空
        If txtCard.Text.Trim() = "" Then
            MessageBox.Show("请输入需要退卡的卡号,然后再查看")
            Exit Sub
        End If

        '如果卡号不为空,则进行验证操作
        Try
            list.card = txtCard.Text.Trim()  '给实体BackCard赋值
            list = Facade_BackCard.Inquire(BackCard, message) '将结果返回给实体集合

            'message=""证明没有错误提示,则存在数据
            If message = "" Then
                txtRefund.Text = list(0).balance   '将结果中的退卡金额显示出来(即卡号中的余额)
            Else
                MessageBox.Show(message)
            End If
        Catch ex As Exception
            MsgBox(ex.Message) '提示错误信息
        End Try

        还有一点,就是我对于集合的使用不了解,从而导致我没有了解到集合的好处:

【类型转换】list集合之再认识_第1张图片

        开始的时候,同学告诉我,集合一点就能点出来,而DataTable则只能通过一单元一单元的传参,特别麻烦。并且DataTable如果要修改的的话,需要事先了解数据库表中字段的排列及个数等情况,如果是其他人修改就会泄露数据库内容,故而DataTable不够合理。

dim table as DataTable
table.Rows(0).Item(0)'这样才表示table中第一行第一列的数据,虽然可以用到循环的模式,大师如果将数据传给不同的控件上,并且数据内容再多一些,真就烦死了

        我想也是这么一回事,然后点啊点,点了半天都没有我要的结果,然后就这么耽误了好长时间,到现在我才明白,原来集合也需要有行数参数,通过行参数,可以点出列参数,并非直接点出来列参数的

list(0).Card

【类型转换】list集合之再认识_第2张图片


你可能感兴趣的:(list集合DataTable)