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


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

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



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

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

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

ふらっとC#,C♯,C#(初心者用) Part56
pc12.2ch.net/test/read.cgi/tech/1267348401/


関連スレ
C#, C♯, C#相談室 Part55(実質56)
pc12.2ch.net/test/read.cgi/tech/1260111240/1

VB.NET質問スレ(Part33)
pc12.2ch.net/test/read.cgi/tech/1263738929/1

C++/CLI part3
pc12.2ch.net/test/read.cgi/tech/1206447234/1

77 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:20:55 ]
phpをdisってる人と同じ匂いがする

78 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:22:00 ]
>>69
VBが出た時、beginner's toyと言われていたけど、今や、どれもこれも真似してるよな
そういうハッカー気どってVB馬鹿にするのは、COMコンポーネントをCでストレスなく作れるようになってから言ってくれ

79 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:22:56 ]
わざわざ遠回りな方法をとるアテクシカコイイみたいな。

スレッド使いこなしてデキるプログラマ目指そう!
モテカワマルチスレッドの嗜み方教えちゃいます特集号

みたいな。

80 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:23:59 ]
>>78
VBを馬鹿にしてないって。
「VB厨」を馬鹿にしてるの。だからわざわざカギ括弧付けてるんじゃないの。

81 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:24:11 ]
おっさん調子乗ってんなよ^^

82 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:25:41 ]
とはいっても>>68を否定できないよねw

83 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:25:48 ]
BackgroundWorkerがいやならC#も嫌なはず

84 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:26:48 ]
>>80
じゃあさっさと>>62答えろよ

85 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:28:12 ]
>>64
お前はイベントとマルチスレッドの違いもわからないカス



86 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:28:44 ]
まあ御託はいいから、そんなにBackgroundWorkerが便利だと思うのなら
普通にスレッド起動した場合と比較したメリットをちゃんと言ってみろって。

言えやしないだろうそんなもの。
無い者を言えるわけがない。

さすがにいくら面の皮が厚い馬鹿でも「理屈が分かってない馬鹿なボキュにも使えることがメリット」とは
言いづらいもんねw

87 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:29:21 ]
まあまあ喧嘩しないしない
使いたいの使いなさい

それより仕事をしなさい

88 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:30:24 ]
>>86
早く>>68を否定してみろよ
否定できないならC#使うのやめて機械語に帰れ

89 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:32:54 ]
>>86
単にフレームとして一連の処理の流れが実装してあることがメリットだろう。
IListそのものがListより便利だとは言わないでしょ。
実装が無いんだから。

90 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:34:04 ]
>>86
理屈がわからなければを繰り返していくと、最後は量子力学か神学までいくから理屈がわかってないバカ議論は不毛
もう化石だな

91 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:34:23 ]
>>86
簡単に使える、ってのは大きなメリットだろ。

92 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:35:03 ]
>>86
馬鹿でも使えるのは超メリットだと初めに言ったはずだが
そこから否定されても困るね
何言ってんのお前

93 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:35:04 ]
>>88
意味不明な命題を否定も肯定もしようもないと思うけど。
なぜBackgroundWorkerがC#に、スレッド起動の方法がアセンブリ言語に対応するのか
サッパリ理解できん。

馬鹿の議論はいつもこれだが、馬鹿のお前さんの思いつきを俺が共有してるわけないじゃん。
これがセカイ系か。

94 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:35:39 ]
簡単だから嫌いってもうね。
自分は特別な人間だと思ってるやつの典型だね。

95 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:35:40 ]
>>88-92
死ねよおめーらwww



96 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:36:09 ]
ワロタ

97 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:37:20 ]
初心者向けスレで、顔真っ赤にすんなよ。

98 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:37:47 ]
お前ら落ち着け

99 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:39:14 ]
>>98
お前も落ち着け

100 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:39:30 ]
こいつと同じ臭いがする。
勘違い職業マ。

678 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2010/02/08(月) 13:05:38.59 ID:V+MiXXPeP
>>674
その手段を自分で想像出来ないヤツが結果を出せる訳無いよな

>>675
いきなり素人が5つ星のフランス料理作れるとしたら、誰か経験のある人が代わりに作ってあげたキットを再利用するか、
あるいはボタンを押せば出てくる装置を使うしかない。 もともとプログラミングって、技術職の仕事だ。
みんな欲しいのは技術じゃないのかと。 結果が欲しいだけなら巷に転がってる完成品使えばいいだけ

昔も今も見よう見まねから始まるのは変わらないだろうけどな。 でもコピペは見真似にすらならね

101 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:39:33 ]
今日はアンチMSのスレが伸びてないと思ったが、こっちで喧嘩してたのかw

102 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:40:21 ]
へー

103 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:41:08 ]
VIPで死ね

104 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:41:14 ]
反論したかったら、BackgroundWorkerの致命的な欠点を言わないとな
簡単なことにThreadを生で使った方が問題引き起こすと思うけどな

105 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:41:22 ]
その「簡単な方法」では搭載しきれない仕様が降ってきたときに
ちょっと苦労するか、沢山苦労するか、逃げ出すか、の違いだしょ?

いいじゃん、選ぶのは自分なのだし。



106 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:42:42 ]
>>86じゃないけど
Suspendできないのがちょっと面倒だったカモ

107 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:43:04 ]
カモネ

108 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:43:39 ]
かーもね

109 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:44:04 ]


110 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:45:01 ]
>>65
使えるものは使う てひとはそれでいいじゃん
まぁ同じくらいのもの実装しても大してめんどくさいものではないけどね



111 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:45:08 ]
>>77>>100
ディスプレイとキーボードと部屋掃除しろ

112 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:46:47 ]
勢いが板でトップになってるから何事かと思ったら

113 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:48:06 ]
>>110
いいじゃんね

114 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:49:05 ]
2番目に勢いのある
【超高速】C/C++に代わる低級言語を開発したい
の倍いってるじゃねぇかwwwww


115 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:53:14 ]
お前ら落ち着いて落ち着いて死ねなの〜



116 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:57:26 ]
すべてRuby厨の仕業

117 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:00:16 ]
まんまと釣られたということだよ。
言わせんな恥ずかしい。

118 名前:デフォルトの名無しさん [2010/03/20(土) 23:01:05 ]
ID欲しいよね・・・

119 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:02:19 ]
ID出たら真っ赤になってそうだなぁ

120 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:08:36 ]
書いてんの2人くらいだろ

121 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:10:26 ]
>>120
の会話ですら赤字になってる人の発言かもしれないと疑ってしまう自分


122 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:14:40 ]
Dr林にご相談ください

123 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:16:16 ]
>>115の発言が最近やったエロゲキャラのしゃべり方と似ててちょっと燃えた
いや萌えた

124 名前:デフォルトの名無しさん [2010/03/21(日) 00:02:57 ]


125 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 00:58:47 ]
(´・ω・`)ショボーン



126 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 01:16:21 ]
スレッドプールで十分なら極力そちらを使うべきではあるが、
専用スレッドを用意するメリットがあるなら使えばいいだけの話だろ

因みに、ThreadPool、Delegate.BeginInvoke、BackgroundWorker、
Forms以外のTimer、多くのコンポーネントの非同期操作(〜Async)などの
スレッドプールを使っているものなら多用しても問題はない

逆に、なんでもかんでもThreadを使うのは論外

>>106
中断のための機構は自前で用意すべきもの
Threadならイベントオブジェクト使って適当な間隔でチェックするだけだし、
ThreadPoolなら処理を細切れにしてキューに入れるタイミングを制御する

127 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 03:13:28 ]
Thread明示的に使ったってどうせ同じようなことを自分で実装するんだから、
あるもの使う方が手っ取り早いだろう。
それにいちいちスレッド作るよりThreadPool使う方が一般に望ましい(常にとは言わない)のは常識。


128 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 03:56:43 ]
知識0の状態からFF11のツール作るためにC#の勉強をしたいのですが
参考になるサイトやこれは買っとけ的な本は何ですか?

129 名前:デフォルトの名無しさん [2010/03/21(日) 03:58:53 ]
言語はどうにでもなるだろ
周辺ツール作る場合はゲーム側の独自仕様をどれだけ集められるかだと思うよ

130 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 04:22:07 ]
FF14にしましょう

131 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 05:56:19 ]
windows formのスレがないのでここで聞いても良いでしょうか。

formでGUIを作っています。
アプリケーション全体からメッセージを表示させるtextboxを追加したいです。
コンソールのプログラムでいう標準出力です。
どうやConcoleクラスがそれに値するようなのですが、これをどうtextboxに表示するのかわからないです。

textBox1.Text = System.Console.Out.ToString();
としても、textboxには「System.IO.TextWriter+SyncTextWriter」と表示されるので違うようです。

何かヒントをください

132 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 06:19:39 ]
やーだお

133 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 06:23:23 ]
うーむ
なんでこの手の話題は繰り返すんだろうw

スレッド、デリゲート関連のサンプルコード
codepad.org/xOdJsJie

これの応用でできるんじゃないかな?

134 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 06:24:45 ]
Console使うなら、
TextWriterから派生させたクラスを作って、
WriteメソッドとかをオーバーライドしてTextBoxに出力するようにして、
Console.SetOutで設定すればいいけど。

135 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:03:12 ]
>>133
誰に言ってんの??




136 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:05:50 ]
>>133-134
ありがとうございます。
単語を調べて一つ一つ確かめてみます

137 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:09:55 ]
>>86
お前素人だろ


138 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:15:19 ]
なんでBackroundWorkerをそんなに毛嫌いするのかわからん。
素人専用とでも思いこんでるのか?

素人に使いやすい設計になってるのは事実だが、
別にやりたいことにあってれば普通に使えばいいじゃん。
普通に使えるのにわざわざ自分で同じような処理を実装して、
でそれがThread明示的に作ってとか、マイナスにしかなってない。



139 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 09:20:00 ]
用途に合ってなければ自分で制御するだけ、
誰も常にBackroundWorkerがいいなんて言ってないのにな。
まあそれでもThreadを自分で作ることはあまりないが。


140 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:14:40 ]
まあそれでもThreadを自分で作ることはあまりないが。

141 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:16:41 ]
今時代はスレッドプールですよ

142 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:31:31 ]
スレッド温泉でゆっくりしたいなあ

143 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:32:07 ]
スレッドプールって何?

144 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:01:50 ]
次はParallel.Forですね
簡単といってもBackgroundWorkerとは違ってこちらはアカデミックな感じだが

145 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:02:22 ]
ThreadPool



146 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:08:50 ]
>>134
できました。
継承してオーバーライドって便利ですね。
勉強になりました。

147 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:50:25 ]
まだ4.0の勉強してないんだけどParallel.Forとかって別CPUで処理させるんだよね?
いくつかParallel.Forで処理を同時にやってすべてが終わったかどうかのチェックはフラグかなんか持って
自分で管理しないとだめなのかな?

148 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:56:39 ]
parallel.forとかすげーな
もうC++の時代は終わってるな

149 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:03:03 ]
単純に適材適所でしょ
windowsなんかC/C++がなきゃ動かないわけだし

150 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:03:54 ]
まぁGUIクライアントを書く言語としてはC#の方が向いてるね

151 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:22:21 ]
>>147
並列ライブラリは直接使うとよほど単純なパターンを除くと非常にややこしいので、
Parallel Linqから使ったほうが簡単。
並列処理の結果を待つかどうかオプションで指定できる。

152 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:26:30 ]
>>151
そんなの知ってるよ

153 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:27:50 ]
>>151
なるほど
しかし、すげぇな・・・
4.0いろいろ贅沢な機能付きすぎだろ


154 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:29:06 ]
>>152
自己紹介乙

155 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:32:13 ]
並列ライブラリのforを本気で使おうと思ったらやたらと引数が多くなる。
1〜10までを足すだけ。
int sum = 0;
Parallel.For(1, 10+1, option, () => 0,
 (i, parallelLoopState, s) => s + i,
 s => Interlocked.Add(ref sum, s) );
Console.WriteLine("sum = {0}", sum);




156 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:34:33 ]
そんなの使わずマルチスレッドつかえよ
Parallel.Forなんて大して使えん
ループ内がそれそれ独立していなければ無理

157 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:37:16 ]
((;゚Д゚)) 決めつけ無理……………!!!


158 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:37:34 ]
結構使いにくそうだ…
でも・・・実装したからには何か目的が・・・・メリットがあるんだよな?


159 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:38:35 ]
Parallelライブラリはコア数に合わせて並列数を調整してくれるところにある。
自分でスレッド作って調整するのは大変だぞ?

160 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:39:16 ]
そうだね。

161 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:42:37 ]
うん

162 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:50:06 ]
>>155
そんな並列の意味が一切無い例出してどうすんのさ

163 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:52:50 ]
>>162
お前に言われる筋合いはないから

164 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:53:04 ]
もうちょっとMPIの様に透過的にだな・・

165 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:12:13 ]
【春祭り 】また割れ厨のスクショと個人情報が晒されてるぞ避難所5
jbbs.livedoor.jp/bbs/read.cgi/news/4988/1269124859/

ICO - 国際著作権機構
ttp://warezer.net/search/user/3201

割れてる人は気おつけて



166 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:42:40 ]
>>164
パラレルライブラリはOpenMP型で、MPI型のはAxum。
ttp://msdn.microsoft.com/en-us/devlabs/dd795202.aspx
まだ研究段階っぽい。最終的にはC#に成果を吸収という流れだろうか。

167 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 15:21:20 ]
>>147
ちゃんと Join する。
スレッドいっぱいたつけど、全部のタスクが終わるまで待ってくれる。

>>148
同時に C++ 向けにも並列処理ライブラリが追加されるけどね、VS 2010。
C++ の時代、分野次第だなぁ。
10年は前に終わってるとこもあるし、あと10年は使わなきゃいけないとこあるし。

>>155
そんな処理は Parallel LINQ の方がいいな。
あと、集計部分(+= するとこ)は並列化してもおいしくない。

>>164
pragma だらけってのは、標準化がどうこう言われてしまう C++ の苦肉の策だろ。


168 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 16:08:18 ]
>>167
ほほぅ
キッチリ便利にはやってくれそうだなぁ…
3つの画像を同時に処理して終わったらその結果を判定して処理
とかやってるから単純なマルチスレッドでやるよりイイかもしれねぇ。。。
ちょっと期待したい

169 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 16:34:39 ]
for文の前に属性書けたら楽そうだけど
[Parallel 4]
for(){
}
まぁ文法的に無理ぽ

170 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 16:38:36 ]
ParallelOptionsのMaxDegreeOfParallelismが必要だね。
1コアの環境でoptionなしで使うとスレッドは使わずにメインスレッドで処理してしまう。

ParallelOptions option = new ParallelOptions() { MaxDegreeOfParallelism = 4 };
Parallel.Invoke(option, () => Worker("aaa"), () => Worker("bbb"), () => Worker("ccc"), () => Worker("ddd"));


171 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 16:48:43 ]
並列処理とか……
ここは本当に初心者スレなのか?w

172 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 16:50:44 ]
いいんじゃね?

173 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 16:56:30 ]
まあ、Parallel.ForはちゃんとJoinしてくれるの?とか、結構初心者らしい質問な気もするが。

174 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:11:36 ]
並列処理といってもこのていどは初級レベルだろう
まあ普通は初心者は並列処理を勉強しないものだけど、
勉強してみれば、このくらいは理解できるレベルだと思う

175 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:36:37 ]
だね



176 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:39:48 ]
並列処理の使い方を理解できるというより、
並列処理の必要性を理解する、ことになるのでしょうね。

必要と思えれば頑張れる、そういうもんでしょ、言語習得ってさ。

177 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:41:33 ]
そして別スレッドからGUIコントロールにアクセスして怒られるんですね






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

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

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