Presentation is loading. Please wait.

Presentation is loading. Please wait.

C#: Project Cool Arthur Ketchel II Keith Francisco Chris McInnis.

Similar presentations


Presentation on theme: "C#: Project Cool Arthur Ketchel II Keith Francisco Chris McInnis."— Presentation transcript:

1 C#: Project Cool Arthur Ketchel II Keith Francisco Chris McInnis

2 Language Paradigm Simple, Modern, General Purpose Structured, Imperative, Objected Oriented Designed for Software Component Development Not designed to compete with C on performance or size. − JIT compiled

3 Historical Context C# was developed by Microsoft. Lead Architect: Anders Hejlsberg − Worked on other languages, such as: Delphi Codename of C# was Project Cool − Microsoft denies this but there is evidence to prove otherwise in code snippets and file paths. The language received its name from music, as a sharp (#) is a semi-tone above the base note.

4 C#’s Origin Before creating C#, Microsoft implemented a modified Java environment, called J++. Microsoft was said to have added features in a manner that violated platform neutrality, violating a license agreement that Microsoft signed with Sun Microsystems in return for using the Java brand. Sun Microsystems sued and won, preventing Microsoft from using the Java brand and thus further production of J++. With the release of the.NET framework (and C#), the project was revived in the form of J#. During the development, C# was driven by CLR or Common Language Runtime. At compile-time, a.NET compiler converts such code into CIL code. At runtime, the CLR's just-in-time compiler converts the CIL code into code native to the operating system

5 C# and Java Both languages are Objected Oriented, Garbage Collected and run-time compiled (JIT). In Java, wrapper classes must be used for primitive types in order to translate between their primitive data and object forms. − Java: Integer.toString(42); − C#: 42.toString(); Unlike Java, C# allows conditional compilation using preprocessor directives. C# only supports unchecked exceptions, which do not require the programmer to declare and catch all exceptions thrown by a method.

6 The C Language Family Comparison of C# to C and C++ − C# has no global variables or functions. All methods and members must be declared within classes. − In C#, local variables cannot shadow variables of the enclosing block, unlike C and C++. − C# supports a strict boolean type, bool, and does not allow conversion between an integer meaning bool (0, false – 1, true) − In C#, multiple inheritance is not supported, although a class can implement any number of interfaces. − Accessors called properties can be used to modify an object with syntax that resembles C++ member field access (get and set). − C# has a unified type system. This means that all types, including primitives such as integers, are subclasses of the System.Object class. For example, every type inherits a ToString() method. (42.ToString() calls the ToString() method of an integer)

7 C# Language Concepts Object Oriented − Everything from data types to classes inherit from a base Object class − No global variables or methods, everything is encased within classes.

8 C# Language Concepts Memory Management − Memory cannot be explicitly freed. Memory is managed by the garbage collector. − Garbage collector protects against memory leaks. − Pointers can only be used within unsafe code blocks.

9 C# Interesting Concepts You may use foreach on lists as well as for loops. Properties can expose member variables much like get and set methods. partial classes help break down large class files.

10 Future Concepts (C# v3.0) Language Integrated Query will allow for queries on SQL, XML, collections, and more (from, where, select) Automatic properties will decrease code length.

11 Code Sample (factorial – recursion)

12 Code Sample (factorial – foreach)

13 Code Sample (factorial – for)


Download ppt "C#: Project Cool Arthur Ketchel II Keith Francisco Chris McInnis."

Similar presentations


Ads by Google