Question

3 values

Asked by: jagguy

I want to store 3 related numbers in vb.net silverlight.

Anyway I am not sure whther to use a class or structure . a structure is messy to use in .net

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-27 at 03:44:14ID24846692
Topics

Microsoft Visual Basic.Net

,

Visual Basic Programming

,

Microsoft Visual C#.Net

Participating Experts
7
Points
500
Comments
11

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. messy
    I have a very messy question. I'll try to have it make sense, but I'm not sure I can. I'm used to putting all information used in a program straight into the code. However, I'm making a program that I want the user to be able to update on his own. I'm doing this by putting ...
  2. Structures in .NET
    I'm working with a project in VB.NET The same project in VB 6 works perfect. I would add the follow module in the .NET project but dosn't works: ------------------------------------ ' Module in VB 6 Public Const OFS_MAXPATHNAME = 128 Type OFSTRUCT cBytes As Byte f...
  3. Class Library, Components, Structures
    Hi, I would like to know what are Class library, structures, components and their related names, used for in VB.NET? My level of understanding is only creating a form.vb and compiling it to make my application. What is encapsulation, polymorphism, inheritance?
  4. Structure in vb.net
    Hi, How do i convert this code from vb 6.0 to vb.net Type AutoRunDetails Name As String doControls As Boolean ReportTotal As Integer ReportType(1 To 20) As String ReportName(1 To 20) As String End Type Also how do add values in it example vb 6.0 ...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: aiklamhaPosted on 2009-10-27 at 03:55:29ID: 25670881

it depends on how you want to work on those numbers.. ....

 

by: Babycorn-StarfishPosted on 2009-10-27 at 04:36:46ID: 25671152

Hi,

why do you think a structure would be messy? I wouldn't expect it to be any more (or less) messy than a class, if you are storing numbers a structure would probably be more appropriate too.

J

 

by: bhmahlerPosted on 2009-10-27 at 05:28:08ID: 25671596

What you use really depends on what you want to do with the data.  If you just want to store and retrieve them, I would say use a structure.  If you want to run processing methods on the the numbers then I would use a class.  Like Babycorn said, there is no reason a structure is messy in .net.  I use them all the time.

 

by: CodeCruiserPosted on 2009-10-27 at 05:48:27ID: 25671758

How about using a List?

 

by: CodeCruiserPosted on 2009-10-27 at 05:48:47ID: 25671763

Dim l as New List(Of Integer)
l.Add(10)
l.Add(20)
l.Add(30)

 

by: VBRocksPosted on 2009-10-27 at 07:10:19ID: 25672587

You know actually, Structures are a "lightweight class type", given that structures provide a way to define a type that supports encapsulation but cannot be used to build a heirarchy of related types (as structures are implicitily sealed, which means you cannot derive a structure from another structure).  When you need to build a family of related types through inheritance, then you will need to make use of class types.

Structures can define constructors, can implement interfaces, and can contain any number of properties, methods, events, and overloaded operators.

Observe how the following Structure and Class are identical:

Here's an example of a Structure that stores 3 related numbers:

    Public Structure MyNumbersStructure

        'Create a constructor that takes 3
        '  numbers as arguments
        Public Sub New(ByVal no1 As Integer, _
                       ByVal no2 As Integer, _
                       ByVal no3 As Integer)

            Number1 = no1
            Number2 = no2
            Number3 = no3

        End Sub


        Private mNumber1 As Integer
        Public Property Number1() As Integer
            Get
                Return mNumber1
            End Get
            Set(ByVal value As Integer)
                mNumber1 = value
            End Set
        End Property


        Private mNumber2 As Integer
        Public Property Number2() As Integer
            Get
                Return mNumber2
            End Get
            Set(ByVal value As Integer)
                mNumber2 = value
            End Set
        End Property


        Private mNumber3 As Integer
        Public Property Number3() As Integer
            Get
                Return mNumber3
            End Get
            Set(ByVal value As Integer)
                mNumber3 = value
            End Set
        End Property


        'Override the ToString Function
        Public Overrides Function ToString() As String

            Return String.Format("[Number1: {0}; Number2: {1}; Number3:  {2}]", _
                                 Number1, Number2, Number3)

        End Function

    End Structure



Here's an example of a Class that stores 3 related numbers:

Public Class MyNumbersClass

    'Create a constructor that takes 3
    '  numbers as arguments
    Public Sub New(ByVal no1 As Integer, _
                   ByVal no2 As Integer, _
                   ByVal no3 As Integer)

        Number1 = no1
        Number2 = no2
        Number3 = no3

    End Sub


    Private mNumber1 As Integer
    Public Property Number1() As Integer
        Get
            Return mNumber1
        End Get
        Set(ByVal value As Integer)
            mNumber1 = value
        End Set
    End Property


    Private mNumber2 As Integer
    Public Property Number2() As Integer
        Get
            Return mNumber2
        End Get
        Set(ByVal value As Integer)
            mNumber2 = value
        End Set
    End Property


    Private mNumber3 As Integer
    Public Property Number3() As Integer
        Get
            Return mNumber3
        End Get
        Set(ByVal value As Integer)
            mNumber3 = value
        End Set
    End Property


    'Override the ToString Function
    Public Overrides Function ToString() As String

        Return String.Format("[Number1: {0}; Number2: {1}; Number3:  {2}]", _
                             Number1, Number2, Number3)

    End Function

End Class

 

by: CodeCruiserPosted on 2009-10-27 at 07:11:24ID: 25672597

VBRocks doing some typing practice today! :-)

 

by: VBRocksPosted on 2009-10-27 at 07:36:03ID: 25672846

Hey CodeCruiser!  Yes, finally getting in on a few.  :)  I've been really busy redesigning our website.  I'm doing it in Silverlight 3, which is awesome!  I'm new to it, but having a blast.  I'm also working on an internal windows based sql server database application, which is one of those on-going things, and maintaining.  Hope you've been well, and winning lots!  

 

by: CodeCruiserPosted on 2009-10-27 at 07:40:52ID: 25672905

>and winning lots!
Yes. I have been very busy at job as well. I have been working on our bespoke CRM system for many monthes. Its been released last week and is going really well but i also have a lot of stuff to do. But i am still managing to come to EE. Been missing you guys!

 

by: Idle_MindPosted on 2009-10-27 at 08:11:06ID: 25673271

I think the biggest difference is that a Class is a Reference Type while a Structure is a Value Type.

This comes into play when you start passing them around:
http://msdn.microsoft.com/en-us/library/eek064h4(VS.80).aspx

When you pass a Class ByVal you can change the items in the parameter.
When you pass a Structure ByVal a COPY is made and changes to the items are only local.

When you pass a Class ByRef you can change the INSTANCE the original variable points to.
When you pass a Structure ByVal you can change the items in the original variable.

Summed up in the Table from the link:

  • ByValByRef.JPG
    • 37 KB

    Differences in passing ByVal & ByRef for Reference/Value Types

    Differences in passing ByVal & ByRef for Reference/Value Types
 

by: anyoneisPosted on 2009-10-27 at 17:09:41ID: 25678960

Not to mention that the storage location is different.And... Take a look here; http://www.jaggersoft.com/pubs/StructsVsClasses.htm

David

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...