Solved

How to assing values to each element in a structure in vb.net in a single instruction?

Posted on 2014-01-28
3
283 Views
Last Modified: 2014-01-30
I have a strucutre in vb.net whose each element is a numeric variable, for example:
dim strTotals as structure
   dim total1 as decimal
   dim total2 as decimal
   dim total3 as decimal
  .....
end Structure

dim vtotals as strTotals

I want to assign 0 to each element in one single instruction. Is any way to do that or Do I have to assign 0 in this way: vtotal.total1=0: vtotal.total2=0: ....?

thanks in advance
0
Comment
Question by:BemboX
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 39816479
I can't think of any way other than perhaps using reflection to loop through structure elements which could be more work.
0
 
LVL 28

Accepted Solution

by:
Ark earned 500 total points
ID: 39820039
First, your structure declaration looks like VB-Sharp. VB syntax should be
    Private Structure strTotals
        Dim total1 As Decimal
        Dim total2 As Decimal
        Dim total3 As Decimal
    End Structure

Open in new window

Second, in VB you don't need initialize integers (as well as double, float, decimal and other numerics) with 0 - they are zero by default:
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim vtotals As strTotals
        MsgBox(vtotals.total1) 'show 0
    End Sub

Open in new window

If you need init structure with values other then 0, you can either use New method:
    Private Structure strTotals
        Dim total1 As Decimal
        Dim total2 As Decimal
        Dim total3 As Decimal
        Public Sub New(ByVal t1 As Decimal, ByVal t2 As Decimal, ByVal t3 As Decimal)
            total1 = t1 : total2 = t2 : total3 = t3
        End Sub
    End Structure
'.....
Dim vtotals As New strTotals(1, 2, 3)

Open in new window

or with VS2010 use With keyword:
Dim vtotals As New strTotals With {.total1 = 1, .total2 = 2, .total3 = 3}

Open in new window

0
 

Author Closing Comment

by:BemboX
ID: 39821168
Thanks.
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question