記事へのコメント46

    • 注目コメント
    • 新着コメント
    yorkfield
    yorkfield 同じ書き方をしても値型と参照型で挙動が違うのは罠と言えばそうかもしれない。

    2023/12/19 リンク

    その他
    tattyu
    tattyu 1人で書く分には好きなの使えば良い。複数人ならなるべくclass使う。全員がC/C#完全に理解してるようなイキりブクマカだったらいいが普通そうではない。hirashoさんはC/C++理解した上で初心者に向けて書いてる。

    2023/03/31 リンク

    その他
    mitsuse
    mitsuse おかしい。スタックの話も、return された値型にミューテーション起こしても return 前の値が変わらないとか (それはそもそもその API が悪いのではとか)、イミュータブル・ミュータブルの概念は...とか思って途中でやめた。

    2020/07/12 リンク

    その他
    iwadon
    iwadon “structを使うな”という言葉が強すぎて、その先を読めてない。そのうち読む。

    2019/04/12 リンク

    その他
    aceraceae
    aceraceae この場合どっちかというと class の挙動のほうが罠っぽいんだけど。

    2019/04/11 リンク

    その他
    Trapezoid
    Trapezoid structは基本immutableにできる大きさのものに適用するべきだし全部immutableでいいので、全部reaadonly structにしよ(C# 7.3に行けない過去のUnityのことはもう忘れたようだ)どうしてもならref thisとかreadonly ref(in)使ってこ

    2019/04/11 リンク

    その他
    extendskick
    extendskick struct

    2019/04/11 リンク

    その他
    mohno
    mohno これかー。“使うな”はともかく、どんな言語を使ってきたかで“罠”と思っちゃうかもしれないのは仕方がないのかもしれない。あと「System.Drawing.Color をクラスにすればよかった」という話を聞いた気がする。

    2019/04/11 リンク

    その他
    teruyastar
    teruyastar C# 自作struct罠いっぱいだな。作るにしても不変で16バイト以下、DictionaryやListにぶっこむな、、、高速化、省メモリのために作ったところで知らないうちに罠ふんだり踏ませたり逆効果なりそうで管理できる気がしない

    2019/04/11 リンク

    その他
    fortrand
    fortrand C#を知らずCを知ってる人からは「値と参照は別々だよな」で終わるけど、C#だけでは「どっちもnewで同じ文法なのになんで挙動違うんだよ」と思うのかも。元々メモリ確保周りはC#固有では無くプログラミング全体の罠。

    2019/04/11 リンク

    その他
    miya2000
    miya2000 「そもそもclassだったら速度はどうなのか?」TryGetValue に失敗するのでは。

    2019/04/10 リンク

    その他
    mrpotas
    mrpotas 一方、とあるC# MVPは「struct最高!」とTwitterでつぶやいていた

    2019/04/10 リンク

    その他
    qtamaki
    qtamaki こういう所がDelphiっぽさだな

    2019/04/10 リンク

    その他
    shoechang
    shoechang C#、というか.NETで値型と参照型、ヒープとスタックの違いとガベージコレクションの働きを理解している技術者ばかりのチームで開発したことがないので構造体を禁止したいという意見もわかる。

    2019/04/10 リンク

    その他
    z67kjh
    z67kjh 5chのC#初心者スレで度々出る話。初心者には紛らわしいのであろう

    2019/04/10 リンク

    その他
    t-cyrill
    t-cyrill これ別にC#じゃなくてもあるしそういうものでは

    2019/04/10 リンク

    その他
    paulownia
    paulownia 間違いは仕方ないけど、理解不足を棚に上げて"使うな"とは、分からない人が多いからJavaのlambda禁止と言ってるダメなプロジェクトと同じレベルのダサさ。恥を知った方がいい

    2019/04/10 リンク

    その他
    matarillo
    matarillo あとでブログ記事書く(はてブやツイッターの反応があまりよろしくない感じ

    2019/04/10 リンク

    その他
    tohshindainokawaisa
    tohshindainokawaisa 値型と参照型について勉強してから書いてね/既出だった

    2019/04/10 リンク

    その他
    tyhe
    tyhe カヤックこのレベルの記事公開しちゃって大丈夫? / struct のスタックうんたらについてはこちら。 https://blogs.msdn.microsoft.com/ericlippert/2010/09/30/the-truth-about-value-types/

    2019/04/10 リンク

    その他
    GENS
    GENS structの英単語の意味知ってる?

    2019/04/10 リンク

    その他
    eru01
    eru01 途中で読むのやめたけど、値型なんだからそらそうやろとしか思えんが。だってC#のstructは値型やし

    2019/04/10 リンク

    その他
    cartman0
    cartman0 structの場合、newしてもスタック領域なのか。なんちゅーデザインや。。 / structは値型だから直接コピーがネッになって参照型のクラス使えばそれが解消されるってことか,でもGCのタイミングとか考えだすと大変そうね

    2019/04/10 リンク

    その他
    oktnzm
    oktnzm なんかおかしいなと思ったら構造体が値渡しってことを知らないだけなのか?Cやってたら中級レベルで当たる話だと思うが・・・え?C#しか触ったことないって!?

    2019/04/10 リンク

    その他
    rryu
    rryu mutableな値型を作ってはいけないというだけな気も。Vector3.Set()が罠すぎるが…

    2019/04/10 リンク

    その他
    morita_non
    morita_non C#知らんけどstructのインスタンスがstackにしか作られないてマジ?著者は元セガのゲームプログラミン本も書いてた平山尚さんだけど…

    2019/04/10 リンク

    その他
    polyamid
    polyamid 「値型」「参照型」という用語を使って説明すべき

    2019/04/10 リンク

    その他
    lm0x
    lm0x 罠か?

    2019/04/10 リンク

    その他
    naqtn
    naqtn https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/value-types new はコンストラクタ呼び出しによる初期化を示すだけ。/代入演算子の仕様調べたら The value (略) stored into としか書いていなかったでござる

    2019/04/10 リンク

    その他
    gabari
    gabari C#の実装知らないけど、C++で言えばRVO的なの無いのか/Vector3を100万個とかむしろ少ないんじゃないのかとか、いろいろ言いたいことはあるな…いつGC起きるか問題の方がUnity的にはクリティカルだと思うし

    2019/04/10 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    C#に潜むstructの罠 - KAYAC engineers' blog

    こんにちは。技術部平山です。 この記事ではC#のstructを使った際にはまった罠について書きます。 Unity...

    ブックマークしたユーザー

    • yorkfield2023/12/19 yorkfield
    • techtech05212023/05/24 techtech0521
    • tattyu2023/03/31 tattyu
    • knstkny2022/12/26 knstkny
    • Yosakoye2022/07/14 Yosakoye
    • htsnul2020/12/23 htsnul
    • n_mattun2020/10/20 n_mattun
    • gameagogo2020/07/26 gameagogo
    • mitsuse2020/07/12 mitsuse
    • mrhdms2020/02/20 mrhdms
    • canadie2020/02/14 canadie
    • pebble88882019/07/22 pebble8888
    • wkubota2019/04/17 wkubota
    • iwadon2019/04/12 iwadon
    • mjtai2019/04/12 mjtai
    • makopy_inside2019/04/12 makopy_inside
    • sayi2019/04/12 sayi
    • mikage0142019/04/11 mikage014
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事