C#でタプルを反復処理する方法をわかりやすく解説
C#でタプル(Tuple)を扱う場合、リストなどのコレクションのように foreach 文で直接反復処理することはできません。代わりに、Item1 や Item2 といったプロパティを使って、各要素に個別にアクセスします。
タプルの宣言と値の追加
まず、タプルを宣言して値を設定します。
Tuple<int, string> tuple = new Tuple<int, string>(100, "Tom");
タプルの各要素へのアクセス
C#でタプルを反復処理するには、個々の要素に順番にアクセスします。
tuple.Item1 // 1番目の要素 tuple.Item2 // 2番目の要素
タプル全体を表示したい場合は、そのまま出力するだけで構いません。
// タプル全体を表示 Console.WriteLine(tuple);
サンプルコード
ここまでの内容を踏まえた、完全なコードを見てみましょう。
using System;
using System.Threading;
namespace Demo {
class Program {
static void Main(string[] args) {
Tuple<int, string> tuple = new Tuple<int, string>(100, "Tom");
if (tuple.Item1 == 100) {
Console.WriteLine(tuple.Item1);
}
if (tuple.Item2 == "Tom") {
Console.WriteLine(tuple.Item2);
}
// タプル全体を表示
Console.WriteLine(tuple);
}
}
}実行結果
100 Tom (100, Tom)
このように、Item1・Item2 プロパティを使えば、タプル内の任意の要素を取得したり条件判定したりできます。また、タプル全体を出力すると (100, Tom) の形式で表示されます。
なお、C# 7.0 以降では (100, "Tom") のように簡潔に書ける値タプル(ValueTuple)や、要素に名前を付けて tuple.Id のようにアクセスできる機能も利用できます。用途に応じて使い分けると、より読みやすいコードになります。
-
Pythonでタプルを定義するには?基本の作成方法をわかりやすく解説
Pythonにおけるタプルとはタプル(tuple)は、Pythonの標準データ型のひとつで、複数のオブジェクトを順序付けて格納できるイミュータブル(変更不可)なシーケンスです。リストとよく似ていますが、一度作成した後は要素の追加・削除・変更ができないという点が大きな特徴です。タプルの基本的な定義方法タプルオブジェクトは、1つ以上のオブジェクトをカンマ(,)で区切って並べるだけで作成できます。各要素は必ずしも同じ型である必要はなく、整数・文字列・浮動小数点数・真偽値など、異なる型のオブジェクトを自由に混在させることができます。また、コレクション全体を丸括弧 ( ) で囲むこともできますが、これは
-
Pythonで特定のディレクトリ内のファイルを反復処理する方法をわかりやすく解説
os.listdir()でディレクトリの中身を一括取得するPythonで特定のディレクトリ内のファイルやフォルダを反復処理したい場合、最も基本的な方法が標準ライブラリのos.listdir()を使うことです。os.listdir(my_path)を実行すると、指定したパス(my_path)に含まれるファイルとディレクトリの一覧がリスト形式で返されます。以下は、カレントディレクトリ(.)の中身を取得する例です。>>> import os>>> os.listdir(.)[DLLs, Doc, etc, include, Lib, libs, LICENSE.t