- 1 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:46:53.58 ID:op86qfG/.net]
- ■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part91 echo.2ch.net/test/read.cgi/tech/1467211515/ ■次スレは>>970が建てる事。 建てられない場合は他を指定する事。
- 29 名前:デフォルトの名無しさん mailto:sage [2017/02/01(水) 23:47:28.74 ID:r1Eq5mSG.net]
- SQLは軽くしとかないと負荷分散し辛いだろ
- 30 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 00:06:00.36 ID:335RX4F5.net]
- 100行のSQLって何してんだよw
- 31 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 00:22:55.82 ID:NP4cqTts.net]
- 前スレ995に言ってくれ
- 32 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 00:33:35.95 ID:Xhr9HRot.net]
- SQLがクソ長くなるのはだいたい横持ちのせい
- 33 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 00:38:43.68 ID:jMAutYAP.net]
- 100行ぐらいのSQLなら常人が読める程度にこなれているだろ
問題は、4つも5つもくっつけて集計したものを更に集計ている呪文のようなViewだな 「誰がこんなもの作ったんだよ」と、過去の自分に説教したくなることが偶にあるだろ
- 34 名前:デフォルトの名無しさん [2017/02/02(木) 01:06:08.80 ID:mPNRvOCD.net]
- SQLは再帰CTEの登場でチューリング完全な言語になったからな
https://wiki.postgresql.org/wiki/Mandelbrot_set
- 35 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 04:14:19.22 ID:gxIOcfsw.net]
- select *でなく
select a, b, d, ....などはよくある行数稼ぎw
- 36 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 11:36:33.30 ID:K/b9EIy4.net]
- 行数で語るのはSIer脳
- 37 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 22:58:09.73 ID:JuktWcDi.net]
- >>33
初心者って集計を嫌うよね 集計を覚えるとSQLの表現力がグッと上がるのにもったいない
- 38 名前:デフォルトの名無しさん [2017/02/02(木) 22:59:25.89 ID:cdo4XHzT.net]
- 集計はよく使い方が分からない
- 39 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 16:36:50.15 ID:sbknHPFF.net]
- ファイルサイズを高速に取得したいのですがFileInfoだと遅くて・・・
何か良い方法は無いものでしょうか。
- 40 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 16:45:50.00 ID:atHQASm/.net]
- >>39
なぜ高速に取得したいの? どうい
- 41 名前:、アプリケーションを想定?
エクスプローラ? [] - [ここ壊れてます]
- 42 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 16:49:01.93 ID:sbknHPFF.net]
- >>40
はい。そのようなものです。
- 43 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 16:52:42.09 ID:94H9RTyk.net]
- dir実行してパイプで取り込むとかw
- 44 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 16:53:28.40 ID:ypmLJyxS.net]
- インデックス
- 45 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 17:03:20.16 ID:atHQASm/.net]
- DirectoryInfoのEnumeateFilesとかでも遅いかな
- 46 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 17:33:34.62 ID:sbknHPFF.net]
- >>44
DirectoryInfoで速くなりました。ありがとうございます!
- 47 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 21:24:06.70 ID:znmRetLn.net]
- >>45
こういう処理はどれが正解って訳じゃないけど、見通しがついてよかったぬー
- 48 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 22:20:54.73 ID:SpK5IAIQ.net]
- 44が的確ですごいな
- 49 名前:デフォルトの名無しさん mailto:sage [2017/02/05(日) 00:02:27.35 ID:PGIZ+KFZ.net]
- >>44
GJ!!
- 50 名前:デフォルトの名無しさん mailto:sage [2017/02/05(日) 13:44:40.26 ID:jpxF0hW7.net]
- lock()と言うのがありますが、マルチスレッドの処理で
誰かが何らかのオブジェクトをlockしているかどうか知る方法はありますか? if(IsLocked(obj)){ }else{ } みたいな処理をしたいのですが。
- 51 名前:デフォルトの名無しさん mailto:sage [2017/02/05(日) 13:51:41.71 ID:QLCXp5gV.net]
- >>49
Monitor.IsEntered(obj)とか?
- 52 名前:デフォルトの名無しさん mailto:sage [2017/02/05(日) 14:09:45.29 ID:PGIZ+KFZ.net]
- >>49
lock は System.Threading.Monitor クラスを使うように展開されるみたいだからこいつの TryEnter( ) とか使えばいいんじゃね? ufcpp.net/study/csharp/sp_thread.html
- 53 名前:デフォルトの名無しさん mailto:sage [2017/02/05(日) 14:22:39.19 ID:jpxF0hW7.net]
- >>50>>51
Monitor.TryEnterで上手く出来ました。 ありがとうございました。
- 54 名前:デフォルトの名無しさん [2017/02/14(火) 20:20:16.10 ID:9KVRWgtp.net]
- RxのSubjectで初期値のないBehaviorSubjectはないですか?
subscribeした時点でまだ一度もonNextをしていなければonNextするまでコールバックを呼ばず、 一度でもonNextされていれば最後の値をコールバックに渡す感じです
- 55 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 20:49:20.54 ID:pU7mkQJz.net]
- >>53
Rxなんか使わずに単純に最後の値を変数に入れといてそれを読めばいいのでは
- 56 名前:デフォルトの名無しさん [2017/02/14(火) 21:07:29.79 ID:9KVRWgtp.net]
- >>54
変更通知… rxが楽
- 57 名前:デフォルトの名無しさん [2017/02/14(火) 23:32:57.72 ID:sZcA1Jdu.net]
- マスコットキャラが作れると聞いて始めたのですが、
まったく、作れません。 軽く何かを教えてくださいお願いします。
- 58 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 23:42:59.54 ID:jF3NlhZ4.net]
- 不定形 ウィンドウ でググって、あとはタイマーで絵や座標を更新するとかかな
- 59 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 13:44:40.41 ID:6MEGowR3.net]
- >>56
Unityちゃんでもいじってみ
- 60 名前:デフォルトの名無しさん [2017/02/15(水) 14:22:29.43 ID:fYC4NdgN.net]
- visual studio2012を使っています
c#でdatagridviewを使っていて、headertextを2行にしたいのですが、方法を教えてください
- 61 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 14:38:33.74 ID:IaTHaUdU.net]
- >>59
改行コード入れればいいんじゃないか?
- 62 名前:デフォルトの名無しさん [2017/02/15(水) 18:06:53.63 ID:fYC4NdgN.net]
- GUI
- 63 名前:デフォルトの名無しさん [2017/02/15(水) 18:08:07.82 ID:fYC4NdgN.net]
- >60
GUIからだと入れることができませんでしたが、 コードから直接入れることができたので、 コードから入れました。
- 64 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 19:46:34.50 ID:IaTHaUdU.net]
- >>62
俺も玉にはいい事言うよね。
- 65 名前:デフォルトの名無しさん [2017/02/16(木) 19:46:27.37 ID:3MqMajas.net]
- formアプリでformの大きさを小さくしたら配置してるコントロール全てがformの大きさ
- 66 名前:ノ比率縮小されるっての出来ないですよね? []
- [ここ壊れてます]
- 67 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 20:07:17.83 ID:yaBP1ZBT.net]
- 自前で比率計算すればできる
実装がめんどくさければGrapeCityのComponentOne買えばOK
- 68 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 20:12:31.55 ID:C8TUip5w.net]
- WPFなら出来たけど、Winformはどうなんだろ
- 69 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 20:34:36.40 ID:Dw9/ZFHg.net]
- m.chiebukuro.yahoo.co.jp/note/n77168
検索くらいしろよ
- 70 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 22:06:01.73 ID:x6Naqncr.net]
- 地道に力技でやるしかない
この辺りはformアプリは苦手
- 71 名前:デフォルトの名無しさん [2017/02/16(木) 22:16:06.79 ID:7GOAgwDK.net]
- メモ帳作ってるけど外観はできても中身ができなくて困ってる
クリックイベントは大丈夫なはずなんだけど、 開くや新規作成 検索とか、探してたら、 開くだけで、8行ぐらいコードが必要なんだけど? 1行で呼び出す、コードとか無いの?
- 72 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 22:32:47.75 ID:/R92/z+7.net]
- 8行でできるならいいじゃん
まとめたいならこれ Process.Start("notepad.exe");
- 73 名前:デフォルトの名無しさん [2017/02/16(木) 23:25:56.09 ID:7GOAgwDK.net]
- >>70
どうも 初心者だから、妥協しようか迷ってたんだけど 当面はそちらで行かせて貰う
- 74 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 23:30:09.61 ID:Dw9/ZFHg.net]
- いいのかよw
- 75 名前:デフォルトの名無しさん [2017/02/17(金) 08:32:40.56 ID:MUR4QGae.net]
- >>65-67
ありがとうござます 助かりました。調べて頑張ってみます
- 76 名前:デフォルトの名無しさん [2017/02/17(金) 08:33:43.24 ID:MUR4QGae.net]
- >>68
すみません。抜けてました。レスありがとうございます
- 77 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 11:09:32.83 ID:cWaaGg3V.net]
- sqlの定義文をC#のソースにするのが面倒なんだが、気の利いたツールとかエディタの拡張とか知りませんか?
create tabale hoge ([hage] text) → "create table hoge " +"([hage] text)";
- 78 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 11:15:39.58 ID:MSmTE/VQ.net]
- >>75
逐語的リテラル文字列 あとは補完文字列なんてのもあるが、SQLインジェクションには注意
- 79 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 12:10:46.00 ID:52dA0McO.net]
- >>75
> create tabale hoge ([hage] text) → "create table hoge " +"([hage] text)"; 変換規則がわからん 単にこれだけをやりたいだけなら正規表現でもできそうだが
- 80 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 12:17:17.23 ID:rCytLmz9.net]
- >>75
スクリプトファイルの読み込みじゃいかんのか?
- 81 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 13:26:45.21 ID:oikc5OUx.net]
- >>75
矢印が逆じゃあないの? 最終的には連結した一つの文字列にしたいんだろ?
- 82 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 14:07:01.72 ID:uqTw3F8T.net]
- >>75
作れば
- 83 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 14:25:52.73 ID:XkQA6zD3.net]
- >>75
そのサンプルだと両端にダブルクオーテーション付けて最後にセミコロン付けるだけでよくね? わざわざ文字列を分割する必要性無いと思うんだけども
- 84 名前:デフォルトの名無しさん [2017/02/18(土) 18:29:25.18 ID:367vvwff.net]
- フォームを色分けしたいんですが、どうしたらいいでしょうか。
例えば半分から上は黒で下は白のようなものです。 現状panelを使ってそのように見せているんですが、いい方法あったら教えてください
- 85 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 19:51:04.90 ID:d0hejx53.net]
- panelを2つ貼ってbackgroundcolourを設定しろよ
- 86 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 19:58:44.57 ID:M4R1Zp6s.net]
- それやってるって書いてあんじゃん。読めよw
無理やりオーナードローかform捨てるしかないだろな
- 87 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:00:20.55 ID:n/aPn98B.net]
- >>82
なんの目的があるかわからん。 色が分かれていても、別のものを表示している訳ではないの?
- 88 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:24:06.51 ID:jkd676sQ.net]
- パネルじゃなくて、ラベルとか影響の少ないコントロールを Z オーダーの一番下に張るのとか出来なかったっけ。
- 89 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:44:32.17 ID:n5oO6gvO.net]
- 上にコントロール重ねること考えたらパネルが一番楽で無難なんじゃね
フォーム(パネル)の背景設定でもいいけど >>86 パネル以外だと上にコントロール重ねたら下が見えなくならないかな
- 90 名前:75 mailto:sage [2017/02/18(土) 22:28:19.09 ID:cWaaGg3V.net]
- sqliteで作るときに、テーブルをツールで定義してからそのsqlをC#のソースに変換するのが面倒だっから
ツールが有ったら使いたいなと思い聞いてみました 他のDBだと、ソースにテーブル定義を書くなんて無いからちょっと混乱させちまいましたね 面倒でも手でやるのが一番早そうだ
- 91 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 22:56:35.91 ID:XkQA6zD3.net]
- EntityFramework でググれば幸せになれるよ
- 92 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 23:07:16.07 ID:rCytLmz9.net]
- >>88
だからファイル詠み込めよ なんで動的sqlでもないのにコードに書くんだよ
- 93 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 00:04:30.14 ID:TkpsmKBX.net]
- >>82
サイズ変えないならFormのBackgroundImageに 色分けしたBitmap貼るとかいいんでないの? 好きな背景にもできるぞ
- 94 名前:デフォルトの名無しさん [2017/02/19(日) 00:14:46.31 ID:PjLfAeqZ.net]
- >82です。みなさんありがとうございます。
説明補足すると、メッセージボックスを自作していて、メッセージボックスのような背景を作りたかったんです。
- 95 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 07:54:46.40 ID:ngALvOwB.net]
- >>88
> 他のDBだと、ソースにテーブル定義を書くなんて無いから SQL-SERVER 使ってるけど一時テーブル作ったりで普通にあるけど?
- 96 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 08:47:37.68 ID:iOIH+Q4P.net]
- >>92
似たようなことはDock=Top, AutoSize=FalseとしたLabelでよくやる。
- 97 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:11:31.31 ID:93wksAh/.net]
- >>89
sqliteでEF使うと致命的に遅いから無理ですわ >>90 何故に喧嘩腰? >>93 俺はあまり一時テーブルに頼らずにviewでなんとかするのが好きだから、そこまで思い当たりませんでしたわ たしかに一時テーブルが正義の場合だって少なくないだろうが
- 98 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:23:29.24 ID:TZ/mXSM2.net]
- 一時テーブルは保守性が下がりパフォーマンスもスケーラビリティも多くの場合悪くなるのでやめてください
- 99 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:32:03.79 ID:kiv7S6GK.net]
- >>96
そう言って糞長いストアド作りまくった挙句に保守できなくなった案件があったと、DBコンサルが笑い話のネタにしてたな 一時テーブル=害悪はどこの文化なんだろ
- 100 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:41:13.77 ID:98lVckOm.net]
- 一時テーブルは使うけど実行時にcreateするってのは経験ないなぁ
- 101 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:41:38.21 ID:7Avz8j0c.net]
- そういうのは結局は開発者の能力の問題
一時テーブルかストアドかはそれほど重要ではない
- 102 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 11:34:46.47 ID:gpMreema.net]
- >>95, >>97
一時テーブルとビューとかストアドとは使いどころが違うと思うんだが何故に比較してるんだろ? >>98 セッション内でのみ有効な一時テーブルとか使ったことないの?
- 103 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 11:42:57.76 ID:98lVckOm.net]
- >>100
あったあった。そう言われると1度だけ。 あのときは言われたとおりやっただけだから忘れてた。
- 104 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 11:52:35.81 ID:TZ/mXSM2.net]
- >>97
一時テーブルなんてなくてもクソ長くならないし そもそもストアドなんて保守性の低いものをむやみに使う必要もない リレーショナルデータベースとは何か勉強しなおしてこい
- 105 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:29:51.72 ID:LQaPeC4X.net]
- 普通はefを使うもんなの?
- 106 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:40:55.60 ID:zEbYND7D.net]
- テーブルがシーケンシャルファイルにしか見えないCOBOL世代の人なんかは一時テーブルとかストアド好きだよね
結局は自分の慣れ親しんだ領域に持って行ってやるのがその人にとってはベストなんだよ どうせ保守するのは自分じゃないし自社ですらないことも多いからその場でその人員でできるベストを採用しなきゃビジネスとして悪手 流行りや有名コンサルに乗せられて意識たかそうなコードをメンバーのスキルもないのに書こうとする これが最悪の選択肢 列挙型とswitchで分岐しまくるほうがメンバーにとって理解しやすいならそれがいい そういう現場では多態性を利用したコードは生産性が落ちる 一時テーブルとストアドも同じでメンバーが理解しやすいというなら保守を受注する会社あるいは保守担当の同僚に心の中で懺悔しつつ採用すべきだ
- 107 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:43:22.84 ID:OMGCNA7z.net]
- スレチ
- 108 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:55:43.81 ID:LQaPeC4X.net]
- >>104
>テーブルがシーケンシャルファイルにしか見えないCOBOL世代の人なんかは一時テーブルとかストアド好きだよね 新しい世代の人にはどう見えるの? dbの操作はどういう手法が普通なの?
- 109 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:58:51.41 ID:7Avz8j0c.net]
- >>106
大抵の処理は積極的にJOINを使えば1パスで済ませることもできる
- 110 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 13:05:26.33 ID:NYetswUU.net]
- あとは、DBを永続化されたオブジェクトの単なるストレージと見做して
ORMを活用してほとんどC#の中でやってしまうスタイルもある
- 111 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 13:10:17.55 ID:93wksAh/.net]
- 速度が問題にならない場面でも速度ばかり気になるのは何故なんだろうな?
だから10倍遅くなるEFはあまり好きじゃない エントリーみたいなものならEF使ったほうが良いとは思うんだけどね
- 112 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 13:13:51.67 ID:LQaPeC4X.net]
- >>108
そのormというのは75みたいなsql文を実行するんですか?
- 113 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 14:09:14.55 ID:zEbYND7D.net]
- >>106
別に新しくもなんともないけど普通は行あるいは命題の集合に見える 操作は当然DMLで行う(データ操作言語だからね)
- 114 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 14:24:55.62 ID:7Avz8j0c.net]
- 近年ではビッグデータ界隈で古典的なバッチ処理が最新技術として復活したけどね
処理を行単位ではなくテーブルからテーブルへの射影と考える粗粒度なバッチ処理は 分散処理や糞遅いスクリプト言語との相性がいい
- 115 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 15:04:35.19 ID:rTEdd30o.net]
- 最近EntityFrameworkじゃなくてDapperばっか使ってるわ
- 116 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 15:09:45.51 ID:MFFmnvDE.net]
- 真っ当な判断能力があるなら必然的にそうなる
- 117 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 15:11:31.44 ID:OMGCNA7z.net]
- DbExecutor使ってるけど全然更新されなくて悲しい
- 118 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 16:48:08.70 ID:LQaPeC4X.net]
- >>113
Dapperと言うのを調べてみたのですが生のSQLを実行するのと 何が違うのか良く分かりません。Dapperと言うのを使う場合でも SQL文を実行するんですよね? 何が違うんですか?
- 119 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 16:55:48.71 ID:JyXmk48j.net]
- >>116
Dapperは主にクエリ結果をオブジェクトにマッピングするためのライブラリ Dapperを使わない場合でもDataTableやDataReaderをそのまま使わずに型安全なオブジェクトに変換してから処理をするだろう? それを楽に書きたい人のためのものだよ
- 120 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 17:11:25.76 ID:LQaPeC4X.net]
- >Dapperを使わない場合でもDataTableやDataReaderをそのまま使わずに型安全なオブジェクトに変換してから処理をするだろう?
Dapperを使わない場合ですが、DataTableに読み取ったあと、カラムの型は自分では分かっているので順番にデータを取り出して、 その型にキャストして読み出すのはダメですか? それとも私何か勘違いしていますか?
- 121 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 18:11:13.51 ID:7Avz8j0c.net]
- >>118
それを自動でやってくれるのがDapper
- 122 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 20:35:23.16 ID:LQaPeC4X.net]
- >>119
なるほど。ありがとうございました。
- 123 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 20:41:40.94 ID:+HIMLleH.net]
- Dapper気軽そうでいいね。
- 124 名前:デフォルトの名無しさん [2017/02/19(日) 21:16:27.26 ID:PjLfAeqZ.net]
- >94
なるほど、ありがとうございます
- 125 名前:デフォルトの名無しさん [2017/02/19(日) 22:55:47.64 ID:L+LZlPn0.net]
- 35:54
↓ 10:40 https://www.youtube.com/watch?v=WTdY7h129Mk https://www.youtube.com/watch?v=8R0luOy8ce8
- 126 名前:デフォルトの名無しさん [2017/02/22(水) 23:33:37.07 ID:yhciyQan.net]
- 質問させてください。
なにかの処理中にフォームなどを起動させておく、以下の処理について。 while(xxx.HasExited == false) //xxxはインスタンス { Applcation.DoEvents(); System.Threading.Thread.Sleep(200) } この処理はwhile文で回していますが、DoEventsとSleepは、なにか処理が行われるたびに呼び出されると思ってよいのでしょうか。 起動中に なにか処理する→0.2秒とまる→なにか処理する→0.2秒とまる→… みたいな。 またこのSleepは、現在起動中の処理を一時的に止めると思ってよいでしょうか。 ご教授お願いします。
- 127 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 23:52:38.18 ID:d6y2GeKl.net]
- >>124
何を見たのか誰に教えてもらったのか知らないが、まずはそんなクソコードは忘れよう DoEventsはVB時代の遺物であり、使用は推奨されない 今時は時間のかかる処理をGUIをフリーズさせることなく実行したい時は await Task.Run(() => { 何かの処理 }); と書く
- 128 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 23:56:30.83 ID:huuz+PNn.net]
- その処理だと、全力でDoEventsと0.2秒休むを繰り返すだけだよ
つか、今どきDoEventsとか存在を忘れたほうがいいんじゃないかねえ
- 129 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 23:57:19.06 ID:954rYVtd.net]
- >>124
そのセットは別スレッドの入力待ちのテンプレ ・・・Application.DoEvents()って必要だったっけ?w それはあいまいだけど、キー入力待ちか外部exeからの返り値待ちで使われている
|

|