2015-06-30 14 views
5

Tôi không thấy việc sử dụng 1 tuples trong C#. Tại sao các lập trình viên sử dụng chúng?Tại sao sử dụng một bộ tuple, Tuple <T1> trong C#?

Tuple Class

Tôi đã thấy một lời tuyên bố như sau:

Tuple<string> state;

Nhưng tôi tự hỏi, nếu có sử dụng thêm.

+0

gì bạn có thấy không –

+0

vì chúng tôi có thể sử dụng 'Tuple >'? –

+0

Cá nhân tôi tránh xa Tuples vì ​​họ khá mơ hồ với tôi và cảm thấy một chút lười biếng (có thể tôi đang thiếu một cái gì đó). Tạo một lớp để lưu trữ nói một hàng dữ liệu rõ ràng hơn nhiều theo quan điểm của tôi. – Jeb

Trả lời

8

Các lớp tuple chỉ đi lên đến 7. Khi bạn cần một 8-tuple, bạn phải sử dụng

Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8>> 

Nhưng nếu bạn cần 8 mặt hàng, có thể bạn muốn thiết kế lại ứng dụng của bạn.

Bạn có thể đi xa như bạn muốn, miễn là bạn chuỗi các chuỗi với nhau. 15 hạng mục:

Tuple<T1, T2, T3, T4, T5, T6, T7, 
    Tuple<T8, T9, T10, T11, T12, T13, T14, Tuple<T15>>> 

Lưu ý rằng C# sẽ ném một ngoại lệ thời gian chạy nếu mục cuối cùng (trest) không phải là một tuple (vì nó không thể được thi hành tại thời gian biên dịch bởi vì giao diện ITuple là internal)

+0

@xanatos Bạn sẽ nhận được một ngoại lệ thời gian chạy, bởi vì int không thực hiện ITuple. –

+0

Và sau đó bạn sẽ làm t.Rest.Item1? Đây không phải là đồng phục. – Andrey

+0

@Dennis_E Hấp dẫn ... Bạn nên viết nó trong phản hồi. Xem xét họ có 'giao diện nội bộ ITuple' mà họ sử dụng trên tất cả các' Tuple', thật lạ là họ đã không sử dụng nó. – xanatos

Các vấn đề liên quan