Chương 2
C# Language Fundamentals
Nội dung
•
Cách viết 1 console application
–
Console I/0 và lệnh nhập xuất
•
Khai báo biến:
–
Strongly type
–
Implicited type local variable
•
Các kiểu dữ liệu
–
Value type
–
Reference type
2
Nội dung (tt)
•
Chuyển đổi kiểu
•
Boxing and unboxing
•
Tham số ref, out, param
•
Lệnh lặp for, while, do while, foreach
•
Lệnh phân nhánh switch, lệnh nhảy
•
Các kiểu dữ liệu phức:
–
Enumeration
–
Struct
–
Array
3
Visual studio 2008 environment
•
Là một môi trường lập trình nhiều công cụ
(tool-rich programming environment) chứa mọi
tính năng cần thiết để tạo các dự án C# từ nhỏ
đến lớn
4
Basic C# syntax
•
C# code is made up of a series of statements,
each of which is terminated with a semicolon.
•
C# is a block-structured language {}
•
C# code is that it is case sensitive.
5
Console Application
•
Console Application: là ứng dụng mà input và
output đều nằm trong console window.
•
Console window: còn gọi là cửa sổ dấu nhắc
lệnh (MS-DOS command prompt)
6
Ứng dụng console C# đầu tiên
7
// Chương trình C# đầu tiên
using System;
using System.Collections.Generic;
using System.Text;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hello World!");
Console.ReadLine();
}
}
}
Cấu trúc chương trình C#
•
Phần chú thích (option)
•
Phần khai báo dùng namespace (option)
•
Phần định nghĩa namespace và lớp
8
// Chương trình C# đầu tiên
// Chương trình C# đầu tiên
using System;
using System.Collections.Generic;
using System.Text;
using System;
using System.Collections.Generic;
using System.Text;
namespace HelloWorld {
class Program {
static void Main(string[] args){ {
Console.Write("Hello World!");
Console.ReadLine();
}
}
}
Câu lệnh (Statement)
•
Các câu lệnh được viết trong thân của phương
thức (method)
•
Thực hiện một công việc nào đó
•
Kết thúc bởi dấu chấm phẩy (;)
9
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hello World!");
Console.ReadLine();
}
}
}
Các câu lệnh
Phương thức Main
Khoảng trắng
•
Bao gồm
–
Ký tự trắng, ký tự xuống dòng, ký tự tab
–
Dòng trống
•
Sử dụng hợp lý chương trình dễ đọc
10
namespace HelloWorld
{class Program
{
static void Main(string[] args)
{
Console.Write("Hello World!");
Console.ReadLine();}
}
}
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hello World!");
Console.ReadLine();
}
}
}
Chú thích
•
Chú thích (comment) được dùng để giải thích
về chương trình và các câu lệnh
•
Giúp cho chương trình dễ hiểu hơn
•
Được bỏ qua khi biên dịch
•
Không ảnh hưởng tới kết quả thực thi của
chương trình
•
Có thể phát sinh ra documentation của chương
trình qua chú thích XML
11
Hai cách tạo chú thích cơ bản
•
Gõ phần chú thích sau cặp ký tự //
•
Gõ phần chú thích giữa cặp ký tự /* và */
12
/* Chương trình C# đầu tiên
In ra câu chào "Hello World" */
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hello World!"); // Xuất ra câu chào
Console.ReadLine(); // Chờ nhấn Enter
}
}
}
XML Comment
•
Cho phép phát sinh ra sưu liệu dạng XML
•
Thích hợp cho việc viết sưu liệu của dự án lớn
•
Chú thích XML bắt đầu với triple slash (“///”)
và các tag của XML
•
Chú thích XML dùng cho
–
User defined types
–
Class, delegate, enum and struct
–
Member of user defined types
13
Ví dụ: ứng dụng CONSOLE đơn giản
14
Using Namespace
•
Để giải quyết vấn đề xung đột tên (name-
crashing) nên tạo 1 container có đặt tên
namespace
–
Hai class có thể trùng tên nhau nhưng không bi sử
dụng̣ nhầm lẫn nếu thuộc 2 namespace khác nhau
15
Tên đầy đủ TextHello.Greeting
Using Namespace
•
Các class trong .NET framework cũng được
sắp xếp vào các namespace khác nhau.
•
Ví dụ: lớp Console thuộc namespace System
•
Để tham chiếu đến 1 lớp nào đó, có thể dùng
tên đầy đủ:
Namespace.ClassName
Hoặc để tránh phải viết đầy đủ tham chiếu đến
namespace, có thể dùng using directive ở đầu
chương trình
16
Using Namespace
•
Bốn namespace thông dụng hay được dùng
trong các chương trình sẽ được Visual Studio
tự động đưa vào đầu mỗi chương trình mới.
17
File program.cs
•
Một chương trình đơn giản nhất bao gồm: 1
file program.cs, trong file có 1 namespace mặc
định và 1 class.
•
Class: phải có tối thiểu 1 hàm Main
static void Main(string[] args)
{
}
18
19
Tính năng IntelliSense của IDE
•
Tự động hiển thị danh sách các thành phần
của class khi lệnh được gõ vào cửa sổ soạn
thảo.
•
C# sẽ hiển thị thành phần (member) phù hợp
với các ký tự đang được gõ vào, sau đó hiển
thị tool tip chứa mô tả tính năng của thành
phần.
20
Console I/O
•
Để đọc ký tự văn bản từ cửa sổ console
–
Console.Read() giá trị trả về là int
–
Console.ReadLine() giá trị trả về là string
•
Để xuất chuỗi ký tự dùng
–
Console.Write() / Console.WriteLine()
21
Printing on the Console
•
Để định dạng văn bản xuất ra:
Console.WriteLine( "{0}\n{1}",
"Welcome to", "C# Programming!" );
22
Đối số chứa chuỗi định dạng
Đối số chứa chuỗi định dạng
Đối số 0
Đối số 1
23
Ký tự định dạng chuỗi
24
25