!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
2022/02/09(水) 23:13:39.45ID:1A90hyai0295デフォルトの名無しさん (ワッチョイ 8bcf-noGs)
2022/03/22(火) 21:53:03.08ID:0A7XAa2y0 >>291
スコープを外れたときに自動的にDispose()が呼ばれるから問題ないってことなんだが。
スコープを外れたときに自動的にDispose()が呼ばれるから問題ないってことなんだが。
296デフォルトの名無しさん (スップ Sd73-2DeC)
2022/03/22(火) 22:22:58.92ID:1zUmccnld >>288
お前はメモリとかリソースの管理を他の言語でどうしてるかもっと勉強するべきだ
C/C++がユーザーに全部丸投げしてるのがいい加減辛いので言語側が管理すればいいんじゃね?ってのがGC。
GCの方式で主流なのは参照カウント方式とマークアンドスイープ方式。
参照カウント方式は循環参照(this._obj=this)があると回収されないから、
C#多少大きめのコストを支払ってでもマークアンドスイープ方式にした。
リソース解放のタイミングをコントロールしたけりゃIDisposable使え
解放漏れの保険でファイナライザ使え
https://ufcpp.net/study/csharp/rm_disposable.html
C#1.0のリリースが2002/02だから当時はそれでも充分だったんだろう
お前はメモリとかリソースの管理を他の言語でどうしてるかもっと勉強するべきだ
C/C++がユーザーに全部丸投げしてるのがいい加減辛いので言語側が管理すればいいんじゃね?ってのがGC。
GCの方式で主流なのは参照カウント方式とマークアンドスイープ方式。
参照カウント方式は循環参照(this._obj=this)があると回収されないから、
C#多少大きめのコストを支払ってでもマークアンドスイープ方式にした。
リソース解放のタイミングをコントロールしたけりゃIDisposable使え
解放漏れの保険でファイナライザ使え
https://ufcpp.net/study/csharp/rm_disposable.html
C#1.0のリリースが2002/02だから当時はそれでも充分だったんだろう
297デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 22:39:21.44ID:Ky9cYioTM そもそもC#は「デストラクタなぞ使うべきではない」っていう思想だし
それゆえにリソースの解放はデストラクタではなくDispose()で行う
(万一Dispose()を呼び忘れた場合に備えて>>291の実装でデストラクタで救済するけど、これも
パフォーマンス上好ましくないんでDispose(bool disposing)みたいなDisposeパターンの書き方で処理を最小化する)
って方針で首尾一貫してるんだけどさあ
その方針にケチつけてデストラクタがクソだのIDispose確認がメンドクサイだの言ってる人たちのほうがおかしいだけなんだよ
>>273が
「話の本質わかってなくて草生える」
とか書いてるけどまさにそのとおり
それゆえにリソースの解放はデストラクタではなくDispose()で行う
(万一Dispose()を呼び忘れた場合に備えて>>291の実装でデストラクタで救済するけど、これも
パフォーマンス上好ましくないんでDispose(bool disposing)みたいなDisposeパターンの書き方で処理を最小化する)
って方針で首尾一貫してるんだけどさあ
その方針にケチつけてデストラクタがクソだのIDispose確認がメンドクサイだの言ってる人たちのほうがおかしいだけなんだよ
>>273が
「話の本質わかってなくて草生える」
とか書いてるけどまさにそのとおり
298デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 22:49:13.09ID:Ky9cYioTM もひとつ気になってたんだけど、Dispose()呼び出しの必要性をいちいち確認して書くのが大変っていうけどホントかよ?
マネージドリソースを扱うにしたって、ローカル変数ならusingで書けばDisposeいらないよね?
最近のC#のバージョンなら中括弧で囲う必要すらなくなったよ?
クラス内のインスタンス変数だとしてもさあ、
DIで初期化するフィールドならDIコンテナに任せればDispose()呼ばなくていい
自前で生成初期化するフィールドだとしてもその個数もたかが知れてるしDisposeの要否も明快に分かるでしょ
それとも、自分で書いてるクラスの中がごちゃごちゃでDisposeが必要な変数がどれか把握しきれないってこと?
そんなクソみたいなゴミ溜めクラスしか書いてないのだとすれば、言語仕様じゃなくてクラス設計/実装能力の問題だと思うんだよね
マネージドリソースを扱うにしたって、ローカル変数ならusingで書けばDisposeいらないよね?
最近のC#のバージョンなら中括弧で囲う必要すらなくなったよ?
クラス内のインスタンス変数だとしてもさあ、
DIで初期化するフィールドならDIコンテナに任せればDispose()呼ばなくていい
自前で生成初期化するフィールドだとしてもその個数もたかが知れてるしDisposeの要否も明快に分かるでしょ
それとも、自分で書いてるクラスの中がごちゃごちゃでDisposeが必要な変数がどれか把握しきれないってこと?
そんなクソみたいなゴミ溜めクラスしか書いてないのだとすれば、言語仕様じゃなくてクラス設計/実装能力の問題だと思うんだよね
299デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 22:56:19.99ID:Ky9cYioTM ごめん嘘書いた
>>291の実装はC++/CLIの話だったのか(ごめんC++/CLIはやったことがないので判らない)
Disposeパターンのデストラクタと似たようなものだと思い込んで混同しちゃってた
>>291の実装はC++/CLIの話だったのか(ごめんC++/CLIはやったことがないので判らない)
Disposeパターンのデストラクタと似たようなものだと思い込んで混同しちゃってた
300デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 22:56:39.59ID:OaCGWLhd0 > そもそもC#は「デストラクタなぞ使うべきではない」っていう思想だし
聞いたことねーなw
デストラクタは非同期ですってだけだ。同期したいならdispose使えという単純な話でしかない。
聞いたことねーなw
デストラクタは非同期ですってだけだ。同期したいならdispose使えという単純な話でしかない。
301デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 23:25:36.30ID:Ky9cYioTM あれどっかに書かれてたと思ったんだが・・・と思って調べたら
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/finalizers#explicit-release-of-resources
「高額な外部リソースを使用している場合」という限定で「明示的に解放する手段を用意することが推奨されます」
とはあったけど、デストラクタなど使うべきではないとまでは書かれてなかった
たしかにちょっと踏み込みすぎたか
てか「デストラクター」じゃなくて「ファイナライザー」って呼ぶように変わったのね・・・いつから?
そのわりに
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/language-specification/classes#destructors
では「デストラクター」のままだったりしてるけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/finalizers#explicit-release-of-resources
「高額な外部リソースを使用している場合」という限定で「明示的に解放する手段を用意することが推奨されます」
とはあったけど、デストラクタなど使うべきではないとまでは書かれてなかった
たしかにちょっと踏み込みすぎたか
てか「デストラクター」じゃなくて「ファイナライザー」って呼ぶように変わったのね・・・いつから?
そのわりに
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/language-specification/classes#destructors
では「デストラクター」のままだったりしてるけど
302デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 23:40:08.97ID:OaCGWLhd0 元々finalizeはCLR側の用語でデストラクタはC#側の用語。
MSのゆとり化が進んで馬鹿すぎて区別できなくなったんだよ。
MSのゆとり化が進んで馬鹿すぎて区別できなくなったんだよ。
303デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/22(火) 23:47:20.01ID:3UvLvdTM0 デストラクタを実装したクラスはガベコレの効率が落ちる(世代があがる)からなるべく使うなって話だったはず
304デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/23(水) 00:14:26.29ID:fh4EIdzSM >>302 >>303 の書き込みをヒントに検索したら
https://ufcpp.net/study/csharp/rm_gc.html?sec=cost-to-finalize#finalize
このページにたどり着いて
デストラクタ→ファイナライザに呼び名が変わる理由もデストラクタのコストが極大なことも分かった
GC.SuppressFinalize()っていままで意味が分からないまま機械的に書いてたけど大事だったのね
いろいろ賢くなれた、ありがとう
https://ufcpp.net/study/csharp/rm_gc.html?sec=cost-to-finalize#finalize
このページにたどり着いて
デストラクタ→ファイナライザに呼び名が変わる理由もデストラクタのコストが極大なことも分かった
GC.SuppressFinalize()っていままで意味が分からないまま機械的に書いてたけど大事だったのね
いろいろ賢くなれた、ありがとう
305デフォルトの名無しさん (ワッチョイ 8b63-whB1)
2022/03/23(水) 06:24:39.80ID:XsByKBbP0 ならなくていいから直近50レス以内で俺以外に書き込んでるやつは直ちに全員頭かち割って中央線の始発に飛び込んで死ね
306デフォルトの名無しさん (ブーイモ MMeb-n2Eo)
2022/03/23(水) 06:36:55.59ID:Br4OtuZoM 長文ゲェジ共空気読めよ
(ユーザーが)欠陥言語
確かに間違ってねーな
(ユーザーが)欠陥言語
確かに間違ってねーな
307デフォルトの名無しさん (ブーイモ MM4d-NnL5)
2022/03/23(水) 23:47:04.44ID:blfYR8q/M デストラーデがどうしたって?
308デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/24(木) 04:45:47.25ID:AIr8SSYM0 ゼントラーディがキュンキュン☆
309デフォルトの名無しさん (ワッチョイ 9e68-VQaK)
2022/03/27(日) 19:21:45.49ID:ThH+K+970 float,double型について質問です。基本的に精度のたかいdouble型オンリーで良いと思います。
double型だけじゃなくfloat型が混ざっているソースをみるのですがそれは何故でしょうか?
double型だけじゃなくfloat型が混ざっているソースをみるのですがそれは何故でしょうか?
310デフォルトの名無しさん (ワッチョイ 5e7b-+Ivz)
2022/03/27(日) 19:25:09.32ID:p42Vgj/c0 >>309
C#に限った話じゃないがdoubleの方がメモリを多く使って計算速度も遅くなるから
C#に限った話じゃないがdoubleの方がメモリを多く使って計算速度も遅くなるから
311デフォルトの名無しさん (ワッチョイ 9e68-VQaK)
2022/03/27(日) 19:30:11.97ID:ThH+K+970312デフォルトの名無しさん (ワッチョイ 5ecf-+Ivz)
2022/03/27(日) 20:53:18.65ID:rqiHHq3k0 floatとdoubleの混用なんてそんな傾向が見いだせるほど頻繁に使われているとは思えんが。
たまたま見たそのコードではそういう使い方をしていたに過ぎないんでは。
たまたま見たそのコードではそういう使い方をしていたに過ぎないんでは。
313デフォルトの名無しさん (ワッチョイ 3179-yByv)
2022/03/27(日) 22:06:23.31ID:XoV4gFeA0 昔のコードをまだ使っててfloatのとこがあるって理由じゃねーかな?
314デフォルトの名無しさん (ワッチョイ b1d2-JyYd)
2022/03/27(日) 22:32:37.28ID:K7MWSPEs0 C++では機械学習と3Dレンダリングでの並列化を目的にfloat16_tとかいう概念が生産されたりしてるからfloat自体は過去の遺物ってほどでもない
C#だと実行速度を気にするよりも開発を楽にすることを重視することが多いからdoubleオンリーでいいのは確か
C#だと実行速度を気にするよりも開発を楽にすることを重視することが多いからdoubleオンリーでいいのは確か
315デフォルトの名無しさん (ワッチョイ 6502-QEpm)
2022/03/27(日) 23:11:31.46ID:HQutMm3I0 専用命令とかでベクトル演算するなら、floatの方が同時に演算出来る数が多いから単純に速くなる
316デフォルトの名無しさん (ワッチョイ a901-oYu3)
2022/03/28(月) 01:08:53.91ID:TOp/Y7AF0 まぁ精度や速度がクリティカルでなければ悩む時間が無駄だしdoubleでいいでしょ
317デフォルトの名無しさん (オッペケ Sr79-qy3V)
2022/03/28(月) 09:26:10.00ID:1rap9yocr318デフォルトの名無しさん (ワッチョイ 92ad-Xzp3)
2022/03/28(月) 09:29:45.95ID:MxvDEKd20 いまだにダウトとか言う香具師っているんだな
ダウトとか今日日聞かねえわ
ダウトとか今日日聞かねえわ
319デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/28(月) 11:03:16.37ID:9Kb03WZY0 というかそれぞれの場合過ぎるやろ
「基本doubleでいい」には自分は同意するけど、
別にfloat使ってたからって誤差が問題ないなら何も言わない
わざわざ変換を何度もして計算してたら気にするけども、そこまで求められる現場もそう多くないのでは
「基本doubleでいい」には自分は同意するけど、
別にfloat使ってたからって誤差が問題ないなら何も言わない
わざわざ変換を何度もして計算してたら気にするけども、そこまで求められる現場もそう多くないのでは
320デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/28(月) 11:19:15.17ID:8MPYL/o90 >>318
∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
321デフォルトの名無しさん (アウアウウー Sacd-j7M0)
2022/03/28(月) 11:25:55.09ID:28On/6D6a 整数でも他との型を合わせる以外 int を使うし、実数も基本 double でいいのでは
322デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/28(月) 11:39:56.75ID:TN58deSDM 遅くても小数以下の精度が重要ならdecimal使え
323デフォルトの名無しさん (ブーイモ MMd5-nQMq)
2022/03/28(月) 11:48:23.50ID:VjMRJ3XsM floatは結構簡単に精度の低さが問題として表面化するよ
longとintの比ではない
longとintの比ではない
324デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/28(月) 12:15:41.21ID:TN58deSDM 結局のところ、用途次第では
325デフォルトの名無しさん (アウアウクー MM39-121j)
2022/03/28(月) 14:04:59.59ID:iWC4w4vVM 実際のビジネスシステム構築ではDecimal型使う場合が多い
326デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/28(月) 14:21:08.92ID:9Kb03WZY0 そうかなあ。。
327デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/28(月) 14:25:47.66ID:8MPYL/o90 精度云々言ってるやつはせめて具体な影響の例も書こうぜ
328デフォルトの名無しさん (ラクッペペ MM96-gZpx)
2022/03/28(月) 14:27:32.27ID:3kQaQ/3DM sqlサーバーのnumeric(4,0)とかをEFでモデル作るとdecimalになるけど
お前らそのまま使ってる?
お前らそのまま使ってる?
329デフォルトの名無しさん (ワッチョイ b1d2-JyYd)
2022/03/28(月) 14:37:28.69ID:TgL79h+20 >>317
float演算もdouble演算もハードウェアがサポートしてるけどdoubleの方がクロック数消費が多い
float演算もdouble演算もハードウェアがサポートしてるけどdoubleの方がクロック数消費が多い
330デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/28(月) 14:41:13.92ID:DkKihmtS0 参考にどうぞ
MOVSS xmm, [m32] L: [memory dep.] T:0.50c
MOVSD xmm, [m64] L: [memory dep.] T:0.50c
MULSS xmm, xmm L:4.0c T:0.50c
MULSD xmm, xmm L:4.0c T:0.50c
MOVSS xmm, [m32] L: [memory dep.] T:0.50c
MOVSD xmm, [m64] L: [memory dep.] T:0.50c
MULSS xmm, xmm L:4.0c T:0.50c
MULSD xmm, xmm L:4.0c T:0.50c
331デフォルトの名無しさん (ワッチョイ b1d2-JyYd)
2022/03/28(月) 14:45:52.84ID:TgL79h+20 Ryzenのdatasheet過去に見たけど今検索しても見つからなくて困ってる
SIMD含め命令の消費クロック数とか全部書いてたのに...
SIMD含め命令の消費クロック数とか全部書いてたのに...
332デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/28(月) 14:47:28.95ID:TuD9lj1za >>327
floatだと日本の人口(1億2550万2290人)すら代入できない
floatだと日本の人口(1億2550万2290人)すら代入できない
333デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/28(月) 14:59:00.88ID:DkKihmtS0 Ryzen 5
MULSS xmm, xmm L:3.0c T:0.50c
MULSD xmm, xmm L:4.0c T:0.50c
Intelより速いですな。
MULSS xmm, xmm L:3.0c T:0.50c
MULSD xmm, xmm L:4.0c T:0.50c
Intelより速いですな。
334デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/28(月) 15:06:53.09ID:8MPYL/o90 はえー
335デフォルトの名無しさん (スッップ Sdb2-FX9+)
2022/03/28(月) 15:46:24.33ID:PX19Xk7jd C#でNTFSのMFTデータ取得とHDDにセクタ(?)単位で読み書きしたいです。
出来るなら関数とかを教えて欲しいですよろしくお願いします。
出来るなら関数とかを教えて欲しいですよろしくお願いします。
336デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/28(月) 16:10:41.34ID:bggr0gZp0 YouTube でよく見るけど、
Ryzen は高いけど、Intel 12世代に負けているでしょ?
Ryzen は高いけど、Intel 12世代に負けているでしょ?
337デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/28(月) 16:15:23.65ID:DkKihmtS0 NVIDIA GeForce RTX 3060
FP32 (float) performance 12.74 TFLOPS
FP64 (double) performance 199.0 GFLOPS (1:64)
FP32 (float) performance 12.74 TFLOPS
FP64 (double) performance 199.0 GFLOPS (1:64)
338デフォルトの名無しさん (ワッチョイ 5ee3-q+eG)
2022/03/28(月) 19:15:33.23ID:yX/3nbFs0 Intel12世代コアで雑にマルチスレッドプログラム動かしても大丈夫だよね?
下手にEコア引くみたいなことは無いと思うけどさ
下手にEコア引くみたいなことは無いと思うけどさ
339デフォルトの名無しさん (ワッチョイ 9202-q+eG)
2022/03/28(月) 21:00:15.79ID:dJWBHkZn0 AVX-512を有効化して使うことができる石を使っている…だと!?
340デフォルトの名無しさん (アウアウウー Sacd-c/bJ)
2022/03/29(火) 08:08:07.07ID:D1mnE0bGa プログレスバーを継承したコントロールのOnPaintの中で
base.OnPaint();呼んでもバーの部分は描かれないの?
base.OnPaint();呼んでもバーの部分は描かれないの?
341デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/29(火) 08:48:22.02ID:xQkhmjZ40 試せばいいじゃん
342デフォルトの名無しさん (ワッチョイ f57c-YDa2)
2022/03/29(火) 10:21:34.64ID:ET94Xefu0 >>340
そもそも OnPaint は呼ばれない
そもそも OnPaint は呼ばれない
343デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/29(火) 10:43:15.31ID:2DY4nmItM344デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/29(火) 10:52:49.33ID:MRVYy1310345デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 22:37:57.81ID:YOHlvasK0 >>328
むしろdecimal以外をつかうなら、それDB側の型が妥当か疑わしいが
むしろdecimal以外をつかうなら、それDB側の型が妥当か疑わしいが
346デフォルトの名無しさん (ワッチョイ 655f-FX9+)
2022/03/30(水) 10:44:05.86ID:u/rQAHi50 >>344
WIN32API 含めて検索したら出てきたKernel32.dllのreadfile/writefileの引数にPHYSICALDRIVE指定したらできそう頑張ってみる、ありがとう。
WIN32API 含めて検索したら出てきたKernel32.dllのreadfile/writefileの引数にPHYSICALDRIVE指定したらできそう頑張ってみる、ありがとう。
347デフォルトの名無しさん (ワッチョイ 655f-FX9+)
2022/03/30(水) 10:44:38.10ID:u/rQAHi50 したらできそうじゃ無くてできるらしいだった
348デフォルトの名無しさん (ワッチョイ d980-DSQx)
2022/03/30(水) 12:07:06.02ID:7T4t4X1P0 外部のdll関数にintptr渡して実行する処理(HBitmapにポインタ合わせて投げる)
が複数の上記とは関係ない処理をまたいで有効になっている処理を2,3回繰り返すんですが
メモリリークしてます。
どのようにしたらメモリリーク防げるかおわかりでしたらお教えください。
渡すBitmapとポインタを常に同じメモリ使う様にすれば良い?のかなとは
思うのですがそこらへんのやり方等なにかご存知でしたらご教授くださいm(_ _)m
が複数の上記とは関係ない処理をまたいで有効になっている処理を2,3回繰り返すんですが
メモリリークしてます。
どのようにしたらメモリリーク防げるかおわかりでしたらお教えください。
渡すBitmapとポインタを常に同じメモリ使う様にすれば良い?のかなとは
思うのですがそこらへんのやり方等なにかご存知でしたらご教授くださいm(_ _)m
349デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/30(水) 12:17:11.87ID:3gh732H7M ハンドルの解放わすれてるとかでは?
ループでぶん回すとメモリがリニアに増えてく箇所が無いかとか、まず場所を特定しなさい
ループでぶん回すとメモリがリニアに増えてく箇所が無いかとか、まず場所を特定しなさい
350デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/30(水) 14:56:51.43ID:oMfCMBWB0 newしたらdelete
getしたらrelease
mallocしたらfree
openしたらclose
すべてチェックするしかないですな。
むしろなぜ対にしてコードを書かないのか謎。あっC#だからか。
getしたらrelease
mallocしたらfree
openしたらclose
すべてチェックするしかないですな。
むしろなぜ対にしてコードを書かないのか謎。あっC#だからか。
351デフォルトの名無しさん (アウアウウー Sacd-j7M0)
2022/03/30(水) 17:56:20.90ID:nffiieLqa アンマネージなリソースはガベコレの対象外
352デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/30(水) 20:34:58.75ID:hQhM7AVja アンマネージなリソース使うならIDisposableにしてusing内で使う
>>350みたいなのはやってられん
>>350みたいなのはやってられん
353デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/30(水) 21:44:16.77ID:oMfCMBWB0 さすがgdbでVSを超える男!!
354デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 10:19:23.23ID:mHRscCZz0 せめてref structだけはデストラクタ書いたらスコープ抜ける所で自動でデストラクタ呼び出ししてもらいたいわ
C++みたいに
まぁC++みたいにコピームーブ禁止にできないから複数回呼ばれちゃうことを考えたらそういう風にはづらいってことなんだろうけど
C++みたいに
まぁC++みたいにコピームーブ禁止にできないから複数回呼ばれちゃうことを考えたらそういう風にはづらいってことなんだろうけど
355348 (ワッチョイ d980-DSQx)
2022/03/31(木) 10:54:55.91ID:58En6M9E0 ご指摘ありがとうございます。
IntPtrを割り当てたBitmap分のメモリがやはり解放されてないのは特定しました。
gdi32.dllにあるDeleteObjectじゃなきゃ消せないみたいなページ見つけて試してみたら解放されました。お騒がせしましたm(_ _)m
IntPtrを割り当てたBitmap分のメモリがやはり解放されてないのは特定しました。
gdi32.dllにあるDeleteObjectじゃなきゃ消せないみたいなページ見つけて試してみたら解放されました。お騒がせしましたm(_ _)m
356デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 11:08:50.02ID:evWCXRMT0 >>354
using使えば良いのでは
using使えば良いのでは
357デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 11:59:17.51ID:mHRscCZz0358デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 12:09:50.08ID:nbMZolC5a たまにusingはwin32リソース用だってかたくなにその用途以外を否定する奴いるけど別にそんなことないからな
意味ないusingはアホだけど
意味あるusingは恥ずかしくないぞ
意味ないusingはアホだけど
意味あるusingは恥ずかしくないぞ
359デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/31(木) 12:24:28.89ID:hS7dFlrlM SafeHandle使え
360デフォルトの名無しさん (ブーイモ MMad-QNkB)
2022/03/31(木) 12:43:51.28ID:/3uX6C5lM Disposeはデストラクタとは違うんだけどな
361デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 12:57:14.51ID:nbMZolC5a だったらc#のデストラクタ使えばいいw
それだと望み通りの挙動しないからusing使えばって話だろ・・・
それだと望み通りの挙動しないからusing使えばって話だろ・・・
362デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 13:22:42.01ID:mHRscCZz0363デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 13:32:55.92ID:nbMZolC5a using使ってデストラクタって意味じゃないぞ
using使ったらdisposeが必ず動くって意味だろ。dispose持ってるクラス本体の開放は仕方ないがそれ以外ならなんとかなるってこと
using使ったらdisposeが必ず動くって意味だろ。dispose持ってるクラス本体の開放は仕方ないがそれ以外ならなんとかなるってこと
364デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/31(木) 14:26:29.77ID:6RpIJweLM そもそもref structはいわゆる「所有権の借用」を扱う仕組みだろ
通常、ref structは自身のフィールドに持つref型の値を解放する責任を持たない
リソースの解放をしやすくすることを目的にref structを使うのは本来の目的から逆行しており、明らかに誤用だ
通常、ref structは自身のフィールドに持つref型の値を解放する責任を持たない
リソースの解放をしやすくすることを目的にref structを使うのは本来の目的から逆行しており、明らかに誤用だ
365デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 14:30:13.37ID:evWCXRMT0 使い終わったら解放してね(はぁと
↑この前提がドキュメントに書かれていれば必ず呼ばれるはず
でなきゃバグるだけなのに「必ず呼ばれる訳ではない」というのは辻褄が合わなくない?
↑この前提がドキュメントに書かれていれば必ず呼ばれるはず
でなきゃバグるだけなのに「必ず呼ばれる訳ではない」というのは辻褄が合わなくない?
366デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 14:44:13.32ID:mHRscCZz0 >>363
C#ってstructにデストラクタ書けないから当たり前やん
C#ってstructにデストラクタ書けないから当たり前やん
367デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 15:02:10.43ID:mHRscCZz0368デフォルトの名無しさん (ブーイモ MMd5-QNkB)
2022/03/31(木) 15:07:59.31ID:vlNZ1mGnM >他人には公開できない
このキーワードで時間の無駄だと気付くべきだったわ
このキーワードで時間の無駄だと気付くべきだったわ
369デフォルトの名無しさん (スップ Sdb2-JyYd)
2022/03/31(木) 15:16:52.15ID:tugEDnGHd スコープアウト時点で解決されないのにデストラクタなんて用語使うからおかしくなるんだよ
Finalizeと呼べ
Finalizeと呼べ
370デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 15:17:20.68ID:evWCXRMT0 >>367
そだねー、バイバイ!
そだねー、バイバイ!
371デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/31(木) 15:21:05.77ID:f+hSFW0H0 要約するとC#のデストラクタはゴミってことや
実際ゴミだし
実際ゴミだし
372デフォルトの名無しさん (ワッチョイ 6ea7-OgJM)
2022/03/31(木) 15:58:52.05ID:6NE6xHU80 基本的にC#のデストラクタはよっぽどの理由なない限り触らないかな
Javaみたいに割り切ってメソッドとして呼び出した方が早い気がする
Javaみたいに割り切ってメソッドとして呼び出した方が早い気がする
373デフォルトの名無しさん (ワッチョイ 5ecf-+Ivz)
2022/03/31(木) 21:12:01.42ID:EY1WgKK40374デフォルトの名無しさん (ワッチョイ f1ad-j7M0)
2022/04/01(金) 00:26:25.70ID:fCYhyeTu0 Finalizer との使い分けが不明
375デフォルトの名無しさん (ワッチョイ a901-oYu3)
2022/04/01(金) 00:30:31.21ID:oErDDmhk0 実際、c#のデストラクタって実務でどういうケースで使うんですかね?
376デフォルトの名無しさん (ワッチョイ 3179-yByv)
2022/04/01(金) 00:44:47.91ID:m4YyG8VP0377デフォルトの名無しさん (ワッチョイ 8554-r1yM)
2022/04/01(金) 02:25:59.87ID:iQ3hg2/90 WebView2って配布サイズがでかいんだけど、
自分のアプリで使ってる機能を含んだファイルだけ抜粋してexeに統合してくれるような機能ってないよね・・・?
自分のアプリで使ってる機能を含んだファイルだけ抜粋してexeに統合してくれるような機能ってないよね・・・?
378デフォルトの名無しさん (ワッチョイ b501-tYr6)
2022/04/02(土) 03:46:45.79ID:+agV7laW0 floatとdoubleの関係はVAX-780の仕様が
C言語に反映されて、その名残や
C言語に反映されて、その名残や
379デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/02(土) 08:11:14.40ID:XWC+OGmA0 その経緯は詳しくないが、C言語とUNIXの開発マシンはPDP-11で
そもそもVAX/11-780ですよ
そもそもVAX/11-780ですよ
380デフォルトの名無しさん (オッペケ Sr01-PDpb)
2022/04/02(土) 08:19:51.83ID:k7wnX1H/r >>377
electronもChromiumとnode.js含んでるから配布サイズでかくなるし、そんなもんじゃないの?
electronもChromiumとnode.js含んでるから配布サイズでかくなるし、そんなもんじゃないの?
381デフォルトの名無しさん (ワッチョイ 4bcf-fe9w)
2022/04/02(土) 08:44:19.63ID:ofyuLHc/0 >>379
それを言うならVAX-11/780だったり。
それを言うならVAX-11/780だったり。
382デフォルトの名無しさん (ワッチョイ 03bd-1ea/)
2022/04/04(月) 23:43:06.35ID:TdiahOFG0 ListViewを2つ設置して、ListView1内のリストを選択したらListView2の内容が切り替わる物を作成しました。
ListView1と2の選択状態を維持?というか選択されてるリストはこれです的な事がしたいんですが、何か方法ありますか?ListView2にフォーカスがある状態だと選択項目が薄いグレーでちょっと分かり辛くて。
ListView1と2の選択状態を維持?というか選択されてるリストはこれです的な事がしたいんですが、何か方法ありますか?ListView2にフォーカスがある状態だと選択項目が薄いグレーでちょっと分かり辛くて。
383デフォルトの名無しさん (ワッチョイ 4b8e-7TU2)
2022/04/05(火) 00:08:08.92ID:zIQxtY/u0 >>382
馬鹿ほど標準のインターフェイスを蔑ろにする法則
馬鹿ほど標準のインターフェイスを蔑ろにする法則
384デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/05(火) 00:55:34.37ID:T5/vxYA/a385デフォルトの名無しさん (ワッチョイ 55d2-z1p6)
2022/04/05(火) 08:07:12.88ID:1bIb0zGQ0386デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/05(火) 12:11:48.60ID:dB7gHOw60 初心者相手に隙あらばマウント取るような性格終わってる奴多いなこのスレ
こりゃ質問したくもなくなるわ
こりゃ質問したくもなくなるわ
387デフォルトの名無しさん (ラクッペペ MM4b-F4RB)
2022/04/05(火) 12:26:01.86ID:+EK3ySaMM 初心者には実現できない要望は冷たく突き放します
388デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/05(火) 13:30:53.49ID:dB7gHOw60 実現できるどうかはお前が判断することじゃないのでは
389デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/05(火) 13:41:26.92ID:XOmbbeB50 オーナードローは面倒なだけで難しいわけじゃない
真面目にドキュメント読めるなら初心者でも問題ないよ
真面目にドキュメント読めるなら初心者でも問題ないよ
390デフォルトの名無しさん (ワッチョイ 9b68-Sq5D)
2022/04/05(火) 15:02:01.76ID:Ba/bG8iE0 c#の環境が一切入っていないpcでも動くように、.netのフレームワークを埋め込んで?ビルドしてexeにする方法はないですか。
391デフォルトの名無しさん (ワッチョイ 232c-8SQp)
2022/04/05(火) 15:42:50.10ID:dGWAWcOP0 現行の一般向けWindowsなら.NET Framework 4.8が必ず入ってるから特に埋め込む必要もないけど
392デフォルトの名無しさん (ワッチョイ 1b66-eIlS)
2022/04/05(火) 16:14:22.72ID:Zafpq7jd0 .net6とかで単体ビルドで作るか、
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。
あとwin7をどうするかだが未だにnet4.5すら入れてないPCだと、
多分他人様のプログラムは入れないことになってるマシンだと思うよ。
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。
あとwin7をどうするかだが未だにnet4.5すら入れてないPCだと、
多分他人様のプログラムは入れないことになってるマシンだと思うよ。
393デフォルトの名無しさん (ワッチョイ 2ba7-fSZ/)
2022/04/05(火) 16:29:15.25ID:5kofz9bO0394デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/05(火) 17:02:06.32ID:XOmbbeB50■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 気象庁「最悪のケースでは311のような地震」青森で震度6強地震「北海道・三陸沖後発地震注意情報」…北海道から千葉の182市町村が対象 [♪♪♪★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★5 [蚤の市★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 現役ドラフト発表WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
