Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Item5 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取当前 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 对象的第五个分量的值。
public:
property T5 Item5 { T5 get(); };
public T5 Item5 { get; }
member this.Item5 : 'T5
Public ReadOnly Property Item5 As T5
属性值
T5
当前 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 对象的第五个分量的值。
示例
以下示例创建一个包含 17 元组的对象,该对象包含密歇根州底特律市从 1860 年到 2000 年的人口数据。 17 元组的第五个组成部分是 1880 年的总体。 该示例使用 Item5 属性来显示总体值,并计算 1880 到 1890 之间的年总体变化率。
using System;
class Example
{
static void Main(string[] args)
{
Tuple<int, int, int> from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>
(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>>
("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
Console.WriteLine("Population of {0}", population.Item1);
Console.WriteLine();
Console.WriteLine("{0,5} {1,14} {2,10}", "Year", "Population", "Change");
int year = population.Item2;
ShowPopulation(year, population.Item3);
year += 10;
ShowPopulationChange(year, population.Item4, population.Item3);
year += 10;
ShowPopulationChange(year, population.Item5, population.Item4);
year += 10;
ShowPopulationChange(year, population.Item6, population.Item5);
year += 10;
ShowPopulationChange(year, population.Item7, population.Item6);
year += 10;
ShowPopulationChange(year, population.Rest.Item1, population.Item7);
year += 10;
ShowPopulationChange(year, population.Rest.Item2, population.Rest.Item1);
year += 10;
ShowPopulationChange(year, population.Rest.Item3, population.Rest.Item2);
year += 10;
ShowPopulationChange(year, population.Rest.Item4, population.Rest.Item3);
year += 10;
ShowPopulationChange(year, population.Rest.Item5, population.Rest.Item4);
year += 10;
ShowPopulationChange(year, population.Rest.Item6, population.Rest.Item5);
year += 10;
ShowPopulationChange(year, population.Rest.Item7, population.Rest.Item6);
year += 10;
ShowPopulationChange(year, population.Rest.Rest.Item1, population.Rest.Item7);
year += 10;
ShowPopulationChange(year, population.Rest.Rest.Item2, population.Rest.Rest.Item1);
year += 10;
ShowPopulationChange(year, population.Rest.Rest.Item3, population.Rest.Rest.Item2);
}
private static void ShowPopulationChange(int year, int newPopulation, int oldPopulation)
{
Console.WriteLine("{0,5} {1,14:N0} {2,10:P2}", year, newPopulation,
((double)(newPopulation - oldPopulation) / oldPopulation) / 10);
}
private static void ShowPopulation(int year, int newPopulation)
{
Console.WriteLine("{0,5} {1,14:N0} {2,10:P2}", year, newPopulation, "n/a");
}
}
// The example displays the following output:
//
// Population of Detroit
// Year Population Change
// 1860 45,619 n/a
// 1870 79,577 7.44 %
// 1880 116,340 4.62 %
// 1890 205,876 7.70 %
// 1900 285,704 3.88 %
// 1910 465,766 6.30 %
// 1920 993,078 11.32 %
// 1930 1,568,622 5.80 %
// 1940 1,623,452 0.35 %
// 1950 1,849,568 1.39 %
// 1960 1,670,144 -0.97 %
// 1970 1,511,462 -0.95 %
// 1980 1,203,339 -2.04 %
// 1990 1,027,974 -1.46 %
// 2000 951,270 -0.75 %
let showPopulation year newPopulation =
printfn $"""{year,5} {newPopulation,14:N0} {"n/a",10:P2}"""
let showPopulationChange year newPopulation oldPopulation =
printfn $"{year,5} {newPopulation,14:N0} {(double (newPopulation - oldPopulation) / oldPopulation) / 10.,10:P2}"
let from1980 = Tuple.Create(1203339, 1027974, 951270)
let from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
let population = new Tuple<string, int, int, int, int, int, int, Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>>("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)
printfn $"Population of {population.Item1}\n"
printfn "%5s %14s %10s" "Year" "Population" "Change"
do
let year = population.Item2
showPopulation year population.Item3
let year = year + 10
showPopulationChange year population.Item4 population.Item3
let year = year + 10
showPopulationChange year population.Item5 population.Item4
let year = year + 10
showPopulationChange year population.Item6 population.Item5
let year = year + 10
showPopulationChange year population.Item7 population.Item6
let year = year + 10
showPopulationChange year population.Rest.Item1 population.Item7
let year = year + 10
showPopulationChange year population.Rest.Item2 population.Rest.Item1
let year = year + 10
showPopulationChange year population.Rest.Item3 population.Rest.Item2
let year = year + 10
showPopulationChange year population.Rest.Item4 population.Rest.Item3
let year = year + 10
showPopulationChange year population.Rest.Item5 population.Rest.Item4
let year = year + 10
showPopulationChange year population.Rest.Item6 population.Rest.Item5
let year = year + 10
showPopulationChange year population.Rest.Item7 population.Rest.Item6
let year = year + 10
showPopulationChange year population.Rest.Rest.Item1 population.Rest.Item7
let year = year + 10
showPopulationChange year population.Rest.Rest.Item2 population.Rest.Rest.Item1
let year = year + 10
showPopulationChange year population.Rest.Rest.Item3 population.Rest.Rest.Item2
// The example displays the following output:
//
// Population of Detroit
// Year Population Change
// 1860 45,619 n/a
// 1870 79,577 7.44 %
// 1880 116,340 4.62 %
// 1890 205,876 7.70 %
// 1900 285,704 3.88 %
// 1910 465,766 6.30 %
// 1920 993,078 11.32 %
// 1930 1,568,622 5.80 %
// 1940 1,623,452 0.35 %
// 1950 1,849,568 1.39 %
// 1960 1,670,144 -0.97 %
// 1970 1,511,462 -0.95 %
// 1980 1,203,339 -2.04 %
// 1990 1,027,974 -1.46 %
// 2000 951,270 -0.75 %
Module Example
Sub Main()
Dim from1980 As Tuple(Of Integer, Integer, Integer) =
Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
Tuple(Of Integer, Integer, Integer)) _
(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _
Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)
Console.WriteLine("Population of {0}", population.Item1)
Console.WriteLine()
Console.WriteLine("{0,5} {1,14} {2,10}", "Year", "Population", "Change")
Dim year As Integer = population.Item2
ShowPopulation(year, population.Item3)
year += 10
ShowPopulationChange(year, population.Item4, population.Item3)
year += 10
ShowPopulationChange(year, population.Item5, population.Item4)
year += 10
ShowPopulationChange(year, population.Item6, population.Item5)
year += 10
ShowPopulationChange(year, population.Item7, population.Item6)
year += 10
ShowPopulationChange(year, population.Rest.Item1, population.Item7)
year += 10
ShowPopulationChange(year, population.Rest.Item2, population.Rest.Item1)
year += 10
ShowPopulationChange(year, population.Rest.Item3, population.Rest.Item2)
year += 10
ShowPopulationChange(year, population.Rest.Item4, population.Rest.Item3)
year += 10
ShowPopulationChange(year, population.Rest.Item5, population.Rest.Item4)
year += 10
ShowPopulationChange(year, population.Rest.Item6, population.Rest.Item5)
year += 10
ShowPopulationChange(year, population.Rest.Item7, population.Rest.Item6)
year += 10
ShowPopulationChange(year, population.Rest.Rest.Item1, population.Rest.Item7)
year += 10
ShowPopulationChange(year, population.Rest.Rest.Item2, population.Rest.Rest.Item1)
year += 10
ShowPopulationChange(year, population.Rest.Rest.Item3, population.Rest.Rest.Item2)
End Sub
Private Sub ShowPopulationChange(ByVal year As Integer, ByVal newPopulation As Integer, ByVal oldPopulation As Integer)
Console.WriteLine("{0,5} {1,14:N0} {2,10:P2}", year, newPopulation,
(newPopulation - oldPopulation) / oldPopulation / 10)
End Sub
Private Sub ShowPopulation(ByVal year As Integer, ByVal newPopulation As Integer)
Console.WriteLine("{0,5} {1,14:N0} {2,10:P2}", year, newPopulation, "n/a")
End Sub
End Module
' The example displays the following output:
'
' Population of Detroit
' Year Population Change
' 1860 45,619 n/a
' 1870 79,577 7.44 %
' 1880 116,340 4.62 %
' 1890 205,876 7.70 %
' 1900 285,704 3.88 %
' 1910 465,766 6.30 %
' 1920 993,078 11.32 %
' 1930 1,568,622 5.80 %
' 1940 1,623,452 0.35 %
' 1950 1,849,568 1.39 %
' 1960 1,670,144 -0.97 %
' 1970 1,511,462 -0.95 %
' 1980 1,203,339 -2.04 %
' 1990 1,027,974 -1.46 %
' 2000 951,270 -0.75 %
注解
可以通过以下两种方式之一动态确定组件的类型 Item5 :
通过对 属性返回Item5的值调用
GetType
方法。通过 Type 检索表示 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 对象的 对象,并从其 Type.GetGenericArguments 方法返回的数组中检索第五个元素。