Chương1: Introduce to C# Programming ppt

31 477 0
Chương1: Introduce to C# Programming ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hoang Anh Viet VietHa@it-hut.edu.vn Hà Nội University of Technology Chapter 1. Introduction to C# Programming Microsoft Objectives “This chapter gives a quick glimpse of what a simple C# application looks like, and it describes some basic differences between the C# programming environment and the native C++ environment.” Microsoft Roadmap 1.1.Differences between C# and C++ 1.2. Example of a C# program 1.3. Overview of Features Added in C# 2.0 1.4. Overview of What’s new in C# 3.0 Microsoft Language  C#:  Is a completely an Object-Oriented Language  Every program is class  Every work is done through objects  C++:  Remains some features of procedural language  Example: free functions Microsoft Compiling  C#:  C# source code compiles into managed code, an intermediate language(IL)  At runtime, the Common Language Runtime (CLR) compiles the code by using Just In Time(JIT) compiling  The JIT compiler compiles a function or method only the first time and it produces machine code native to the platform on which it’s running  Pros:  The working set of the application is reduced( the memory footprint of intermediate code is smaller  The CLR can optimize the program’s execution on the fly at run time  C++:  C++ code compiles into native code( the machine code that’s native to the processor) Microsoft Garbage Collection  C#:  One of the key facilities in the CLR is the garbage collector  GC automatically handles memory allocation and deallocation  C++:  Not support  Programmers have to handle memory explicitly Microsoft Programming Generally, C# language is similar to C++ because it is developed from C++ and Java. However, it’s added many new features allowing programmers to program easier and friendlier. Example: • Statement: foreach • Properties: set and get method Microsoft Roadmap 1.1.Differences between C# and C++ 1.2. Example of a C# program 1.3. Overview of Features Added in C# 2.0 1.4. Overview of What’s new in C# 3.0 Microsoft 1.2 Example of a C# Program  1. // Welcome.cs  2. // A first console program in C#.  3. using System;  4. class Welcome  5. {  6. static void Main( string[] args )  7. {  8. Console.WriteLine( "Welcome to C# Programming!" );  9. }  10. } 9 Each application must have exactly one Call a method like C++ Microsoft Roadmap 1.1.Differences between C# and C++ 1.2. Example of a C# program 1.3. Overview of Features Added in C# 2.0 1.4. Overview of What’s new in C# 3.0 [...]... IEnumerator IComparable IComparer Collection KeyedCollection ReadOnlyCollection Nullable EventHandler Comparer Iterators   C# provides interfaces IEnumerable that abstract the ability to enumerate a collection C# 2.0 introduces iterators, easing task of implementing IEnumerable e.g static IEnumerable UpAndDown(int bottom, int top) { for (int i = bottom; i < top; i++)... declaration Parameter and type parameter names do not have to be the same in the implementing declaration as in the defining declaration They cannot make a delegate to a partial method 30 Summary  Differences Between C# and C++   C# 2.0 Enhancements    Sytax, Framework,… Generics, Iterators, Partial types, Anonymous method And much more… New in C# 3.0  Microsoft Implicitly Typed Local Variables, Object... Expressions    Language-Integrated Query (LINQ) A part of C# 3.0 language Allows you to write SQL-like syntax in C# Microsoft 26 Query Keywords Clause from Description Specifies a data source and a range variable (similar to an iteration variable) where Filters source elements based on one or more Boolean expressions separated by logical AND and OR operators ( && or || ) select Specifies the type and shape... External aliases Namespace alias qualifiers Inline warning control Fixed size buffers Microsoft Roadmap 1.1.Differences between C# and C++ 1.2 Example of a C# program 1.3 Overview of Features Added in C# 2.0 1.4 Overview of What’s new in C# 3.0 Microsoft 1.4 Overview of What’s new in C# 3.0        Implicitly Typed Local Variables Object and Collection Initializers Extension Methods Partial Methods... Implicitly Typed Local Variables    Use the new var keyword to implicitly declare a variable Useful in cases where you do not know the exact type of data and you need the compiler to determine for you Examples var i = 5; var s = "Hello"; Are equivalent to: int i = 5; string s = "Hello"; Microsoft 20 Object and Collection Initializers  Enables you to combine declaration and initialization one object in... data sources based on an equality comparison between two specified matching criteria Introduces a range variable to store subexpression results in a query expression 28 Expression Trees      New type: System.Expressions.Expression Simply an in-memory representation of a lambda expression Allows expressions to be treated as data at runtime Can modify and inspect lambda expressions at runtime... Extension Methods    Enable you to extend various types with additional static methods Can be declared only in static classes and are identified by the keyword "this“ This allows you to take advantage of the extensible nature of various built-in or defined types and add newer methods to them Microsoft 22 Anonymous Types  Create an instance of a class without having to write code for the class beforehand... the type and shape that the elements in the returned sequence will have when the query is executed group Groups query results according to a specified key value Microsoft 27 Query Keywords(2) Clause Description into Provides an identifier that can serve as a reference to the results of a join, group or select clause orderby join let Microsoft Sorts query results in ascending or descending order based...1.3 Overview of Features Added in C# 2.0  Generics  Iterators  Partial types  Anonymous method Microsoft Generics  Generics?  Similar Templates in C++  Type checking, no boxing, no downcasts  Increased sharing (typed collections)  How are C# generics implemented?  Instantiated at run-time, not compile-time  Checked at declaration,... nCount; } //second file (MyClass_2.cs) public partial class MyClass { private bool isPresent } Microsoft Anonymous methods   Delegates are clumsy: programmer has to name the function and “closure-convert” by hand So C# 2.0 introduced anonymous methods  No name  Compiler does closure-conversion, creating a class and object that captures the environment e.g bool b = xs.Exists(delegate(int x) . Introduction to C# Programming Microsoft Objectives “This chapter gives a quick glimpse of what a simple C# application looks like, and it describes some basic differences between the C# programming. classes  Reflection List<T> Dictionary<K,V> SortedDictionary<K,V> Stack<T> Queue<T> IList<T> IDictionary<K,V> ICollection<T> IEnumerable<T> IEnumerator<T> IComparable<T> IComparer<T> Collection<T> KeyedCollection<T> ReadOnlyCollection<T> Nullable<T> EventHandler<T> Comparer<T> Microsoft Iterators  C# provides interfaces IEnumerable<T> that abstract the ability to enumerate a collection  C# 2.0 introduces iterators, easing task of implementing. yield static IEnumerable<int> UpAndDown(int bottom, int top) { for (int i = bottom; i < top; i++) { yield return i; } for (int j = top; j >= bottom; j ) { yield return j; } } foreach (int

Ngày đăng: 02/08/2014, 09:20

Mục lục

  • 1.2 Example of a C# Program

  • Implicitly Typed Local Variables

  • Object and Collection Initializers

Tài liệu cùng người dùng

Tài liệu liên quan