Tuple<T1,T2>.Item2 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取当前 Tuple<T1,T2> 对象的第二个分量的值。
public:
property T2 Item2 { T2 get(); };
public T2 Item2 { get; }
member this.Item2 : 'T2
Public ReadOnly Property Item2 As T2
属性值
T2
当前 Tuple<T1,T2> 对象的第二个分量的值。
示例
该示例演示如何使用 Item1 和 Item2 属性来定义以 2 元组的形式返回多个值的方法。
using System;
public class Class1
{
public static void Main()
{
int dividend, divisor;
Tuple<int, int> result;
dividend = 136945; divisor = 178;
result = IntegerDivide(dividend, divisor);
if (result != null)
Console.WriteLine(@"{0} \ {1} = {2}, remainder {3}",
dividend, divisor, result.Item1, result.Item2);
else
Console.WriteLine(@"{0} \ {1} = <Error>", dividend, divisor);
dividend = Int32.MaxValue; divisor = -2073;
result = IntegerDivide(dividend, divisor);
if (result != null)
Console.WriteLine(@"{0} \ {1} = {2}, remainder {3}",
dividend, divisor, result.Item1, result.Item2);
else
Console.WriteLine(@"{0} \ {1} = <Error>", dividend, divisor);
}
private static Tuple<int, int> IntegerDivide(int dividend, int divisor)
{
try {
int remainder;
int quotient = Math.DivRem(dividend, divisor, out remainder);
return new Tuple<int, int>(quotient, remainder);
}
catch (DivideByZeroException) {
return null;
}
}
}
// The example displays the following output:
// 136945 \ 178 = 769, remainder 63
// 2147483647 \ -2073 = -1035930, remainder 757
open System
let integerDivide (dividend: int) divisor =
try
let quotient, remainder = Math.DivRem(dividend, divisor)
Tuple<int, int>(quotient, remainder)
with :? DivideByZeroException ->
Unchecked.defaultof<Tuple<int, int>>
[<EntryPoint>]
let main _ =
let dividend = 136945
let divisor = 178
let result = integerDivide dividend divisor
if box result <> null then
printfn $@"{dividend} \ {divisor} = {result.Item1}, remainder {result.Item2}"
else
printfn $@"{dividend} \ {divisor} = <Error>"
let dividend = Int32.MaxValue
let divisor = -2073
let result = integerDivide dividend divisor
if box result <> null then
printfn $@"{dividend} \ {divisor} = {result.Item1}, remainder {result.Item2}"
else
printfn $@"{dividend} \ {divisor} = <Error>"
0
// The example displays the following output:
// 136945 \ 178 = 769, remainder 63
// 2147483647 \ -2073 = -1035930, remainder 757
Module modMain
Public Sub Main()
Dim dividend, divisor As Integer
Dim result As Tuple(Of Integer, Integer)
dividend = 136945 : divisor = 178
result = IntegerDivide(dividend, divisor)
If result IsNot Nothing Then
Console.WriteLine("{0} \ {1} = {2}, remainder {3}",
dividend, divisor, result.Item1, result.Item2)
Else
Console.WriteLine("{0} \ {1} = <Error>", dividend, divisor)
End If
dividend = Int32.MaxValue : divisor = -2073
result = IntegerDivide(dividend, divisor)
If result IsNot Nothing Then
Console.WriteLine("{0} \ {1} = {2}, remainder {3}",
dividend, divisor, result.Item1, result.Item2)
Else
Console.WriteLine("{0} \ {1} = <Error>", dividend, divisor)
End If
End Sub
Private Function IntegerDivide(dividend As Integer, divisor As Integer) As Tuple(Of Integer, Integer)
Try
Dim remainder As Integer
Dim quotient As Integer = Math.DivRem(dividend, divisor, remainder)
Return New Tuple(Of Integer, Integer)(quotient, remainder)
Catch e As DivideByZeroException
Return Nothing
End Try
End Function
End Module
' The example displays the following output:
' 136945 \ 178 = 769, remainder 63
' 2147483647 \ -2073 = -1035930, remainder 757
注解
可以通过以下两种方式之一动态确定组件的类型 Item2 :
通过对 属性返回Item2的值调用
GetType
方法。通过 Type 检索表示 Tuple<T1,T2> 对象的 对象,并从其 Type.GetGenericArguments 方法返回的数组中检索第二个元素。