Transcript Document
QuickStart C#
Learning to Program in C#
Amy Roberge & John Linehan
November 7, 2005
Applied Computing Technology Laboratory
The C# Programming Language
Developed in 2000
Created by Microsoft as part of their .NET platform to
unite programming languages for web based usage
Microsoft chose the chief programmer of Delphi,
Anders Hejlsberg, to lead the development of C#
Based on C++ and Java. More of an extension of
existing languages than a new one.
The name C# is supposed to be a progression of C++
and the # contains four + symbols
.NET is proprietary. Mono is an open source project
led by Novell to make a compatible set of .NET tools
Applied Computing Technology Laboratory
2
C# vs. Java
Similarities
Require a virtual
machine
Similar syntax
Automatic garbage
collection
Object oriented
Large class library
C# over Java
Allows “structs”
Switch statements can
be applied to strings
(vs. characters or
numbers)
Support for output
parameters, allowing
multiple values to be
returned
Applied Computing Technology Laboratory
3
C# Advantages
Only allows single inheritance, but can
implement any number of interfaces
Provides a balance of C++, rapid
development, Visual Basic, Delphi, and
Java
Automatic garbage collection
Applied Computing Technology Laboratory
4
C# Disadvantages
Requires the .NET Runtime Environment
to run
More overhead
Doesn’t have true multiple inheritance
“Unsafe code” is required to manage
memory directly and can be very
complex and difficult to debug
Applied Computing Technology Laboratory
5
C# Specification
Available from MSDN (Microsoft Developer Network):
http://msdn.microsoft.com/vcsharp/programming/language/
Current as of 3/2005, C# 2.0
Explains:
Grammar
Structure
Generics
Types, values, variables, iterators
Type conversions and promotions
Classes, methods
Arrays, exceptions, execution, blocks, statements,
expressions, declarations, interfaces, arguments
Applied Computing Technology Laboratory
6
C# Grammar
Available on MSDN web site
http://msdn.microsoft.com/library/default.asp?url=/library/enus/csspec/html/vclrfcsharpspec_c.asp
Example:
Type:
Identifier [TypeArguments]{ . Identifier [TypeArguments]} {[]}
BasicType
TypeArguments:
< TypeArgument {, TypeArgument} >
TypeArgument:
Type ? [( extends | super ) Type]
Identifier:
IDENTIFIER
BasicType:
byte | short | char | int | long | float | double | boolean
Applied Computing Technology Laboratory
7
Reserved Words
abstract
as
base
bool
break
byte
case
catch
char
checked
class
const
continue
decimal
default
delegate
do
double
else
enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implicit
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
virtual
void
volatile
while
Applied Computing Technology Laboratory
8
Step 1: Getting Started
Download & install .NET Framework
SDK 1.1:
http://www.microsoft.com/downloads/details.aspx?familyid=9b3a2ca6-3647-40709f41-a333c6b9181d&displaylang=en
Double-click on file to run installer
Follow all the defaults
Applied Computing Technology Laboratory
9
Step 2: SharpDevelop
Opensource IDE
Download & install SharpDevelop from:
http://www.icsha`rpcode.net/OpenSource/SD/Download/
Run the installation and launch
SharpDevelop
Applied Computing Technology Laboratory
10
Step 3: Write a simple program
File->New->Combine
Select “C#” category and new Console
Application template and click Create
Name project “Hello World”
SharpDevelop recognizes the Hello
World name and automatically produces
the code
Applied Computing Technology Laboratory
11
Hello World
using System;
namespace Hello_World
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Applied Computing Technology Laboratory
12
Step 4: Run the program
Click Build
Select Build Combine
View the console at the bottom for
progress
After the file is compiled, select Debug
and then click Run.
Watch the command prompt window
open and display the output
Applied Computing Technology Laboratory
13
Learning more about C#
Visit the QuickStart Languages web site
http://actlab.csc.villanova.edu/quickstart
Visit C# Station
http://www.csharp-station.com/
Visit the Microsoft Developer Center
http://msdn.microsoft.com/vcsharp/
Find Helpful C# tools
http://msdn.microsoft.com/vcsharp/programming/tools/
Wikipedia
http://en.wikipedia.org/wiki/C_Sharp
Applied Computing Technology Laboratory
14