2011-11-20 18 views

Trả lời

7

Không, không có gì trong các loại tuple giúp bạn ra đây là. Tùy chọn:

  • Nếu bạn cần chuyển giá trị theo nhiều phương pháp, hãy tạo loại của riêng bạn với các thuộc tính thích hợp. (Bạn có thể xuất phát từ Tuple đây nếu bạn thực sự muốn, và chỉ cung cấp tính mà đại biểu để Item1Item2, nhưng tôi không chắc chắn tôi sẽ)
  • Nếu bạn chỉ cần các giá trị trong vòng một phương pháp, sử dụng một anonymous type
1

Bạn có thể viết một vài phương thức mở rộng cho bộ tuple: Đầu tiên trả về phần tử đầu tiên và phần còn lại trả về một phần tử phụ từ phần tử thứ hai trở đi. Đó có thể là giải pháp tổng thể về giải pháp đơn giản về giải pháp đơn giản và dễ sử dụng của .

Nếu bạn gọi xe đầu tiên và cdr còn lại, bạn sẽ làm cho rất nhiều người rất hạnh phúc http://en.wikipedia.org/wiki/CAR_and_CDR.

3

Trong phiên bản C# 7, chúng tôi có tính năng cung cấp tên thân thiện cho Giá trị Tuple. Lưu ý: Chỉ cần nhập trực tiếp mã ở đây không được biên dịch.

ví dụ

(int Latitude, int Longitude, string city) GetPlace() 
{ 
    return(20,30,"New York");  
} 

var geoLocation = GetPlace(); 
WriteLine($"Latitude :{geoLocation.Latitude}, Longitude:{geoLocation.Longitude}, City:{geoLocation.city}"); 
+3

Lưu ý để độc giả tiềm năng trong tương lai: Câu trả lời này đã được đăng trước C# 7 được phát hành. Vì vậy, cú pháp chính xác vẫn có thể thay đổi. (Cá nhân, tôi sẽ đợi trước khi đăng bài này) – sstan

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