Nó sẽ trả lại default(T)
sẽ giống như new KeyValuePair<string, othertype>>()
, đó là cấu trúc khởi tạo mặc định.
Về cơ bản, mặc định đối với các loại tài liệu tham khảo luôn là null
, và với nhiều loại giá trị (bao gồm struct
) đó là mặc định (0
cho numerics, false
cho bool
, một struct
với mọi lĩnh vực mặc định cho các cấu trúc, vv)
vì vậy, đối với một default(KeyValuePair<string, othertype>>)
bạn muốn lấy lại một KVP nơi Key
là null
(mặc định cho string
) và bất cứ default(othertype)
sẽ (như trong ví dụ trên) ...
Từ số MSDN:
Thành phần đầu tiên phù hợp với các điều kiện được xác định bởi thuộc tính được chỉ định, nếu được tìm thấy; nếu không, giá trị mặc định cho loại T.
Sử dụng này, nếu bạn muốn kiểm tra và xem nếu bạn có lưng default
, tôi muốn khuyên bạn nên kiểm tra yourResult.Key != null
để xem nếu bạn có một kết quả, hoặc bạn có thể sử dụng phương thức Find
khác như FindIndex
như Olivier đề xuất.
Nguồn
2012-10-01 15:26:04
Hãy thử nó với 'int' và xem những gì sẽ xảy ra. – Oded
Giá trị mặc định cho loại T, cụ thể hơn là 'mặc định (T)'. –
Nếu bạn muốn Tìm để trả về null khi không tìm thấy kết quả phù hợp, hãy cân nhắc sử dụng Tuple thay vì KeyValuePair. – JamieSee