C#のタプル記述はメソッド内で一度に複数の項目を戻り値に指定できたりと便利です。
わたしはC#でタプルの記述を初めてしたとき以下のエラーに遭遇しました。
以下のようなタプルを使ったコードです。
private (string, int) GetName()
{
return ("Emanon", 16);
}
こんなエラーが出ました。
定義済みの型 ‘System.ValueTuple`2’ は定義、またはインポートされていません
原因
タプルは、C#のバージョンが7から取り入れられた項目です。
ビルドの際の対象フレームワークが.Net Framework 4.7以上でないとタプルエラーが出ます。
C#のバージョンを気にする必要はありません。
対象フレームワークを .NET Framework 4.7以上にすればC#のバージョンもそれに伴って7以上になります。
対策
エラーが出たプロジェクトのメニューから、
プロジェクト ー XXXXXのプロパティ を選択

表示されたタブにあるアプリケーションの項目をクリック

対象のフレームワークを .NET Framework 4.7 以上に変更する

ターゲット フレームワークの変更 のメッセージウインドウが表示されるので はい をクリック

これでタプルエラーは消えるはずです。

エラーが消えた!
以上、素敵なタプルライフを!
コメント