Upload
vandung
View
236
Download
0
Embed Size (px)
Citation preview
Instructor: Bakhyt Bakiyev
Lecture 1
Recommendations
Prerequisites for this course: Programming in Java / C++
In this course called “Object Oriented Programming” we will not
start from beginning of the programming course like “what is an
integer, what is double, what is if-else or loops, etc.”, instead we
will see how to program windows form applications for desktop.
Grading policy Midterm-1 :
All Lab work marks up to lab7 = 25 marks
All homework marks up to hw6 = 5 marks
Midterm1 = 25 + 5 = 30
Midterm-2 :
All lab work marks from lab8 to lab12 = 10 marks
All homework marks from hw7 to hw12 = 5 marks
Mini project = 15 marks
Midterm2 = 10 + 5 + 15 = 30
Final = 40
Total = M1 + M2 + Final = 30 + 30 + 40 = 100
C# Overview
C# is a modern, general-purpose, object-oriented programming
language developed by Microsoft.
C# was developed by Anders Hejlsberg and his team during the
development of .Net Framework.
Writing C# Programs on Linux or Mac OS:
Although the.NET Framework runs on the Windows operating
system, there are some alternative versions that work on other
operating systems. Mono is an open-source version of the .NET
Framework which includes a C# compiler and runs on several
operating systems, including various flavors of Linux and Mac
OS.
Mono can be run on many operating systems including Android,
BSD, iOS, Linux, OS X, Windows, Solaris and UNIX.
C# Program Structure
Let us look at a simple code that would print the words "Hello World":
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* my first program in C# */
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
When the above code is compiled and executed, it produces the following result:
Hello World
Let us look at various parts of the previuos program:
The first line of the program using System; - the using keyword is used to include the System namespace in the program.
The next line has the namespace declaration. A namespace is a collection of classes.
The next line has a class declaration, the class HelloWorld contains the data and method definitions that your program uses. The HelloWorld class has only one method Main.
The next line defines the Main method, which is the entry point for all C# programs. The Main method states what the class will do when executed
The next line /*...*/ will be ignored by the compiler and it has been put to add additional comments in the program.
The Main method specifies its behavior with the statement Console.WriteLine("Hello World"); WriteLine is a method of the Console class defined in the System namespace. This statement causes the message "Hello, World!" to be displayed on the screen.
The last line Console.ReadKey(); This makes the program wait for a key press and it prevents the screen from running and closing quickly when the program is launched from Visual Studio .NET.
It's worth to note the following points:
C# is case sensitive.
All statements and expression must end with a semicolon (;).
The program execution starts at the Main method.
Unlike Java, file name could be different from the class name.
Compile & Execute a C# Program:
If you are using Visual Studio.Net for compiling and
executing C# programs then click the Run button or the F5
key to run the project.
You can compile a C# program by using the command-
line instead of the Visual Studio IDE:
Open a text editor and add the above-mentioned code.
Save the file as helloworld.cs
Open the command prompt tool and go to the directory where
you saved the file.
Type csc helloworld.cs and press enter to compile your code.
If there are no errors in your code, the command prompt will
take you to the next line and would generate helloworld.exe
executable file.
Next, type helloworld to execute your program.
You will be able to see "Hello World" printed on the screen.
C# Basic Syntax
In Object-Oriented Programming methodology, a program
consists of various objects that interact with each other by
means of actions. The actions that an object may take are
called methods. Objects of the same kind are said to have the
same type or, more often, are said to be in the same class.
Example using System;
namespace RectangleApplication
{ class Rectangle
{ // member variables
double length, width;
public void Acceptdetails()
{ length = 4.5; width = 3.5; }
public double GetArea()
{ return length * width; }
public void Display()
{ Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}}
class ExecuteRectangle
{ static void Main(string[] args)
{ Rectangle r = new Rectangle();
r.Acceptdetails();
r.Display();
Console.ReadLine();
}}}
When that code is compiled and executed, it produces the
following result:
Length: 4.5
Width: 3.5
Area: 15.75
Note:
You already familiar with console based applications from previous
years but in this course let’s see how to work with windows form
applications.
In this course we use Microsoft Visual studio 2010 to learn programming in C#
We mostly work on developing
Windows form applications in C#
We learn how to develop windows forms and
buttons and many other things in C#
And we will learn a little bit programming in C#
Topic: Message Boxes
Now for the showed example if I press F5
keyword then output will be as below:
Exercise-1
Topic: Variables
String:
Integer:
Bool:
Object: Object can take any type of variables.
Topic: If-else
Topic: Swicth-case
Topic: Mathematical operators
Output:
Note: It is not limited, the same operations you can do with subtraction, multiplication and division.
Exercise-2
Topic: Array
Example-1: String Array
Or in this way:
Example-3: Integer Array
Or in this way:
Topic: Lists
Example: String List
Or in this way:
Example: Integer List
Topic: Loops
Example: “For” loop
Or in this way:
Or in this way:
Example: “Foreach” loop with string
Example : “Foreach” loop with integer
Example : “Foreach” loop with integer list
Example: “while” loop
Example: “do-while” loop
Lab assignment
Create a calculator application
End of Lecture 1
Download materials from:
http://instructor.sdu.edu.kz/~bakhyt/