2010-02-24 7 views

Trả lời

29

Loại ẩn danh không thay đổi theo thiết kế.

Các loại ẩn danh có nghĩa là giữ giá trị và loại không thể thay đổi được.

Ngoài ra, nó sẽ làm cho chúng không đáng tin cậy trong từ điển, vì mã băm có thể thay đổi sau khi tạo.
Nhiều phương pháp LINQ sử dụng Từ điển, và đặc biệt là với đánh giá trễ, LINQ với các loại có thể thay đổi có thể dẫn đến các lỗi bí ẩn tinh tế.

+0

Đó là nhanh :-) Thnx – Marko

+7

Lưu ý rằng các loại ẩn danh trong VB được phép bị đột biến một phần. Trong VB, bạn có thể nói rõ các phần nào của kiểu ẩn danh có thể thay đổi được; mã được tạo sẽ không sử dụng các bit có thể thay đổi như là một phần của mã băm/bình đẳng, do đó bạn không gặp vấn đề "bị mất trong từ điển". Chúng tôi quyết định không triển khai các tiện ích này trong C#. –

+0

Tôi không biết điều đó; cảm ơn. – SLaks