0% found this document useful (0 votes)
40 views

C# Presentation: Trey Mack James Moore Osa Osar-Emokpae

This document summarizes a presentation about the C# programming language. It discusses C#'s history and development by Microsoft and Anders Hejlsberg. Key features of C# highlighted include its use of OOP, enumerators, operator overloading, Windows API invocation, structured error handling with try-catch blocks, delegates, and namespaces. Examples of C# code are provided to illustrate these features. The presentation concludes that C# will likely become widely used due to its flexibility and support for multiple languages through the .NET framework.

Uploaded by

abel bahiru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

C# Presentation: Trey Mack James Moore Osa Osar-Emokpae

This document summarizes a presentation about the C# programming language. It discusses C#'s history and development by Microsoft and Anders Hejlsberg. Key features of C# highlighted include its use of OOP, enumerators, operator overloading, Windows API invocation, structured error handling with try-catch blocks, delegates, and namespaces. Examples of C# code are provided to illustrate these features. The presentation concludes that C# will likely become widely used due to its flexibility and support for multiple languages through the .NET framework.

Uploaded by

abel bahiru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

C# Presentation

Trey Mack
James Moore
Osa Osar-Emokpae
Introduction
C#, pronounced “C Sharp,” is one of
the new languages in the .NET
framework being implemented by
Microsoft. All .NET languages
compile to a common byte code
(MSIL) making their integration into
programs written in different
languages easier.

C# Presentation, Spring 2003


History
 C
 C++
 Developed by Anders Hejlsberg
• Turbo Pascal
• Delphi
• Visual J++
 Released in 2001-2002

C# Presentation, Spring 2003


Previous Problems
 Memory Leaks
 Illegal Pointer References
 Overly Complex Multiple-Inheritance
 Static Linking

C# Presentation, Spring 2003


Resolutions
 Garbage Collection
 Threw out pointers
 Single inheritance with Interfaces
 Dynamic Linking
 Done 5 years ago in Java

C# Presentation, Spring 2003


What is C#

 Contrary to popular belief, C# is


not simply a clone of or
replacement for Java
 According to Anders Hejlsberg,
Microsoft’s Chief Architect, C# is a
derivation of C++, C, Java, Modula
2, and Smalltalk

C# Presentation, Spring 2003


What is C#

 C# combines the best features of


these languages and eradicates
some of their weaknesses

C# Presentation, Spring 2003


Why Choose C#?
 C# was designed from scratch with
the .net framework in mind
 C# combines the power of C and C+
+ with the productivity of Visual
Basic
 With its familiar syntax the transition
for Java and C++ programmers will
be an easy one
C# Presentation, Spring 2003
Why Choose C#?
C# is in sync with current web
standards and is easily integrated
with existing applications.
In today’s society where internet
programming is inevitable having a
language that already supports this
makes the job of the developer
easier.
C# Presentation, Spring 2003
Example of Code
The code looks a lot like Java

public class Example


{
public static void Main(string[] args)
{
foreach (string s in args)
{
System.Console.WriteLine(s);
}
}
}

C# Presentation, Spring 2003


Features
 OOP

C# Presentation, Spring 2003


OOP
C# is object oriented. Every class is a
subclass of an object. Everything is
an object, yes even primitives. This
makes generic programming easier.

Example:
int n = 3;
string s = n.ToString();
C# Presentation, Spring 2003
Features
 OOP
 Enumerators

C# Presentation, Spring 2003


Enumerators
Enumerators are a borrowed idea
from C/C++. This is a data type
consisting of a set of of named
integers.
Example:
enum Weekday {Mon, Tues, Wed, Thu,
Fri, Sat, Sun};

C# Presentation, Spring 2003


Features
 OOP
 Enumerators
 Operator Overloading

C# Presentation, Spring 2003


Operator Overloading
Operator Overloading is yet another
idea borrowed from c++. This
makes polymorphism easier with
custom data types.
Example:
Currency a, b, c;
c = a + b;

C# Presentation, Spring 2003


Features
 OOP
 Enumerators
 Operator Overloading
 Windows API Invocation

C# Presentation, Spring 2003


Windows API Invocation
C# was built with Windows in mind.
It was created to allow programmers
to create Windows application easily
through a wraparound API. Some
other technologies supported are
COM, COM+.

C# Presentation, Spring 2003


Features
 OOP
 Enumerators
 Operator Overloading
 Windows API Invocation
 Structured Error Handling

C# Presentation, Spring 2003


Structured Error Handling
C# introduces new error handling
techniques.
Try-catch blocks are used but with
more functionality.
To throw an object, it has to be a
subclass of System.Exception.

C# Presentation, Spring 2003


Try-Catch
try-catch blocks could be any of the following;

 try{ } catch(SomeException){ }
 try{ } catch(){ } //catches any kind of exception
 try{ } catch(){ } finally{ } //finally is always executed
 try{ } finally{ } //finally is always executed

C# Presentation, Spring 2003


Features
 OOP
 Enumerators
 Operator Overloading
 Windows API Invocation
 Structured Error Handling
 Delegates

C# Presentation, Spring 2003


Delegates
Delegates provide a template for a
single method.
Example:
 public delegate int ArithOp(int a, int b);
 …
 public int DoOp(ArithOp ar)
 { return ar(a, b); }

C# Presentation, Spring 2003


Features
 OOP
 Enumerators
 Operator Overloading
 Windows API Invocation
 Structured Error Handling
 Delegates
 Namespaces
C# Presentation, Spring 2003
Namespace
Namespace is a method of organizing
similar files together. This is similar in
some way to the java package idea.
Every program is either explicitly within a
namespace or in by default.
Example:
 namespace Project{ public class P1{} }
 public class P2{}

C# Presentation, Spring 2003


Namespace
To use a namespace, you just simply import
by using the keyword using.

Example:
using system;
public class P1{}

C# Presentation, Spring 2003


Future of C#
With C#’s flexibility and support for
many languages through the .NET
architecture it will definitely become
a widely used language in all
aspects of programming.

C# Presentation, Spring 2003


Bibliography
 C# programming, Harvey, Robinson, Templeman,
Watson
 http://www.funducode.com/csharp/basics/
basics1.htm
 http://www.simonrobinson.com/DotNET/
Articles/Languages/IntroCSh.aspx
 http://windows.oreilly.com/news/
hejlsberg_0800.html
 http://msdn.microsoft.com/msdnmag/issues/
0900/csharp/default.aspx

C# Presentation, Spring 2003

You might also like