C#, C♯, C#相談室 Part97

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/12/21(水) 10:18:38.02ID:DxBIri9+0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2024/05/05(日) 15:29:05.12ID:vcr/Jmru0
>>832
されないよ
使ってみれば判るけどプロファイルのフォルダはそのアプリで指定した場所になる
逆にフォルダのパスを共通にすればごっちゃにすることもできる
2024/05/06(月) 04:24:31.59ID:Y1eRVlKT0
Twitterで情報収集しようとしたらこの言語検索性悪過ぎて草生えた
C#で検索しても#が認識されなくてただのCとして検索されるし、プログラミング関連のワードで絞ってもC言語とかが邪魔してくる
.Netで検索すると今度は無関係のURLリンクが引っかかる
2024/05/06(月) 06:13:09.21ID:x6Gw80BR0
Cシャープでやれ
2024/05/06(月) 06:47:15.54ID:X+oZgWI/0
なぜTwitterでw
2024/05/06(月) 07:39:37.78ID:V9VNfpsg0
>>834
要望はイーロンマスクにどうぞ
2024/05/06(月) 10:59:23.54ID:pNU+jdQ20
Xは@iの検索ができなくなってなぁ…
2024/05/06(月) 11:34:52.96ID:fRPq37Dy0
>>834
そもそもプログラミング言語に関する情報を集めるのにXはあんまり向かんだろう
まだググる方がマシ
2024/05/06(月) 16:58:20.58ID:ojuI1p9d0
Xは時事ネタを検索するには便利だけど専門的なことは期待できない
google検索も企業ファーストに舵を切ってから役に立たないし、それ以前に有用なサイトをブクマ出来てない人は苦労しそう
2024/05/07(火) 06:54:25.23ID:io+wCOfI0
その情報の海の中から有用な情報を精査・発見できないならネットで済まそうとせずに本を買え
これ、インターネットが普及した頃からずっとそうだぞ
2024/05/08(水) 01:31:40.97ID:TS7i9ax30
昔のgoogle検索はかゆいところに手が届いてたのにな
本は長く使えるか判断できない奴が買うとすぐゴミになるから俺は安易に薦めない
2024/05/08(水) 02:07:31.13ID:5PSVmBb20
十分普及した時点でgoogleの慈善事業ごっこはとっくに終了してんだよ
2024/05/08(水) 02:19:24.39ID:5NTM1uLp0
ネットはある程度知識がある人が自分の知識の足りない部分を補う分には非常に有用だけどゼロから学ぶのには向いてない
2024/05/08(水) 09:26:59.62ID:bVDMIWF00
>>842
いまのGoggoleは検索しても通販サイトしかヒットしないポンンコになり下がった
だれもきずいていない
2024/05/08(水) 09:39:03.13ID:5NTM1uLp0
googleだとアフィブログしか出てこないのにbingだと普通に目当ての情報が見つかるからなぁもう
2024/05/08(水) 10:31:06.16ID:ERe41ndG0
Googleはキャッシュ無くしやがったのでbing使ってる
2024/05/08(水) 19:21:39.06ID:X33MO7C50
きずいていないw
2024/05/08(水) 19:26:26.14ID:04B5PivT0
ポンンコw
2024/05/09(木) 08:53:58.81ID:cRZqeFYn0
Goggole
2024/05/11(土) 12:39:32.97ID:kz1EElN5p
なあ、プロパティのgetやsetでメソッド呼び出しして無限地獄に陥った話聞きたい?
2024/05/11(土) 13:15:55.84ID:HtJ14mSt0
この板で「俺の自分語り聞きたい?」って頭おかしい
2024/05/11(土) 15:09:49.19ID:XgtaaISj0
2024/05/11(土) 15:55:35.38ID:0FfRZhOLd
聞きたい?って確認してくれるだけマシだと思います
>>330-340
2024/05/11(土) 16:33:14.02ID:+V8XFDMb0
関わらんのが一番
2024/05/11(土) 16:56:41.72ID:P3YKzyo80
子供の頃に絶対に触っちゃいけないと言われた物ってどうしても触ってしまいたくなるじゃん?
好奇心には勝てない
2024/05/11(土) 19:57:36.61ID:wdA0qQZr0
大人になってそれなら危機感が足りなすぎる
2024/05/12(日) 14:14:24.80ID:9QzaUXiSr
getsetって使い道ありますか?
2024/05/12(日) 17:18:14.81ID:n9hBuVZY0
プロパティは必要かって質問?
2024/05/12(日) 17:47:16.81ID:oNymzPjY0
使い道があるかどうか。と問われれば「ある」
2024/05/12(日) 22:53:33.15ID:oU1NEJC80
ここで聞くのは正しくなかもしれませんが、分かる方がいれば教えてください。
ドメイン駆動設計を勉強中です。エンティティに識別子を持たせる意味が分かりません。
エンティティをインスタンス化するとそれぞれアドレスが異なるインスタンスが生成されると思います。
==演算子やEqualsメソッドで比較するのは参照じゃダメなんでしょうか?
識別子を比較するようにオーバーライドしているのは何故ですか?
2024/05/12(日) 23:06:12.43ID:13YW9m600
>>861
いろいろ問題あるやろ

例えば本と著者のようにエンティティ動詞を関連付けるとして
識別子じゃなくメモリアドレスで紐づけるの?
メモリアドレスで識別するなら永続化できないし
異なるメモリ空間で実行するプログラムにエンティティを渡せない

データベースのプライマリキーと同じでエンティティの識別には
エンティティの一生涯で変化しない識別子が必要
2024/05/13(月) 00:07:27.42ID:T0EdOj3i0
>>862
ありがとうございます。何となく分かってきました。
ということは、そのプログラム実行時(永続化する必要が無い)かつ同じメモリ空間かつであれば、アドレスで比較しても問題ないですか?
それとも普通そういった使い方はしないんでしょうか?
864デフォルトの名無しさん (ワッチョイ 4fda-lgp4)
垢版 |
2024/05/13(月) 00:57:13.99ID:KNVG9kbW0
エンティティをインスタンス化するとアドレスが異なるインスタンスが生成されるのはいいとして、そこから対偶になっていない、
エンティティが同一ならアドレスが等しいという条件を課すとするならば、
アドレスが異なるならばエンティティが異なるということが導かれ、
当たり前だけどエンティティが同一だけどアドレスが異なる状態は許容しないということになるよね
どんな操作をするのにも参照を取り回して同一インスタンスを操作することを徹底できればいいけれど、
気軽にコピーできなくなるということなので、実用アプリケーションの制作において足枷にならないかな?
とりあえずキャッシュがかなりやりにくくなるような気がするけど
2024/05/13(月) 01:08:24.22ID:7pfNamxd0
というかDDDでメモリアドレスを気にして実装する時点で何かおかしいと思わないかい
2024/05/13(月) 04:30:57.73ID:I8pQV51I0
痛い目にあったら理解すると思うよ
2024/05/13(月) 12:22:50.53ID:F+xLIur60
>>863
DDD本のエンティティの項目は読んでる?(89ページ辺り)
2024/05/14(火) 01:43:01.15ID:EpBaRFQm0
864です
皆さんありがとうございました
もう少し本を読んでから改めて出直します
また質問すると思いますがよろしくお願いします
2024/05/14(火) 20:54:16.87ID:LHkSjF/80
こういう、よく分からないけど自分が間違ってるっぽいから話を打ち切ろうみたいなの
たまに見かけるけどなんだかなーって気分になる
2024/05/14(火) 20:58:08.78ID:A6WE0gbN0
じゃ見なきゃいいよ
それが匿名掲示板
2024/05/14(火) 21:03:01.20ID:jj6IK9YMM
わかってないと思ったら普通出直すでしょ
食い下がったらそれはそれで文句言うくせに
2024/05/14(火) 21:08:24.16ID:LHkSjF/80
追加で質問してどこが間違ってたか理解不足だったかを納得してもらう方がいいと個人的には思うけどね
2024/05/15(水) 01:12:16.36ID:2H/iMivC0
わかってないのにわかった風に延々と無駄話を続けられるよりよっぽど潔い
2024/05/15(水) 06:06:59.89ID:yE8TSy4y0
お前の個人的な思いと他人の行動は全く関係ないからね
2024/05/15(水) 10:05:19.47ID:V+thUn/bp
おまえら、玩具がなくなっちゃった、くらいにしか思って無いくせに
2024/05/15(水) 10:59:12.12ID:SzkvBw7Q0
まあそういう考えのやつもいるだろうね
2024/05/15(水) 12:53:10.60ID:/Mhgjk7F0
思考実験としてはそれなりに面白いお題だった

「メモリアドレスを識別子とするエンティティは果たして存在するのだろうか?存在するならそれは具体的にどういうエンティティなのか?」

もちろんメモリ領域そのものの管理を目的としたエンティティは除いてだけど
2024/05/15(水) 14:55:29.72ID:ssyreCOMd
それだと別々のインスタンスが同じエンティティを表すことが出来ないけどそれで事足りるの?
2024/05/15(水) 18:48:28.55ID:FpKtUTMgM
>>878
仮にメモリアドレスを識別子とするエンティティが存在するなら別々のインスタンスが同じエンティティを表すことは当然ないよね

そういうエンティティがありえるのかどうかという問題
2024/05/15(水) 21:50:32.89ID:ssyreCOMd
>>879
別インスタンスが同一エンティティを表せるかどうかはエンティティの種類によって違ってくるものなの?
2024/05/15(水) 23:12:27.13ID:s7hy7sHPM
>>880
オブジェクトインスタンスそのものの管理を行うような低レイヤーのソフトウェアで考えた場合、オブジェクトインスタンスそのものが一つのエンティティとなりうるというのはOK?

その場合別インスタンスが同一エンティティを表すことはないよね?

ってことはエンティティの種類によってはそういうこともあるということだとおもうけど
2024/05/15(水) 23:20:45.90ID:ZskG14vCM
一応書いておくけど
インスタンスやメモリ領域の管理を目的とした場合以外でメモリアドレスを識別子にするのが妥当なケースがあるとは思ってないからね

あくまで普段考えない角度から物事を見て理解を深めるための思考実験
2024/05/15(水) 23:38:16.77ID:wJzPHbNod
>>881
んー、それドメイン駆動設計用語としてのエンティティの話?
2024/05/17(金) 13:17:23.76ID:5dJzWCNy0
インスタンスやメモリ領域の管理を目的とした場合はメモリアドレスをエンティティの識別子にするのがドメイン駆動設計として妥当である

せやろか・・・
2024/05/17(金) 22:57:29.82ID:SQDXRiXC0
>>884
「〜が妥当である」と「〜が妥当な場合がある」には天と地ほどの開きがあるでしょ
2024/05/17(金) 23:18:16.81ID:SQDXRiXC0
ある種の限られたドメインにおいてはメモリアドレスを識別子とするエンティティが(理屈の上では)存在しうることはDDD本のエンティティの項目を読めばわかると思う
ただ現実的にそういう低レイヤーにDDDが適用されるかどうかは別の問題

(以下引用)
Object-oriented languages build “identity” operations into every object (for example, the “==” operator in Java). These operations determine if two references point to the same object by comparing their location in memory or by some other mechanism. In this sense, every object instance has identity. In the domain of, say, creating a Java runtime environment or a technical framework for caching remote objects locally, every object instance may indeed be an ENTITY. But this identity mechanism means very little in other application domains.
2024/05/17(金) 23:54:44.95ID:0Qw7AgxQ0
「が妥当」は言いすぎたか

インスタンスやメモリ領域の管理を目的とした場合はメモリアドレスをエンティティの識別子にするの「は」ドメイン駆動設計として妥当である

こうか
2024/05/18(土) 05:56:38.10ID:QER1u3QS0
こうか(ドヤッ
じゃねぇよ
>>884のコピペやんけw
2024/05/18(土) 08:59:29.69ID:uwOjIZn9M
どういうゲームでどこに行きつけばゴールなのか?

既存の枠組みで何も考えないで実装できるから同じルールでやってるだけ
思考実験しなくていいそれが利点

永続化問題、DB使う使わないとか言語がなにかでルール変えてコーディングするのかどうか
考えないでいいと言うことは手間が減る
人材も幅広く取れるし共通概念なので理解してもらいやすい

アドレスはIDと違ってコーディング側では割り振りできない
recordをwithで書き換えたりしたらアドレスでは残念なことになる
普通にそんなことは起こらないだろうけど今後もC#が変わっていったとして同じとは限らない
2024/05/18(土) 09:26:13.96ID:uwOjIZn9M
そもそもが設計段階ではIDぐらいしか要素を特定できないから
設計が絡んでるならそういうことになる

実装内部で閉じてるなら何も言わないだろうけど
2024/05/18(土) 15:49:44.24ID:QKbKD5Xz0
まだやってる アホかな
2024/05/18(土) 16:12:15.09ID:vd+0G+Oc0
どこからどう見てもドメイン駆動設計のドの字も理解してないドおじさん登場w
2024/05/20(月) 23:45:32.32ID:Pfa9ZyJi0
LINQでハマった
グループ化してグループ毎の最初以外の要素は
どうやって取得
2024/05/21(火) 00:02:25.81ID:r+EG8jhW0
chatgptに聞けよ
2024/05/21(火) 13:26:30.72ID:rxJcdrM+0
むしろなんで最初の要素は取れたんだよ
2024/05/21(火) 15:34:02.47ID:vkxQEgw4M
Firstで取れるやろ
2024/05/21(火) 15:59:27.53ID:X/SHx5yB0
group.Skip(1)
2024/05/21(火) 19:08:53.87ID:e5FsDiuq0
トンクス
2024/05/22(水) 17:24:02.98ID:sp3yeL1V0
SQLはCommandTextに直打ちではだめですか?
2024/05/22(水) 18:32:45.61ID:iEuybblX0
直打ちでも問題無いけど、標準のはそのままだと異常に使いづらいからDapperみたいなMicro-ORM使った方が良いよ
901デフォルトの名無しさん (ワッチョイ 17d2-TDJX)
垢版 |
2024/05/22(水) 21:02:34.25ID:fe7cSBQi0
リンQがわからなすぎて、普通にSQL書いてAIに書き直して貰ってるわ
2024/05/22(水) 23:26:59.46ID:QDijG+iXa
あれはsqlの結果からさらにsql投げて云々…みたいなことをやりたいときには便利だけどsqlをクエリ構文に置き換えるのを悩む時間が無駄だなぁと思ってしまうし自分も変換してもらってる
commandtextは逆にクエリ一発ぶん投げて終わり以外の用途だと異常にダルい
良い塩梅のやつが欲しい
2024/05/22(水) 23:29:40.61ID:rLBYb7w60
同じ感じで正規表現生成してもらおうとしたらイマイチ希望通りにならず粘ってたらむしろ正規表現マスターしてしまったわ
だから今は正規表現からRegexGeneratorと同じ発想でUtf8版のネイティブC#コード生成してもらったりしてる
自然言語→プログラミング言語はまだ微妙だけど人口言語間の変換はかなり正確だからSourceGeneratorは早速お役御免になってしまう気がする
js → C#やprotobuf → C#も修正無しでちゃんと動いたし
2024/05/23(木) 09:05:22.62ID:RAlxs53o0
正規表現ごとき生成してもらわにゃやれないヤツがプログラムすんなw
2024/05/23(木) 16:56:51.39ID:yF0uCFrx0
マスターしたならよかったじゃない
906デフォルトの名無しさん (ワッチョイ 0b0b-LSaA)
垢版 |
2024/05/23(木) 20:59:57.99ID:LosQAR650
そうそう、生成AIの手助けを借りて学べて生成AIよりいい結果を出せるようになったならいいことだと思うけどな
頼り切って成長しないのはどうかなと思うけど。
あれ使うのもコツがいる感じするけどな。普通の人はうまく使えてないよ。
2024/05/23(木) 22:57:13.92ID:qsnAhk7O0
答えだけいきなり見せられても身に付きにくいような
頼り切って成長しない人が多そう
生成AIの使い方だけは上達するかもだが
2024/05/30(木) 16:26:25.97ID:pPzAtbqS0
framework から .net8 までの移行する
手作業の修正量が多すぎて絶望した…

あと5年、frameworkのままでいいんじゃないかと(ry
2024/05/30(木) 19:26:00.71ID:DNVpjLQm0
そんなに急いで移行する必要はない気はしてる
2024/05/30(木) 21:44:04.20ID:vxJHc8oB0
AIに任せりゃ勝手にやってくんね?
2024/05/31(金) 08:47:54.92ID:CpIhztnK0
Windows自体がframeworkから脱却する気があるんだかないんだか
2024/05/31(金) 08:57:34.24ID:ogMlUm+J0
VB6からも脱却できないんだから無理だろ
2024/05/31(金) 09:57:22.66ID:0HXPXvOWM
マルチプラットホームにメリットが無いところはFrameworkでいいよね
2024/05/31(金) 17:32:29.31ID:k5B7sjrR0
新機能使えないから移行はした方が良い
2024/05/31(金) 19:05:46.04ID:zx6G2ghS0
だが断る
916デフォルトの名無しさん (ワッチョイ 497c-ZMO8)
垢版 |
2024/05/31(金) 19:54:11.63ID:SSgOsvhj0
新機能以前にさライブラリでに致命的なセキュリティ問題とかでCVE出てるのに使ってるのヤバくね?
2024/05/31(金) 21:42:18.33ID:u5tgeQUQ0
そんなものは他の様々な物でも出ることだし?
2024/05/31(金) 22:50:50.86ID:i18Gk7UTM
switch式とか使いたい
919デフォルトの名無しさん (ワッチョイ 497c-ZMO8)
垢版 |
2024/06/01(土) 07:23:58.05ID:C9dHieIy0
>>917
だから最新のとか直近の.netのバージョン対応のライブラリとかは修正されて対応されるやん
だけど今更472とかのライブラリなんてメンテされないから脅威解消出来ないじゃん
2024/06/01(土) 07:39:59.29ID:kZrjfnxBd
でも、.NET8よりframeworkの方がサポート期間長いですよね?
今移行します?
2024/06/01(土) 12:57:16.99ID:R9VmkqbP0
>>916が、致命的なセキュリティ問題でCVE出てるような最新物使うのがヤバいと言ってるように思えた俺
2024/06/01(土) 12:57:54.92ID:QSIEzkgk0
>>919
4.8にしなよw
2024/06/01(土) 13:22:33.14ID:adX2NFOC0
4.7.2が嫌なら4.8.1にいけばじゃない
924デフォルトの名無しさん (ワッチョイ 497c-ZMO8)
垢版 |
2024/06/01(土) 13:43:19.97ID:C9dHieIy0
>>920
フレームワーク自体じゃなくてもNugetで入れるライブラリは?
何時迄も古いバージョンのメンテして無いでしょ
925デフォルトの名無しさん (ワッチョイ 497c-ZMO8)
垢版 |
2024/06/01(土) 13:45:03.62ID:C9dHieIy0
>>920
もうシステムが10年持つ時代じゃ無いからね

2年ぐらいしたら最低でも最新バージョンでコンパイルし直して更新する
2024/06/01(土) 14:10:52.44ID:8V/QRNrW0
.NET8は結構速くなってるから重い処理させるならお勧め
SIMDも利用しやすくなってる
2024/06/01(土) 16:03:31.04ID:QSIEzkgk0
ただのイチャモン付けたいだけの愚物だわこいつ
928デフォルトの名無しさん (ワッチョイ 497c-ZMO8)
垢版 |
2024/06/01(土) 18:08:05.73ID:C9dHieIy0
何言ってんだろ

VSだってNuget管理開けば現在使用中のライブラリでCVE出てりゃ脅威としてマーク出る様になってる

そういう事を考えないといけない時代なんだよね
SBOMとかも知らなさそうだし
2024/06/01(土) 19:26:10.00ID:9geYeui+M
SIMD利用はそんなに楽になってないよ
基本はあまり変わってないので書き換えるまでには至らないし利便性も感じない

もう一歩進めて欲しかった
930デフォルトの名無しさん (ワッチョイ d968-GD45)
垢版 |
2024/06/01(土) 20:40:34.67ID:eDXQns4R0
C#の仕様なのかLINQの仕様なのかわからんけど
↓これだと数量[i]が取得出来ないのに

for (int i = 0; i < 5; i++) {
  q[i] = from a in q1
  select new {
    商品 = a.商品,
    数量 = a.数量[i]
  };
  q2 = q2.Concat(q[i]);
}

↓こうやって一旦別の変数に入れると取得できる

for (int i = 0; i < 5; i++) {
  int b = i;
  q[i] = from a in q1
  select new {
    商品 = a.商品,
    数量 = a.数量[b]
  };
  q2 = q2.Concat(q[i]);
}

iとbには同じ値が入っているのに何が違うん?
2024/06/01(土) 21:06:21.03ID:LGWaHKRV0
SELECT分で飛ばした時に値が変わるやろ
2番目のはそれ保持してるやんか
2024/06/01(土) 22:17:31.50ID:M7bbwRO60
>>930
式が評価されるタイミングで指してるiが何かってこと
遅延評価されないようにするか2番目のコードのようにイテレーション単位でそれぞれ別の値を指すようにすれば解決
ttps://ericlippert.com/2009/11/12/closing-over-the-loop-variable-considered-harmful-part-one/
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況