質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.27%

  • C#

    4987questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1264questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Windows

    1055questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • .NET Framework

    359questions

    .NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

業務でのタプルの使用

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 151

imamoto_browser

score 926

C#7.0からデコンストラクタとタプルが使えるようになりましたが、業務でタプルって使ったことありますか。業務でC#書いたことないので、実務で使われているのか気になり、質問しました。

※修正:デコンストラクタは7.0から追加されたものではありません
でした。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Zuishin

    2017/12/28 13:29

    デコンストラクタは新機能ではありません。最初から存在します。

    キャンセル

  • imamoto_browser

    2017/12/28 14:11

    確認しました。ご指摘ありがとうございます。

    キャンセル

  • hihijiji

    2017/12/29 19:08

    *C#の*デコンストラクタはC#7.0から導入されたので間違いないですよ。始めからあるのはデストラクタです。デコンストラクタではインスタンスが返す ValueTuple を定義します。

    キャンセル

  • Zuishin

    2017/12/30 08:51

    デストラクタと勘違いしました。すみませんでした。

    キャンセル

回答 2

checkベストアンサー

0

ValueTuple は複数の戻り値が欲しいときに便利なので積極的に使ってます。
C#7.0を採用した時点で、他に特別な理由がない限り使える物は全て使います。
また万一 ValueTuple の存在(だけ)を知らない人がいたとしても理解しようと思えば理解できると思います。
デコンストラクタは何が便利なのが思いつかないので、しばらくは使わないでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/28 14:23

    オブジェクトをまとめられるってのは直感的には便利ですよね。どちらかというと、ユニットテストなんかで使えそうな感じです。

    キャンセル

  • 2017/12/29 19:15

    デコンストラクタもデバッグやテストなどには便利かもしれませんね。

    キャンセル

0

採用されるかどうかはコンテキスト依存だと思いますよ
捨て書きには大変便利です
上手く使えば当然後から出てきているので便利なんでしょうが、開発の規模が大きくなる(=関わる人数が増える)と、ある一定数の理解できない(理解しようとしない)クラスタが出現します
端から理解できないクラスタばかりならこういう話は出ないでしょうから

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/28 14:21

    まぁケースバイケースってことですね。おっしゃっていることはどの言語で開発しても起こりうることなので、勉強段階ではtupleを積極的に使っていこうと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.27%

関連した質問

  • 解決済

    要素がひとつのタプルは生成できない?

    Python3.4を使用しています。 要素がひとつのタプルを生成したのですが、書き換えができてしまって、 型を調べてみるとint型になってるんです。 >>> t = (1) >

  • 解決済

    Swift 複数の値を渡すには?

    Swiftを使って複数の値を渡したいのですが何か良い方法はありませんでしょうか? まだまだSwiftを始めたばかりの初心者なためわかりません。 お手柔らかに宜しくお願いします。

  • 解決済

    【python初学者】"TypeError: format requires a mapping"

    今日から始めたpythonの初学者です。 以下のようなコードを実行すると "TypeError: format requires a mapping"というエラーメッセージが出ます

  • 解決済

    Pythonでの質問

    かなり初歩的に質問になってしまうのですが y = [0.0] * len(x) このような分に例えばxに100が入っていたとしてyは何になるのでしょうか どのような理

  • 解決済

    タプルについて

    python のタプルについて質問があります。 def foo(a, b, *vals): ... return a, b, vals ... >>> a, b, c =

  • 解決済

    Pythonのappendとextendの出力結果の違い

    タイトルの通り、appendとextendの動作の違いについてどうしてもわからないので質問させて下さい。 Python3.6,MySQLは5.7の環境で使用しています。 私

  • 解決済

    ネストされた辞書型について(python pandas)

    MovieLensのratings.csvを使用して以下の出力結果を得たいと思っています. ※ userId,movieId,rating,timestanpはカラム名で実際

  • 解決済

    ValueError at /accounts/result cannot convert floa...

    ValueError at /accounts/result cannot convert float NaN to integer とエラーが出ました。 views.pyに

同じタグがついた質問を見る

  • C#

    4987questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1264questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Windows

    1055questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • .NET Framework

    359questions

    .NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。