Tài liệu học lập trình C# cho sinh viên và mọi người.
[...]... 943 Application Domain Architecture Creating and Destroying Application Domains Using Multiple Application Domains Using DoCallBack Monitoring Application Domains Domains and Threads Sharing Data Between Domains 943 945 946 948 949 950 951 25 Native and COM Interoperability 957 Calling into Native DLLs Type Marshaling Callbacks from Unmanaged Code Simulating a C Union... types, as shown in Figure P-1 A slanted rectangle means an abstract class; a circle means an interface A line with a hollow triangle denotes inheritance, with the triangle pointing to the base type A line with an arrow denotes a one-way association; a line without an arrow denotes a two-way association Figure P-1 Sample diagram The following typographical conventions are used in this book: Italic Indicates... that spans two lines */ Comments may embed XML documentation tags, explained in “XML Documentation” on page 176 in Chapter 4 Type Basics A type defines the blueprint for a value A value is a storage location denoted by a variable or a constant A variable represents a value that can change, whereas a 12 | Chapter 2: C# Language Basics constant represents an invariant (we will visit constants later in the... actually create instances of a Console—one console is shared across the whole application To contrast instance from static members, in the following code the instance field Name pertains to an instance of a particular Panda, whereas Population pertains to the set of all Panda instances: public class Panda { public string Name; public static int Population; public Panda (string n) { Name = n; Population... those libraries (and also serves as a navigational aid to the book) The CLR is the runtime for executing managed code C# is one of several managed languages that get compiled into managed code Managed code is packaged into an assembly, in the form of either an executable file (an exe) or a library (a dll), along with type information, or metadata Managed code is represented in Intermediate Language or... For example: static int Main (string[] args) { } 8 | Chapter 2: C# Language Basics An array (such as string[]) represents a fixed number of elements of a particular type Arrays are specified by placing square brackets after the element type and are described in “Arrays” on page 32 In our example, the two methods are grouped into a class A class groups function members and data members to form an object-oriented... Framework 2 C# Language Basics In this chapter, we introduce the basics of the C# language All programs and code snippets in this and the following two chapters are available as interactive samples in LINQPad Working through these samples in conjunction with the book accelerates learning in that you can edit the samples and instantly see the results without needing to set up projects and solutions in. .. ("This will print"); In C#, predefined types (also referred to as built -in types) are recognized with a C# keyword The System namespace in the NET Framework contains many important types that are not predefined by C# (e.g., DateTime) Type Basics | 13 C# Basics All values in C# are an instance of a specific type The meaning of a value, and the set of possible values a variable can have, is determined by its... return any value to its caller: static void Main() C# recognizes a method called Main as signaling the default entry point of execution The Main method may optionally return an integer (rather than void) in order to return a value to the execution environment The Main method can also optionally accept an array of strings as a parameter (that will be populated with any arguments passed to the executable)... data—32 bits—and provides function members that use that data, such as ToString Similarly, our custom UnitConverter type acts as a blueprint for unit conversions It holds data—the ratio—and provides function members to use that data Constructors and instantiation Data is created by instantiating a type Predefined types can be instantiated simply by using a literal For example, the following line instantiates