- 1 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 20:11:11 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part52 pc12.2ch.net/test/read.cgi/tech/1238548552/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>2-5くらい
- 403 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:22:06 ]
- 連投ばっかですみません
なんとなくですが >>382 のTimeBeginPeriodでいけそうな気がします。 また詳しいことは微妙ですが これ使って簡単に1日程度動かして様子を一回見てみようかと
- 404 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:53:02 ]
- >>392
描画メソッドの呼び出し頻度なんか知れてる 呼び出してからの実際の描画処理の方が遥かに時間がかかるからそんな細かい差は全く意味がない
- 405 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 19:47:21 ]
- >>403
なんか>>397を読んでもやっぱりよく分からないんだけど、 要するにDIOか何かをポーリングしてるのかな? それでそのDIOのイベントに応答するときのレイテンシの最大許容時間が25ms、 みたいなこと?
- 406 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 20:18:16 ]
- 浮動小数から整数への丸め制御方法によっては、intにキャストする回数が多いと遅くなるかもね
- 407 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 20:24:57 ]
- そんな差が目に見えるほど描画メソッド呼び出したらそれこそ死亡
- 408 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:33:20 ]
- >>397 >>403
タイマーが15ms間隔でしか発動しないのはWindowsの仕様。 パラメータでは1ms単位の数値が設定できるけど、実際の動作は約15.5ms間隔に切り上げられる。 TimeBeginPeriodを使えば間隔を詰めることはできるけど、実際に試してみると、 最短の間隔がせいぜい2ms程度で、それより長くなることもある。 それにTimeBeginPeriodには副作用があって、他のアプリがたまたまTimeBeginPeriodを再設定してしまうと、 そのマシンで動いているすべてのアプリが影響を受けてしまう。 >>375でVistaは1msてのは、たまたま何かのアプリがTimeBeginPeriodをいじってただけの可能性が高い。 そもそもSleep関数の動作は「少なくとも」指定した時間経過、だから、どれだけオーバーするかは運次第。 ただしこれはVistaまでの話で、Windows7ではタイマー関係がようやく強化される予定なので、 どうしても2ms以下の間隔を死守したいならWindows7を使えばすんなり解決するかもしれない。
- 409 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:47:44 ]
- タイマっていうかタイムスライスの問題だからちょっと話がズレてると思うけど。。
- 410 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:53:02 ]
- >>408
XPしかだめっつうてんだろw XPにPLCと同じことさせようとしても無理。 制御じゃなく監視だよね? FA屋で制御までさせようとしてるなら職変えたほうが良いよ。
- 411 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:08:01 ]
- Chrome起動中だと高速化するよ(笑い)
- 412 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:16:54 ]
- 25msなら、スレッドの優先度上げてやればSleepでも大丈夫かもしれん(実質15msくらいで)。
まあTimeBeginPeriod使った方がいいと思うけど。 優先度を上げない場合、Sleepでの停止自体は短時間でも、実行順が回ってくるまでに タイムオーバーする危険がある(他のスレッドがある場合)。 優先度を上げると実行可能になった時優先的に処理が回ってくるので、遅れる危険が小さくなる。 ただし、処理を終えたら確実にSleepしないと、下手すればマシンハングアップ状態になるので注意。 ただ、いずれにしてもWindowsではそういうのを本当に確実に処理することはできない。
- 413 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:21:58 ]
- XPのタイムスライスってどんくらいだっけ?15msくらいだっけ?20msくらいだっけかな?
もしフォアグラウンドで何かを動かしたらそいつは3倍になるから処理にもよるけど簡単に死ねる。
- 414 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:23:41 ]
- スレッドの優先順位?
スレッド?
- 415 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:29:46 ]
- >>413
1/64 s
- 416 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:37:57 ]
- あー大きく上げるにはプロセス側で上げとかないと駄目だったか、
言いたかったのは単に最終的なスレッドの優先度を上げるということ。
- 417 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:23:52 ]
- >397の人件費考えたらVISTAなんて安いものだろうに・・・
- 418 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 00:05:42 ]
- ていうか・・・なんでWindowsでそんなリアルタイムOS的な制御をやろうと企画した
んだろ、発注元。
- 419 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 00:17:34 ]
- >>397の言葉遣いも怪しいところがあるから、
必ずしも本来の要求仕様を満たすために必要のない手法を>>397自身が 考えているだけかもしれない。 なんかその可能性が高いように思う。
- 420 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 00:36:59 ]
- リアルタイムにセンシングするとして、データをキューに入れといて別スレッド
で処理したら駄目なのかな・・・いや、そういう話じゃないな。 382の言うとおりマルチメディアタイマ使えばいいんじゃね?
- 421 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 00:47:18 ]
- >>410
いや、Vistaはカンベンしてくれって話だろ?
- 422 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 00:48:14 ]
- マルチメディアタイマーも15ms縛りがあったような…
- 423 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 00:49:07 ]
- 要求が「VistaとXP」なんだからそんなところの議論は無駄無駄
- 424 名前:デフォルトの名無しさん [2009/07/29(水) 01:16:39 ]
- てか1ms周期で動かしたら大抵CPU時間使いまくるってオチ
- 425 名前:397 mailto:sage [2009/07/29(水) 02:13:03 ]
- 多くのレスありがとうございます。
そもそもなぜXPなのか? というのはその上役の人間が安定志向でXPで今まで出来てたんだから という考えのもとに言っているような感じです。 しかし、その実績はせいぜい50〜1000mSec程度なのでどのOSでも簡単に実装できるものでした。 新しい機械を開発するにあたり そこそこ高速で移動するライン状の物の位置をエンコーダで追い、DIOの信号を利用して移動させる という処理が必要になり 上役の人間が打ち合わせをした際にその程度の処理なら出来る という憶測で仕事を受け入れてしまいました。 その尻拭い的な感じをいまやっているわけなのです。 多くの皆様意見をいただき本当にありがとうございます。 さすがに限界を感じる感じなので、CPUをフルに使う状態での運用か、それとも設計や方針自体を変更するべきなのかを上の人間にかけあってみます。 ちなみに単純な処理です → 物の流れる方向 |----------------目的地 センサ ↓ センサをONしたタイミングでエンコーダ値を取得・保持し、目的地の位置までパルスが移動したらDIO信号をONし、流れているものを矢印の方向へ稼働させる機械を動かす。 たったこれだけです。 PLCでやればどれだけ単純で簡単なレベル という話 orz 多くの意見、今後のPGに生かしていこうと思います。 はぁ・・・月曜日が鬱だw
- 426 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 03:16:37 ]
- しかもC#でとな('A`
- 427 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 06:05:48 ]
- >>425
それ本当に1msの精度求められてるの? 仕分けでそこまでの速度を要求されるとは思えんのだが。
- 428 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 06:47:49 ]
- >>393
intよりdoubleが早い環境なんて少数派だぞ
- 429 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 06:58:29 ]
- PCでそんな制御やるのがそもそも間違えてる
カーネルから優先度の高い命令が割り込んだら何ぼでも処理落ちするぞ
- 430 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 08:05:16 ]
- 動かないと思ったらWindowsUpdateでリブートしてるんですね。わかります。
- 431 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 12:06:08 ]
- >>427
初めに書いたとおり1mSecまでは求められてはいませんが 自分がWindowsで制御するなかでは初めての精度になります。 まぁごくまれに処理抜けする程度ならリターンしてもう一度処理をすればいいのでそれはそれで何とかなるわけですが その為、処理負荷をできるだけ下げつつ処理時間間隔を短くするために可能な範囲で試行錯誤してみています。 >>426 >>429 そうなんですよね 何というか・・・GUIがほしいのはわかるんですが・・・ ちなみに現在実機でタイマ精度変更後に一日動作させた感じ1処理は停止含めて15mSecを超えていない(StopWatch調べ)感じです。 CPU負荷も常時高い位置にあったものが時々大きく上がる程度まで抑えることができている感じです。 でもぶっちゃけ実運用になったら・・・ちょっと怖いかも
- 432 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 12:17:58 ]
- 実際のとこ、全力でぶん回してもリスクは変わらないから。
- 433 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 12:31:00 ]
- 全くもってそのとおり
”ずーっと確実に最長1msの周期で観測する”という要件しか聞いていないから,PCの電源が落とされた時点でアウト, PCの電源落とさないってんなら,たった一日の観測(>>431)くらいで何か分かるわけでもないし. おとなしくデバイス作ってUSBかシリアルで接続したほうが安心. GUIはC#でいいだろうが
- 434 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2009/07/29(水) 12:39:49 ]
- >>433
なんかPC障害でラインが暴走しそうな悪寒もする。 ちょっとした機能追加で制御不能になったりとか 担当者さんのデスマーチが目に浮かぶ
- 435 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 12:44:55 ]
- 今思った
GC時間考慮してねー
- 436 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 13:02:29 ]
- まあ書かれてた処理内容なら大丈夫だろ。
もち注意して作る必要はあるけど。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 19:25:38 ]
- >>425
その説明だと、そもそも「目的地」のところにセンサをつけ、 その出力を「流れているものを矢印の方向へ稼働させる機械」に直結すれば PCなんか要らないように思えるけど。 それにどうしてエンコーダが必要になるのか意味がわからない。 わざわざ目的地じゃなくてその手前なんかにセンサを付けるから、 目的地を検出するためだけにエンコーダが必要になるんじゃ?
- 438 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 20:39:38 ]
- >>425
目的地にセンサつけたらだめだろw 目的地はn通りあるから事前に振り分ける処理が要る。 FAの機械ってのは大抵が独自のプロトコルで通信する。 だからPCなりPLCなどの中継が必要になる。 ここまでは皆理解していて、その先の精度や耐久性について語ってるのだよ。
- 439 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:02:36 ]
- >>438
よくわかんない発想をする人だなあ。 仮に目的がN通りだとする。 それって何を基準に振り分けるの? その仮説と>>425の説明をあわせれば、恐らく物体の高さか何かによって ONするセンサが変わるから、それを基準に振り分けることになる。 だとすると、それってN個の目的地の直前で、対応するセンサと 「矢印の方向へ稼働させる機械」を直結することと等価でしょ。
- 440 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:37:57 ]
- まあ、質問主が詳細を明らかにしてないのに細かいこといってもしょうがないか。
なんとなくセンサの設置法さえ工夫すればビジーループでポーリング、 なんてことしなくてもPCでもこなせそうな仕事にも思えるけど。 DIOの付属のライブラリって、たいてい入力のイベントでコールバックする 機能がついてると思うから、そのあたりとあわせればできるんじゃないのかな。
- 441 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 06:33:12 ]
- >>439
バーコード、QR、RFIDなんかは普通に使うぞ?素人か?
- 442 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 19:46:27 ]
- もうどうでもいいよ。
さっさと上司と拳闘しろ。
- 443 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 20:16:21 ]
- >>441
そういう問題か。 そんなことは>>425の文章からは読み取れない。 余程の馬鹿じゃなければ、そんな重要なことは最初に明確に書くだろう。
- 444 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 20:42:16 ]
- >そんな重要なことは最初に明確に書くだろう。
うーん そんなこと無いケースが多々あるが・・・
- 445 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 20:48:45 ]
- そういうスレでやれ
- 446 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 12:41:04 ]
- EventHandler eh += delegate { };
EventHandler eh += (sender, e) => { }; sender, eを使わない場合ラムダ式にしない方がいいの?
- 447 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 12:49:58 ]
- 使いもしないのに書くのは気持ち悪い
- 448 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 20:20:09 ]
- 関数でシステム作る様な言語でもないんだし
LINQの目的に使わないのなら俺は使ってないなー
- 449 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 01:35:08 ]
- >>446
ラムダ式使うなあ。 別に引数を使わないのはLinqでもあることだし。
- 450 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 08:27:42 ]
- 使ってると関数式が分散しちゃって管理しづらくない?
- 451 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 12:16:38 ]
- 複数箇所で使うならメソッドにしとけ。その場限りならラムダにしとけ。
作ったメソッドをシグネチャ合わせるためにラムダ使うとかも良くあること。
- 452 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 13:20:59 ]
- はい匿名関数使います。
- 453 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 13:29:18 ]
- delegate { }の形の匿名メソッドはそのうち「今後は使用しないでください」ってお達しが出るかもね
- 454 名前:デフォルトの名無しさん [2009/08/02(日) 01:07:34 ]
- C#って内部クラスをどういうときに使うの?
関連の強いクラスでも、内部クラスにするメリットがわからない。 Javaならすごいはっきりしてるけど・・・
- 455 名前:デフォルトの名無しさん [2009/08/02(日) 01:08:10 ]
- >>1の本文は「飲み過ぎた・・・」と予想したが見事にはずれた
- 456 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 01:13:55 ]
- >>454
javaだろうがc#だろうがインナークラスの使い道なんて一緒だと思うけど…。 よくわからん疑問だな。
- 457 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 01:32:22 ]
- >>454
おまえはおれかw 今日ふと気になってそれ調べてたよ。 外部クラスのprivateフィールド、関数にアクセスできるのが一番のメリットだろうね。
- 458 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 01:32:42 ]
- >>454
わざわざ外に書くほどでもないとき スコープ的にそのクラスの外に見れないようにしたりしたいし
- 459 名前:デフォルトの名無しさん [2009/08/02(日) 01:49:07 ]
- >457,458
こんな遅い時間にサンクスコ! >外部クラスのprivateフィールド、関数にアクセスできるのが一番のメリットだろうね。 ああ、なんか勘違いしてました。外部クラスのインスタンスは渡してやらなきゃいけないけど privateにアクセス可能なんですね。馬鹿な漏れですみません。 C#ってJavaに似せてはいるけど、かなり別モンですね。 スコープっていうかアクセス権については、 Javaのパッケージプライベートに相当するものが欲しい・・・ でもプロパティは素晴らしいです!(JavaのBeansは最悪。)
- 460 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 02:26:21 ]
- プロパティはすばらしいとおれも思う。直観的だし、見やすい。
- 461 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 02:59:27 ]
- そして書きやすいしね。VB.NETのプロパティはマンドクサだけど。
- 462 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 03:00:55 ]
- プロパティとデリゲートは自慢できる機構だな。
いつJavaが逆輸入してくれるかと期待してるんだが、無理なのか。
- 463 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 04:01:16 ]
- プロパティはいいとしても、
delegateはVJ++時代の歴史的ないさかいがあるからあれだなぁ。
- 464 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 04:02:34 ]
- プロパティはJavaの新機能の候補にまで入ったんだけど・・・駄目だった
デリゲートはありえなさそうだ
- 465 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 07:55:22 ]
- C++の将来はどうなりますか?
- 466 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 09:19:43 ]
- C++の将来はC++0x、2015年までに何とかしてくれるらしい。
そろそろスレ違いだな。
- 467 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 10:36:21 ]
- >>459
パッケージスコープはinternalがある。 「名前空間」っていうのはそもそもクラスライブラリを使う側のためにあるものだから 作る側の実装の都合によるパッケージスコープとは明確に区別されてる。 どっちがいいかは別にして,考え方の問題。
- 468 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 10:48:31 ]
- .NETでCollectionを返してくるやつがあるけど何でジェネリック使ってないの?
- 469 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 11:03:03 ]
- .NET1.xのころはジェネリックが使えなかったから。
3.0〜のWPFで非ジェネリックコレクションが一部使われてる理由は, WPFはけっこう型にルーズで,突っ込まれたいろんな型のオブジェクトを 適当に自動的に変換したりするから
- 470 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 11:46:54 ]
- >>467
考え方がどうとかはしらんが、 internalはexeやdllレベルのアクセス制限だから、Javaのpackage privateとは別モンだろ。 適度なアクセス制限かけたい時に、いちいちdllに分けるとかありえんwww
- 471 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 12:59:45 ]
- ?:でelse側要らない時あるから、何もしないで辞めるという予約語cancelを追加してほしい
x = x > y ? 10 : cancel; Open(Exist(path) ? path : cancel); 引数にcancelが入るとそのメソッドは実行されない
- 472 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:05:42 ]
- 素直にif使えよ
- 473 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:14:30 ]
- Exec(a(), Open(b(), Exist(path) ? path : cancel, c()), d())
じゃあこれでExist(path)がfalseになったときはExecも実行されないの? aやbやcやdは? 無駄に複雑になりすぎる
- 474 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:33:32 ]
- x = x > y ? 10 : x;
- 475 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:38:21 ]
- x = x > y ? 10;
こう書けりゃいいのにな
- 476 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:57:46 ]
- >>473
あー、なんか無理っぽいね 全部実行されないで欲しい感じはするものの
- 477 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:59:24 ]
- 無理して三項演算子使わなくてもいいのに。
- 478 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 14:38:47 ]
- >>475
代入式なのに代入されない場合があるって、すんごいキモイと思うんだけど どうだろうか
- 479 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 14:41:25 ]
- タイプ数そんなに変わらん
if(x > y) x = 10; cancel導入だとむしろ多くなるじゃないか
- 480 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 14:53:24 ]
- >>479
これでいいじゃん 三項演算子にこだわる必要どこにもないし
- 481 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 14:53:48 ]
- 全メソッドが毎回cancelチェックするらしいぜ!
- 482 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 14:57:36 ]
- なんで阿保の思いつきを開陳しようとする気になったの。
- 483 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 15:22:10 ]
- おまえというド阿呆をおびき寄せるため
- 484 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:35:49 ]
- 本筋ではないけど、>>471のOpenの例はテストせずにモードOpenでtryして、
FileNotFoundExceptionなどをcatchでしょ。 ファイルは存在さえすれば開けるというものじゃないから、 どのみちtryする必要あり。それならばExistで存在確認するのは無駄。
- 485 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:38:23 ]
- 例外は重たいから事前にチェックできるのならばチェックすべし
- 486 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:40:16 ]
- チェックから開くまでに、ファイルが消される可能性があるから無意味。
- 487 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:40:50 ]
- チェックした方がいいのは確かだが
ファイルを開こうとして失敗するなんて秒間何千回起こるようなものでもないんだから 重たいとか別に関係ない
- 488 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:42:34 ]
- 例外は重いからチェックするってのは正か否か
これもよく揉める議題だよね。 頻度を考慮したらそんなに避けるべき問題でもないという結論に。
- 489 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 17:03:41 ]
- 平均的には、チェックする方が遅くなるだろうな
どっちみち頻度考えたら問題にはならないけど
- 490 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:04:04 ]
- 例外が思いからファイルを開くときにチェックしない
→ファイルを開くアクションを起こすと時々アプリケーションが終了 →作業内容が喪失 →作業意欲低下 →業務が滞る →会社の収益が低下 →GDPが減少 →犯罪発生率の上昇 →本国崩壊 →朝鮮半島がなにかを主張し始める ←ここまで1年半 つまり例外処理反対派は反日親韓ということ?
- 491 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:10:37 ]
- >>490
それを言うなら、 例外が思い(ママ)からファイルを開くときにチェック<する> だろ。 いつも思うんだが、ネタっていうのは分かってる奴がやるから面白いんであって、 何もわかってない奴が無理してやるネタなんて面白くもないともないんだよお馬鹿さん。
- 492 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:14:21 ]
- プログラムがファイルが存在しない状況について想定していることが伝わるからチェックはすべきでしょ
- 493 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:14:51 ]
- >>491
??
- 494 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:17:53 ]
- 必要な処理を必要なだけやるわけであって
重いから処理しないのはゆとり
- 495 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:18:03 ]
- ファイルが存在しない状況について想定していることが伝わればいいのなら
FileNotFoundExceptionを別にcatchするだけで十分じゃねーの
- 496 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:19:40 ]
- はげどう
- 497 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:25:50 ]
- まあFile.Existなんて気休めだよな。
- 498 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:56:25 ]
- ところで
Try(() => Open(path)).Catch<FileNotFoundException>(ex => Console.Write(ex)); とか書けたらいいなと思ってるのは俺だけじゃないはず というか多分書けるな 今から作ってこよう
- 499 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 00:05:20 ]
- 醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い
醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い 醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い 醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い 醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い 醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い醜い
- 500 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 00:10:24 ]
- try〜catchじゃない意味あるの?
こんなオナニーコード見せられたら卒倒しちゃうよ。
- 501 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 00:14:51 ]
- 吐き気がするw
- 502 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 01:43:51 ]
- >>498
賛同者はごくまれだろうな・・・・・
- 503 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 02:18:06 ]
- if(auto ex = collectException(new File(path))) writeln(ex);
|

|