Database 构造函数中的Visual Basic.NET更改值
我正在学习VB.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
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不是在构造函数中更改值的情况。根据定义,构造函数是创建对象的特殊方法。就这样,就这样。一旦对象存在,如果要更改对象中的数据,则可以设置字段、设置属性或调用方法。