Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 构造函数中的Visual Basic.NET更改值_Database_Vb.net_Oop_Constructor - Fatal编程技术网

Database 构造函数中的Visual Basic.NET更改值

Database 构造函数中的Visual Basic.NET更改值,database,vb.net,oop,constructor,Database,Vb.net,Oop,Constructor,我正在学习VB.NET 我有一个关于在构造函数中更改值的问题 我已经创建了一个构造函数,我想访问这个构造函数。 然后,更改构造函数的一部分 有可能改变吗 例如,我有代码 Public Class Picbook Public title As String Dim price As String Public Sub New(t As String, p As String) title = t price = p End Sub

我正在学习VB.NET

我有一个关于在构造函数中更改值的问题

我已经创建了一个构造函数,我想访问这个构造函数。 然后,更改构造函数的一部分

有可能改变吗

例如,我有代码

Public Class Picbook
    Public title As String
    Dim price As String

    Public Sub New(t As String, p As String)
        title = t
        price = p
    End Sub


End Class
我有主修课

此类将图书类型和价格成对添加

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim al() As String = {"Comic", "Textboox"}
        Dim als As New ArrayList ' = {"0,12123,3", "213,21312,124"}
        Dim ass As New ArrayList
        als.Add("0,12123,3")
        als.Add("213,21312,124")
        For I = 0 To al.Length - 1
            Dim c As New Picbook(al(I), als(I))
            ass.Add(c)
        Next     
' want to change price of comic book here


    End Sub
我想访问构造函数,然后改变漫画的价格

我是否应该删除arraylist中的构造函数,然后重新插入Comic和Price

还是有什么办法改变价格的价值

谢谢

更新

我认为,房产可能有助于解决这个问题

我使用了来自


构造函数只需为字段设置第一个值,您甚至可以拥有多个具有不同签名的构造函数,并调用所需的构造函数。您可以在以后修改不推荐的公共字段时更改任何字段,或者通过通常是最佳选项的过程或属性进行更改。顺便说一下,如果您使用的是prices,那么最好将类型更改为decimal,字符串类型总是需要更多的资源。 以下是一个例子:

Option Strict On
模块1

Sub Main()


    Dim oPicbook As IList(Of Picbook) = New List(Of Picbook)

    For i As Integer = 0 To 1
        oPicbook.Add(New Picbook(Console.ReadLine(), Convert.ToDecimal(Console.ReadLine())))

    Next


    For Each item As Picbook In oPicbook
        Console.WriteLine("Title: {0} Price: {1}", item.title, item.price)
    Next

    Console.Read()
End Sub
Public Class Picbook
    Public title As String
    Public price As Decimal
    Public Sub New()

    End Sub
    Public Sub New(t As String, p As Decimal)
        title = t
        price = p
    End Sub

End Class

结束模块

一旦创建了对象,就可以使用构造函数了。之后,您可以设置要修改日期或包含的对象的字段或属性(最好是属性)

感谢I thk,属性将适用于这种情况。无论如何,属性比公共字段更安全。是的,我认为,属性是改变构造函数中值的唯一方法。ThanksIt不是在构造函数中更改值的情况。根据定义,构造函数是创建对象的特殊方法。就这样,就这样。一旦对象存在,如果要更改对象中的数据,则可以设置字段、设置属性或调用方法。