- 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
- 237 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:43:53 ]
- >>234
そういうことはC#ではやらない
- 238 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:44:25 ]
- >>230
0件とnullは違う意味で使うだろ、常識的に考えて
- 239 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:44:27 ]
- >>235
>>224
- 240 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:45:38 ]
- >>235
プログラムはケツまで流すものだとか考えてる人なら 正常処理だけif文に入れる ようは好きにしろ
- 241 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:47:20 ]
- >>230
そもそもDBの場合 まず件数引っ張ってからデータ取得しない?
- 242 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:48:28 ]
- 条件式のネストを避ける書き方って一般的に何ていうんだっけ?
- 243 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:49:16 ]
- >>241
件数そのものを先に欲しい場合はそうするかもしれないが、 普通はカーソル機能を使って最初の1行目だけをもらう。 全部引っ張るようなメモリ食うようなことは避ける。
- 244 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:52:12 ]
- rowsよりcountのほうが軽いだろ
- 245 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:56:43 ]
- >>235
delegate bool EmptyDelegate(string[] s); EmptyDelegate emp=IsEmp; if(emp(s)) { (処理) } private bool IsEmp(int n) { if ( a == null || a.Length > 0 ) return false; } }
- 246 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:00:15 ]
- >>245
普通のメソッドでなくデリゲートを使うのはなんで?
- 247 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:11:07 ]
- 全角変換するなら文頭のスペースだけにしろよ
- 248 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:13:10 ]
- >>247
おまえがやれ
- 249 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:14:11 ]
- カッコの中の最初と最後を空けるなら全部に適用しろ
算術記号も同様に
- 250 名前:193 mailto:sage [2010/03/22(月) 16:15:01 ]
- >>237
>>239 >>240 どうもです。>>224さんのようにします(´・ω・`)ノシ
- 251 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:18:22 ]
- >>249
おまえがやれ
- 252 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:22:54 ]
- できないのか・・・
- 253 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:40:50 ]
- >>241
外部ってWebサービスでSOAPで受け取ったりするやつもある
- 254 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:19:50 ]
- (´・ω・`)←お亡くなりになられました
- 255 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:22:55 ]
- >>245
C#1.0のような腐った書き方のうえに腐った命名規則
- 256 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:30:51 ]
- スレタイ読めよ
- 257 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:34:24 ]
- というかCS0161。論外
- 258 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:45:33 ]
- >>192
はいそのとうりでボットを作りたいです。もっと初心者向けのスレないでしょうか。
- 259 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:47:09 ]
- いきなりボット作ろうとする人向けの初心者スレは無いと思う・・・
- 260 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:01:04 ]
- ちょっとしたプログラムを作って、そのできばえを達人に判定してもらって
技能向上に向けたアドバイスをいただけるスレは無いでしょうか?
- 261 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:03:52 ]
- ないんじゃね? あっても罵倒の嵐になりそうだし。
- 262 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:04:37 ]
- >>260
スクエニ社内のボット対策スレへ行け。
- 263 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:32:02 ]
- >>261
> あっても罵倒の嵐になりそうだし。 。・゚・(ノ∀`)・゚・。
- 264 名前:デフォルトの名無しさん [2010/03/22(月) 19:44:01 ]
- 第一
分かりやすいところでBOT開発の情報共有したら 社員にかぎつけられて対策されちゃうだろw
- 265 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:05:45 ]
- D言語使えばいいじゃん
- 266 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:10:15 ]
- >>265
【超高速】C/C++に代わる低級言語を開発したい にカエレ
- 267 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:24:02 ]
- >>224
ナイスジョーク
- 268 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:16:55 ]
- >>233
記事じゃないけどこれとかどうよ ttp://msdn.microsoft.com/ja-jp/library/x4764854.aspx
- 269 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:17:24 ]
- >>255
おまえバカ大将
- 270 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:24:02 ]
- >>269
おまえバカ元帥
- 271 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:25:49 ]
- >>233
コストを払うのは例外発生時 通常はtrycatchの外とほぼ変わりない .NET アプリケーションのパフォーマンス関連のヒントとトリック msdn.microsoft.com/ja-jp/library/ms973839.aspx trycatchを置き換えるというよりは、条件分岐で例外が投げられるケースを減らす 条件分岐の外を大きくtrycatchで括って漏れた奴キャッチするとかそんなんでもいいの
- 272 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:26:18 ]
- >>188
WPFの中でDirectX使うのは可能だけど逆は無理 画像に描画するとかすれば無理やりできなくもないけど極めて非効率
- 273 名前:デフォルトの名無しさん [2010/03/22(月) 22:14:07 ]
- VisualC#2008のデバッグについて質問があります。
デバッグ中時間がかかる処理をしているところを確認したいのです。デバッグの再生ボタンがグレーの実行状態のときに、どこで実行しているか知る方法はありますか? プログラムは約5000行あり、ブレークポイントを設定する候補の箇所が多すぎる場合、いちいち手動で設定するのではたいへんなのです。 こういう場合、どのようにしたらよいものでしょう?
- 274 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:20:10 ]
- >>273
毎日どこから質問拾ってるのか?
- 275 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:23:32 ]
- >>273
ビデオの一時停止みたいなボタン
- 276 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:23:33 ]
- 5000行で10個のブレイクポイントを張って、どの500行に時間がかかってるか確認。
ってのを何回か繰り返せばすぐわかるだろよ。
- 277 名前:デフォルトの名無しさん [2010/03/22(月) 22:25:10 ]
- >>276
目安程度かもしれんがブレイクポイント入れるんじゃなく その場所を通った時間をどこかに出力すればいいかもね
- 278 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:27:34 ]
- >>273
ブレークポイントを設定するのと同時にコンソール出力のコードを挿入していく。 恒常的に残すときはTrace呼び出しにする。 以降、ログを見るだけでエラーの発生箇所がだいたい分かるようになる。
- 279 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:27:45 ]
- 少しは頭使えばいいのに。
- 280 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:04:22 ]
- \文字を使いたいのですがどうすればいいのでしょうか?
なんかプログラムの一部として認識されちゃいます
- 281 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:05:50 ]
- \\
または文字列リテラルの中で使うなら @"\"でも可
- 282 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:09:32 ]
- >>281
この速さ だから助かる アリガトス
- 283 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:14:31 ]
- varってみんな使ってる?
使ってみたけどコードが短くはなるけど わかりにくいような気がする
- 284 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:15:39 ]
- foreach (string a in listBox2.Items)
{ try { File.Move(a, textBox1.Text + "\\" + Path.GetFileName(a)); } catch { MessageBox.Show("err"); } } これでArgumentExceptionはハンドルされませんでした とかってエラーが出る 一応ファイルは移動できてるんだけどなんなんでしょう
- 285 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:17:58 ]
- なんのためのcatchだ
- 286 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:20:16 ]
- こうした方がよくねーか?
codepad.org/wcT2CmWz
- 287 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:20:50 ]
- >>284
foreach (var a in listBox2.Items) { try { File.Move(a.Text, textBox1.Text + "\\" + Path.GetFileName(a.Text)); } catch { MessageBox.Show("err"); } }
- 288 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:22:38 ]
- >>286
そんなはずかしいことするのはお前だけ
- 289 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:26:30 ]
- >>286と>>284じゃまったく意味合いが違っていくる
>>286なら1つのファイル移動が失敗しても他のはできる可能性があるが >>284だと一度例外が出るとその時点で作業がストップする
- 290 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:28:30 ]
- 間違った逆だ。>>286だと例外が出た視点で作業が継続できない
通常複数ファイル移動する場合に一部のファイルが存在しなかったりしても続けるからな
- 291 名前:284 mailto:sage [2010/03/22(月) 23:33:44 ]
- >>287試したけど、'object' に 'Text' の定義が含まれておらず、型 'object' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
というかそもそも目的のファイルは全部ちゃんと移動できてるのにエラーが発生する意味がわからんのです
- 292 名前:デフォルトの名無しさん [2010/03/22(月) 23:35:22 ]
- 自分で制御がちゃんとできないならファイルとかフォルダがあるかどうか
確認する機能使えばいいんじゃね? 昔ながらのコードで返してくれるのがあったはず
- 293 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:36:33 ]
- >>291
型を指定してないからだろ? listboxの行って確かstring管理だったはず
- 294 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:42:58 ]
- listviewitemと勘違いしてたわw
- 295 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:44:42 ]
- ListViewItemsは何のコレクションだよ
賢者タイムか・・・
- 296 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:48:56 ]
- catch(Exception e)
{ MessageBox.Show((e.GetTyppe()).FullName+e.Message); }}
- 297 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:56:51 ]
- >>283
Hogeclass hogeclass = new Hogeclass();なんかは冗長なので、 var hogeclass = new Hogeclass();にする。 あとはLINQ関係かな。
- 298 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:00:06 ]
- >>291
コレクションのアイテムを入れる変数の型が違うとか tryステートメント使ってるのにcatchで例外を捕捉しないとか まず基本を身につけないと例外出る度に自分で対処できないよ
- 299 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:08:24 ]
- エクスプローラのフォルダツリーを使いたいのですが、
treeViewで作るしかないですか?
- 300 名前:デフォルトの名無しさん [2010/03/23(火) 00:14:12 ]
- というより
エクスプローラのフォルダツリーを実現するための部品がtreeviewでしょ? サンプルとかありそうな気もしたけどWPFくらいしかないな
- 301 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:16:43 ]
- >>298
例外捕捉するように書いてみたけど問題なく通るからcatchが捕捉するのも何もないようで ArgumentExceptionはハンドルされませんでした 使用されたパラメータが有効ではありません。 が Program.csの [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1());←ここで起きてる } 何が悪いんだ? ちなみにファイルを移動し終わっても異常は無いけどウィンドウを動かしたり最小化したりするとエラーが出てくる
- 302 名前:デフォルトの名無しさん [2010/03/23(火) 00:18:49 ]
- しらねえよw
プログラム全部が見えないのにw
- 303 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:26:00 ]
- >>300
ありがとうございます。 再帰が未熟なのでNodeの追加で悩んでいます・・・。 >>301 映画タイトル決定「この春、Form1で何かが起こる!?」
- 304 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:27:01 ]
- >>303
MSの公式サンプル support.microsoft.com/kb/303974/ja
- 305 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:33:12 ]
- >>304
ありがとうございます。 見ながらやってみます。
- 306 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:33:34 ]
- Cでいうところのfscanf (fp, "%s%lf%lf", name,&height, &weight)みたいに構造体でtxtファイルにデータの管理をするには
どうすればいいでしょうか? 今思いつくのはstring型を特定の文字で引っ付けたり分解するものを利用すること位です
- 307 名前:デフォルトの名無しさん [2010/03/23(火) 00:35:38 ]
- テキストボックスに時刻を表示しようとしています。
Thread thread = null; private void timer_Tick(object sender, EventArgs e){ thread = new Thread(Thread); thread.IsBackground = true; thread.Start(); } private void Thread(){ textBox.Text = DateTime.Now.ToString("HH:mm"); } これでデバッグしようとしたら、 InvalidOperationExceptionはハンドルされませんでした。 有効ではないスレッド菅野捜査、コントロールが作成されたスレッド以外のスレッドからコントロールtextBox.Textがアクセスされました。 とエラーになります。 これはどう対処したらよいですか?
- 308 名前:デフォルトの名無しさん [2010/03/23(火) 00:37:04 ]
- >>275
ほんとだ。これでした。ありがとうございます。
- 309 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:38:43 ]
- >>307
codepad.org/xOdJsJie
- 310 名前:284 mailto:sage [2010/03/23(火) 00:42:32 ]
- うんごめんなさい
画像をpictureboxから解放せずにその画像ファイル移動したらそりゃエラーもでるよね ここに書いたプログラムとは全然関係ありませんでした ごめんなさい 自己解決しました
- 311 名前:デフォルトの名無しさん [2010/03/23(火) 00:42:56 ]
- >>307
すごい。速い…。 これ、Classはひとつの場合でも使えるんですか?
- 312 名前:デフォルトの名無しさん [2010/03/23(火) 00:45:31 ]
- >311
早いっていうかスレッドネタは最近多かったのでネタだろと半分思ってるので アドレスを取っておいた 一つの場合っていうか、スレッドから呼ぶならそれ改造すればクラスじゃなくてもいけるでしょ
- 313 名前:デフォルトの名無しさん [2010/03/23(火) 00:55:58 ]
- >>312
ネタではなく、初心者で困っていての質問であります。 で、すみません、コードを拝見していたんですが、改造できませんでした…。 さきほどの307にあてはめると、どのようにしたらよいでしょう? Invokeもdelegateもworkerもcallbackもshownも初めてで、かなり手に余っています。
- 314 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 01:06:48 ]
- 生徒らの個人情報流出について陳謝する長崎市教委の鈴木徹学校教育部長(右)ら=22日午後、長崎市役所
img.47news.jp/PN/201003/PN2010032201000575.-.-.CI0003.jpg 【春祭り 】また割れ厨のスクショと個人情報が晒されてるぞ避難所17 jbbs.livedoor.jp/internet/7847/ 本スレはこちら 新たな大物をいっしょに探しましょう
- 315 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 02:49:27 ]
- あるクラスの中のデリゲートにメソッドを入れたいが、そのメソッドの引数の数が
実行時までわからなくても、問題なく入れられる方法ってありますか? デリゲートのオーバーロードを行って、引数のバリエーション分の デリゲートをあらかじめ用意しておく方法を思いつきましたが、 ほかにいい方法があれば教えてほしいです。
- 316 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 02:52:09 ]
- リストにできるものならリスト渡せばいいし
できないものならクラス化すればいいんじゃね
- 317 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 02:56:29 ]
- >>315
すべての基底クラスがなにか知ってる?
- 318 名前:315 mailto:sage [2010/03/23(火) 02:57:48 ]
- なんか勘違いしてたかも…もう少し設計練ります。
ありがとうございました。
- 319 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 03:08:18 ]
- timer_Tickでスレッド開始するってのが何がしたいのか意味不明。
- 320 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 05:10:14 ]
- ブラクラとか
- 321 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:12:24 ]
- >>319意味不明
- 322 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 15:42:08 ]
- フォームのタイマでは時計は作れないというのは有名な話
>>309のSetTextをスレッドタイマのコールバックで呼び出す 30行目以降はいらない
- 323 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 16:03:48 ]
- ここで言っていたようにif文内に正常処理を書かないようにし
邪悪なものを最初に弾くようにしたらものすごくコードが見やすくなった 他にこういうことしたらコードが見やすくなるよというのありますか?
- 324 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 17:42:48 ]
- リファクタリング
- 325 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 17:45:51 ]
- それと同じようなものだけど、例外的な状況を弾くような場合じゃなくて
通常の分岐のときは、なるべくelseを書いてifよりもelseの方が長くなるようにする
- 326 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:07:41 ]
- 「もしtrueなら」じゃなくて「もしfalseなら」という書き方のほうがいいということですね
- 327 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:21:47 ]
- 単に長いものは後回しにした方が見やすいからです
- 328 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:48:02 ]
- ていうか、
{ もし false なら 抜ける; trueの時のコード ・ ・ ・ ・ }; とかの方がインデントが浅くて良いとかじゃないのん。
- 329 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:20:40 ]
- if節が長いかelse節が長いかは判定式に否定演算子を
付けてまわれば逆転するわけで、あまり意味はないわな。
- 330 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:22:02 ]
- if節を短くしたほうが可読性が上がる
- 331 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:47:19 ]
- っていうかそんな長いメソッドにはならないから
ifでどうのこうのなんてないな
- 332 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:34:41 ]
- >>323
> ここで言っていたようにif文内に正常処理を書かないようにし > 邪悪なものを最初に弾くようにしたらものすごくコードが見やすくなった やっぱそう思う? 俺も前々からそんな気がしていた・・・ こういうtipsがまとめられたサイトとか本とか無いかな。 初級者以上中上級者未満を対象にした情報源ってあまり無いよな('A` )b
- 333 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:38:50 ]
- Code Complete
- 334 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:48:06 ]
- CodeComplete高い
近所の紀伊国屋書店さん3日間も立ち読みしてごめんなさい
- 335 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:48:12 ]
- 正直、elseより後が長い方が可読的って感覚は微妙。
完全には否定しないけどね。 俺もCの二重インクルード防止のなんかには、一般的な作法じゃないけど 空っぽの#ifdefを書くようにしてるから気持ちは分かる。 ただ、ifのブロックなんてCのインクルードファイルほど行数あるわけじゃないからねえ。 普通は。
- 336 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:49:36 ]
- 俺はif節がよほど短いならさっさと脱出させてしまうなぁ
- 337 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:52:57 ]
- ListView.ListViewItemCollection.AddRange(ListView.ListViewItemCollection items)
のオーバーロードバージョンてどうやって使うんですか?サンプルないですか? listView1.Items.AddRange(listView2.Items)とかやるとArgumentExceptionになるんですが…
|

|