[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 19:36 / Filesize : 246 KB / Number-of Response : 843
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part38



1 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 08:45:30 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとC#,C♯,C#(初心者用) Part37
pc11.2ch.net/test/read.cgi/tech/1234017654/

809 名前:デフォルトの名無しさん [2009/03/11(水) 01:55:55 ]
>>807
なんだ、結局「終了処理」ってのは示せないままか。
とんだヘタレだなwww

810 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:56:53 ]
で、この無意味な言い争いで誰が特をするのか

811 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:56:53 ]
>>808
暗黙的なガベージコレクタでの破棄はFinalize
明示的なオブジェクトの破棄はDisposeだっていってんだろ?

必要条件とかを覚える知識だけあって、文意を汲み取る能力はゼロかよ。

812 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:57:13 ]
さっきから>>788=>>806=>>807が1人で荒らしているような気がしてきた

813 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:57:44 ]
何を今更

814 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:58:38 ]
>>809
オブジェクトを解放する処理=終了処理と換言しただけでしょうが。

その言葉を使用した文献が見あたらないと負けなの?w
そういう意味の文献があればいいんでないの?w
しぬの?w

815 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:58:38 ]
ここまで自演でした。

816 名前:デフォルトの名無しさん [2009/03/11(水) 01:59:51 ]
>>811
完全に間違い。
Disposeはマネージオブジェクトを破棄するところではないし、
破棄できるものでもない。オブジェクト≠アンマネージリソースだよ。
カーネルオブジェクトとかだけをさす言葉じゃないから。

聞いてると用語の使い方が甘い印象を受ける。素人さんかな?

817 名前:デフォルトの名無しさん [2009/03/11(水) 02:01:14 ]
>>814
だからオブジェクトじゃないと何度言ったら…。
あ、そっか。荒らしだったのか。相手にするだけ無駄だな…。



818 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:02:23 ]
ここまですべて女子高生の書き込み

819 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:04:09 ]
>>816
>>817
だから、.netで管理できないリソースを明示的に解放するためにDisposeがあるっていってんの

820 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:06:25 ]
>>817
>このインターフェイスは、Disposeメソッドだけを定義している。
>使い終わったら確実に資源を解放する処理が必要なクラスは、
>このインターフェイスを実装して、解放処理を記述するのが.NET Frameworkでのお約束である。

んで、これに対する返事もらってないんだけど?

821 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:09:57 ]
ROMってたけど俺みたいな初心者が見てると気持ち悪くなるわ
何が正しいのやら…
口論終わったらまとめてくれるとありがたい
じゃ、おやすみノシ

822 名前:デフォルトの名無しさん [2009/03/11(水) 02:11:35 ]
>>821
Disposeがあればしておけば間違いない
たったこんだけ

823 名前:デフォルトの名無しさん [2009/03/11(水) 02:14:06 ]
顔真っ赤にして書き込みすぎちゃってレスできなくなっちゃったんだろうなぁ
ママンはいつまでも面倒みてくれないぞw

824 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:15:59 ]
>>823
今頃>>788は顔真っ赤だろうなw

825 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:18:10 ]
>>824
逆だろ>>787が顔真っ赤だろ

826 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:21:29 ]
むしろ今まで書き込んでる奴全員顔真っ赤に見える

827 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:21:56 ]
>>824
アンマネージドリソースを解放する目的で存在するのなら、
disposeを実行するのは絶対に必須だと思うぞ?



828 名前:デフォルトの名無しさん [2009/03/11(水) 02:23:12 ]
絶対に必須ってなんだよ。日本語勉強してこい。

829 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:26:13 ]
あーあ反論できなくなっちゃって関係ないこと罵倒し始めたよコイツ

830 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:28:36 ]
宇宙の真理的な絶対に必須とか俺的に絶対必須とか誰も必要としない必須とかいろいろある

831 名前:デフォルトの名無しさん [2009/03/11(水) 02:30:31 ]
 一般論として、筆者はDisposeメソッドやCloseメソッドの呼び出しを強制するのはあまり
推奨しません。CLRのガベージコレクタはとてもよくできているので、それに任せたほうが
いいからです。ガベージコレクタには、アプリケーションコードがオブジェクトにアクセスし
なくなるタイミングが分かっています。そしてそのタイミングが過ぎたときにだけ、オブジェクト
を回収します。アプリケーションコードでDisposeメソッドやCloseメソッドを呼び出すということは、
アプリケーションは自分がオブジェクトにアクセスする必要がなくなるタイミングが分かっている
と宣言をしていることになります。たいていのアプリケーションでは、オブジェクトが間違いなく
不要になったことがわかることはありません。
 例えば、新しいオブジェクトを作成して、その参照を他のメソッドの引数に渡した場合、
そのメソッドが渡された参照を自分のオブジェクトの内部フィールド(これはルートになります)
に格納するかもしれません。メソッドを呼び出した側では、このような動作をしているかどうかは
分かりません。この場合、呼び出し側がDisposeやCloseを呼び出してしまって、その後で
他のコードがそのオブジェクトを利用しようとすると、ObjectDisposedExceptionがスローされる
ことになります。
 筆者は、DisposeやCloseを自分のコードで呼び出すのは、次の2つの場合に限ることを
推奨します。1つは、リソースを解放しなければならないことが分かっている時(開いている
ファイルを削除しようとするときなど)です。もう1つは、DisposeまたはCloseを呼び出すことが
間違いなく安全で、しかもオブジェクトをファイナライゼーションリストから削除して、
オブジェクトが昇格するのを防ぐことで、パフォーマンスを向上させたい場合です。


これ以上に説得力のある意見言えるやつ、このスレにはいないわな
有名なAdvanced Windowsとか、これまで何冊も出してる重鎮だろ
書籍でFramework Class LibararyやCLRの実装のミスとかも指摘してるぐらいだからなw

832 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:30:52 ]
どんなに日本語がおかしかろうが、リソース解放にDisposeの実行が明示的に必要なのは変わりない罠

833 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:33:49 ]
>>831
>リソースを解放しなければならないことが分かっている時
まさに今述べてることじゃん
解放しなければ

834 名前:デフォルトの名無しさん [2009/03/11(水) 02:35:44 ]
>>833は「次の2つの場合に限る」というのを、どうしても「全ての場合」に摩り替えたい低脳

835 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:42:30 ]
>>834はオブジェクトの生存期間を自分で管理できない最底辺プログラマ


836 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:43:49 ]
今来た初心者の素朴な疑問なんですが、(マジで)
たとえばDBやhttpなどの接続プールを管理しているファクトリからストリームを貰ったときに
自分が使い終わったからといって、勝手に閉じるとママに怒られると思うんですが
そういうケースはどう扱うのが正当ですか?

837 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:49:42 ]
>>836
そのままほっとけばGCが回収してくれると主張する人がいる



838 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:52:08 ]
>>834
だ・か・ら
>アプリケーションコードでDisposeメソッドやCloseメソッドを呼び出すということは、
>アプリケーションは自分がオブジェクトにアクセスする必要がなくなるタイミングが分かっていると宣言をしていることになります。
って書いてあるだろ。つまりオブジェクトが必要無くなったときにdisposeするかどうかを論じてるんだから、
最後の2つの場合について論じているわけよ

839 名前:660 mailto:sage [2009/03/11(水) 02:57:04 ]
お前らまだ続けてたのか

840 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:59:52 ]
Disposeしていいと思うのならしとけ
していいかわからなかったらするな

これでいいよ

841 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 03:07:10 ]
しなかったら、ずっとデータベースに接続され続けるんじゃないのか?
していいかわからなかったらしておいたほうがいいだろ

842 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 04:32:20 ]
A.アイスがチュッチュなら溶けても構わないので、そのまま開けっ放し。
B.アイスがハーゲンダッツなのでちゃんと締める。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<246KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef