通过访问Tuple
属性来检索ItemX
中的项目。
有没有一种方法来命名每个项目,以便使用元组更具可读性?
代码:
寻找这样的事情:
Dim l As New Tuple(Of String, Integer)
l.Name
l.ID
而不是:
Dim l As New Tuple(Of String, Integer)
l.Item1
l.Item2
答案 0 :(得分:7)
不,元组类型中没有任何内容可以帮助你解决这个问题。选项:
Tuple
派生,只提供委托给Item1
和Item2
的属性,但我不确定我会不会)答案 1 :(得分:5)
在C#7版本中,我们具有为Tuple Values提供友好名称的功能。 注意:只需直接键入此处未编译的代码。
e.g
(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}");
答案 2 :(得分:1)
您可以为Tuple编写几个扩展方法:First返回第一个元素,Rest返回第二个元素的子元素。这可能是一个通用的和易于解决的问题。
如果你打电话给First car and Rest cdr,你会让很多人非常开心http://en.wikipedia.org/wiki/CAR_and_CDR。