もっと詳しく
タプルは、複数の部分を持つデータ構造の一種であると言われています。 これは、相互に関連している場合と関連していない場合がある複数の値を含むデータのセットを示しています。 それらは異なるデータ型である可能性があります。 タプルは通常、最大8つの要素のアイテムを格納するように設計されているため、8つを超えるアイテムを使用すると、エラーが発生します。 タプルの基本的な機能は、1つのセットに複数のタイプのデータを追加できることです。 パラメータを使用せずに実行されたメソッドから複数の値を返します。 タプル内には、多くの重複アイテムを格納できます。

Cシャープのタプルの必要性

名前、ID、血液型などの単一のエンティティを使用して個人の詳細を保存する必要があるシナリオを想像してみてください。小さなフィールドでこれらの項目を宣言する一般的で最も簡単な方法は、次のようなデータ構造です。心はタプルです。 配列と比較すると、これらは特定のデータ型のアイテムを格納でき、無限のアイテムを格納できますが、タプルは限ら​​れた値までのアイテムを格納できます。

例1

例を使用して、タプルクラスを介したタプルの作成を示します。 通常、タプルに追加される各アイテムのタイプを識別する必要があります。 これには多くの時間がかかり、コードが乱雑になります。 これは、タプルクラスを介して克服できます。 このクラスには、本質的に静的なメソッドがあります。 それらを使用することで、オブジェクトのデータ型を記述する必要がなくなります。 アイテムを8個まで追加し続けます。

例として、Cシャープでのタプルの作成について詳しく説明します。 ソースコードを開始するには、各クラス、配列、およびタプルなどの他のコンテナに関する説明を含むライブラリを使用します。

クラスを作成し、その中にメインプログラムを宣言します。 タプルの作成には、createメソッドが使用されます。 オブジェクトは、タプルクラス内に存在する組み込みのcreate関数を介して作成されます。 パラメータとしてのこの関数には、タプルに入力する値が含まれています。

Var My_Tuple1 = Tuple.Create((「Linuxヒント」)。;

ここで、My_tuple1はオブジェクトです。 これは単一のタプルの例でした。 文字列のみを定義します。 この文字列はオブジェクトによって識別されました。 そのため、値の変数型を宣言する必要はありませんでした。

同様に、同じアプローチに従うことで、オブジェクトを介して4つのタプルを作成できます。 今回はすべての値が整数データ型です。

Var My_tupe2 = Tuple.Create((12304050)。;

自分の選択に応じて、複数のタプルを作成できます。 これまで、文字列または整数のいずれかの単一のデータ型のタプルを作成していました。 次に、混合データ型のタプルを作成します。

VarMy_Tuple3=タプル。 作成 ((13「Linux」6789.90‘g’39939“ヒント”10)。;

タプルを作成するこの例には、整数、文字列、double値を含むほぼすべてのデータ型が含まれています。 したがって、データ型について言及する必要はありません。

例2

タプルが作成されると、メモリスロットの一部がその中の値に割り当てられます。 作成後、これらのタプルにアクセスする必要があります。 タプル内のすべての要素には、アイテムプロパティを使用してアクセスします。このプロパティでは、タプル内の要素番号を宣言します。 配列の場合と同様に、以前はインデックス番号に言及していたため、タプルの場合はアイテム番号に言及します。 したがって、アイテムには、要素番号を使用してオブジェクトからアクセスできます。 これについては、以下のソースコードで詳しく説明します。

したがって、最初に、値を指定してサンプルタプルを作成します。 タプルの名前はMy_tuple1です。 次に、console.writelineコマンドを使用してこのタプルにアクセスします。その結果、ターミナルに表示されます。

Console.writeline ((「My_Tuple1の要素:」 + My_Tuple1.Item1)。;

単一のアイテムがあったので、タプルオブジェクトを介してそれを使用したことがわかります。

同様に、前の例で行ったように4つのタプルが作成されます。 これらは、存在に応じたアイテム番号を使用して表示されます。 各コンソールラインでは、一度に1つのアイテムのみが使用されます。 したがって、タプル内の4つのアイテムすべてを表示するために、それらを個別に表示することがわかります。

Console.WriteLine ((“My_Tuple2の要素:” + My_Tuple2.Item1)。;

4つを使用した後、8つのタプルが同様に作成されます。 同様に、各アイテムには、タプルとともにアイテム番号を介してアクセスします。 1つのプログラムで複数のタプルが使用されている場合は、タプル名オブジェクトに言及することで特定のアイテムにアクセスします。

このコードを保存します。 Linux端末でMCSコンパイラとmonoを使用してプログラムを実行し、コードを実行します。

$ MCS file.c
$ mono file.exe

すべての要素は、それぞれのタプルのタプルオブジェクトを介してアイテム番号プロパティを介してアクセスされます。

例3

Cシャープでは、1つのタプルに最大8つのアイテムを追加できます。 これは限られた状況になります。 したがって、タプルを作成して同じタイプのアイテムを作成するには、ネストされたタプルを使用します。これは、名前が別のタプル内のタプルを処理することを示しているためです。 ネストされたタプルはプログラムのどこにでも作成できますが、推奨事項に従うことで、常に最後に宣言します。 8つのアイテムすべては、itemプロパティを介してアクセスされますが、ネストされたタプルアイテムは、restプロパティを介してアクセスされます。

したがって、最初に、ネストされたタプルを作成します。

varMy_Tuple=タプル。 作成 ((13「Linux」6789.90「L」39939“ヒント”、タプル。 作成 ((12304050)。)。;

単純なタプルにはそれ自体で6つのアイテムが含まれ、7番目に、ネストされたタプルが宣言され、さらに5つのアイテムが含まれていることがわかります。

次に、itemプロパティを使用してタプルのアイテムにアクセスします。

Console.writeline ((“My_Tupleの要素:” + My_Tuple.Item1)。;

7つのアイテムすべてにitemプロパティを介してアクセスし、ネストされたタプルのrestプロパティを使用して、すべてのアイテムをまとめて表示します。

Console.writeline((「ネストされたタプルの要素:」 + My_tuple.Rest)。;

一方、ネストされたタプルのアイテムを表示する場合、これはitemプロパティによって行われます。

My_Tuple。 残り。 Item1.Item1;

これには、restキーワードを使用してからタプル名を使用し、ネストされたタプル内にタプル項目を指定してアクセスします。

実行すると、すべてのアイテムがアイテムと残りのプロパティを介して表示されていることがわかります。

結論

タプルは、1つのエンティティに1人の人物の複数の属性の詳細を格納するために使用されるデータ構造です。 タプルは、コンストラクターと、タプルクラス内にプロパティが存在するタプルオブジェクトを介して作成できます。 ただし、推奨される方法は、オブジェクトメソッドを使用することです。 作成と同様に、タプルにアクセスする方法は2つあります。 1つの方法はitemプロパティを使用する方法であり、もう1つの方法はrestプロパティを使用する方法です。 例では両方のアプローチを使用して、タプルのアクセス機能について詳しく説明しました。特に、プログラムにネストされたタプルを導入する場合はそうです。

The post C#タプル appeared first on Gamingsym Japan.