Mục lục:
Video: Technology hasn't changed love. Here's why | Helen Fisher 2025
Bởi Bill Sempf, Chuck Sphar, Stephen R. Davis
Nếu có vấn đề gì với. NET Framework từ quan điểm của C # Programmer, nó chỉ là có quá nhiều thứ tốt. Rất nhiều lớp học có rất nhiều tài sản và sự kiện mà thật khó để nhớ những thứ được sử dụng nhiều nhất là gì. Dưới đây là kem của cây trồng trong các lớp Collection, Connfiguration, và Async, tất cả đều kết hợp để dễ dàng tham khảo.
Giữ gìn trong lớp lưu trữ của C #
Nhiều biến được lưu trữ một thứ, như một số hay một câu. Một đối tượng có thể có nhiều thuộc tính, lưu trữ rất nhiều thông tin về một khái niệm đơn lẻ. Đôi khi, tuy nhiên, bạn chỉ cần theo dõi một danh sách lớn các công cụ. Đó là nơi các lớp sưu tập được đưa vào.
Các lớp tập hợp trong C # rất tuyệt vời vì chúng có thể giúp bạn giữ một danh sách các mục, hoặc một nhóm các khóa và giá trị, và cung cấp miễn phí các công cụ tìm kiếm, khảo sát và bảo trì chung. Điều này dễ dàng hơn rất nhiều so với cách viết hai trăm lần "khách hàng sắp xếp theo tên họ" trong tháng này.
C # có các lớp cơ bản thu thập, các lớp thu gom chung và các lớp thu thập đồng thời. Những cái cuối cùng này dành cho hoạt động an toàn trong môi trường đa xử lý. Tất cả các lớp thu thập này đều hữu ích nếu bạn biết nơi và thời gian sử dụng chúng.
Bộ sưu tập thường xuyên
Bộ sưu tập thường xuyên lưu trữ nội dung không định dạng cho bạn. Nếu bạn không biết chính xác những gì bạn sẽ lưu trữ, bộ sưu tập thường xuyên dành cho bạn. Hầu hết mọi thứ trong các lớp này được lưu trữ dưới dạng Object.
HashTable
Chỉ cần một bảng hai cột của khóa và giá trị, trong đó các cặp được
Danh sách các mục đầu tiên, cuối cùng ra (FIFO). Tuyệt vời khi lưu trữ
Giống như Hàng đợi, nhưng Lần đầu tiên ra đời (LIFO).
Từ điển
Mô tả
Từ điển | Chỉ cần một HastTable, trừ gõ, vì vậy bạn không phải lưu |
---|---|
đối tượng, đối tượng. TKey và TValue là các loại, vì vậy bạn có thể lưu trữ danh sách | nếu bạn muốn
muốn. Danh sách Đây là mảng mới. Đó là một danh sách đánh máy của các mặt hàng. Đến mức |
, lớp bộ sưu tập phổ biến nhất được sử dụng. Đó là mặc định. | Nếu bạn cần một danh sách người, đó là một Danh sách.
Hàng đợi Tương tự với Hàng đợi không đánh số, nhưng, tốt, gõ! |
SortedList | Từ điển tuyệt vời này thực hiện IComparable để nó có thể |
được sắp xếp. | Stack
Cũng giống như Stack không được đánh máy, ngoại trừ đánh máy. |
Các lớp đồng bộ thu thập | Cuối cùng, các lớp đồng thời đảm bảo rằng các đối tượng bạn lưu trữ trong một danh sách có sẵn trong bất kỳ không gian bộ nhớ, cho dù bộ xử lý nào là gì. Đó là một hợp đồng lớn hơn bạn nghĩ. |
Mô tả
BlockingCollection
Đây là một lớp an toàn cho thread, nó sẽ ngăn cản một thread | thay đổi một trường mà thread này có thể truy cập được. |
---|---|
Những thứ tuyệt vời, thực sự. | ConcurrentDictionary
TValue> Phát biểu rực rỡ, cặp cặp khóa / giá trị này có thể được |
truy cập bởi nhiều luồng. Hãy nhớ rằng ngăn xếp FIFO? Vâng. Đây là một loại chung AND thread
|
an toàn. |
ConcurrentStack | Các bộ sưu tập được sắp xếp có ích. Họ là
lợi ích cho bộ nhớ, cho một điều. Dù sao, một trong những điều này là LIFO và |
thread-an toàn, quá. | Cấu hình C #
Một không gian tên toàn bộ các lớp học được thiết kế để cấu hình các ứng dụng được viết bằng bất kỳ. Ngôn ngữ NET, chẳng hạn như C #, VB. NET, hoặc bất kỳ một trong số một số khác. Các đối tượng bên trong nó, ít nhất, là một chút khó khăn để điều hướng. Cấu hình trong các ứng dụng NET diễn ra trong a. tập tin cấu hình. Tệp được định dạng XML này có một nút, và một toàn bộ các nút dự án cụ thể bên trong. Bắt một tham chiếu đến cấu hình yêu cầu một cuộc gọi đến OpenExeConfiguration. Hệ thống. Cấu hình. Cấu hình config = ConfigurationManager. OpenExeConfiguration (); |
Một khi đã xong, việc tham khảo một phần khá đơn giản. Phương thức GetSection chỉ mất một chuỗi tên nút, và bởi vì tệp tin cấu hình chỉ là văn bản, bạn có thể lấy nó bất cứ lúc nào.
var phầnName = & ldquo; Bất cứ điều gì! & rdquo;; Hệ thống. Cấu hình. Phần AppSettingsSection = (Cấu hình hệ thống. AppSettingsSection) config. GetSection (sectionName);
Bạn có thể thêm các phần vào tệp tin cấu hình sử dụng công cụ thao tác XML trong khuôn khổ. Bạn có thể sử dụng một nhóm đặt trước trên các phần dành cho chức năng tương ứng.
Phần
Mô tả
Khởi động
Mô tả. NET để sử dụng. | Thời gian chạy |
---|---|
Liệt kê. Các phần tử NET để ràng buộc vào thực thi. | Mạng |
Mô tả proxy và các cài đặt mạng khác. | Mật mã |
Một nơi để giữ các giá trị có thể truy cập được tham chiếu tới tài nguyên crypto | Cấu hình |
Phần được sử dụng nhiều nhất. Đó là nơi bạn giữ phần tùy chỉnh của tệp cấu hình. | Trace / Debug |
Hai cài đặt cho phép bạn thiết lập truy tìm và đăng nhập. | Cài đặt ứng dụng (appsettings) |
Ứng dụng đã khảo sát những thứ như chuỗi kết nối cơ sở dữ liệu. | Cài đặt Web (websettings) |
ASP. Chi tiết cụ thể NET. | Lập trình không đồng bộ |
Rất nhiều Windows 8 về tốc độ và chất lỏng. Cách để làm điều này là bằng cách sử dụng các phương pháp không đồng bộ trong gọi lại từ chức năng chạy lâu dài.Vấn đề với điều này là trong C #, cách tốt nhất để thực hiện một phương pháp không đồng bộ là với luồng. Nhưng bạn không thể luôn luôn phụ thuộc vào khi các mục từ một hoạt động luồng sẽ trở lại. Cần phải có một số kiểm soát nếu bạn muốn người dùng có thể cảm thấy như có một số kiểm soát. | Nhập async và chờ đợi. async được sử dụng để khai báo một hàm không đồng bộ, nó trả về một Task. Tất cả các phương pháp đồng bộ phải chứa ít nhất một biểu hiện chờ đợi. chờ đợi cho biết C # để có được gọi mã và chạy nó trong một chủ đề riêng biệt hơn thread người sử dụng. Bảng phân chia các phần không đồng bộ mới của ngôn ngữ. |
Câu lệnh
Mô tả
async
Một trình sửa đổi cho thấy trình biên dịch mà hàm nó | sửa đổi không đồng bộ. |
---|---|
chờ đợi | Nhà điều hành tạm ngừng việc thực hiện phương pháp
có chứa cho đến khi hoàn thành nhiệm vụ đã chờ đợi. |
Nhiệm vụ | Biểu diễn hoạt động không đồng bộ.
Nhiệm vụ |
Một thao tác không đồng bộ trả về một giá trị. | Nhiệm vụ. Tiếp tục Với |
Sự tiếp tục được bắt đầu sau khi hoàn thành nhiệm vụ trong nhiệm vụ | . |