... niệm
Sao chép thân hàm đến bất c nào nào hàm
đư c gọi kết quả giống hệt c ch 1.
NMLT - Hàm nângcao (phần 1)
VC
&
BB
22
C c đối số c a chương trình
C c đối số c a chương trình
Hàm ... 1)
VC
&
BB
33
C c tham số c a hàm main
C c tham số c a hàm main
Trong đó
•
argc là số lượng đối số (tính luôn tên tập tin
chương trình)
•
argv là mảng chứa cc đối số (dạng chuỗi)
NMLT - Hàm nângcao ... tham chiếu.
NMLT - Hàm nângcao (phần 1)
VC
&
BB
44
C c tham số c a hàm main
Ví dụ
Viết chương trìnhc tên Cong, nhận 2 đối số
x và y và xuất ra giá trị x + y.
NMLT - Hàm nângcao (phần...
...
thu c vào toán tử đư c nạp chồng.
NMLT - Hàm nângcao (phần 2)
<kiểu trả về> operator#(<ds tham số>)
{
// Cc thao t c cần th c hiện
}
VC
&
BB
1515
Nạp chồng hàm
Chú ý
C c hàm ... (phần 2)
VC
&
BB
1212
Nạp chồng hàm
Nhu c u
Th c hiện một c ng vi c với nhiều c ch kh c
nhau. Nếu cc hàm kh c tên sẽ khó quản lý.
Khái niệm nạp chồng/quá tải (overload) hàm
Hàm c ng ... sự quá tải hàm, quá tải toán
tử ho c con trỏ hàm ta c thể viết đư ccc
chương trình rất hay, ngắn gọn, linh động và
c tính tiến hóa cao.
NMLT - Hàm nângcao (phần 2)
...
... ngang (chiều ngang) và bán kính d c (chiều cao) . Thí dụ
nếu Aspect=2 thì chiều caoc a hình bầu d c gấp đôi chiều ngang, ngư c lại, nếu
Aspect=0.5 thì chiều ngang sẽ gấp
đôi chiều cao.
Dưới ... t c cho đến ô cuối c ng, sao cho đảm bảo nguyên t ccc số
đư c chọn sẽ không đư c chọn lại. Điều này tránh đư c tình trạng c 2 hay
nhiều ô cc ng giá trị số.
o Xóa tr
ống nội dung ô chứa ... 6 (chứa số 2), c số ô lân c n là 4, đó là cc ô c thứ tự 2
(chứa số 3), 5 (không chứa số), 7 (chứa số 15), 10 (chứa số 1).
Ô c thứ tự 16 (chứa số 7), c số ô lân c n là 2, đó là cc ô c ...
... ngang (chiều ngang) và bán kính d c (chiều cao) . Thí dụ
nếu Aspect=2 thì chiều caoc a hình bầu d c gấp đôi chiều ngang, ngư c lại, nếu
Aspect=0.5 thì chiều ngang sẽ gấp
đôi chiều cao.
Dưới ... 6 (chứa số 2), c số ô lân c n là 4, đó là cc ô c thứ tự 2
(chứa số 3), 5 (không chứa số), 7 (chứa số 15), 10 (chứa số 1).
Ô c thứ tự 16 (chứa số 7), c số ô lân c n là 2, đó là cc ô c ... t c cho đến ô cuối c ng, sao cho đảm bảo nguyên t ccc số
đư c chọn sẽ không đư c chọn lại. Điều này tránh đư c tình trạng c 2 hay
nhiều ô cc ng giá trị số.
o Xóa tr
ống nội dung ô chứa...
... không chỉ là c ch mô tả ngắn gọn
c c cấu tr c ph c tạp mà c n tạo khả năng để xây dựng cc thao t c xử lý trên cc cấu
tr c ph c tạp bằng cc giải thuật đệ qui . Một c u tr c dữ liệu c tính ... đáng cc
ví dụ chọn l c nhằm giúp người h c nắm bắt đư c bản chất c a cc khái niệm, cc
phương pháp mới và làm quen với c ch sử dụng cc kết qủa mới. Khi h c trư c khi tìm
c ch giải cc bài ... (vùng Stack). Vì vậy chỉ những ngôn ngữ lậptrìnhc khả năng tạo
vùng nhớ stack mới cho phép tổ ch ccc chương trình con đệ quy. Th c hiện một
chương trình con đệ quy theo c ch m c định thường...
... chung, client là một máy tính c nhân, c n cc Server là cc máy tính cc u hình
mạnh c chứa cc cơ sở dữ liệu và cc chương trình ứng dụng để ph c vụ một dịch vụ nào
đấy từ cc yêu c u c a ... socket đ c biệt ph c vụ cho một ch cnăngc a
chương trình và giao diện lậptrình trở nên đơn giản hơn cho cc ch cnăng đó. Rõ ràng ,
lớp TcpClient và TcpListener đư c sử dụng cho vi c tạo cc ... c thể chat và tương t c với cc máy client kh c trong c ng một phòng. Ứng dụng trên
máy client c a bạn c thể nhìn thấy tất cccc ứng dụng c a cc PrismRoom đã đư c
tạo ra mà chia sẻ c c...
... tượng Data Source - Đóng gói ứng dụng - Cc kĩ thuật lậptrình ASP.NET nâng cao
37
Nếu chọn checkbox, c c
file nguồn sẽ đư c triển
khai c ng cc file c thể
th c thi
Nội dung demo
Tạo chuỗi kết nối ... - Cc kĩ thuật lậptrình ASP.NET nâng cao
32
Phương th c cập nhật CSDL
[DataObjectMethod(DataObjectMethodType.Update)]
public static int UpdateCategory( Category category)
{
SqlConnection con ... - Cc kĩ thuật lậptrình ASP.NET nâng cao
22
[DataObjectMethod(DataObjectMethodType.Update)]
public static int UpdateCategory( Category category)
{
SqlConnection con = new SqlConnection(GetConnectionString());
string...
... interface, a C#
class in effect promises to provide the functionality the interface specifies.
C# also provides support for structs, a concept whose meaning has changed
significantly from C+ +. In C# , ... Chapter 3.
The second is to pass in one object, but make that object a collection (clever, eh?).
Collections are covered in Chapter 9.
Comments
A C# program can also contain comments. Take a ... for:
• Directly accessing memory using C+ +-style pointers
• Keywords for bracketing such operations as unsafe
• Warning the CLR garbage collector not to collect objects referenced by pointers
until...
... class declares a static constructor, you are guaranteed that the static construc-
tor will run before any instance of your class is created.
*
You can’t control exactly when a static constructor ... actually guarantee to fin-
ish running it. It is possible to concoct a pathological case where two classes have a circular dependency on
each other. Rather than deadlock, the CLR can run the constructors ... this code. You can call
LoadLibrary in your static
constructor and initialize the jump table in the static constructor. I discuss handling
legacy code and interoperating with unmanaged code in Chapter...
... MyFunc loc: {0}", loc);
}
static void Main( )
{
Location loc1 = new Location( );
loc1.X = 200;
loc1.Y = 300;
Console.WriteLine("Loc1 location: {0}", loc1);
Creating Structs
|
129
Unlike ... behavior and characteristics to built-in types.
C+ + programmers take note: the meaning of C# ’s struct construct is
very different from C+ +’s. In C+ +, a struct is exactly like a class,
except that ... Deriving from Control
Figure 5-3. A more factored hierarchy
RadioButton
Control
CheckBox Command ListBox
RadioButton
CheckBox Command
Button ListBox
Control
98
Chapter 5
CHAPTER 5
Inheritance and Polymorphism...
... simple
Document class, let’s declare
an abstract
Document class, and two derived Document classes:
public abstract class Document { }
public class BigDocument : Document, IStorableCompressible, IEncryptable
{
... abstract class for creating contracts among
classes and their clients; the difference is that abstract classes serve as the top of an
inheritance hierarchy, whereas interfaces may add their contract ... The chapter concludes with a tour of commonly used .NET collections,
including
List, Dictionary, Queue, and Stack.
In previous versions of C# , the collection objects were not type-safe
(you could,...
... Expressions
In both cases, the output reflects that the concatenation was successful:
s6 concatenated from s1 and s2: abcdABCD
s7 concatenated from s1 + s2: abcdABCD
Similarly, you can create a new copy of ... string of characters at the specified position
Remove( )
Removes the specified characters
Replace( )
Overloaded public method that replaces all instances of specified characters with new characters
210
|
Chapter ... s2: abcdABCD
s7 concatenated from s1 + s2: abcdABCD
s8 copied from s7: abcdABCD
s9 = s8: abcdABCD
Does s9.Equals(s8)?: True
Does Equals(s9,s8)?: True
Does s9==s8?: True
String s9 is 8 characters...
... clock
Clock theClock = new Clock( );
// create the display and tell it to
// subscribe to the clock just created
DisplayClock dc = new DisplayClock( );
dc.Subscribe(theClock);
// create ... public static void Main( )
{
// create a new clock
Clock theClock = new Clock( );
// create the display and tell it to
// subscribe to the clock just created
DisplayClock dc = new DisplayClock( ... gets back when notified that the time has changed!
The second subscriber is much more sophisticated:
public class LogCurrentTime
{
public void Subscribe(Clock theClock)
{
theClock.SecondChanged...