Skip to Content
Programming Visual Basic .NET, Second Edition
book

Programming Visual Basic .NET, Second Edition

by Jesse Liberty
April 2003
Intermediate to advanced
560 pages
14h 4m
English
O'Reilly Media, Inc.
Content preview from Programming Visual Basic .NET, Second Edition

Chapter 7. Structures

So far, the only user-defined type you’ve seen is the class. A second type of user-defined type is a structure. Structures are designed to be lightweight alternatives to classes. In this case, the term lightweight means that structures use fewer resources (i.e., less memory) than classes, but they offer less functionality.

Structures are similar to classes in that they can contain constructors, properties, methods, fields, operators, nested types, and indexers. There are, however, significant differences between classes and structures.

For example, structures don’t support inheritance or destructors. More important, while a class is a reference type, a structure is a value type.

The current consensus is that you ought to use structures only for types that are small, simple, and similar in their behavior and characteristics to built-in types. For example, if you were creating a class to represent a point on the screen (x,y coordinates), you might consider using a structure rather than a class.

Structures are somewhat more efficient in their use of memory in arrays; however, they can be less efficient when used in collections (arrays and collections are discussed in Chapter 9). Collections expect references, and because structures are value types, they must be boxed. There is overhead in boxing and unboxing, and classes might be more efficient in large collections. Boxing and unboxing are discussed in Chapter 6. In this chapter, you will learn how to define ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Programming Visual Basic .NET

Programming Visual Basic .NET

Dave Grundgeiger
VB.NET Language in a Nutshell, Second Edition

VB.NET Language in a Nutshell, Second Edition

Steven Roman PhD, Ron Petrusha, Paul Lomax

Publisher Resources

ISBN: 0596004389Supplemental ContentCatalog PageErrata