Có một lý do khiến cho thực tế không thể sử dụng các phông chữ ngoài mã đơn cách để mã hóa, nhưng không được đề cập trong các câu trả lời khác: các lựa chọn hình chữ nhật .
Tính năng này, thường không hữu ích và không được biết đến nhiều khi làm việc với văn bản thông thường, rất cần thiết cho các nhà phát triển. Bạn có thể tưởng tượng vô số tình huống: xóa //
nhận xét trên một số dòng, thêm dấu ngoặc đơn hoặc các ký tự khác, v.v. Điều này thậm chí còn có giá trị hơn với sự hỗ trợ nâng cao của các lựa chọn hình chữ nhật, như trong Visual Studio 2010, nơi bạn không chỉ có thể chọn và xóa văn bản, nhưng chọn và thay thế nó.
Hãy lấy một ví dụ:
private IEnumerable<SELove> StackExchangeRocks()
{
var howILoveSEWebsites = new []
{
new SELove { SiteName = "Stack Overflow", MyReputation = 5269, MyRating = Rating.Outstanding, },
new SELove { SiteName = "Programmers", MyReputation = 16937, MyRating = Rating.Outstanding, },
new SELove { SiteName = "Super User", MyReputation = 650, MyRating = Rating.QuiteGood, },
new SELove { SiteName = "Server Fault", MyReputation = 489, MyRating = Rating.Good, },
// Initialize other websites here.
};
return howILoveSEWebsites.OrderByDescending(c => c.MyRating);
}
private class SELove
{
public string SiteName { get; set; }
public int MyReputation { get; set; }
public Rating MyRating { get; set; }
}
private enum Rating
{
Outstanding,
Good,
QuiteGood,
}
Trong mã kế thừa này, tôi muốn thay thế xếp hạng trong mã bằng phương pháp sẽ tải xếp hạng của tôi từ các trang web Stack Exchange, để có thể luôn có dữ liệu cập nhật. Tôi bắt đầu cấu trúc lại MyReputation
tài sản và bây giờ tôi muốn xóa phần khởi tạo, trong phạm vi. Hãy tưởng tượng rằng tôi không có bốn, nhưng tất cả 84 trang web SE.
Đây là những gì xảy ra khi sử dụng Consolas , một phông chữ đơn cách. Tôi nhấn Backspace, và đó là tất cả, tôi có thể dành thời gian còn lại để làm một cái gì đó thực sự hữu ích.
Và đây là điều tương tự với Segoe UI . Ôi!