c 程式設計指南 四 組元(Tuple)

2022-02-16 21:11:03 字數 1560 閱讀 6013

組元是c# 4.0引入的乙個新特性,編寫的時候需要基於.net framework 4.0或者更高版本。組元使用泛型來簡化乙個類的定義。

先以下面的一段**為例子:

1 publicclasspoint 2 4 publicinty 5 } 6 7 8 //the user customer data type.9 point p =newpoint() ; 10 //use the predefine generic tuple type.11 tuplep2 =newtuple(10, 20); 12 13 // 14 console.writeline(p.x +p.y); 15 console.writeline(p2.item1 +p2.item2);

乙個簡單的包含兩個int型別成員的類,傳統的方法定義point需要寫很多**,但是使用tuple卻只有一句,組元多用於方法的返回值。如果乙個函式返回多個型別,這樣就不在用out , ref等輸出引數了,可以直接定義乙個tuple型別就可以了。非常方便。

下面的列子稍微複雜一點:

1 //1 member2 tupletest =newtuple(1); 3 //2 member ( 1< n <8 )4 tupletest2 =tuple.create(1,2); 5 //8 member , the last member must be tuple type.6 tuple>test3 =newtuple>(1, 2, 3, 4, 5, 6, 7, newtuple(8)); 7 8 // 9 console.writeline(test.item1); 10 console.writeline(test2.item1 +test2.item2); 11 console.writeline(test3.item1 +test3.item2 +test3.item3 +test3.item4 +test3.item5 +test3.item6 +test3.item7 +test3.rest.item1);

第乙個定義包含乙個成員。

第二個定義包含兩個成員,並且使用create方法初始化。

第三個定義展示了tuple最多支援8個成員,如果多於8個就需要進行巢狀。注意第8個成員很特殊,如果有8個成員,第8個必須巢狀定義tuple。如果上面所示。

下面又舉了兩個巢狀定義的例子,簡單的要命:

1 //2 member ,the second type is the nest type tuple.2 tuple>test4 =newtuple>(1, newtuple(2)); 3 //10 member datatype. nest the 8 parameter type.4 tuple>test5 =newtuple>(1, 2, 3, 4, 5, 6, 7, newtuple(8, 9, 10)); 5 6 7 // 8 console.writeline(test4.item1 +test4.item2.item1); 9 console.writeline(test5.item1 +test5.item2 +test5.item3 +test5.item4 +test5.item5 +test5.item6 +test5.item7 +test5.rest.item1 +test5.rest.item2 +test5.rest.item3);

c 程式設計指南 四 組元(Tuple)

組元是c 4.0引入的乙個新特性,編寫的時候需要基於.net framework 4.0或者更高版本。組元使用泛型來簡化乙個類的定義。先以下面的一段 為例子 1 public class point24 public inty 5 678 the user customer data type.9p...

swift學習02 元組tuple

元組tuple lettuple errostring 錯誤資訊 errortype 404 vartuplevar errorstring 錯誤資訊 errortype 404 vartuplevar 錯誤資訊 404 tuple 可以把多個值組合成乙個復合值。tuple 可以是任意型別,不用相同...

python入門11 元組tuple

tuple元組是一種不可變資料型別,也是一種序列,因此可用序列的各類方法,比如切片和索引 coding utf 8 usr bin python 2018 11 03 dinghanhua 元組 元組,不可改變 賦值turple1 1,2turple2 3,4,a true print type t...