A computer programming language, also called a computer
language, or a programming language, is used to give instrauctions to a
computer to perform a specific assignment. Like a spoken language, a
computer language has meaning words, syntaxes, grammar, formulas, and rules
that must be followed to construct meaningful sentences.

Just like there are many languages, there are also
various types of computer languages. A significant characteristic of
computer languages, as opposed to human languages, is that they are
categorized by roles or purposes.

Hardware is a series of objects that can receive
instructions from a computer language. The hardware can consist of all the
parts used on a cell phone, a microwave oven, a car, the roller coaster of
an amusement park, a health care machine, or a personal computer. Some
languages deal with specific hardware or some instructions can target a
specific environment, such as a cell phone or a roller coaster. Such an
environment uses a specific operating system that cannot be carried from one
machine to another. Some other languages do not specify the hardware they
are meant to serve.

Some languages are used to solve a specific type of
problem and they cannot perform general assignments. For example, some
languages used on the Internet are meant to display things on a browser.
Such languages cannot perform arithmetic or geometric calculations. Some
other languages are used to operate on specific values, such as true or
false values. Some other languages are used to solve all, or almost all,
types of problems. Languages in this latter category are probably the most
regularly used. These are refferred to as general purpose languages.

C#, pronounced c sharp, is a general purpose programming
language used to create instructions for the computer to solve a problem or
to assist a user with performing an assignment. C# is a universal language
that is used on many operating systems, including Microsoft Windows. C# is
one of the languages used in the Microsoft .NET Framework. The Microsoft
.NET Framework is a library of objects that create or draw things on the
computer.

Introduction to C# Projects

A computer project is a group of files and objects that
contain the necessary instructions for the intended application to produced
the desired results. A C# project is made of one or more files that contain
the instructions of the project. A simple C# project can contain one file
that holds all the necessairy instructions. An advanced project would
contain more than that. To narrow our goal, our lessons will focus only on
the C# language. The language is very huge so much that we may need more
than fourty lessons just to cover the essentials. But don't be discouraged.
This language is fun and helps you understand many things about computer
programming. Also, we assume you don't know any language. So we will learn
scratch.

Introduction

Console Applications

The C# language is used to create applications that
display on a black window referred to as the DOS prompt or DOS window. Those
are the types of applications we will create in our lessons. To start such
an application, you can write the instructions in a normal text editor such
as Notepad or you can use a programming environment such as Microsoft Visual
Studio or Microsoft Visual C# 2010 Express. Our lessons assume that you have
access to one of those. We also assume that you have installed the
programming environment you will use to follow the lessons, unless you
decide to use Notepad, which is part of Microsoft Windows.

To create a new application, on the main menu, click File -> New
Project...

In the middle list, click Console Application

Change the Name to gdcs1 (which stands for Georgetown Dry
Cleaning Services 1)

Click OK

Creating a File for Code

The programs we will write are meant to give
instructions to the computer. You write these instructions in easy to
understand English words. We will find out what those words are. This means
that a regular instruction uses normal text with alphabetic characters,
numbers, and non-readable symbols.

You can write your instructions using any text editor
such as Notepad, WordPad, WordPerfect, or Microsoft Word, etc. When writing
your instructions, there are rules your must follow and suggestions you
should observe. The group of instructions used by your program is also
referred to as code.

To assist you with writing code, if you use Microsoft
Visual C# Express or Microsoft Visual Studio Professional, it includes a
text editor referred to as the Code Editor. If you create your project as a
Console Application, a default file would be created and you can customize
it. If you start your program as an empty project, you must explicitly add a
file to it. To do that:

On the main menu, click Project -> Add New Item...

In the Solution Explorer, right-click the name of the project,
position the mouse on Add, and click New Item...

Any of these actions would display the Add New Item
dialog box. From there, in the middle list, click Code File. Accept the name
or change it. When you click OK, a blank document would display. In the same
way, you can add as many files as you need for your project.

Application:
Creating a File

To add a file for the code, on the main menu, click Project -> Add
New Item...

If you are using Microsoft Visual Studio, in the left list, expand
Visual C# Items and click Code.In the middle list, click Code File

Change the name to CleaningOrder

Click Add

The Primary C# Code

To create the most basic application in C#, there is a
very basic code you must write. This code looks as follows:

This code contains many things, in fact all of its
things, we cannot explain at this time. We rather wait for appropriate
sections in later lessons. Unfortunately, each one of the items in this code
is required:

Console and WriteLine will be
introduced in Lesson 6 and
expanded in other lessons

The double-quotes " will be formally introduced in
Lesson 4 and
heavily used in Lesson 28

We kept this code to a minimum. Every word and every
operator in this code is required but there are various ways that each of
these words and operators can be used. For now, please use this code "as
is". We can safely promise that by the end of these lessons, you will know
everything about those words.

A comment is a line or paragraph of text that will not
be considered as part of your code. There are two types of comments
recognized by C#.

To display a comment on a line of text, start the line
with two forward slashes //. Anything on the right side of // would be
ignored. Here is an example:

// This line will be ignored. I can write in it anything I want

The above type of comment is used on only one line. You
can also start a comment with /*. This type of comment ends with */.
Anything between this combination of /* and */ would not be read. Therefore,
you can use this technique to span a comment on more than one line.

While you can manually create comments, Microsoft Visual
Studio provides a tool that can assist you. To add a comment on a line,
click anything on that line. Then, on the Standard toolbar, click the
Comment Out the Selected Lines button
.
To add comments to many adjacent lines, select text on those lines and click
the Comment Out the Selected Lines button
.
To remove the comments, click the line or select text on the lines. Then, on
the Standard toolbar, click the Uncomment the Selected Lines button
.

Application:
Creating Comments

To create comments, change the file as follows:

// Application Name: Georgetown Dry Cleaning Services
class Order
{
// This application is used to perform processing orders for this business
static void Main()
{
/* Always greet the customers before processing an order.
Check the types of clothes a customer has brought.
Find out the type of cleaning (starch, etc) the customer wants.
If there are special needs the customer has, make a note. */
System.Console.WriteLine("Georgetown Dry Cleaning Services");
System.Console.ReadKey();
}
}

Managing Files

Introduction

In Microsoft Visual C# 2010 Express and in Microsoft
Visual Studio, when a project is made of various files, each file is
represented by a label in the top section of the Code Editor. Here are
examples:

Each file is also represented in the main menu under
Windows.

The Solution Explorer

The Solution Explorer is a window that displays a list
of the files that make up a project. To access the Solution Explorer:

If the Solution Explorer is not yet showing on the screen:

On the main menu, click View -> Solution Explorer

On the Standard toolbar, click the Solution Explorer button

If the Solution Explorer is already showing, click its tab

The Solution Explorer is made of four sections. Like
every regular window, the Solution Explorer is equipped with a title bar
that displays its name on the left side and three buttons on the right side:

The Window Position button
displays a menu when you click it:

The Float option is enabled if the window is docked to a side of
the screen. The Float option is disabled if the window is already
floating. If the window is docked and you click Float, it would be moved
from its docked position and would float. As an alternative to float a
docked window, drag its title bar away from its docked position:

To dock a floating window, drag its title bar

Under its title bar, the second section of the Solution
Explorer is a toolbar::

The Properties button allows you to display the Properties window

The Show All Files button is used to show the hidden files of the
project

As its name indicates, the Refresh button is used to refresh the
list of files and resources of the project

The View Code button is used to show the code of a class

The third part of the Solution Explorer is its body. It
shows the folders, files, and resources that are part of the current
project. To expand a node, you can either click its button or double-click
its name. To collapse a node, either click its button or double-click it.

The root of the list is the name of the solution. Under
the root is the name of the current project. If the solution contains more
than one project, the name of each project is represented under the
solution. Inside of the project are its folders, files, and resources. The
first item under a project name is References. After the References node,
there are the names of the classes that are part of the project.

The fourth part of the Solution Explorer is its tab.

The Properties Window

The Properties window shows the Windows operating
system's details of the files or resources used in a project. To display it:

If the Properties window is not yet displaying

On the main menu, click View -> Properties window

On the Standard toolbar, click the Properties button

If the Properties window is displaying already, click its tab

The display and rectangular behavior of the Properties
window follows the description we had for the Solution Explorer.

To show the operating system's characteristics of a
project or a file, in the Solution Explorer, click the object:

If you click a solution, the Properties window would show its name
and its location

If you click a project, the Properties window would show its project
file

If you click a file, the Properties window would show its name (in
the File Name field) and its location (in the Full Path) field

The Properties window displays different fields
depending on the item selected in the Solution Explorer. You can change some
things in the Properties window. When a field is disabled, it means you
cannot modify it.

Accessing or Opening a File

If you are using a text editor to write your code, you
can use that editor to open a file. For example, in Notepad, you can click
File -> Open... If you are trying to open a C# file, first change the file
type combo box to All Files (*). Then locate the file from its folder and
click Open.

If a file is a member of the current project, to open
it:

On the main menu, click Window and click the
name of the file

In the top section of the Code Editor, click the label that holds
the name of the file

In the Solution Explorer, double-click the name of the file

If you are using Microsoft Visual C# 2010 Express or
Microsoft Visual Studio, to open a file:

On the main menu, click File -> Open File...

On the Standard toolbar, click the Open File button

Any of these actions would display the Open File dialog
box. From there, locate the file from its folder and click it. When you
click Open, Microsoft Visual Studio will try to open the file. If it can, it
would display it inside its interface. If it cannot, it would start looking
for a program in the computer that can open the file and hand the job to it.
That application would then decide whether it can open the file or not. For
example, if you try opening a video (a file with AVI, MOD or another video
extension), Microsoft Visual Studio would launch the Windows Media Player
that would then try to play the video.

Besides the Code Editor, the integrated development
interface (IDE) of the Microsoft Visual C# 2010 is made of various parts,
which we will review when necessary.

Solution and Project Management

Introduction

We have seen how to create a console application.
Microsoft Visual Studio allows you to create various other types of
applications. This is why you should first display the New Project dialog
box to select your option. Besides console applications, in future lessons,
we will also learn how to create a library using the Class Library option.

Code Snippets

Microsoft Visual C# ships with many skeleton codes you
can use and customize. It writes the primary code for you and add all the
necessary default behaviors. Once it has done this, you can change or remove
any section. To access these code skeletons, in the section of the file
where you want to add it, right-click and click Insert Snippet...:

In the menu that comes up, double-click Visual C#:

This would display a list of codes:

If you see the type of code you want to use,
double-click it.

In some cases, if you have already written some code,
you may want to change it or rather add some code to it. The Code Editor
provides some skeleton codes you can use. To use this approach, right-click
the code you want to modify and click Surround With... In the list that
appears, double-click the desired option.

Code Colors

Code is written in a wide area with a white background.
This is the area you use the keyboard to insert code with common readable
characters. The Code Editor uses some colors to differentiate categories of
words or lines of text.

The colors used are highly
customizable. To change the colors, on the main menu, you can click Tools ->
Options... In the Options dialog box, in the Environment section, click
Fonts and Colors. To set the color of a category, in the Display Items
section, click the category. In the Item Foreground combo box, select the
desired color. If you want the words of the category to have a colored
background, click the arrow of the Item Background combo box and select one:

In both cases, the combo boxes display a fixed list of
colors. If you want more colors, you can click a Custom button to display
the Color dialog box that allows you to "create" a color.

Indentation

Indentation is another feature that makes your program
easy to read. Indentation is a technique of grouping lines of code by
category. To delimit the items of your code, you should indent them by two
empty spaces or one tab. Indentation should be incremental. That is, when a
line of code appears to be a child of the previous line, the new line should
be indented.

To control the indentation of your code, on the main
menu, click Tools -> Options... In the left list, expand C#, followed by
Formatting and click Indentation. Then change the options on the right side:

After making the changes, click OK to validate or Cancel
to ignore.

Saving a Project

If you are creating your application using a text
editor, you must save your file(s) in a folder you will create.

In previous versions of Microsoft Visual C# (namely 2002
and 2003), you always had to formally create a project in order to use one
and you always had to save it. After realizing that many of the projects
that developers or students create are for experimental purposes, Microsoft
provided the ability to only temporarily create a project, then to save it
or not. Saving a project allows you to keep it on a medium so you can refer
to it later.

When Microsoft Visual Studio 2010 (any edition) is
installed, it creates a folder named Visual Studio 2010 in your Documents
folder. The Documents folder is called your personal drive or your personal
directory. Inside of the Visual Studio 2010 folder, it creates a sub-folder
named Projects. By default, this is where it would save your projects, each
with its own folder.

To save a project, on the Standard toolbar, you can
click the Save All button
.
Alternatively, on the main menu, you can click File -> Save All. If the
project had already been saved but you want to save it under a different
name, on the main menu, you can click File -> Save project name As...

Opening a Project

There are a various ways you can open an existing
project:

On the main menu, click File -> Open Project...

On the Start Page, click Open Project...

Press Ctrl + Shift + O

A Solution

A solution is used to coordinate the different aspects
of an application that is being created. When you create a project, it
represents one detail of the application you have in mind. Besides the code
you are writing, you may want to add other items. Instead of one project, in
the next sections, we will see that a solution can contain more than one
project.

When creating a project, the solution holds the same
name as the project. You can see their names in the Solution Explorer:

The solution and a project can have different names.
While working on a project, to rename the solution, in the Solution
Explorer, you can click the first node, which is the name of the solution
starting with Solution. Then, in the Properties window, click (Name) and
type the name of your choice:

This name is temporary, especially if you have not yet
saved the project. If you want to permanently save a solution for later use,
there are two techniques you can use.

If you start saving a project for the first time, it
would bring the Save Project dialog box. By default, Microsoft Visual Studio
selects your personal directory as the path to the solution. This is called
the location. In the location, Microsoft Visual Studio creates a folder as
the solution of the project. The solution must have, or must be stored, in
its own folder. As mentioned earlier, Microsoft Visual Studio uses the name
of the project as the name of the solution. To rename the solution, you can
change the string in the Solution Name text box. Remember that you can enter
the name of the project in the Name text box. Here is an example:

When you save a project (for the first time), by
default, Microsoft Visual C# creates a new folder for it in the My
Documents\Visual Studio 2008\Projects folder. It uses the name of the
solution to name the folder. It creates some files and stores them in that
new folder. Then, it creates a sub-folder, using the name of the project,
inside of the folder of the solution. Besides the sub-folder with the name
as the project, it creates another folder named debug. It also
creates another folder named Debug in the sub-folder of the name of
the project. In each folder and some other folders, it creates some files
that we will not pay attention to for now.

If the project had already been saved but you want to
change the name of the solution, on the main menu, you can click File ->
Save solution-name.sln As... This would bring the Save File As dialog
box where you can specify the name of the solution and click Save.

Building a Project

After creating a project and writing code, you may want
to see the result. To do this, you must first build the application. This
would create an executable.

To allow you to create programs, a computer language
such as C# is equipped with an application named a compiler. A compiler is a
computer program made of internal other sub-programs. One of the
sub-programs, in fact probably the first, of a compiler is called a parser.
A parser "scans" a file that contains (part of) the program. It checks the
syntax, keywords, unknown words, and some other routines. If the parser
finds a problem, which could be anything, either it stops or it continues
making a list of the mistakes it found. Then it displays this list to you to
fix. Sometimes it would point to the exact line where the/a problem was
found. Sometimes it would point to the line where the problem showed its
impact although the problem may be found somewhere else. With experience,
you will know how to fix the programs or troubleshoot the problems.

If the parser doesn't find any problem, or after you
have fixed the problems, it (the parser) passes its result(s) to the
compiler. The compiler calls another program called a linker. If the program
contains just one file, the linker considers it. If the program contains
more than one file, the linker considers them. The linker gathers some of
the files that the C# compiler shipped with (those files that your program
needs in order to work, since your program doesn't need all possible files
that the .NET Framework provides), puts them together ("links" them) with
your file(s) to get your instructions in a manner that can produce a
suitable result. If there is no significant problem, the compiler creates
the program. This doesn't mean that everything is alright, it only means
that the compiler thinks that everything is alright: it is still possible
that the result may not be what you would expect. We will come back to these
issues when studying debugging.

To make your life easier, all of the sub-programs
(parser, linker, debugger, etc) that ship with C# are grouped in one large
program: the compiler. Therefore, from now on, we will use the word
"compiler" to refer to the program you use to "translate" your English
instructions into a computer-based language.

The compiler that Microsoft created, and that we will
use, that is, the compiler of the Microsoft .NET Framework is called csc.
Like most other programs, it has the extension .exe. This csc name is
not standard. This means that another C# compiler may have another name;
csc.exe is just the name of the compiler we will use.

The csc compiler is freely available if you download the
.NET Framework from the Microsoft web site.

To build an application at the Command Prompt, you use
the csc.exe compiler. After download the .NET Framework, you must
install it. What interests us is the csc.exe application. By default, it is
installed in C:\Windows\Microsoft.NET\Framework\v4.0.21006.

You should add the path of the csc.exe to the Path of
the Environment Variables. To start, use a file utility such as Windows
Explorer and display the folder where csc is installed. Here is its path in
Windows Explorer:

Select the path in the top combo box and copy it to the
clipboard. Start the Control Panel. Click System and Security:

In the System and Security section, click System:

In the System window, click Change Settings. In the
System Properties dialog box, click the Advanced tab. Click the Environment
Variables button:

In the System Variables section, double-click Path or
click it and click Edit:

Press the End key, type a semi-colon ";". Paste the
value you had copied from the clipboard:

Click OK three times.

Open the Command Prompt. Type CD\ and
press Enter to move to the root drive. Type CD and a space,
followed by the folder (and sub-folder(s)) where the file is located, and
press Enter. To compile, type csc followed by the name of
the file and its extension:

The file produced from this operation has the extension
.exe. By default, it holds same name as the file you had used. If you want
to get an executable using a name of your choice, after csc, type
/out: followed by the name you want, followed by a .exe extension,
followed by a space, and followed by the name of the file you had created,
with its extension. The formula to follow would be:

csc /out:NameOfExecutate.exe Filename.cs

The NameOfExecutate represents the name you want
the executable to have. If the name you want is in one word, you can just
type it. If you want a name made of various words, you can include those
words in double-quotes.

If you are creating your application using a text editor
and if you create many files, when compiling the project, you must remember
to reference each file. To do that, in the last section, add the name of
each file with its extension:

csc FileName1.cs FileName2.cs FileName_n.cs

The executable you get is the one you can use on other
computers and that you can distribute to other people.

Executing a Project

After building a project, you and your users can execute
it. If you are working from the Command Prompt, to execute the project, type
the name of the file that has the .exe extension and press Enter:

If you are working from Microsoft Visual C# 2010 Express
or from Microsoft Visual Studio, to execute an application, on the main
menu, you can click Debug -> Start Debugging.

Application:
Executing an Application

To execute the application, on the main menu, click Debug -> Start
Debugging