Effective C#50 Specific Ways to Improve Your C# Second Edition phần 4

nó không phải là một quy luật chung. Bạn cần đo lường hiệu suất để xác định nếu bạn có một trường hợp cụ thể nơi mà các cấu trúc truy vấn không thực hiện cũng đủ. Tuy nhiên, trước khi viết lại hoàn toàn một thuật toán, xem xét các phần mở rộng song song cho LINQ. | 90 I Chapter 2 .Net Resource Management finally If you use the using statement with a variable of a type that does not support the IDisposable interface the C compiler generates an error. For example Does not compile String is sealed and does not support IDisposable. using string msg This is a message msg The using statement works only if the compile-time type supports the IDisposable interface. You cannot use it with arbitrary objects Does not compile. Object does not support IDisposable. using object obj A quick defensive as clause is all you need to safely dispose of objects that might or might not implement IDisposable The correct fix. Object may or may not support IDisposable. object obj using obj as IDisposable If obj implements IDisposable the using statement generates the cleanup code. If not the using statement degenerates to using null which is safe but doesn t do anything. If you re not sure whether you should wrap an object in a using block err on the side of safety Assume that it does and wrap it in the using clause shown earlier. That covers the simple case Whenever you use one disposable object that is local to a method wrap that one object in a using statement. Now you can look at a few more complicated usages. Two different objects need to be disposed in that first example the connection and the command. My example creates two different using statements one wrapping each of the two objects that need to be disposed. Each using statement gener- From the Library of Wow eBook Item 15 Utilize using and try finally for Resource Cleanup I 91 ates a different try finally block. In effect you have written this construct public void ExecuteCommand string connString string commandString SqlConnection myConnection null SqlCommand mySqlCommand null try myConnection new SqlConnection connString try mySqlCommand new .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
28    80    2    20-04-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.