Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
252,5 KB
Nội dung
Introduction to C# Tom Roeder CS 215 2006fa Goals of the course Introduce C# language ECMA standard originally developed by MSR not just Java + C++ many extensions Introduce .NET framework future of Windows base of Microsoft’s C# implementation Non-goals Teach you to program should be very comfortable writing OO code we will not cover much if any basic programming Introduce object oriented languages not even teach you OO style (except wrt C#) expected to write all code in OO style Give you a detailed grade S/U only even homework S/U Details Requirements for the course come to lecture participate do three assignments Assignments are S/U will not be giving a detailed grade show me that you understand the concepts, and can write C# code All three assignments will be online soon must be completed by the end of the course Administrative Details Class time MWF 12:20-1:10 office hours: W 10:30-12 or by appointment tmroeder@cs.cornell.edu (4112 Upson) Prerequisites: CS 211/212 really: experience in OO coding/concepts Academic Integrity Do not submit work that is not your own minimum penalty: U in the course Useful Tools Visual C# Express: Google “Visual C# Express” in Visual Studio: MSDNAA must be version 2005: we need C# 2.0 Mono: http://www.go-mono.com Open Source impl for Linux: not quite at 2.0 Rotor: http://msdn.microsoft.com/net/sscli Shared Source impl for Windows (through 2.0) Used to work on BSD / OS X, too Useful Tools Portable.NET: http://www.dotgnu.org yet another open source impl CMS: http://cms.csuglab.cornell.edu we will use this for homework turn on your email notifications! Course Webpage: http ://www.cs.cornell.edu/courses/cs215 will post lectures online as well as any errata for the homework CSUGLab You all will have accounts MSDNAA access: let me know if you don’t currently have it http://www.csuglab.cornell.edu/userinfo.html Visual Studio .NET 2005 should be installed there Syllabus Syllabus (10 more lectures) C# constructs: 5 lectures Types, Delegates, Generics, Reflection, Iterators .NET Memory Management: 1 lecture Topics: 4 lectures C# 3.0, Threading, Security, MSIL, MSH Quiz 1 Each class will begin with a quiz not for credit but for knowledge but I will collect them and see what you know Today’s quiz will be on prerequisites OO programming, mainly to do with Java If you don’t know Java, but do have OO experience, it’s OK talk to me after if you have trouble [...]... in files called “assemblies” code and metadata dll as before to run: public static types private: local directory, not accessible by others void Main(string[] args) eg Wolfram NETLink shared: well-known location, can be GAC strong names: use crypto for signatures then can add some versioning and trust COM vs NET Historically, COM provided this integration support for interfaces... called when constructors are called subset of the types in CTS are allowed Code that takes UInt32 in a public method UInt32 is not in the CLS Can mark classes as CLS-compliant not marked is assumed to mean not compliant The Class Libraries The common classes used in many programs like Java Class Library eg System.Console.WriteLine XML, Networking, Filesystem, Crypto, containers Can inherit...What is NET? A Framework in which to run code A Common Language Runtime (CLR) runs all programs C# compiles to Microsoft Intermediate Language MSIL runs on CLR Virtual Machine like Java code written in many languages compiles to MSIL A Common Language Specification (CLS) A Common Type System (CTS) What is NET? Web Services... GUID, lookup the type library dynamically instantiate class do RPC to make calls in many cases Difficult to get right software engineering problems not type safe at all ASP.NET and ADO.NET Use NET languages in web pages thus can write typesafe code server-side or client-side Sharepoint interactions can log in Use the CLR to access databases in the manner of ODBC provides classes for... Operating System From MSDN What is the CLR? Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine MSIL to Native Compilers (JIT) Code Manager Class Loader From MSDN Garbage Collector (GC) What is the CTS? A set of common types any language that runs in CLR should implement no syntax specified Languages often define aliases For example... Constructions of Note using namespace like import in Java: bring in namespaces disambiguation of names like Internet hierarchical names and Java naming class like in Java single inheritance up to object Constructions of Note Console.Write(Line) Takes a formatted string: “Composite Format” Indexed elements: e.g., {0} can be used multiple times only evaluated once {index [,alignment][:formatting]} . Syllabus Syllabus (10 more lectures) C# constructs: 5 lectures Types, Delegates, Generics, Reflection, Iterators .NET Memory Management: 1 lecture Topics: 4 lectures C# 3.0, Threading,. for Linux: not quite at 2.0 Rotor: http://msdn.microsoft.com/net/sscli Shared Source impl for Windows (through 2.0) Used to work on BSD / OS X, too Useful Tools Portable.NET: http://www.dotgnu.org. Introduction to C# Tom Roeder CS 215 2006fa Goals of the course Introduce C# language ECMA standard originally