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


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

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



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

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

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

関連スレ
ふらっとVisual C#,C♯,C#(初心者用) Part95
toro.2ch.net/test/read.cgi/tech/1340975670/
C#, C♯, C#相談室 Part74
toro.2ch.net/test/read.cgi/tech/1342241550/

2 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 16:39:56.38 ]

人生初2Get

3 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 21:07:24.24 ]

人生初3Get

4 名前:デフォルトの名無しさん [2012/08/05(日) 21:20:04.01 ]
          ____
        /´-―――-、\
      //  ,-―=ヽ、 \ \
      / /   (_ノ-t Y )-、 ヽ ヽ
     .l i   ノっ \ーi |  i |
     | |   く、   (_`し´   | |
     .l i    i_/  Y   ./ /
      ヽヽ   /  /   / /
       \\_ ` ̄ ´   //
        フ ,_⌒)  (⌒´、く
       く く  ̄    ̄´> >
        ヽ ヽ     / /
         ヽ i´ ) ( `i /
         .ヽー´ `ー/
          |⊂二⊃|
          ヽ====ノ
           `i-/´
            V
.            ∧
          /  \
          \  /
.           ヽ /
            ∨
          //      | |
         //Λ_Λ  | |
         | |( ´Д`)// <うるせぇ、家庭科のアレぶつけんぞ
         \      |
           |   /
          /   /

5 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 21:35:25.26 ]
なにそれ

6 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 21:36:12.33 ]
糸通しじゃね?

7 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 22:06:51.38 ]
そういやそんなのあったな

8 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 00:23:53.80 ]
新スレダーなんちて

9 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:07:56.76 ]
糸通しでかすぎて普通に糸だけ通すほうが楽だった記憶しかない

プログレスバーの値を設定すると、すぐにその値の表示にならないで
バーがスーっと伸びてくアニメーション入るんだけど
あれってXPではなかったよね?Vistaから?
無効にする方法があったら教えて欲しい

10 名前:デフォルトの名無しさん [2012/08/06(月) 18:35:50.01 ]
HttpWebRequest/HttpWebResponseのキャッシュ機能を
自前のルーチンに差し替えることはできるでしょうか?




11 名前:前スレ987 mailto:sage [2012/08/06(月) 19:57:32.72 ]
>>前スレ994
左側にアスタリスクがついてるやつです

>>前スレ995
ListViewですか・・・

こういうカスタムコントロール作るのがすごい苦手なので、何か参考になるページとかないですか?
描画関連とかすごい苦手です

12 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 20:06:19.79 ]
まさに前スレ994が言ってることですよ
まず確認しろ

13 名前:前スレ987 mailto:sage [2012/08/06(月) 20:25:59.23 ]
>>12
すいません。確認してきました。無事消す事ができました
あと左上のボタンみたいなやつは消せないんでしょうか?

14 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 22:49:13.40 ]
クラス名、変数名、メソッド名などに漢字を使わない方がよいのでしょうか?
メリット、デメリットははいくつかありますが
情報量、可読性の観点からどんどん使用すべきだと思うのですが、毛嫌いする人が多いです
どうなんでしょう?

15 名前:デフォルトの名無しさん [2012/08/06(月) 22:54:24.64 ]
慣れの問題と標準で用意されてる部品はすべて英字になってるしなあ・・・

どこぞの社長みたいなことは言わないけどなんとなくコレジャナイ感がするのは事実

16 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 22:55:26.19 ]
単純に打ちにくい

17 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 22:57:14.47 ]
>>14
日本語版以外のプラットフォームで編集することを考えると問題になるかも

俺はちょくちょく使うけど、IMEのオンオフが案外邪魔くさくて思考と作業の流れが悪くなる
あと日本語つかってると、見た目的にプロっぽくないという罠がw

18 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 23:03:50.28 ]
>>15>>16>>17
そうですよね・・・何となく本流とは違うイメージというか・・・
少なくとも納品用のコードに漢字を入れられる程勇気のある人はいないって感じですよね・・・
無駄な齟齬や不和を産むくらいなら歴史に身を委ねた方が良さそうですね

19 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 23:54:16.82 ]
命令語が英語だから、識別子だけ日本語にするとちょっと違和感あるな。

C# じゃなくて、Excel マクロ (VBA) でちょくちょく使うけど、入力が面倒だけど
確かにわかりやすい。

ただ、英語だと例えば複数のボタンを表す配列なんかを普通に Buttons と
複数形が使えるけど、日本語って複数形に相当するものが無いからちょっと困る。

ボタン達 というのも変だしね (w

20 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 23:57:06.19 ]
最近テストメソッド名に使うってフィードを見たけど
俺の狭い世界の中では知らないな



21 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 00:00:08.30 ]
>納品用のコードに漢字を入れられる程勇気のある人はいないって感じ

納品できるレベルでないコード出荷してる人たちなら大丈夫だよ
現にいるしw

22 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 00:10:54.22 ]
変数名とかに日本語使わないほうがいいかって話になると
いつも英名がいい的な流れになるけど個人で作るものは日本語でやるわ。
仕様とかまとめておかなくても大まかに見ればすぐに思い出すし
サンプルコードの変数名を日本語に書き換えると理解が深まる
2005あたりからリファクタも優秀だから
仕事で作るものも日本語で作って後から英名に変えるのも楽だし






まぁなんつーか少数派だって自覚はあるぽ。


23 名前:デフォルトの名無しさん [2012/08/07(火) 08:12:38.33 ]
ぶひ

24 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 08:36:36.11 ]
昔勤めていたキチガイ現場では、
業務用語をExcite翻訳を通した奇怪なエイゴを辞書管理してプログラムを作っていた

伝票番号…CheckNumber
貸借区分…DebtorCreditKbn

付き合ってられん

25 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 09:43:31.54 ]
denpyoBango,chinshaKubunなんて高卒か専門卒の集まりだろ

26 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 09:44:39.44 ]
貸借=たいしゃく な

27 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 09:47:36.78 ]
やん><

28 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 11:39:30.88 ]
賃貸
賃借
貸借
まあフォントわかりにくいかなw

29 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 11:39:56.06 ]
区分をkbnって誰がやりだしたんだろ
やっぱ低脳でお馴染みのコボラーだろうか

30 名前:デフォルトの名無しさん [2012/08/07(火) 11:42:00.20 ]
漢字はQRコードの仲間とも取れるのであまりお勧めしない
フォントのレンダリング周りがあれなwindowsだと特に



31 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 13:49:17.42 ]
試したことないけど全角変数って遅くなりそうなイメージ
てか、よくわからん不具合出そうな気がして使えん

32 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 13:56:42.82 ]
>>31
それはないVB6.0のころから内部は2バイトコード化されてるので
むしろ半角であっても2バイトで管理されてる状態

だからこそ全角文字を変数に使える

この辺ができてないgccなんかだとS-JISの全角入ってると特定コードで
えらいことになるし

33 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 14:07:45.83 ]
フレームワークとかが対応してないことがあるしな

34 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 15:42:01.00 ]
区分 kbn
種別 sbt
コード cd
ネーム nm

母音省略した名前はよく見るな・・・

35 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 15:49:06.83 ]
日本語の母音略すのはなんとなく読めるけど
英語は略すとわからなくならないか

36 名前:デフォルトの名無しさん [2012/08/07(火) 16:45:22.84 ]
実行中のアセンブリが参照しているアセンブリの一覧を取得するにはどうすればいいのでしょうか?


37 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 17:10:12.44 ]
Assembly.GetReferencedAssemblies
実行中のアセンブリってのは複数定義があるだろうから
好きなAssemblyインスタンスを取ってこい

38 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 18:03:01.54 ]
>>35
慣れれば大丈夫だろ

イスラエル人は子音だけで文章書くヘブライ文字つかってるけど問題ないようだし
アラブ人も子音だけで文章書くアラビア文字つかってるけど問題ないようだし
(アラビア文字には母音記号があって、たまに母音記号付ける事もあるようだけど)

39 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 18:10:58.14 ]
>>19
ボタン達でいいんじゃね?
ボタンら、ボタンsでもいいかもw

複数のボタン、ボタン(複数)とかが日本語的に一番いいかも

40 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 20:20:23.80 ]
ボタンズ



41 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 20:45:10.69 ]
押されるモノ達
うーん。個人的には「ボタン群」かなぁ

42 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 20:57:05.64 ]
>>41
ボタン群が一番日本語として違和感ない感じで字数も少なくていいな

43 名前:デフォルトの名無しさん [2012/08/07(火) 20:58:21.12 ]
ボタンからして駄目なんじゃないの?

44 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 21:40:26.57 ]
なぜか唐突にブッチフォンが脳内に

45 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 21:43:59.65 ]
ボタン(複数) で

46 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 22:11:52.08 ]
>>42
要素数2とかで群はちょっと過剰な感じ

47 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 22:18:12.51 ]
menuStripからのイベントの処理って、そのフォームのクラスに書くしかないでしょうか?
メニューに機能が増えてくると、そのイベント処理のコードが長くなって見難くて嫌なのですが

48 名前:デフォルトの名無しさん [2012/08/07(火) 22:20:51.49 ]
>>47
menuStripを継承した自作クラスを作ってそこへまとめたいコードを書く

その自作クラスは一度ビルドすると部品の一番上に紫のギアのマークででてくるんで
それをFormに貼り付ければOK

49 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 22:26:33.69 ]
>>48
なるほど!ありがとうございます。やってみます

50 名前:デフォルトの名無しさん [2012/08/07(火) 22:35:28.10 ]
こんな感じ
www.dotup.org/uploda/www.dotup.org3284995.png
www.dotup.org/uploda/www.dotup.org3284998.png



51 名前:47 mailto:sage [2012/08/07(火) 23:07:41.93 ]
すいません。
yMenuStripの方へコードを書く方法がわかりません…。

52 名前:デフォルトの名無しさん [2012/08/07(火) 23:13:06.79 ]
>>51
ideone.com/Jpjls
こんな感じ

本来はデザイナー上でイベントとかを設定するとIDEが
Form1.Designer.csに書いてるんだけどね

53 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 02:46:03.44 ]
 韓国開発研究院(KDI)が5日に発表した報告書によると、統計庁の2011年の家計金融調査を分析した
結果、借金を抱える世帯の33%が赤字状態で、7%は負債が資産を上回っていることが分かった。

 韓国の世帯数は1757万世帯(2010年現在)で、うち借金がある世帯が63%を占めることから、借金があり、
かつ赤字状態の世帯は365万世帯に達することになる。また、負債が資産よりも多く、かつ赤字状態の世帯は
全体の3.3%(36万世帯)だった。特に債務返済能力は低所得層ほど低いことが分かった。

 漢陽大のハ・ジュンギョン教授は「不動産市場の低迷で資産の売却が難しく、借金があり赤字状態の世帯が
さらに借金を重ねる悪循環に陥る可能性がある」と懸念を示した。

キム・テグン記者


朝鮮日報/朝鮮日報日本語版: 2012/08/06 09:08
www.chosunonline.com/site/data/html_dir/2012/08/06/2012080600636.html


54 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 05:25:06.98 ]
全部読んだ

55 名前:デフォルトの名無しさん [2012/08/08(水) 14:17:33.93 ]
すみません。ご存じの方がいらしたら教えてください。

vc#のchartコントロールで、
X軸のpoint数をあらかじめ設定する方法を教えてください。

chart1.Series[0].Points.AddY(xx)などで追加していくのではなく、
グラフを描画する前にpointの数を定義したいのです。

point数は可変なので、デザイナで定義するわけにもいかず困っています。

56 名前:デフォルトの名無しさん [2012/08/08(水) 14:28:27.58 ]
デザイナーでダミー放り込んでおけばいいんでないの?
www.dotup.org/uploda/www.dotup.org3286998.png

項目を有効にすると赤丸付近に項目追加用の窓を開くためのボタンがでてくるので
上の画像のように辿っていけば・・・

57 名前:デフォルトの名無しさん [2012/08/08(水) 14:56:41.94 ]
>>56
さっそくのご回答ありがとうございます。
具体的には以下のような事をやりたいのですが、
ダミーを作っても問題ないでしょうか。

例えばpoint数が100とした場合に、グラフにするデータが1〜50point分までしかないときは、
後ろ50ポイント分は空白のグラフ表示としてしておきたいのです。
(一定時間毎にデータが追加され、時間と共にグラフが埋まっていくイメージです)

58 名前:56 mailto:sage [2012/08/08(水) 16:21:22.93 ]
チャートはほとんど使った事無いのでこれでいいかよくわからんが
ご所望の動作はこんな感じ?
ideone.com/D8jjj

プロジェクト作ってcharを貼り付けてそのままコピペすればいける

59 名前:56 mailto:sage [2012/08/08(水) 16:26:15.17 ]
この方がいいか
ideone.com/9K77v

最初は0で設定してるので数字をある程度設定するまで縦軸の数字が
安定しないからチラつく

60 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 16:33:55.84 ]
グラフなんて自分で書くべき



61 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 16:44:11.47 ]
WPFなんかのINotifyPropertyChangedぽいことができれば部分変更だけでいいのにねえ・・・

62 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 17:18:45.80 ]
>>55
chart1.ChartAreas[0].AxisX.MaximumのデフルトがAutoだから、最大値を入れるのじゃダメなん?

63 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 17:44:15.42 ]
class Program
{
[STAThread] // これ
static void Main()
{
Application.Run(new Form1());
}
}

Mainの上の[]が一般に何を意味するのか調べたいんですがどんなワードで検索すればいいでしょうか?


64 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 17:51:47.49 ]
まずそのまま検索してみろよ

65 名前:55 [2012/08/08(水) 17:56:52.02 ]
>>56さん
>>62さん
さっそく試してみます。
取り急ぎお礼まで、ありがとうございました。

66 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 17:59:06.87 ]
eternalwindows.jp/com/apartment/apartment01.html
シングルスレッドアパートメント(STA)なスレッド
設定したことないけどMTAThreadもあるのかな?

まあ凝ったことしない人にとってはおまじないと思っておけば

67 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 18:02:15.35 ]
[この括弧そのものは属性ね]

68 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 18:15:45.18 ]
ありがとうございます、c# 属性で検索したら出てきました

69 名前:デフォルトの名無しさん [2012/08/08(水) 18:41:43.02 ]


 ヘ(; `Д)ノ ←9秒86 カール・ルイス
≡ ( ┐ノ
:。;  /
             ヘ(; `Д)ノ←9秒79 ベン・ジョンソン(ドーピング)
           ≡ ( ┐ノ
           :。;  /
             ヘ(; `Д)ノ←9秒79 モーリス・グリーン
           ≡ ( ┐ノ
           :。;  /
               ヘ(; `Д)ノ←9秒72 アサファ・パウエル(前世界記録)
             ≡ ( ┐ノ
             :。;  /
                  ヘ(; `Д)ノ←9秒71 タイソン・ゲイ
                ≡ ( ┐ノ
                :。;  /

                        一二 (゚ω゚ )←9秒58 ウサイン・ボルト
                      一二  /    \
                     一二((⊂ /)   ノ\つ))
                       一二  (_⌒ヽ
                        一二  丶 ヘ |
                         一二  ノノ J

70 名前:デフォルトの名無しさん [2012/08/08(水) 20:13:25.03 ]
来月から入る予定の職場でC#を使う予定で、バージョンは2.0なので、
Javaの知識があれば参考書を本番前に読みこめばなんとかなると思ってるのですが、
参入前に覚えておいたほうがいいことって何か他にありますか?

別の言い方をすれば、.NETを勉強するには、何かいい書籍などありますか?



71 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 20:19:37.89 ]
習うより慣れろ


72 名前:デフォルトの名無しさん [2012/08/08(水) 20:26:21.18 ]
あるアセンブリで呼び出し元のアセンブリを末端までたどるにはどうすればいいのでしょうか?

exe -> lib1 -> lib2 -> lib3

という呼び出しの場合に、lib3の関数内で lib2 -> lib1 -> exe それぞれのアセンブリ名を
知りたいのですがよくわかりません。



73 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 20:29:13.49 ]
>>70
2.0とかマジ乙。
まあ、確かにJavaできる人なら2.0はそんな苦労はしないと思う。
とりあえず、Javaにはない、プロパティとかイベントとかデリゲートだけネットで検索すればいいんじゃないかと。

74 名前:デフォルトの名無しさん [2012/08/08(水) 20:44:12.47 ]
>>72
StackFrameを使ってコールスタックを見る
逆ならAssembly.GetEntryAssembly()→GetReferencedAssemblies()とか

75 名前:デフォルトの名無しさん [2012/08/08(水) 20:51:51.40 ]
>>71
何か作ればいいんですかね?

>>73
ありがとうございます。
言語仕様は、仰るとおりデリゲートとか以外は大差ないと思ってるのですが
ただ何かを作る際は、.NETの取り扱いが重要になってくるのではないかと思ったのです

76 名前:デフォルトの名無しさん [2012/08/08(水) 21:03:43.96 ]
>>74
やってみます。

77 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 21:54:31.25 ]
>>75
どういうの作るか分からないと何とも言えないな。
Visual Studioを使い慣れるついでに仕事と関係してそうなチュートリアルをやっとくといいんじゃないか。

msdn.microsoft.com/library/ja-jp/windows/desktop
この辺参考に
・Windows フォームのチュートリアル
msdn.microsoft.com/ja-jp/library/zftbwa2b
・Windows フォーム アプリケーションのコード
msdn.microsoft.com/ja-jp/library/xxwd7aah

78 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 23:48:25.88 ]
using System;
using System.Drawing;
using System.Windows.Forms;

class Program {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.Run(new MyForm());
}
}

class MyForm : Form {
Font font;
public MyForm() {
font = new Font("Times New Roman", 15, FontStyle.Regular);
Controls.Add(new Label() {
Text = "Dragon Ball Z",
ForeColor = Color.Red,
Font = font,
AutoSize = true
});
}
}

こんな感じのサンプルを見たんですが、このプログラムはfontのDisposeをどこからも呼んでいませんが、リソースリークの問題はないんでしょうか?


79 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 23:54:49.75 ]
>>77
ありがとうございました。

80 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 00:11:13.12 ]
>>78
アプリを閉じる時に自動で解放してくれる。



81 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 01:30:40.54 ]
参照切れれば実行中でも解放されるけどね

82 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 05:02:44.20 ]
いやたぶん、カベージコレクタが作動した時に開放される、が正解

83 名前:デフォルトの名無しさん [2012/08/09(木) 05:05:43.86 ]
>>78
Disposeはマネージドリソース(ファイルとか)の解放に使う
マネージドリソース(=.Net Framewotkで書かれたライブラリ)の
場合はよきにはからってくれる

84 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 05:48:57.13 ]
自演乙

85 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 05:57:16.36 ]
>>82
それもちょっと違う。
FinalizeメソッドのあるオブジェクトをGCで開放するには最低でも2回のGCが必要。
1回目のGCでは回収されず古い世代に昇格され、Finalize待機キューに追加される。
その際に直接・間接的に参照する全てのインスタンスも道連れにして古い世代に昇格するためメモリの圧迫要因にもなる。

その後別スレッドで逐次Finalizeメソッドが呼ばれ、Finalize待機キューから削除される。

最後にもう一度GCが走ったら終了(世代が昇格しているためGen1/Gen2のGCを待たなければならない)
こういう事情があるから、予想以上に長生きしてしまう可能性がある。

あと「GC.SuppressFinalize(this);」があるDisposeメソッドが実行済みであれば
アンマネージ リソースは解放済みであるとして一連の処理は行われない。

86 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 09:14:01.89 ]
class Form1 : Form {
private Font font;
protected override void OnClose(EventArgs e) { base.OnClose(); if(font != null) font.Dispose(); }


87 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 10:41:25.27 ]
IDisposeを持つオブジェクトのDisposeを呼ばず
GCからのFinalizeに任せるのは基本的にはバグ相当

88 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 10:53:11.90 ]
static void Main() {
Form f = new Form1();
Application.Run(f);
f.Dispose();
}
これで連鎖的にすべてのリソースを解放してくれるからForm派生クラス側はなにも気にしなくていいよ

89 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 11:42:42.31 ]
終了まで短時間で解放をOSに任せるというならともかく、
Form1のメンバにIDisposableがあっても自動では呼んでくれないし
Application.Run中に例外が出たらf.Dispose();すら呼ばれない
usingも知らないのに安易なレスしちゃ駄目だよ

90 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 11:54:49.82 ]
ん?おれはコントロールのDisposeはControlsの要素にも再帰的に呼ばれるって習ったけど?



91 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:03:11.17 ]
FileStreamなんかもControlsに突っ込む勢いか

92 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:13:47.92 ]
さすがにFile関係は必要なとこメモリに読み込んだらすぐ閉じるでしょ
今はControlが生きてる間は保持しておかなきゃいけないリソースをどうするかが問題


93 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:19:54.41 ]
まさに初心者スレ

94 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:37:29.22 ]
Dispose呼ばれるタイミングとか考えないといけないし
disposingとかもなんのために在るのか分からないし大変
C#難しすぎる
C++のがコード見たまま理解できるからわかりやすいね

95 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:43:58.27 ]
スレに常駐している初心者だけど、面倒ならusing使えじゃダメなの?

96 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:51:16.10 ]
FormはClose=Dispose
閉じれば全ては終了

97 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:06:31.28 ]
↓これでいいですか?

class Program {
[STAThread] static void Main () {
using (Form form = new FormEx ()) {
Application.Run (form);
}
}
}

class FormEx : Form {
Font font = null;
public FormEx() {
font = new Font("Times New Roman", 24, FontStyle.Regular);
try {
Controls.Add(new Label() { Font = font, Text = "Hello, world!", AutoSize = true });
}
catch {
font.Dispose();
font = null;
throw;
}
}
protected override void Dispose(bool disposing) {
if (font != null) {
font.Dispose();
font = null;
}
base.Dispose(disposing);
}
}

98 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:22:35.57 ]
>>96
違うわw
マジでこの嘘誰が広めたんだよ

99 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:28:05.34 ]
>>90
Form2つでFont共有してるときに片方Disposeするとどうなりますか?
あなたがこのスレで一番頭脳明晰とお見受けしました
どうか教えて下さい

100 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:42:01.88 ]
>>99
クラッシュします



101 名前:デフォルトの名無しさん [2012/08/09(木) 13:45:37.57 ]
というかC#は習うもんじゃないだろ
C/C++とかは習うのもいいだろうけどC#くらいは独学でできなきゃ・・・






[ 続きを読む ] / [ 携帯版 ]

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

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