... lhs về phía trái toán tử và rhs về phía phải của toán tử.
Cú ph p C# cho ph p n p chồng toán tử thông qua việc dùng từ khoá operator.
6.2 Cách hổ trợ các ngôn ngữ .Net khác
C# cung c p khả ... nên cung c p phương thức ảo
Equals() bởi object và hướng chức năng này đến toán tử bằng. Điều này cho ph p
l p của ta đa hình và cung c p khả năng hữu ích cho các ngôn ngữ .Net...
... l p ICompressable hay
ILoggedCompressable, điều này phụ thuộc vào nhu cầu của l p đó. Nếu một l p có
sử dụng giao diện ILoggedCompressable thì nó phải thực hiện toàn bộ các phương
thức của ... tự, Document phải cài đặt tất cả phương thức của ICompressible:
public void Compress( )
{
Console.WriteLine("Implementing the Compress Method");
}
public void Decompress(...
... 9-1 Sử dụng foreach
using System;
namespace Programming_CSharp
{
// một l p đơn giản để chứa trong mảng
public class Employee
{
public Employee(int empID)
{
this.empID = empID;
... một lệnh vòng l p, dùng để duyệt tất cả các phần tử của một mảng, t p
h p (nói đúng hơn là những l p có cài đặt giao diện IEnumerable). Cú ph p của
foreach nhẹ nhàng hơn vòng l p for...
... tiết các sử dụng của các hàm trên, có thể tham thảo tài liệu của
Microsoft, đặc biệt là MSDN. Dưới đây chỉ giới thiệu vài phương thức thao dụng để
thao tác chuỗi.
Gh p chuỗi
Để gh p 2 chuỗi ... chào"
Chú ý: việc gh p nối bằng toán tử + tuy cho mã nguồn đ p, tự nhiên
nhưng sẽ không cho hiệu quả tốt khi thực hiện nhiều lần vì C# sẽ c p
phát vùng nhớ lại sau mỗi ph...
... thuộc l p hay l p con của
l p
System.Exception
(viết tắt là
Exception
). Vùng tên
System
khai báo sẵn
nhiều l p biệt lệ hữu ích chẳng hạn như
ArgumentNullException
,
InValidCastException
, ...
OverflowException
…
11.1.1 Lệnh ném throw
Để báo hiệu một tình huống bất thường trong một l p C#, ta ném ra một biệt lệ
bằng cách sử dụng từ khóa
throw
. Dòng lệnh sau tạo một th...
... thiết đặt vào lúc khởi tạo biệt lệ.
Property
HelpLink
cung c p một kết nối đến t p tin gi p đỡ. Property này có thể
đọc và thiết đặt. Property
StackTrace
chỉ đọc và được thiết l p vào lúc ...
namespace Programming_CSharp
{
public class MyCustomException : System.ApplicationException
{
public MyCustomException(string message) : base(message)
{
}
}
public class Tes...
... comparison.theFirstComesFirst )
{
object temp = thePair[0];
thePair[0] = thePair[1];
thePair[1] = temp;
}
}
Bây giờ chúng ta cần vài đối tượng để s p x p. Ta sẽ tạo hai l p
Student
và
Dog
.
Gán tên cho ... (theDelegatedFunc(thePair[0],thePair[1]) ==
comparison.theFirstComesFirst )
{
object temp = thePair[0];
thePair[0] = thePair[1];
thePair[1] = temp;
}
}
/...
... định các hiệu ứng, thêm chúng vào mảng và sau đó gọi
ProcessImage
Ví dụ 12-2. Sử dụng mảng các deleage
using System;
namespace Programming_CSharp
{
// ảnh ta sẽ thao tác
public class ... vấn đề
ImageProcessor theProc = new ImageProcessor(theImage);
theProc.AddToEffects(theProc.BlurEffect);
theProc.AddToEffects(theProc.FilterEffect);
theProc.AddToEffects(theProc.RotateEf...
... được nhấn" và các l p khác đ p trả phù h p.
12.2.1 Publishing và Subcribing
Trong C#, bất kỳ một l p nào cũng có thể phát sinh (
publish
) một t p các sự kiện
mà các l p khác sẽ bắt lấy ... giây
Thread.Sleep(10);
Sleep
là phương thức tĩnh của l p
Thread
, thuộc về vùng tên
System
.
Threading
. Lời gọi
Sleep
nhằm ngăn vòng l p không sử dụng hết tài
nguyên CPU...
... Studio và chọn ‘New Project’. Trong cửa sổ ‘New Project’, chọn loại dự án
là Visual C# và kiểu ứng dụng là ‘Windows Applications’, đặt tên cho ứng dụng là
ProgCSharpWindowsForm.
L p trình với C# ...
ta sẽ tạo một ứng dụng Windows khác thực tế hơn. Ứng dụng có tên là
FileCopier, cho ph p ch p hay xóa một hoặc nhiều t p tin từ vị trí này sang vị
trí khác. Mục đ...