Provides students with an easy-to-follow presentation of material. Ex.___
Enables students unfamiliar with “thinking in objects” to learn effective object-oriented programming techniques in C#. Ex.___
Provides students with a deep understanding of how .NET augments the features in the language. Ex.___
Provides students with a practical introduction to the most important classes. Ex.___
Introduces students to programming using C# to do simple input, computation and output. Ex.___
Provides overview of key classes and functions. Ex.___
Introduces students to value types with boxing and unboxing operations. Ex.___
Helps students get started building applications. Ex.___
Introduces students to ASP.NET. Ex.___
C# hands-on. Your complete, step-by-step introduction to C# development for .NET.
Part of the Integrated .NET Book Series from Object Innovations.
Want to get results with C#? Get the example-rich, hands-on introduction to the C# language itself: Introduction to C# Using .NET. Leading .NET trainer and developer Robert J. Oberg teaches C# step-by-step, with a comprehensive banking system case study, that walks you through building a complete system. Oberg introduces C#'s advanced object-oriented capabilities early helping you make the most of them to create software with unprecedented efficiency and power.
(NOTE: Each chapter concludes with a Summary.)
About This Series.
I. INTRODUCTION TO .NET AND C#.1. .NET Framework.
.NET: What You Need to Know. What Is Microsoft .NET? .NET Framework Overview. Common Language Runtime.2. First C# Programs.
Hello, World. Program Structure. Namespaces. Variables and Expressions. Using C# As A Calculator. Input/Output in C#. The .NET Framework Class Library.3. Visual Studio.NET.
Overview of Visual Studio.NET. Project Configurations.Debugging.
II. C# AS A LANGUAGE IN THE C FAMILY.4. Simple Data Types.
Data Types. Integer Types. Floating-Point Types. Decimal Type. Character Type. Boolean Type. Conversions.5. Operators and Expressions.
Operator Cardinality. Arithmetic Operators. Relational Operators. Conditional Logical Operators. Bitwise Operators. Assignment Operators. Expressions. Checked and Unchecked.6. Control Structures.
If Tests. Loops. Preview of Arrays and Foreach. More About Control Flow. Switch Statement.
III. C# PROGRAMMING FUNDAMENTALS.7. Object-Oriented Programming.
Objects. Classes. Polymorphism. Object-Oriented Languages. Components.8. Classes.
Classes as Structured Data. Methods. Constructors and Initialization. Static Fields and Methods. Constant and Readonly Fields.9. The C# Type System.
Overview of Types in C#. Value Types. Reference Types. Default Values. Boxing and Unboxing.10. Methods, Properties, and Operators.
Methods. Parameter Passing. Method Overloading. Variable Length Parameter Lists. Properties. Operator Overloading.11. Characters and Strings.
Characters. Strings. String Methods. String Builder Class. Programming with Strings.12. Arrays and Indexers.
Arrays. System.Array. Random Number Generation. Jagged Arrays. Rectangular Arrays. Arrays as Collections. Bank Case Study: Step 1. Indexers.13. Inheritance.
Inheritance Fundamentals. Access Control. Method Hiding. Initialization. Bank Case Study: Step 2.14. Virtual Methods and Polymorphism.
Virtual Methods and Dynamic Binding. Method Overriding. Polymorphism. Abstract Classes. Sealed Classes. Heterogeneous Collections. Case Study: Step 3.15. Formatting and Conversion.
ToString. Format Strings. String Formatting Methods. Bank Case Study: Step 4. Type Conversions.16. Exceptions.
Exception Fundamentals. User-Defined Exception Classes. Structured Exception Handling. Bank Case Study: Step 5. Inner Exceptions.17. Interfaces.
Interface Fundamentals. Programming with Interfaces. Dynamic Use of Interfaces. Bank Case Study: Step 6. Resolving Ambiguity.
IV. C# AND THE .NET FRAMEWORK.18. Interfaces and the .NET Framework.
Collections. Bank Case Study: Step 7. Copy Semantics and Icloneable. Comparing Objects. Understanding Frameworks.19. Delegates and Events.
Delegates. Stock Market Simulation. Events.20. Advanced Features.
Directories and Files. Multiple Thread Programming. Attributes. Custom Attributes. Reflection. Unsafe Code.21. Components and Assemblies.
Building Components Using .NET SDK. Assemblies. Multiple Language Applications. Building Components Using Visual Studio.NET. Bank Case Study: Componentized Version. Interoperating with COM.22. Introduction to Windows Forms.
Windows Forms. Simple Forms Using .NET SDK. Windows Forms Event Handling. Menus. Next Steps in Windows Forms and .NET.Appendix A: Learning Resources.
Microsoft's .NET is a revolutionary advance in programming technology that greatly simplifies application development and is a good match for the emerging paradigm of Web-based services as opposed to proprietary applications. Part of this technology is a new language, C#. This new language combines the power of C++ and the ease of development of Visual Basic(TM). It bears striking resemblance to Java(TM) and improves upon that language. C# may well become the dominant language for building applications on Microsoft(R) platforms.
This book is a practical introduction to programming in C# utilizing the services provided by .NET. This book emphasizes the C# language. It is part of the Prentice Hall/Object Innovations series of books on .NET technology.
This book is intended to be fully accessible to programmers who do not already have a strong background in object-oriented programming in C-like languages such as C++ or Java. It is ideal, for example, for Visual Basic or COBOL programmers who desire to learn C#. The book may also be read by more experienced programmers who desire a simple and concise introduction to C# with many example programs. It is structured so that more ex-perienced programmers can cleanly skip the material they already know. Although designed for working professionals, the book includes enough de-tail, careful explanations and sample programs so that it can be useful as a college textbook.
An important thrust of this book is to teach C# programming from an object-oriented perspective. It is often difficult for programmers trained originally in a procedural language to start "thinking in objects." This book introduces object-oriented concepts early, and C# is developed in a way that leverages its object-orientation. A banking system case study is used to illustrate creating a complete system using C# and .NET. Besides supporting traditional object-oriented features such as classes, inheritance, and polymorphism, C# introduces several additional features, such as properties, indexers, delegates, events, and interfaces that make C# a compelling language for developing object-oriented and component-based systems. This book provides thorough coverage of all these features.
C# as a language is elegant and powerful. But to fully utilize its ca-pabilities you need to have a good understanding of how it works with the .NET Framework. The book explores several important interactions between C# and the .NET Framework, and it includes an introduction to major classes for collections, files, threads, and user interface.
The book is organized into four major parts and is structured in a manner to make it easy for you to navigate to what you most need to know. Part 1, which should be read by everyone, begins with an introduction to the .NET Framework, which is the underpinning for all applications and services in the .NET environment. Next comes a short introduction to hands-on pro-gramming using C#, so that you can start writing code on .NET right away. The third chapter introduces Visual Studio.NET, the latest incarnation of Microsoft's popular Visual Studio development environment. The new Visual Studio has many features that make application development easier and more pleasant. You will be equipped to use Visual Studio throughout the rest of the book.
Part 2 covers the C-like features of C#, which are shared by C, C++, Java, and various scripting languages. Thus, if you know any of these C-like languages, you will have a definite leg up in learning C#, and you can quickly skim this section, paying attention to the information in the side-bars. A sidebar will alert you the first time a concept new to C# is intro-duced. Then you will know to look for further elaborations where they occur later. If you are not familiar with C or a similar language, this section is for you. It will quickly bring you up to speed on the core topics of data types, operators, and control structures.
Part 3 is the core of the book, systematically covering the features of the C# programming language that go beyond C. The object-oriented features of C# are covered gradually and thoroughly, making this part of the book accessible to readers without OOP background. A case study is used, illustrating how the object-oriented features of C# work in combination. This case study is progressively built from Chapters 12 through 18. The C# data types, based on the .NET Common Type System, are explored in detail. We cover features new in C# such as properties and indexers. We cover prac-tical issues of formatting and conversions, and we discuss the important topic of exceptions. We conclude this part with a study of interfaces, which provide a better level of abstraction in expressing system functionality.
Part 4 explores thoroughly the relationships between C# and the .NET Framework and introduces some important .NET services. We introduce collections, which generalize arrays, and we examine fundamental operations such as copying and comparing objects. In .NET, interfaces are provided for such basic operations, which makes for a very flexible architecture, as different classes can implement these interfaces in a manner appropriate for them. The .NET Framework provides a very flexible callback mechanism, known as delegates, which has many applications. Delegates are the foundation of events, and they are also used in starting threads. We look at directories and files, multiple thread programming, and attributes. Attributes are a powerful mechanism in .NET, enabling the programmer to accomplish tasks declaratively, with writing little or no code. You can implement your own custom attributes in C#. You can read information about custom attributes, or any other metadata, by a mechanism known as "reflection." C# permits you to code at a lower level by writing "unsafe" code, which can help you interoperate with legacy code. The book concludes with introductions to components and to Windows programming.
The only way to really learn a programming language is to read and write many, many programs, including some of reasonable size. This book provides many small programs that illustrate pertinent features of C# in iso-lation, where they are easy to understand. The programs are clearly labeled in the text, and they can all be found in the software distribution that ac-companies this book. Directions for downloading the software are given be-low.
There is also a major case study, that is progressively developed in Chapters 12 through 18. This case study illustrates many features of C# working together in combination, as they would in a practical application. A special point is made of demonstrating the object-oriented features of C#. If you are new to OO, studying the case study is a must!
The sample programs are provided in a self-extracting file. When ex-panded, a directory structure is created rooted in
c:\OI\CSharp. The sample programs are in directories
Chap2, etc. All the samples for a given chapter are in individual folders within the chapter directories. The names of the folders are clearly identified in the text. Each chapter that contains a step of the case study has a folder
CaseStudy containing that step.
This book is part of the Integrated .NET Series from Object Innovations and Prentice Hall PTR series. The sample programs for other books in the series are located in their own directory underneath
c:\OI, so all the .NET examples from all books in the series will be located in a common area as you install them.
Although exercises are not provided in the book itself, a comprehensive set of exercises is available for download from our website.
A link is provided at that website for downloading the sample programs.