70 likes | 190 Vues
Explore the differences between structs and classes in C#. Learn when to use each type to optimize performance and manage data effectively. Discover key features of structs, including memory allocation and data storage, and understand how they differ from classes in terms of references and inheritance. Industry experts Gerry O'Brien and Paul Pardi share their extensive knowledge to enhance your understanding of software development technologies. Whether you're a novice or experienced developer, this guide will support your journey in C# programming.
E N D
Twenty C# Questions Explained Gerry O’Brien Content Development Manager Paul Pardi Senior Content Pub Manager
Meet Gerry O’Brien| @gerryob • Technical Content Development Manager, Microsoft • Focused on developer and database platforms • Content author • Over 18 years of industry experience • Microsoft • Microsoft Certified Trainer • Software developer and consultant • Book and course author • Visual Basic, C#, Java, Objective-C • Life-long learner
Meet Paul Pardi| @paulpardi • Content Development Lead, Microsoft • Lead team of content developers focused on software development technologies • Working on internal app development • Software and content development professional • Managed Windows Store merchandising team for Windows 8 • Managed team and wrote content for Internet Explorer • Technical trainer and book author • Published Windows 8 app called Movie Notes
structs are value types that can contain data and functions • structs are value types and do not require heap allocation. • structs directly store their data in the struct, classes store a reference to a dynamically allocated object. • structs are useful for small data structures • structs can affect performance • Constructors are invoked with the new operator, but that does not allocate memory on the heap • A struct constructor simply returns the struct value itself (typically in a temporary location on the stack), and this value is then copied as necessary #1: When to Use a struct vs Class
With classes, multiple variables may have a reference to the same object • It is possible for operations on one variable to affect the object referenced by the other variable. • With structs, the variables each have their own copy of the data, and it is not possible for operations on one to affect the other. • structs do not support user-specified inheritance, and they implicitly inherit from type object #1: When to Use a struct vs Class, Cont’d