ふらっとC#,C♯,C#(初心者用) Part51at TECH
ふらっとC#,C♯,C#(初心者用) Part51 - 暇つぶし2ch310:デフォルトの名無しさん
09/12/23 11:36:07
中間言語ってもC#てWindows以外ので使われてんの?
実質Windows用だろ?なら中間にしないでよくね

311:デフォルトの名無しさん
09/12/23 11:39:36
ネイティブコードも吐けるようになればもうC++要らないんだけどな

312:デフォルトの名無しさん
09/12/23 11:41:23
32bitや64bitのCPUにあわせて最初の実行時に中間から最適なターゲットに変換されるし
LinuxやMACなどでも完全とは言いがたいが動くし
中間が嫌なら他の言語を使えばいいし
何が問題なのかね

313:デフォルトの名無しさん
09/12/23 11:43:16
とはいっても中間言語とネイティブコードじゃ明らかに速度差はあるだろ
C#は現状のGUI開発のRADとしてはC++やJavaに比べて
かなり開発工数は少なくて済むし、他の言語を使うという選択より
C#がネイティブに対応してくれるほうが生産的だろう

314:デフォルトの名無しさん
09/12/23 11:47:37
Java のせいか中間言語の利点をプラットフォームとか CPU 非依存な
点だけだと思っているやつが多すぎ。

315:デフォルトの名無しさん
09/12/23 11:49:26
昔のBASICだって中間コード管理だったんだけどな

316:デフォルトの名無しさん
09/12/23 11:50:33
>>310
> 中間言語ってもC#てWindows以外ので使われてんの?
iPhoneアプリですでに使われている。
>>311
> ネイティブコードも吐けるようになればもうC++要らないんだけどな
Mono は、ILをネイティブコードに変換できる。iPhoneアプリはその機能を使っている。

そのほか、セキュリティの面からもアドバンテージがある。

317:デフォルトの名無しさん
09/12/23 11:50:52
速度差なんてほとんどないけどな。

318:デフォルトの名無しさん
09/12/23 11:52:03
C#はネイティブになってもフォームとかは遅いだろうから
あまり意味ないね

319:デフォルトの名無しさん
09/12/23 11:52:47
>>314
ライバル会社のOS上には露骨に性能悪いVMを提供できるとかな

320:デフォルトの名無しさん
09/12/23 11:53:04
>>314
上級者様ならいろいろ知識があるんだろうが
初心者用スレなんだからそれくらいしか知らないやつも多いだろ。

どんなメリットあるんだよ

321:デフォルトの名無しさん
09/12/23 11:53:28
>>318
フォームってwwwww
初心者乙

322:デフォルトの名無しさん
09/12/23 11:54:42
ボーランドあたりがネイティブのC#出してくれないかなぁ

323:デフォルトの名無しさん
09/12/23 11:55:27
.netってJIT機能なかったっけ?

324:デフォルトの名無しさん
09/12/23 11:56:54
中間言語+フレームワークが実行の利点
1. CPU 依存の最適化が効く
2. GC が優秀で、使い方によってはネイティブよりメモリ回り高速
3. いろんな言語でライブラリが共用できる

1と2があるんで、下手したらネイティブよりも速いときもある。
JIT にかかる時間分のマイナスがあるんで、トータルで見るとやっぱ遅いけども、微々たるもんだぞ。
だいたい C++ の8~9割以上のパフォーマンス出るし、
ましてスクリプト言語と比べたらけた違いに速い。


325:デフォルトの名無しさん
09/12/23 11:57:50
>>323
pre-JIT?
あるよ。

標準ライブラリなんかはインストール時に JIT されてネイティブな状態でキャッシュされてるはず。
なので、大概速い。

326:デフォルトの名無しさん
09/12/23 11:57:56
>>324
9割の速度がでればみんなが満足するとでも思ってるの?

327:デフォルトの名無しさん
09/12/23 11:58:23
>>324
開発時間の短縮も入れておいてくれ

328:デフォルトの名無しさん
09/12/23 11:59:37
もうほんとネイティブ信仰やめて欲しい。
同じ Windows ですら、32ビットから64ビットに移行するのでどれだけの人が苦労してるか。
C++ は移植性高いとかまったくもって嘘、というか、カタログスペックの都市伝説だから。


329:デフォルトの名無しさん
09/12/23 11:59:39
数値計算系の応用をやってる身としては、
ネイティブの計算速度がきちんと出てくれないと困る
結局、開発工数を多く費やしてでもC++を使うハメになるのは悲しいな

330:デフォルトの名無しさん
09/12/23 11:59:46
>>326
そこまで時間気にするならC/C++で組めって話

開発時間と1割程度の実行速度のトレードオフだよ

マシンが早くなってる時代にそこまでやる必要があるのかってこと

331:デフォルトの名無しさん
09/12/23 12:00:14
>>326
GC付きネイティブ言語のGoがCの9割を目指してるな。


332:デフォルトの名無しさん
09/12/23 12:00:24
>>328
実際ネイティブと中間言語のパフォーマンスを比較してみろ
明らかに有意差があるだろ

333:デフォルトの名無しさん
09/12/23 12:00:55
満足しない人は使わなきゃいいのに、どうしてこれにこだわるの?

334:デフォルトの名無しさん
09/12/23 12:01:26
>>326
9割のスピードのものが10分の1の手間で書けるならそっちの方が絶対いいし。

だいたい、ボトルネックなところだけ最適化かけりゃいいんだよ。
C# でも、GC 避けるようなコード書けば、生産性は落ちるけど速度上がるぞ。

>>327
それは IL の利点というか、C# が優秀なだけでは。
ネイティブな言語でも GC 持ってるだけで生産性上がるし。

335:デフォルトの名無しさん
09/12/23 12:01:55
20%~10%くらい遅くなるけど開発が楽だからC#つかお!
なんてやつは日曜プログラマならいいけど仕事でやってるなら即効クビだわ・・・

336:デフォルトの名無しさん
09/12/23 12:02:06
>>333
頭固いんだろ

337:デフォルトの名無しさん
09/12/23 12:02:27
>>331
GoってGoogleが開発してるやつ?
なんかスクリプト言語くさくてカッコ悪くなかったっけ?
だいぶ昔に見たから今はわからんけど

338:デフォルトの名無しさん
09/12/23 12:02:57
>>331
実際のところ、今は Java より遅いらしいけどな、Go。

>>332
数値計算みたいなことしてみ。
計算にかける時間が大きいと、JIT の時間が相対的に減るから
ほんとネイティブとスピード変わらないよ。


339:デフォルトの名無しさん
09/12/23 12:03:08
>>333
工数が少なくて済むからって何度も書いてるのに君は文盲?
実際、ネイティブのスピードが必要な場面では使えないし使ってないから

340:デフォルトの名無しさん
09/12/23 12:03:08
>>335
アホか
金出さないユーザーのためにそこまでがんばる必要ないだろ

予算に見合ったことをすればいい

そこまでして自分を消耗させてどうする

341:デフォルトの名無しさん
09/12/23 12:03:29
>>324
最近のプログラムって起動が遅い@PenIII のはJITのせいか。

342:デフォルトの名無しさん
09/12/23 12:03:44
童貞のやつにかぎって処女にこだわるようなものか

343:デフォルトの名無しさん
09/12/23 12:04:00
>>335
仕事でやってるならなおのこと生産性だよ。
人件費よりも高いもんないんだから。
要件にない範囲で、たった1割の高速化のために10倍の作業してたらクビになるぞ。

344:デフォルトの名無しさん
09/12/23 12:04:04
>>341
.netを要求するアプリじゃなければ関係ないよ

345:デフォルトの名無しさん
09/12/23 12:04:15
えっ?

346:デフォルトの名無しさん
09/12/23 12:04:46
>>339
使ってないなら問題ないよね?
なんでからんでんの?

347:デフォルトの名無しさん
09/12/23 12:05:03
>>338
何年も数値計算やってるがC#の速度じゃやってられないよ
君がどういう応用やってるのか知らんけど、
分野によっちゃCPUリソースがマジで命だから

348:デフォルトの名無しさん
09/12/23 12:05:46
2割遅くなることの重要さが分からない奴は事務アプリしか作ったこと無いんだろうな

349:デフォルトの名無しさん
09/12/23 12:06:04
遅くなるとこじゃつかわないんでしょ?

350:デフォルトの名無しさん
09/12/23 12:06:30
>>346
ネイティブになったら使えるのにもったいね、
って話してんのにお前大丈夫か・・・?

351:デフォルトの名無しさん
09/12/23 12:07:07
問題が無いのに、問題だと言う。
頭がおかしい。

352:デフォルトの名無しさん
09/12/23 12:07:08
C#と似たよう(?)
C++/CLIってのはどうなの?
あれも中間言語なの?

353:デフォルトの名無しさん
09/12/23 12:07:27
まぁ実際の所、ネイティブコードが吐けるようになったら
今の何倍も普及するだろうな
早く書けて、ある程度読みやすい、保守もしやすい
ってことにかけてはC#は神だから

354:デフォルトの名無しさん
09/12/23 12:07:56
>>348
速度を求められるようなアプリの場合そもそもC#なんて
使わないだろ

なんでこんなところで組み込みのやつらがまざって話してるんだよ

355:デフォルトの名無しさん
09/12/23 12:08:18
適材適所で使い分けられるのに、道具を選ばない御馬鹿なんでしょう

356:デフォルトの名無しさん
09/12/23 12:08:32
>>354
>>350

357:デフォルトの名無しさん
09/12/23 12:10:21
適材適所

C#の生産性があって、C++の実行速度があるのが一番いい

実行速度がほしいならC++使え
生産性がほしいならC#つかえ

????????????

358:デフォルトの名無しさん
09/12/23 12:10:23
>>347
それ、絶対書き方が悪い。
昔、C# で速度でねぇって言ってるやついたから、自分が手直ししたらC++版とほぼ同じ速度になったぞ。


359:デフォルトの名無しさん
09/12/23 12:10:57
静的にネイティブ履くようじゃあ意味ないだろ
動的にネイティブに変換するんだし

360:デフォルトの名無しさん
09/12/23 12:11:02
>>355
アホか?
じゃあC#並に早く作れてC++並に速い言語もってこいよ

なんでこんな必死に中間言語を擁護してる奴が多いんだ?w
どうせMSの回し者か自演なんだろうけどwww

361:デフォルトの名無しさん
09/12/23 12:11:49
>>348
2割遅くなることが、そんなに重大になる分野を知りたい。
科学計算では、天気予報ぐらいだ。

362:デフォルトの名無しさん
09/12/23 12:12:27
>>358
エスパー乙
こっちは専門だし、お前よりは高速化のノウハウ持ってると思うよ

363:デフォルトの名無しさん
09/12/23 12:12:34
>>360
そういうスレなんだから当たり前だろw
お前こそむなしいネガキャンやめろよw


364:デフォルトの名無しさん
09/12/23 12:13:26
VC++のフォームが早いのはダイアログリソースだからで
.netのフォームはウィンドウをラップしてるからでしょ?
違うの?
だからネイティブになってもフォームは遅いでしょ?
違うの?

365:デフォルトの名無しさん
09/12/23 12:13:45
C++/CLIってのが
C#の生産性とC++の速度を持ってるものじゃないの?

366:デフォルトの名無しさん
09/12/23 12:13:57
>>357
両方満たしていればさらに素晴らしいのに
グダグダできない理由を言い訳してる奴らってみっともないよなw

367:デフォルトの名無しさん
09/12/23 12:14:57
>>364
今そういう低レベルなこと考えてるの君だけだよ?

368:デフォルトの名無しさん
09/12/23 12:15:16
>>365
計算だけネイティブになっても速くならないことを証明してるよね

369:デフォルトの名無しさん
09/12/23 12:16:12
>>367
それは失礼しました。

370:デフォルトの名無しさん
09/12/23 12:16:13
コンセプトが違って両方満たしてないものに、両方満たせという
こいつは街乗り車でもF1の速度が必要なんだろうか

371:デフォルトの名無しさん
09/12/23 12:16:57
>>370
いつからC#が街乗り車になったんだ?
詭弁乙

372:デフォルトの名無しさん
09/12/23 12:18:32
クラスの生成・消去は
速い
スタック上のクラス(C++)
GC+ファイナライザなしクラス(C#)
new/deleteクラス (C++)
GC+ファイナライザありクラス(C#)
遅い

なのでnew/deleteを多用した場合のC++よりC#が速くなることがあるな。
普通はスタック上に作ることが多いからC++が速いけど。

373:デフォルトの名無しさん
09/12/23 12:18:51
あ、痛いとこつかれちゃったのか

374:デフォルトの名無しさん
09/12/23 12:18:57
C#はマジで神!

C++だとプロパティ作るのにいちいちgetter,setter書かなきゃいけない。
C#だと
public int A{get;set;};で終わるとか
デリゲートやラムダ式とかも関数ポインタよりずっと使いやすいし。

初心者がC#を一番最初に始めちゃったら同じようなことするのにあまりにも面倒な作業多すぎてC++できなくなるんじゃないかと思う。

375:デフォルトの名無しさん
09/12/23 12:20:05
>>365
いやそれは・・・逆だ!

376:デフォルトの名無しさん
09/12/23 12:20:09
>>374
実際そうだと思うよ
高級言語としてはC#はかなり優秀
だからネイティブ化さえあれば本当にC++無くなっても困らないんだけどな

377:デフォルトの名無しさん
09/12/23 12:22:10
>>376
それはもうあるが、実行速度は速くならない。

378:デフォルトの名無しさん
09/12/23 12:22:42
>>376
型システムやGCをそのままにしてネイティブにしても速度はあまり変わらんよ。


379:デフォルトの名無しさん
09/12/23 12:24:33
>>347
5年くらい前まで数値計算やってたが
C++そんなに速いか?
今は速くなったのかな

Fortran>>C>>>(越えられない壁)>>>C++

だったが

380:デフォルトの名無しさん
09/12/23 12:25:50
>>374
C++でsetter,getter多様するようなら、書き方を考え直したほうがいいけどな。

381:デフォルトの名無しさん
09/12/23 12:25:59
ネイティブでないから遅い信仰ってなかなか解けないな。

382:デフォルトの名無しさん
09/12/23 12:27:33
FORTRANでやるような計算を速くやりたいなら、
コレクションは使わず配列にすることだな。
それに尽きる。

383:デフォルトの名無しさん
09/12/23 12:28:17
うんさふぇでstackallocな配列にすれば早くなるんだっけ

384:デフォルトの名無しさん
09/12/23 12:29:54
>>379
越えられない壁は、 FORTRAN と C の間にあると思う。

385:デフォルトの名無しさん
09/12/23 12:32:08
>>384
まあ確かにw
C++な流れだったからそうしてみたけど

でもC++との間にもある感じだけどな

386:デフォルトの名無しさん
09/12/23 12:35:10
いいぞいいぞもっと言い合え!

387:デフォルトの名無しさん
09/12/23 12:40:39
初心者スレで、初心者に向かって
お前は間違ってる!なんつってむなしくならんのかね。
上級者様は初心者がバカなこと言ってもいちいちつっかからないで黙ってみとけばいいんだよ。

388:デフォルトの名無しさん
09/12/23 12:42:03
>>387
で、どれが初心者だ?

389:デフォルトの名無しさん
09/12/23 12:46:08
>>387
初心者がしったかでいい加減なことを言わないようにすべきだろ。JK

390:デフォルトの名無しさん
09/12/23 12:47:53
>>387
自称上級者なんだから、別にいいだろ。

391:デフォルトの名無しさん
09/12/23 12:48:36
>>382
お前の世界の中ではデータ構造は配列だけで完結しちゃうんだなw

392:デフォルトの名無しさん
09/12/23 12:49:56
>>391
で?

393:デフォルトの名無しさん
09/12/23 12:50:12
>>391
お前が一番分かってない。

394:デフォルトの名無しさん
09/12/23 12:52:56
良いか悪いかは別にしてFortranなんて無理矢理配列で完結させるもんだろ

395:デフォルトの名無しさん
09/12/23 12:54:09
初心者を装った常駐回答者の釣りに入れ食いなのはここですか?

396:デフォルトの名無しさん
09/12/23 12:54:35
で、結論をまとめよ
C#は生産性が高いが速度が遅い。
でいいのか?

397:デフォルトの名無しさん
09/12/23 12:55:27
>>396
若干遅い
が正解じゃね?

まあプログラムの動きで変わるんだろうけどね

398:デフォルトの名無しさん
09/12/23 12:56:50
C#で生産性が大きく上がるような用途でC#そのものの速度が問題になることは稀
FORTRANwでやるようなことをC#でやったってそんなに楽にはならん

399:デフォルトの名無しさん
09/12/23 12:57:45
今でも数値計算系はFortranしか使ってないと思ってるオッサンが多いなw

400:デフォルトの名無しさん
09/12/23 12:57:53
つ F#の生産性について・・・

401:デフォルトの名無しさん
09/12/23 12:58:57
ネイティブになったらネイティブになったらー!って言ってるんだったら
ネイティブはけるコンパイラでも作ればいいんじゃないの?
言語に不満があるなら言語ごと最適化して作っちまうのがプログラマだろ?
そんなに速度がほしいならアセンブラでプログラム組んでろよ・・・
速度が遅いからC#なんて使えない!ってC#のスレでいう意味がわからない

プログラマとか社会人とか仕事で使えない以前に人間性がおかしい。

402:デフォルトの名無しさん
09/12/23 13:01:16
MONOのaopでネイティブにできなかったっけ。
ただしできるものはngenで生成してるものと同じなので、
GCも型システムもそのまま、System系のライブラリもそのままなので、
速度はまったく変わらんけど。


403:デフォルトの名無しさん
09/12/23 13:01:17
加減乗除しか使えないくせにエンジニア気取りのITドカタが多すぎだなここwwwww

404:デフォルトの名無しさん
09/12/23 13:01:59
>>401
思考停止してるお前の方がよっぽど人間的に終わってるわw

405:デフォルトの名無しさん
09/12/23 13:02:16
自己紹介お疲れ様です

406:デフォルトの名無しさん
09/12/23 13:03:28
>>399
もう5年も前の話だからw
スマンカッタw

最後の年くらいでやっとメニーコアの並列計算が
実用的で速くなっててそれはコンパイラの出来とかの
面でCの方が優位だったな

今のGPUコンピューティングとかがどうなってるのかは
わからんw

407:デフォルトの名無しさん
09/12/23 13:04:05
MPIとかCの方が環境揃ってるしな

408:デフォルトの名無しさん
09/12/23 13:04:47
>>399
速度命の時は、今でもFORTRANだろ。

409:デフォルトの名無しさん
09/12/23 13:05:02
>>404
1,TPOに応じて必要な言語を選択する。
2,選択になければイッソ作る。
3,ネイティブはけないネイティブはけないってネガキャンする。

さぁ、思考停止してるのはどれかね?



410:デフォルトの名無しさん
09/12/23 13:06:34
C#をネィティブにしても速くはならない。
遅い原因はネィティブじゃないからじゃないから。
もっとも本気でチューニングすればそれなりの速度にはなる。

安全性や.NETの範疇の機能を犠牲にすりゃ本来のネィティブ並みに出来るだろうけど、
まあ無理があるなどう考えても。
やる価値もない。


411:デフォルトの名無しさん
09/12/23 13:06:38
>>409
お前ネガキャンの意味も知らないのかw

412:デフォルトの名無しさん
09/12/23 13:07:47
>>408
Fortranの利点は膨大なライブラリであるわけで、
最新の研究ではもはやC++を使ってるところの方が多い

413:デフォルトの名無しさん
09/12/23 13:09:33
ネイティブになったほうが利点が多いのは事実なのだから、
エンジニアとしてはネイティブ化のオプションを希望するけどな
ネイティブが嫌な奴はオフにすりゃいいだけじゃん

414:デフォルトの名無しさん
09/12/23 13:12:06
結局>>403なんだよな

415:デフォルトの名無しさん
09/12/23 13:13:00
>>411
現状ここまでを見ると

>>ネイティブはけないから使えない
>>ネイティブじゃないから遅い
どう見てもネガキャンだろ?
同じ処理を行うコード書いて実行速度を比べて評価を下すならわかるけどそれもない
ただ単にC#はネイティブじゃないからとか言ってるだけなんだからネガキャンだろ?
ネガキャンって物、人、組織を攻撃することだろう。物理的ではなく評価とかそういう意味で。

で、ネガキャンってどういう意味なの?

416:デフォルトの名無しさん
09/12/23 13:13:10
C#のスピードで足らないって、日本のPG60万人のうち、数パーセントくらいだろ。

417:デフォルトの名無しさん
09/12/23 13:13:47
あと.NETのチューニングにはネィティブの常識や直感は当てにならない。
静的変数へのアクセスがインスタンス変数へのアクセスより圧倒的に遅くなったり、
静的変数がルートになる変数、特に参照値の書き込みが遅くなったり、
配列ループでLengthをローカル変数でキャッシュしたら遅くなったり、
実はforeachが一番速かったり、
2次元配列より配列の配列の方が速かったり
色々色々

418:デフォルトの名無しさん
09/12/23 13:14:05
>>415
お前やっぱり雰囲気だけでネガキャンって言葉使ってるな
最近覚えて使いたかったんですよねわかります

419:デフォルトの名無しさん
09/12/23 13:15:14
>>418
どういう意味なのか説明してみ?

420:デフォルトの名無しさん
09/12/23 13:15:24
>>417
それは最適化がうまく効いてないだけだと思うがww

421:デフォルトの名無しさん
09/12/23 13:16:05
>>419
それが人にものを尋ねる態度か?
上から目線乙
知らないことは自分でggrks

422:デフォルトの名無しさん
09/12/23 13:16:13
それぞれの特徴

C言語 古い。オブジェクト指向が文法的にサポートされず作りづらい。ちゃんとつくれば速度早すぎ。
C++  新しい。オブジェクト指向が中途半端に文法に組み込まれている。
C# 生産性が高い。ネイティブじゃないからC++の80%~90%の速度しかでない。
Java C++とC#の良い部分を消去して悪い部分を集めたような言語。
C++/CLI C++をC#風にしようとしたら失敗しちゃった言語
VisualBasic.net 冗長でわかりづらくなったC#
Go まだ未熟でいろんな点で悪い。これからの改良に期待。

423:デフォルトの名無しさん
09/12/23 13:16:40
>>420
はい?


424:デフォルトの名無しさん
09/12/23 13:17:14
>>421
説明できないんだろ?
そうやって噛みついて説明してとか言われると
ググレとかって逃げるのってネガキャンやる人の特徴だよね

425:デフォルトの名無しさん
09/12/23 13:17:38
F# 趣味の園芸

426:デフォルトの名無しさん
09/12/23 13:17:57
>>424
情弱乙
必死に煽れば答えが降ってくると思ったら大間違い

427:デフォルトの名無しさん
09/12/23 13:19:12
一般にライバルの印象を良くすることが目的じゃなけりゃ
ネガキャンとは言わないわけだが
>>415はスレチだから消えろ

428:デフォルトの名無しさん
09/12/23 13:19:32
>>426
いや、普通に煽って着てるのは君の方だと思うんだけど・・・説明できないんだろ?


429:デフォルトの名無しさん
09/12/23 13:20:04
>>428
顔真っ赤でキーボード連打して誤字ってるよ?

430:デフォルトの名無しさん
09/12/23 13:20:14
数値計算なんかそれこそPythonとかで十分な場合も多い

431:デフォルトの名無しさん
09/12/23 13:20:26
>>427
お前が消えろ

432:デフォルトの名無しさん
09/12/23 13:21:11
>>430
>>403

433:デフォルトの名無しさん
09/12/23 13:21:18
>>427
ライバルだけとは限らないけどなぁ

>>429
変換ミスの原因はキーボードの連打じゃないよね
しかも、キーボード入力使ってないからそれはあり得ないし。

434:デフォルトの名無しさん
09/12/23 13:22:19
>>427
幸薄

435:デフォルトの名無しさん
09/12/23 13:22:25
>>433
もうよそでやってくれ

436:デフォルトの名無しさん
09/12/23 13:22:27
どうでもいいけど
ちゃんと証拠も出さず遅いとか早いとか言われても初心者の俺にはわからん。
いくつか実例を出してくれないかな。

DateTime d=DateTime.Now;
Console.WriteLine(d);
//ここに処理
DateTime d=DateTime.Now;
Console.WriteLine(d);

これとC++で比較したようなのがあれば良い。

437:デフォルトの名無しさん
09/12/23 13:22:53
ngen使えばネイティブなのに何が不満なんだ

438:デフォルトの名無しさん
09/12/23 13:23:59
>>437
ngenって2.0では使い物にならなかったけど改良されたの?

439:デフォルトの名無しさん
09/12/23 13:25:38
だからネィティブじゃないから遅いんじゃないんだよ。


440:デフォルトの名無しさん
09/12/23 13:26:53
C#とVB.netの速度ってどれぐらい差ある?

441:デフォルトの名無しさん
09/12/23 13:27:14
いまこのスレ何人いるの?

442:デフォルトの名無しさん
09/12/23 13:27:30
>>441
ぶっちゃけ俺一人

443:デフォルトの名無しさん
09/12/23 13:27:49
このふいんきじゃ質問しにくいんですが、
よく「例外で終了しました」って出てくるのを出なくする方法はないですか?
全文をtry-catchで括ってもみ消せばいいんですが、
単に無視してコード実行してほしいのですが・・・

444:デフォルトの名無しさん
09/12/23 13:28:04
まあお前らカスどもが何話しても無駄だから
早いプログラム書きたいときは俺を呼んでくれればいいよ。


445:デフォルトの名無しさん
09/12/23 13:28:20
 +   + \\ 祭りだ!祭りだ!ワッショイ!ワッショイ!/+
                            +
.   +   /■\  /■\  /■\  +
      ( ´∀`∩(´∀`∩) ( ´∀`)
 +  (( (つ   ノ(つ  丿 (つ  つ ))  +
       ヽ  ( ノ ( ヽノ   ) ) )
       (_)し'  し(_)  (_)_)

446:デフォルトの名無しさん
09/12/23 13:28:33
ITドカタが何人集まってもまともな話できないことは証明されたなwwwww

447:デフォルトの名無しさん
09/12/23 13:29:05
>>443
try {
Application.Run(new Form1());
}
catch (Exception) { }

448:デフォルトの名無しさん
09/12/23 13:29:10
>>443
ない

449:デフォルトの名無しさん
09/12/23 13:29:16
>>443
とりあえず問題を再現できるコードを書こう。
それじゃ回答不能な質問に近い

450:デフォルトの名無しさん
09/12/23 13:29:57
>>447
それだと結局アプリは終了しちゃう気がするのですが・・・
エラーを無視して次の文を実行してほしいのです

451:デフォルトの名無しさん
09/12/23 13:30:20
on error resume next

452:デフォルトの名無しさん
09/12/23 13:30:24
>>446
初心者スレだからな。

453:デフォルトの名無しさん
09/12/23 13:32:05
>>447
それだけじゃダメだし。
まあどっちにしても>>443は無理。
それができないように例外があるといってもいい。


454:デフォルトの名無しさん
09/12/23 13:32:24
>>443
ようは、Visual Basicの on error resume nextがほしいんだな。
それなら、一文ごとtry - catch で囲むしかない。

455:デフォルトの名無しさん
09/12/23 13:32:35
無視するという考え方が悪い
例外はそもそも異常なんだからちゃんと処理しないとその後の処理は保証されないだろ

456:デフォルトの名無しさん
09/12/23 13:32:35
>>453
そうなんですか・・・
例外とか無くしてくれればいいのに・・・

457:デフォルトの名無しさん
09/12/23 13:33:15
よくねーよアホが

458:デフォルトの名無しさん
09/12/23 13:33:17
>>455
強制終了するとクレームがくるので、
とりあえず形だけでもちゃんと走ってるように見えればいいそうです

459:デフォルトの名無しさん
09/12/23 13:33:45
>>456
お、おい・・・何か気色悪い奴がいるぞ

460:デフォルトの名無しさん
09/12/23 13:34:37
だったらきちんと例外処理しろ。
無視して継続したら取り返しがつかなくなる可能性があるだろ。


461:デフォルトの名無しさん
09/12/23 13:34:47
C#のパーサ書いてtry-catch自動生成でおk

462:デフォルトの名無しさん
09/12/23 13:35:23
>>456
なくなってもそこでプログラム強制終了するだけだぞw

463:デフォルトの名無しさん
09/12/23 13:35:56
dynamic x;
//なんかxの処理がここにいろいろ書いてる
x.aaaaaaaa();

こんなのは場合によってはコードが通るが普通エラーが出てくる。
そしてここをふっとばして書いたらさらにその下の行にもエラーがでてくる。
エラーの無視がさらなるエラーを呼んでとんでもないことになる。

464:デフォルトの名無しさん
09/12/23 13:36:17
そんで今度はデータが消えたとか壊れたとか復旧不能になってからクレームが来るんだぜ。


465:デフォルトの名無しさん
09/12/23 13:37:41
変に進むより例外出てくれたほうが嬉しいだろJK

466:デフォルトの名無しさん
09/12/23 13:38:26
いいですか?

467:デフォルトの名無しさん
09/12/23 13:38:45
>>464
メモリ関係のささいなエラーばっかりなんですよ
相手先が長時間起動しっぱなしのせいで起きるエラーなんで、
たまに再起動してれれば無視しても問題ないエラーなんです
なのにいちいち強制終了しちゃうからクレームがついて困るそうです

468:デフォルトの名無しさん
09/12/23 13:39:36
それでも、すべてのサブルーチンの最初に on error resume next が書かれているものはある。

469:デフォルトの名無しさん
09/12/23 13:40:49
つまりタスクマネージャのメモリ使用量が90%とかになり続けても容赦なくプログラムを続けろと!?

470:デフォルトの名無しさん
09/12/23 13:41:40
>>467
問題おきるところが特定されてるなら、そこだけtry catchで括ればいいんじゃね?


471:デフォルトの名無しさん
09/12/23 13:43:00
>>467
例外起きたら終了して再起動するようにすればいいじゃない
でもプログラマやめた方が(周りも)幸せだと思う

472:デフォルトの名無しさん
09/12/23 13:43:17
UTF-8の文字列をShiftJISに直そうと下記のようなコードを書いたのですが
str_jisの中身を確認すると文字化けしています。
こういった流れでは文字コードの変換はできないのでしょうか?

StreamReader sr = new StreamReader(",/test.txt",Encoding.UTF8);
Byte[] bufByte = Encoding.UTF8.GetBytes(sr.ReadLine());
String str_jis = Encoding.GetEncoding("Shift-JIS").GetString(bufByte);


473:デフォルトの名無しさん
09/12/23 13:44:50
>>470
さんざん色んな箇所をtry-chatchしたんですが、きりがなくて・・・

>>471
再起動というのはOSの話です

とりあえず強制終了問題が解決しないと
渉外担当が営業に入れないらしくて、
ちゃんとエラー対策するのはお金をもらってからでいいそうです

474:デフォルトの名無しさん
09/12/23 13:45:08
>>467
本当に長時間起動のせいだけなのか?w

まあVB6.0引っ張り出してきてon error resume next
で作り直せば?行けるところまで動かし続けてくれるよ

それで今より致命的な状況になっても貴方や
その会社の自己責任

475:デフォルトの名無しさん
09/12/23 13:45:54
>>472です。
ふと思いなおして以下のコードを
Byte[] bufByte = Encoding.GetEncoding("Shift-JIS").GetBytes(sr.ReadLine());
にしたら無事に変換されました。
ありがとうございました

476:デフォルトの名無しさん
09/12/23 13:46:05
>>467
どういうことだよそれは。


477:デフォルトの名無しさん
09/12/23 13:46:30
>>474
C#ではその文ないんですかねー・・・

478:デフォルトの名無しさん
09/12/23 13:50:00
ない。
あきらめろ。
だいたい何の例外なんだ?
メモリ不足とかなら無視したって無駄だぜ?


479:デフォルトの名無しさん
09/12/23 13:52:11
on errorは
プログラムを暴走させてでもとりあえず続けろ
っていう文法だしなぁ。

C#にはそんな危険な機能なんて必要ない。

480:デフォルトの名無しさん
09/12/23 13:53:03
グーグルのやってるエラー忘却型コンピューティングなんて
検索結果という多少間違ってようがおおむねあたってればいいような
物でないと無理だぜ

ほとんどの処理はまじめにエラー対策しないと

481:デフォルトの名無しさん
09/12/23 13:54:13
VBerってwin止めるプログラム作るの好きだよね

482:デフォルトの名無しさん
09/12/23 13:55:52
VBで(VBでなくても今時そうだと思うけど)OSごとコケるようかコードが
そう簡単に書けるとも思えんが・・・

483:デフォルトの名無しさん
09/12/23 13:56:48
>>481
俺API駆使してコード書いてるスゲー

なのがこけるコード書いてるだけじゃないの?

484:デフォルトの名無しさん
09/12/23 14:00:13
OS再起動が必要ってのが謎だな。
もしほんとにアプリ外の問題でリソース不足になるとかなら、
客へのアプローチが端から間違ってる。
アプリ側ではまとめてキャッチしておとなしく終わるしかないんだから。
無理に動かすことはリスクが高すぎてそもそも出来ないんだから。


485:デフォルトの名無しさん
09/12/23 14:02:03
あほなネイティブ呼び出しが入っててやっぱりアプリが悪いってのはありそうだが、
にしてもOS再起動ってどういうことだよ。


486:デフォルトの名無しさん
09/12/23 14:02:21
Application.ThreadException
AppDomain.UnhandledException  
あたりで対応取れない?


487:デフォルトの名無しさん
09/12/23 14:03:29
windowsの構造上しかたない
アプリやドライバーが悪いのにOSの責任にされて懲りたから
ドライバーモデルも変えて、UAC入れたんじゃん

XPまでで自由にさせすぎて、UACに関しては嫌われまくってるけどね

488:デフォルトの名無しさん
09/12/23 14:03:45
アプリが終わるからダメなんだとよ、笑わせる。


489:デフォルトの名無しさん
09/12/23 14:04:43
>>484
まぁ分かるんですが、僕は下っ端なので・・・

490:デフォルトの名無しさん
09/12/23 14:05:15
他のアプリは終了しないだろ?
そういうことだよ

491:デフォルトの名無しさん
09/12/23 14:06:52
はぁ

492:デフォルトの名無しさん
09/12/23 14:06:59
だから答えは無理。
下っぱなんだからさっさと回答上げて上で解決してもらえ。


493:デフォルトの名無しさん
09/12/23 14:07:36
なんとかしたいです・・・

494:デフォルトの名無しさん
09/12/23 14:08:13
>>492
渉外担当のSIがショボイのが最大の原因なんですけどね
とりあえずなんとかしろと上司の命令で・・・

495:デフォルトの名無しさん
09/12/23 14:08:58
やっぱり高速なプログラムを作るには
ガベージコレクタの動作を理解する必要があるかな?

C#の文法説明をやってるページは多いけど
GCの説明が書いてるページはない。。。

496:デフォルトの名無しさん
09/12/23 14:09:07
お前は文盲か?
簡単な方法ではどうにもならないつってんだよ。


497:デフォルトの名無しさん
09/12/23 14:09:48
小手先で回避してもなんとかなってない
いまどきそんなSIer居るのかよw

498:デフォルトの名無しさん
09/12/23 14:10:15
>>496
簡単ではない方法を教えて下さい

499:デフォルトの名無しさん
09/12/23 14:10:44
>>495
いっぱいあるぞ…

500:デフォルトの名無しさん
09/12/23 14:11:00
C#でメモリリーク起こすようなプログラム組めたっけ?
古いDLLとか呼び出してるのかな?

501:デフォルトの名無しさん
09/12/23 14:12:14
>>495
とりあえず全部structにしてみるとか

502:デフォルトの名無しさん
09/12/23 14:13:05
>>495
とりあえず全部structにしてみるとか

503:デフォルトの名無しさん
09/12/23 14:13:10
>>498
あらゆるところでキャッチして無視するんだよ。
さらに被害拡大、それでも動かなくなる可能性も高いけどな。

それが無理なら、原因究明して環境かアプリか悪い方を直すしかない。


504:デフォルトの名無しさん
09/12/23 14:13:27
大事なので2回言ってみました

505:デフォルトの名無しさん
09/12/23 14:13:49
>>500
用もないのにコレクションに参照をぶち込み続ければリークするな

506:デフォルトの名無しさん
09/12/23 14:14:28
>>501
ほとんどの場合悪化するよね。


507:デフォルトの名無しさん
09/12/23 14:15:32
>>504 ?

508:デフォルトの名無しさん
09/12/23 14:16:24
ひたすらIDisposableを「正しい形で」実装したら
延命するんじゃないかと無責任に言ってみる

509:デフォルトの名無しさん
09/12/23 14:16:36
>>495
ファイナライザのないクラスのGCは高速だから気にするな。
ファイナライザがあるクラスのGCはコストが高い。
必要もないのにファイナライザは使わないことかなぁ。

510:デフォルトの名無しさん
09/12/23 14:17:47
念のため言っておくが>>503のやり方は基地外沙汰だからな。
ほんとにやるなよ。


511:デフォルトの名無しさん
09/12/23 14:55:03
たとえばゲームとかで
毎フレームごとになんか変数作るとかだったら
structのほうがいいのかな?
newだったらガンガンヒープを消費しちゃうよね・・・

512:デフォルトの名無しさん
09/12/23 15:00:26
つまらん配信だな
どんな雑魚でもアスカやれば売名になるってのが分かるわ

513:デフォルトの名無しさん
09/12/23 15:00:55
たかだか60/s * 数十個くらいだろ
そんなもん全く問題ない

514:デフォルトの名無しさん
09/12/23 15:06:45
>>485
ちりも積もれば山となるで長時間放置でパッツンパッツン。
客「動いてねぇ。くっそ、OSも立ちあがらねぇ。強制終了ポチッとな」

515:デフォルトの名無しさん
09/12/23 15:08:10
>>511
そして彼はstructをどんどんboxingしてヒープを消費する

516:デフォルトの名無しさん
09/12/23 15:35:07
public abstractなプロパティやメソッドしかない中小クラスって
インターフェースの劣化?

517:デフォルトの名無しさん
09/12/23 15:44:23
MSは特に理由がなければ抽象クラスを使うのを推奨してる
インターフェイスは後でメンバを追加できないから

518:デフォルトの名無しさん
09/12/23 16:47:41
Ienumerableって
一番目の要素、二番目の要素・・・
と数えられるような(配列のような)クラスってことでいいの?

519:デフォルトの名無しさん
09/12/23 16:52:39
順番に意味があるかどうかは分からない
ただ要素をひとつづつ返すだけ

520:デフォルトの名無しさん
09/12/23 17:12:00
文字列がC#の予約語やコンテキストキーワードかどうか調べる関数ってある?

string s="int";
string s2="int2";

調べる(s)がtrueになって調べる(s2)がfalseになるような。

521:デフォルトの名無しさん
09/12/23 17:20:44
CreateValidIdentifier は、識別子が予約済みのキーワードまたは言語のキーワードと競合するかどうかを調べます。

ってのがあるな・・・。

522:デフォルトの名無しさん
09/12/23 17:22:08
そしてこんなのもあった。

URLリンク(stackoverflow.com)

523:デフォルトの名無しさん
09/12/23 17:23:06
"c# isReservedWord"で検索すると普通に泥臭いコードが引っかかるから、
多分ないんでしょう。

524:デフォルトの名無しさん
09/12/23 17:43:22
URLリンク(msdn.microsoft.com)
普通にここからコピペしてハードコーディングでいいじゃん

525:デフォルトの名無しさん
09/12/23 17:48:05
>>520
たかが、100ぐらいなんだから、自分で List かなんかに登録したら?

526:デフォルトの名無しさん
09/12/23 17:50:28
>>525
だな。

527:デフォルトの名無しさん
09/12/23 18:26:54
その前にそんなことをする理由がわからん

528:デフォルトの名無しさん
09/12/23 18:30:18
>>527
リフレクションでどうこうしたい人は必要になることがあるかもしれない。
よく知らんけど。

529:デフォルトの名無しさん
09/12/23 18:34:33
予約語とクラスメンバーの区別が付いてないような

530:デフォルトの名無しさん
09/12/23 18:48:47
>>521の方法で予約語は分かるが、コンテキストキーワードは無理だった。
var words = "select";
var codep = new Microsoft.CSharp.CSharpCodeProvider();
var conv = codep.CreateValidIdentifier(words);
return words != conv


531:デフォルトの名無しさん
09/12/23 19:05:54
何でこんな伸びてんだ

532:デフォルトの名無しさん
09/12/23 19:09:37
C++厨が暴れたから

533:デフォルトの名無しさん
09/12/23 19:15:10
ふーん。
自己満足にしかならないのに、ようやるわ。

534:デフォルトの名無しさん
09/12/23 19:18:54
>>533
満足したか?

535:デフォルトの名無しさん
09/12/23 19:26:35
大満足だお^ω^

536:デフォルトの名無しさん
09/12/23 19:54:21
>>533
ようやるよなww

537:デフォルトの名無しさん
09/12/23 19:54:47
まだまだイクぞ

538:デフォルトの名無しさん
09/12/23 19:54:53
>>536
論破されて悔しいのうw

539:デフォルトの名無しさん
09/12/23 19:55:46
>>538
は?

540:デフォルトの名無しさん
09/12/23 20:04:32
ここの住人は沸点低いな

541:デフォルトの名無しさん
09/12/23 20:09:28
うん

542:デフォルトの名無しさん
09/12/23 20:09:40
>>540
回答者も初心者なんだもの

543:デフォルトの名無しさん
09/12/23 20:13:11
マジレスすると、ちょっとC#を使えるようになった
脱初心者クラスが優越感に浸るために真初心者に威張ってるスレだからね
まともな住人に相手にして欲しければそれなりのコアなスレに行かないと

544:デフォルトの名無しさん
09/12/23 20:16:49
>脱初心者クラスが優越感に浸るために真初心者に威張ってるスレ

ここすうスレそんなヤツがいるようになったよな。
多分だけど一人でずっとそういうレスしてるっぽい。
前は高度なレスが付いてたから、自分に関係なくてもログ保存してたのになぁ。

545:デフォルトの名無しさん
09/12/23 20:19:53
へー

546:デフォルトの名無しさん
09/12/23 20:20:46
へー
そう
すごいね
帰っていいよ

547:デフォルトの名無しさん
09/12/23 20:21:42
「昔は良かった」って爺さんみたいだな。
こういう人のことを「若年寄」って言うんだけどさ

事実はというと、確かに数年前に比べるとスキルが高い人が明らかに減っているとは思うが、
アホみたいな煽りの量なんかはそんなに変っちゃいない。


548:デフォルトの名無しさん
09/12/23 20:22:08
またそういう議論すんの?

549:デフォルトの名無しさん
09/12/23 20:22:39
107 名前:デフォルトの名無しさん[sage] 投稿日:2009/12/19(土) 19:16:14
>>105
君に対しては既に「自分を棚上げするな」と言ってあったはずだが、
それはもう忘れたのか。

550:デフォルトの名無しさん
09/12/23 20:30:46
コピペ君って馬鹿だな、まで読んだ。

551:デフォルトの名無しさん
09/12/23 20:34:23
チンパンジーのアイちゃんとコピペ君って馬鹿だなって、
書き込んでる人って、この板に常駐してるのだろうか。
すごい頻繁にみる。

552:デフォルトの名無しさん
09/12/23 21:56:58
初心者スレだろ

int x=10;
string s=x.ToString();はコンパイルできるのに

string s="10";
int x=s.ToInt();がコンパイルできません。どうしたらいいですか!?

みたいな初心者が来るスレでいいのさ。

553:デフォルトの名無しさん
09/12/23 21:58:10
C#のうんさふぇ時の配列は
CやC++と違って

array[10]と10[array]は同じじゃないんだな。
求む!完全移植!

554:デフォルトの名無しさん
09/12/23 22:00:29
質問よいでしょうか?

自分のPCの環境では問題なくビルドもでき、アプリケーションの
起動も問題ないのに、人のPCではエラーして起動しないことが
ありました。数人に試してもらいましたが、起動できるPCとできない
PCがありました。
こういうケースでデバッグするには、普通はどうするものなのでしょうか?
エラー署名のメッセージを見るしかないのでしょうか?


555:デフォルトの名無しさん
09/12/23 22:01:32
>>554
リリースでビルドしたものを渡した?

556:デフォルトの名無しさん
09/12/23 22:03:34
あと、各 PC のフレームワークのバージョンの確認とか。

557:デフォルトの名無しさん
09/12/23 22:03:42
int i=5;
string s=x.ToString();はコンパイルできるのに

string s="5";
int i=s.ToInt(); がコンパイルできません。どうしたらいいですか!?

558:デフォルトの名無しさん
09/12/23 22:03:45
LeaveとValidatedの用途の違いは何ですか?
コントロールを抜けたときにイベントを起こしたいですが、2つのどちらを使うべきか分かりません。

559:デフォルトの名無しさん
09/12/23 22:04:36
フレームワークのバージョンがあってなければバージョンアップ要求
しなかったっけ?

560:デフォルトの名無しさん
09/12/23 22:05:04
>>554
そもそもダメなPCには.NET Frameworkが入っていないという可能性はないか?

561:554
09/12/23 22:08:33
はい、DebugではなくReleaseのものを渡しました。

ビルドはFramework2.0でして、相手のPCにも2.0がインストール
されていることも確認しました。

起動して砂時計で音沙汰なしの場合と、エラーが出て
エラー署名にSystem.nullpointerexceptionが見えてる
場合があります。

562:デフォルトの名無しさん
09/12/23 22:13:59
ぬるぽ・・・だと

563:デフォルトの名無しさん
09/12/23 22:21:57
え、「エラー署名」wwwwww


Microsoft用語においつけるなら司法試験うかるんじゃないかって思ってる


564:デフォルトの名無しさん
09/12/23 22:23:43
流れに吹いたw
このスレ回答する気さらさらねえだろw

565:デフォルトの名無しさん
09/12/23 22:25:12
いやわかるわけないw
とりあえず参照してるDLLを全部晒してみようか

566:デフォルトの名無しさん
09/12/23 22:28:47
これをずばり言えたらエスパーです
それか形態形成場にアクセスできます

567:デフォルトの名無しさん
09/12/23 22:29:32
本当にできる奴は「こんな糞スレに質問投下するくらいなら・・・」って自己解決しちゃうよ

568:デフォルトの名無しさん
09/12/23 22:31:59
例外が出るならスタックトレースを見ればどこで発生してるかはわかる
ダメならTrace.WriteLine入れまくる

569:554
09/12/23 22:34:05
みなさんありがとうございます。
調べてもわからなかったので・・・
初心者なので仕方ないです。

参照設定が関係するんですか。
PDFLibNetを参照設定してます。
Acrobatに依存しないPDF表示しようと思いまして。


570:デフォルトの名無しさん
09/12/23 22:39:32
ググってみたけどこれでいいの?
URLリンク(www.codeproject.com)
確かに依存性がやたら多くて怪しいな
>This project consists of 7 DLLs that must all be in the same directory:
* FreeImage.dll
* FreeImageNET.dll
* gsdll32.dll
* itextsharp.dll
* PDFLibNET.dll
* tessnet2_32.dll
* PDFView.dll
とあるけど確認した?
あとよくあるのがC++/CLIのライブラリが混ざっててCRTが必要なケース

571:デフォルトの名無しさん
09/12/23 22:43:19
いいかも~わるいかも~

572:デフォルトの名無しさん
09/12/23 22:46:27
結局のところ外部DLL使ってて実は環境によっては入ってない
代物なのに自分の環境にあるから無い場合についてのエラー
チェックもしないでしかもエラーが起きても回避しちゃうような
ロジックで突き進んだためにヌルポなんですね

573:554
09/12/23 22:47:32
原因、それっぽいです。
PDFLibNet.dll単独で使ってました。
依存関係のdllを参照設定して確認してみます。
ありがとうございました。

ドキュメントも適当に読んでるとダメですね。
今後気をつけて読むようにします。

574:デフォルトの名無しさん
09/12/23 22:50:57
調べてみたけどPDFLibNET.dllはXpdfっていうC++のライブラリをC++/CLIでラップしてるのかな
それだとやっぱりCRTが入ってない可能性が高い

575:デフォルトの名無しさん
09/12/23 22:55:57
PGM.EXE 100 / 200 + 3   /B の場合に
"100 / 200 + 3   /B" という文字が欲しいのですが何か方法はありませんか。
次のようにすればできるのは分かってますが、" "なしでできる方法を探しています。
PGM.EXE "100 / 200 + 3   /B" 


576:デフォルトの名無しさん
09/12/23 22:57:22
自分で読んでみて理解できるのかい

577:デフォルトの名無しさん
09/12/23 23:01:28
string.Join(" ", args)
ただし連続したスペースは一つになる

578:デフォルトの名無しさん
09/12/23 23:03:58
>>577
例が悪いのですが、連続したスペースに意味があるのです。

579:デフォルトの名無しさん
09/12/23 23:04:22
>>575
Environment.CommandLineを少し加工する
(これは先頭の実行ファイル名の部分も含むのでそこを取り除く)のが素直なやり方だと思う。

580:デフォルトの名無しさん
09/12/23 23:12:41
それをコマンドラインでやるなよという感じがするんだけど。

581:デフォルトの名無しさん
09/12/23 23:26:48
動的型も使えるなんてC#始まったな。

582:デフォルトの名無しさん
09/12/23 23:33:14
事実上ほとんどすべての演算子をオーバーロードできるようになりました

583:デフォルトの名無しさん
09/12/23 23:50:36
>>579
ありがとうございました。それで何とかなりそうです。
string cmdline = Environment.CommandLine;
int cmdlen = cmdline.IndexOf(' ');
if (cmdlen < 0) cmdlen = cmdline.Length;
string argstr = cmdline.Substring(cmdlen).Trim();


584:デフォルトの名無しさん
09/12/23 23:51:45
リフレクおもしろ

string何のいんたーふぇいすを敬称してるか調べられるのな。
でも調べるだけよりもっといろいろ面白い使い方ないかな

585:デフォルトの名無しさん
09/12/24 00:06:25
文字列が表す名前のメソッドを呼んだりできる
もっと頑張れば動的にIL生成したりできる

586:デフォルトの名無しさん
09/12/24 00:09:21
>>558
なんですが、どなたか教えていただけないでしょうか?

587:デフォルトの名無しさん
09/12/24 00:28:56
>>558
Leave でいいよ。

588:デフォルトの名無しさん
09/12/24 00:48:02
>>586
フォーカスが外れる時に発生するイベントは、発生する順番で書くと
LostFocus

Leave

Validating

Validated
の4つ
単にコントロールから抜けるときのイベントであれば文字通りLostFocusイベントまたはLeaveイベントを使えばいい。
ValidatingやValidatedは検証する前および後に発生するイベント。
Validatingイベントは他のイベントと違い、イベント引数がCancelEventArgsとなっており、
CancelEventArgsのCancelをtrueにすると、それ以降のイベントをキャンセル、つまりフォーカス移動をキャンセルすることができる。
入力内容をチェックしてエラーの場合フォーカス移動をさせないといった場合に使用する。

589:デフォルトの名無しさん
09/12/24 01:07:10
LeaveイベントをまちがえてValidatedイベントとして書いたときは、どんな不具合が生じる可能性があるの?

590:デフォルトの名無しさん
09/12/24 01:34:35
ない。
ただ、ValidatingイベントでCancel = trueにしちゃった場合は発生しない。
それだけ。
あとは、コードの見やすさ。
他人がコード見たとき検証処理書いていないのにValidatedイベント使っているのをみると???と思われる。

591:デフォルトの名無しさん
09/12/24 01:36:11
>>589
・ValidatingでイベントをキャンセルするとValidated
が発生しない
・CausesValidation プロパティが falseの場合、Validated
が発生しない
・データバインディングを行っている場合、Leaveがデータ反
映前、Validatedがデータ反映後


592:デフォルトの名無しさん
09/12/24 01:46:29
スレッドによるタイマーを用いて組んでいます。
ひとつは1秒毎に起動するスレッド、
もうひとつは3秒毎に起動するスレッドです。
これにより、競合を起こし、3秒毎に起動するスレッドが機能しないのですが、
どのようにすればいいのでしょうか。

593:デフォルトの名無しさん
09/12/24 02:02:26
意味が分からない。
どういうコード書いてんだ?


594:デフォルトの名無しさん
09/12/24 02:03:42
機能しますよ

595:デフォルトの名無しさん
09/12/24 02:06:39
int i=0;
while(true)
{
Thread.Sleep(1000);
if(i%3=0)th1.Start();
th2.Start();
}

とかだったらそれはそれで

596:デフォルトの名無しさん
09/12/24 04:59:53
競合が起きないようにすれば

597:デフォルトの名無しさん
09/12/24 05:16:16
>>595
今間違いに気がついたorz

598:デフォルトの名無しさん
09/12/24 10:16:05
>>597
一つ一つ確認してから行動するよう何度も言ってるだろw

599:デフォルトの名無しさん
09/12/24 10:39:06
しかしまぁ・・・
なぜ競合が起きているという結論になったんだろうな・・・?

600:デフォルトの名無しさん
09/12/24 10:43:12
293がスレッド使おうとして再び挫折してワケワカメなコード書いてるんじゃないか

601:デフォルトの名無しさん
09/12/24 11:07:28
>>600
なんか納得www

つうか正確に3秒でスレッドが動かないとか そういうのでおかしいとか言ってんのかな?


602:デフォルトの名無しさん
09/12/24 11:23:53
UIスレッドで動いてたりして

603:デフォルトの名無しさん
09/12/24 11:39:43
BackgroundWorkerとか使えばいいのに

604:デフォルトの名無しさん
09/12/24 11:50:13
それはそれでおかしいだろどう考えても

605:デフォルトの名無しさん
09/12/24 12:28:43
彼が言うスレッドと言うのが、マルチスレッドじゃなくてThred.sleep()
そのものの事じゃないのかな?

606:デフォルトの名無しさん
09/12/24 12:50:19
>>604
それまさにいいいいやっっっほぅぅぅ!

607:デフォルトの名無しさん
09/12/24 12:53:37
そんなことよりクリスマスの話題にしようぜ

608:デフォルトの名無しさん
09/12/24 13:05:45
考えないようにしてたのに

609:デフォルトの名無しさん
09/12/24 13:21:52
ガチで人間嫌いの俺にとってはクリスマスで一人なのがむしろ歓喜w
去年は飲み会とかで疲れただけだった

610:デフォルトの名無しさん
09/12/24 13:26:01
夜中にGCさんがやってきて独り者をさらっていきます

611:デフォルトの名無しさん
09/12/24 13:28:37
告白前にトランザクションかけておきたいんですが・・・・

612:デフォルトの名無しさん
09/12/24 13:44:28
タイムマシンないと無理。

613:デフォルトの名無しさん
09/12/24 14:57:01
Christmas.Dispose();

614:デフォルトの名無しさん
09/12/24 14:57:36
クリスマス中止のお知らせ

URLリンク(www.nicovideo.jp)


615:デフォルトの名無しさん
09/12/24 15:01:47
今日と明日で年賀状書ききるわ
クリスマスは家族とちょっと贅沢なもん食うのが恒例になってるから楽しみだぜ。

616:デフォルトの名無しさん
09/12/24 15:56:11
>>614
全然関係ないじゃねえかw
アクセス乞食か?

617:デフォルトの名無しさん
09/12/24 16:14:17
別のスレッドタイマーを一時停止する方法を教えてください。

618:デフォルトの名無しさん
09/12/24 16:26:05
おいw

619:デフォルトの名無しさん
09/12/24 16:27:17
ま・た・お・ま・え・かwwwwwww
もう難しいことせずに 適当にスレッドセーフなstop start とかつけて自分で管理しちゃえよ

620:デフォルトの名無しさん
09/12/24 18:37:09
クラスライブラリって、dllファイルが出力されるじゃないっすか。
あれって出力するファイルの拡張子を変更する事できないのでしょうか…
あと、アイコンの設定も…
アイコンは設定してもdllファイルが出力されるからダメみたい…

教えて童貞サンタさん


621:デフォルトの名無しさん
09/12/24 18:44:07
dllに何を求めているのかまったくわからない

622:デフォルトの名無しさん
09/12/24 18:49:09
DLLなんてリネームしておいても動くと思うぞ?

623:デフォルトの名無しさん
09/12/24 18:50:05
簡単に言うと、プラグインの様なものを作成したいと思っております
それを独自の拡張子にしたいという事です

624:デフォルトの名無しさん
09/12/24 19:59:37
少し試せば分かることをw

625:デフォルトの名無しさん
09/12/24 20:33:08
>>623
拡張子を変更すれば良いじゃん

626:デフォルトの名無しさん
09/12/24 21:54:24
>>625
口だけではなく例を見せて下さい

627:デフォルトの名無しさん
09/12/24 21:58:36
>>626
文字通りだとおもふ。

628:デフォルトの名無しさん
09/12/24 21:59:22
コンボボックスに次のような値を設定します。
セレクティッドインデックス:0
セレクティッドバリュー:001
名前:うどん

セレクティッドインデックス:1
セレクティッドバリュー:002
名前:そば

セレクティッドインデックス:2
セレクティッドバリュー:003
名前:きしめん

このとき、ある条件を満たしているため、このコンボボックスのきしめんをセレクトしたいとします。

このとき、きしめんを選ぶには、セレクティッドインデックス=2を指定する以外に、
きしめんのインデックスを選ぶようにする方法はありますか?
将来、そばと、きしめんの間にマカロニが入る可能性がありセレクティッドインデックスがずれる可能性があるためセレクティッドインデックスを直接指定したくないんです。
よろしくお願いします。


629:デフォルトの名無しさん
09/12/24 22:21:21
言ってる意味がわからない
プログラム的にって意味なのか?
インデックスを選ぶようにって意味がわからん

630:デフォルトの名無しさん
09/12/24 22:31:04
SelectedValue='0003'じゃいかんの?

631:デフォルトの名無しさん
09/12/24 23:02:53
DLLの名前を変えたら(拡張子でも同じ)、コードベースを指定しないと自動的には読み込めないよ。


632:デフォルトの名無しさん
09/12/24 23:09:39
>>630
セレクティッドバリューはプロパティじゃないの?
セレクティッドバリューを指定することができるん?

633:デフォルトの名無しさん
09/12/24 23:21:32
つか正しく表記してくれ
メンバなのか全然関係ないことなのかようわからん

634:デフォルトの名無しさん
09/12/24 23:40:51
>>633
セレクティッドバリューは、選択するものではなく、参照するプロパティと思っていました
(T_T)。
なので、
セレクティッドバリュー=2
としてコンボボックスのインデックスを指定することはできないと思っていました。

635:デフォルトの名無しさん
09/12/24 23:42:05
わざとですよね?

636:デフォルトの名無しさん
09/12/24 23:43:47
いいえ、なかなかの天然物です

637:デフォルトの名無しさん
09/12/24 23:47:25
クビ切り落としてクソ流し込みたくなる奴だな

638:デフォルトの名無しさん
09/12/24 23:51:55
うほ?

639:デフォルトの名無しさん
09/12/24 23:54:41
半角カナは見辛い

640:デフォルトの名無しさん
09/12/25 00:11:59
というか半角カナは文字化けするから使わないのがネチケットだろうが

641:デフォルトの名無しさん
09/12/25 00:13:12
釣り乙

642:デフォルトの名無しさん
09/12/25 00:20:18
>>640
どういうときに文字化けすんの?

643:デフォルトの名無しさん
09/12/25 00:22:01
>>635
意味が分かればええやん。
要は、

644:デフォルトの名無しさん
09/12/25 00:22:17
>>642
アスキーコードであっても半角カナのフォントを実装してるとは限らん
からじゃないの?

645:デフォルトの名無しさん
09/12/25 00:33:59
確か半角の基本形はアスキーコードで昔は7bitの範囲までだったんだよね
つまり0x00~0x7Fまでは使ってた

ところが日本でMSXや一部のコンピューターが独自に半角カナをあいてる
0x80~0xFFの間に入れて使うようになった?その名残が今も残ってるだけで
海外にすれば半角カナなんて無くていいんだよね・・・実際は・・・

あとエンコードの方法でも引っかかるんじゃなかったっけ?

646:デフォルトの名無しさん
09/12/25 00:39:36
>>642
電子メールなど文字コードにISO-2022-JP(いわゆるJISコード)を使う環境。
そもそも半角カタカナが収録されていない。

ウェブ上で問題になるのは、Shift_JISとEUC-JPとの動判別。
同じバイト並びがShift_JISでもEUC-JPでも正しい文字列として解釈できてしまう場合があるのだが、
半角カタカナを含むとそれに該当しやすくなる。そのため、自動判別に失敗しやすくなる。

647:デフォルトの名無しさん
09/12/25 00:41:12
意味がわかんねーから言ってんだろダアホ!

648:デフォルトの名無しさん
09/12/25 00:42:13
>>647
ガラパゴスな環境でネットにつながないスタンドアローンなら好きに使え
そうじゃないなら使うな
それだけ

649:デフォルトの名無しさん
09/12/25 00:49:30
つーか半角カナなんて実装やめりゃーいいのにな
ポケコンとかの時代じゃねーつーの
そうじゃなくても半角カナなんて使いにくいのに

650:デフォルトの名無しさん
09/12/25 00:50:03
まあ実際は10年前だってそんな問題にお目にかかることはまずありえなかったんだけどねw

このネタは実用上の問題っていうより、「寂しい奴に話題をふるきっかけを与えるツール」
という要素の方が大きいねw

651:デフォルトの名無しさん
09/12/25 00:52:36
半角カナをコードに書く奴は問答無用で首刎ねてるよ

652:デフォルトの名無しさん
09/12/25 00:53:40
>>650
10年前くらいならパソ通からインターネットに漸く切り替わった時代じゃなかったっけ?
まだまだ日本は日本、他所は他所みたいな空気で居られた時代だからってのもあるでしょ
ネットもここまでじゃなかったのでエンコードで困るようなこともなかったろうし

653:デフォルトの名無しさん
09/12/25 00:57:08
半角カナを使って良い環境で使うなって絶叫されてもな。

654:デフォルトの名無しさん
09/12/25 00:59:09
まあそんな状態だからいつまでたっても文字コードの統一が行われない・・・
さっさとやってくれ・・・

655:デフォルトの名無しさん
09/12/25 01:16:45
>>651
タトエバドンナヤツ?

656:デフォルトの名無しさん
09/12/25 02:36:13
読みにくいなw

657:デフォルトの名無しさん
09/12/25 03:34:58
なんで半角カナの話になってんだよダアホ!

658:デフォルトの名無しさん
09/12/25 04:00:38
何で半角カナの話になってんだボケ!とは思うが、>>628は読み辛いと思う。

659:デフォルトの名無しさん
09/12/25 09:05:12
半角カナ使うなとかいつの時代だよ
使えるもんは使えよ
PGだってそうだろうが

660:デフォルトの名無しさん
09/12/25 09:11:08
言いだしっぺの633は別に文字コードの話をしているわけではないんだろうけどね

661:620
09/12/25 09:34:21
半角カナの流れぶった切ってすんません。。。

やりたい事は、VS2005(C#)使って作成した
自作アプリから自作プラグインを読み込んで使用するだけなんですけど、
その自作プラグインの拡張子・アイコンを変更したいのです

ファイル名をリネームすれば拡張子変えれるんですけど、
アイコンが変わらないのです…
プロジェクトの設定で一発でいけるようにできないでしょうか
アプリの方はプロパティのリソース(アイコン)変えるだけでいけるんですけど。。。

662:デフォルトの名無しさん
09/12/25 09:41:42
アイコンを表示するのはShellの仕事。
exeとicoはリソースからアイコンを抽出してくれるが、
他はエクスプローラのツールのフォルダオプションのファイルの種類で
拡張子に設定したものが表示されるだけ。
その変更する予定の拡張子を登録してアイコンを指定すれば変わる。

663:620
09/12/25 09:53:54
そうだよなぁ…
てか、今更ながらexeのアイコンてそういう仕組みだったのねw

.csprojに
<ApplicationIcon>SamplePlugin.ico</ApplicationIcon>
って追加してもダメなのね…

664:デフォルトの名無しさん
09/12/25 09:56:29
リソースにはしっかり埋まってるから
hoge.dll を hoge.exe にリネームするだけでアイコンが表示されるはず。

665:デフォルトの名無しさん
09/12/25 10:00:10
あ、ホントだ!
なるほど、すごく基礎的な事かもしれないけど勉強なった!
インストーラ作るか…

666:デフォルトの名無しさん
09/12/25 10:04:06
int[] x = new int[10];
これのxは何型?int[]型?それともint[10]型?

667:デフォルトの名無しさん
09/12/25 10:09:52
int[]型

668:デフォルトの名無しさん
09/12/25 10:40:47
>>620
なぜそこまでしないといけないのかちょっと気になったんだが
よかったら後学のために教えてくれないか?



669:デフォルトの名無しさん
09/12/25 10:48:11
>>668
>>623

結局のところ独自のファイル形式(中身はただのDLLだけど)として
レジストリに登録、その際にアイコンも、って感じになるんだろうと思う。

実際そういうことしてるソフトってたまに見るよ。

670:デフォルトの名無しさん
09/12/25 11:04:51
>>669
タマニミルナ

671:デフォルトの名無しさん
09/12/25 11:08:16
>>668
まさに>>669の言う通りです

672:620
09/12/25 11:09:03
>>620です、すんません

673:デフォルトの名無しさん
09/12/25 11:13:49
>>669
結構拘ってるというか、凝ってるところもあるんだな
勉強になったよ サンクス

674:620
09/12/25 11:17:58
>>673
一応、商用のソフトなんで…w

みんなありがとうございました!

675:デフォルトの名無しさん
09/12/25 13:17:34
半角カナのせいでネット環境の整備は3年は遅れたよな

676:デフォルトの名無しさん
09/12/25 13:19:48
>>670
半角うぜー
わざとだろ

677:デフォルトの名無しさん
09/12/25 13:36:01
225名無しさん:2006/08/28(月) 01:12:52 ID:kkOh0dpH0
つ━━一 ポッキーでも喰え
 
226名無しさん:2006/08/28(月) 01:13:10 ID:/HPxyTcf0
ポッキーの半分のやつどうするの?
 
227名無しさん:2006/08/28(月) 01:15:14 ID:kkOh0dpH0

 
228名無しさん:2006/08/28(月) 01:18:17 ID:/HPxyTcf0
ポッキーを半分にするの教えて
 
229名無しさん:2006/08/28(月) 01:20:25 ID:kkOh0dpH0
 ━一
 
230名無しさん:2006/08/28(月) 01:21:00 ID:/HPxyTcf0
ふざけないで
 
231名無しさん:2006/08/28(月) 01:23:20 ID:kkOh0dpH0
お前がふざけんな
 
232名無しさん:2006/08/28(月) 01:30:36 ID:rzxw0X6c0
ぽっきーでF8で変換
 
233名無しさん:2006/08/28(月) 01:38:52 ID:/HPxyTcf0
ポッキー できた!ありがとう!

678:デフォルトの名無しさん
09/12/25 13:56:41
いまだに日本のメールはISOなんちゃらだからなあ
メールに関して言えば.NETのクラスじゃ正直役に立たん

679:デフォルトの名無しさん
09/12/25 14:05:37
MIME64とかじゃないっけ?メールは全然知らんけど

680:デフォルトの名無しさん
09/12/25 14:10:41
MIME64とな!


681:デフォルトの名無しさん
09/12/25 14:12:48
なんか便乗質問だけど、
UnicodeとUTF-8の違いを誰か教えて
Encodingとか使うときにいつも意味が分からなくて困る

682:デフォルトの名無しさん
09/12/25 14:16:58
普通Windowsで単にUnicodeというとUTF-16のこと

683:デフォルトの名無しさん
09/12/25 14:23:38
Unicodeという大きなくくりの中にUTF-8やUTF-16やUTF-32が含まれる感じ

684:デフォルトの名無しさん
09/12/25 14:25:48
UTFとかUCSとかこまかいこと言い出すときりが無いな。


685:デフォルトの名無しさん
09/12/25 14:25:58
で、そのUTF-8の中にはBOMあり、BOMなしがあったり・・・

686:デフォルトの名無しさん
09/12/25 14:27:56
日本はNECのマシンなどがあったのでS-JISの系統が未だに残ってるしな

687:デフォルトの名無しさん
09/12/25 14:28:11
Unicode体系を初心者でも分かりやすく理解出来るサイトとかないかな?

688:デフォルトの名無しさん
09/12/25 14:29:59
>>687
おおむね間違ってはないと思う
ここは大雑把に見て他のサイトと含めて調べて
URLリンク(ja.wikipedia.org)

URLリンク(ash.jp)
ここだと全角文字をそれぞれのコードでどう管理してるかわかるよ

689:デフォルトの名無しさん
09/12/25 14:31:17
Encodingのプロパティに限って言えばUnicode=UTF-16
Windowsや.NET Frameworkの標準ということで特別扱い

690:デフォルトの名無しさん
09/12/25 14:35:58
>>688
難しいなw
しょうがくせいにもわかるゆにこーど
って感じのはさすがにないかww

691:デフォルトの名無しさん
09/12/25 14:36:58
Unicodeは場当たり的に拡張してグダグダになっちゃったからね
新しい統一コードきてくれ!

692:デフォルトの名無しさん
09/12/25 14:38:02
>>690
S-JISはわかりやすい
半角はアスキー互換だし
アスキーであいてるところを全角文字の上位1バイトの認識用に割り当ててる感じ
URLリンク(charset.7jp.net)


693:デフォルトの名無しさん
09/12/25 14:39:18
>>691
だよね
マシンの性能がまだまだなときに拡張してるから今からみると
なんでこんなダサい拡張したんだよwとか思うわw

694:デフォルトの名無しさん
09/12/25 14:43:02
サロゲートペアなんてなくて全世界の言語に対応出来るようになるには64ビット位でできるかなぁ?
世界の言語(の文字)がどんだけあるんかわからんが。

695:デフォルトの名無しさん
09/12/25 14:48:31
>>694
S-JIS見てる限りじゃあアスキーの互換保ちながらアスキーの空きコード
を利用して全角を2バイトで表現してるけどかなり空いてるからなあ
UTF-32にすれば宇宙文字とかなければ余裕で足りそう

696:デフォルトの名無しさん
09/12/25 14:51:11
>>686
S-JISの旧名称がMSーKANJIだっけ?

697:デフォルトの名無しさん
09/12/25 15:02:27
次変えるならいっそのこと64か128でやるべきだろ


698:デフォルトの名無しさん
09/12/25 15:02:48
64ビットて
32ビットで十分だろ

699:デフォルトの名無しさん
09/12/25 15:03:50
32ビットだと40億文字ぐらい登録できるけど、
足りるのか足りないのか微妙な値で困るなw
間を取って48ビットにしよう

700:デフォルトの名無しさん
09/12/25 15:05:01
将来の事を考えすぎてもいいくらいでは?

でも48は中途半端だろwwww

701:デフォルトの名無しさん
09/12/25 15:06:17
今のところ24bitで納まってるんだっけ

702:デフォルトの名無しさん
09/12/25 15:17:57
MACアドレスみたいに48ってそこそこ現実的な感じじゃね?w

703:デフォルトの名無しさん
09/12/25 15:20:47
>>700
仮に文字種が大量に必要になるとしたら、ファーストコンタクト以外ありえねーぞ

704:デフォルトの名無しさん
09/12/25 15:23:59
MACアドレスで思い出したけど、IPV6って全然普及しないねw

705:デフォルトの名無しさん
09/12/25 15:25:45
もう世界中すべて1と0だけの世界でいいじゃないか

706:デフォルトの名無しさん
09/12/25 15:26:30
日本はこれまたガラパゴスやっててNGNなんてやってるからね・・・
あれって既存のインターネット技術の関連のIPv6とIPが衝突するとか問題になってなかったっけ?

707:デフォルトの名無しさん
09/12/25 15:28:24
マルチプレフィックス問題ってやつか
URLリンク(itpro.nikkeibp.co.jp)

708:デフォルトの名無しさん
09/12/25 16:59:37
2000年問題とか2038年問題とかギリギリで苦労してる例はあるんだし
まさかねーだろwwwって思っても大きめにとっとくにこしたことはないような。
多バイト系に拡張可能なように予約領域とっとくとかさ。

709:デフォルトの名無しさん
09/12/25 17:05:37
C#関係ねーし

710:デフォルトの名無しさん
09/12/25 17:09:12
年問題っていっぱいあっておもしろいなwww

1999年問題
1999年8月21日問題
2000年問題
2001年9月9日問題
2025年問題 ←次ここ
2030年問題
2036年問題
2038年問題
2040年問題
2048年問題
2050年問題
2053年問題
2070年問題
2079年問題
2088年問題
2100年問題
2107年問題
10000年問題
60056年問題


711:デフォルトの名無しさん
09/12/25 17:12:27
暗号の2010年問題を忘れるなよ。あとちょっとだぞ。
URLリンク(itpro.nikkeibp.co.jp)


712:デフォルトの名無しさん
09/12/25 17:20:02
>>711
その辺は文字コードと一緒で古いシステムが問題になるケースだな

任天堂はなんかすごく意味不明な社長談話でスルーしてたねw

713:デフォルトの名無しさん
09/12/25 17:25:14
2025年問題ってなの?

714:デフォルトの名無しさん
09/12/25 17:27:46
ちょっとまって>>711読んだらSHA-1て脆弱なのかよ・・・
今は何使えばいいんだ・・・

715:デフォルトの名無しさん
09/12/25 17:29:04
>>713
昭和100年にあたるから
2000年問題みたいなもん

716:デフォルトの名無しさん
09/12/25 17:35:15
>>714
SHA-256

717:デフォルトの名無しさん
09/12/25 17:47:25
>>713
昭和かー
その発送はなかった

718:デフォルトの名無しさん
09/12/25 17:48:22
>>716
うちはMD5使ってるけど危ないの?

719:デフォルトの名無しさん
09/12/25 17:50:00
>>710
RFC2550が全てを解決してくれる。

720:デフォルトの名無しさん
09/12/25 17:51:54
SHA-1024

721:デフォルトの名無しさん
09/12/25 17:52:32
>>718
まあ攻撃者などに目つけられるようなところじゃなければ問題ないでしょ

722:デフォルトの名無しさん
09/12/25 18:11:05
うんちく語るならよそ行けよ。
お前のオナニースレじゃねえんだよ。

723:デフォルトの名無しさん
09/12/25 18:11:09
>>718
MD5ってずいぶん昔にだめだった気がするのは俺だけか

724:デフォルトの名無しさん
09/12/25 18:17:39
>>723
未だに色々なところで使われてるような気がするけどなぁ。


725:デフォルトの名無しさん
09/12/25 18:26:20
MD5は改ざん防止というよりビット化け検出用に使われてるな

726:デフォルトの名無しさん
09/12/25 18:28:04
うききっ

727:デフォルトの名無しさん
09/12/25 18:28:04
脆弱性のあるハッシュ関数だからって、すぐ使われなくなるわけじゃないだろ。
セキュリティを重視する分野でないなら問題ない。

728:デフォルトの名無しさん
09/12/25 18:30:54
基本的にハッシュ関数の性能ってどこが違うの?

729:デフォルトの名無しさん
09/12/25 18:39:50
>>718
今年初めにこんなニュースが出たくらいだし、
暗号目的で使っているなら、そろそろ乗り換えを考え始めてもバチは当たらないと思う。

SSLが破られる -- ハッカーがMD5の衝突を利用してCA証明書の偽造に成功
URLリンク(japan.zdnet.com)

730:デフォルトの名無しさん
09/12/25 18:41:31
ディスプレイ上の任意の場所の色を取得したり設定したりはどうやる?
formやpictureboxならgetpixelだのsetpixelだので設定できるけど・・・

731:デフォルトの名無しさん
09/12/25 18:44:00
>>729
衝突ってh(x)=h(y)になるってこと?

732:デフォルトの名無しさん
09/12/25 18:47:52
>>731
そう。

733:デフォルトの名無しさん
09/12/25 18:52:11
2chが使ってるIDもMD5で作ってるんだっけ?


734:デフォルトの名無しさん
09/12/25 19:02:49
SHA1が時代遅れとかまじか
俺が勉強した頃は絶対無敵って言われてたのに

735:デフォルトの名無しさん
09/12/25 19:16:18
>>734
( ´・ω・)ハ(・ω・` )

736:デフォルトの名無しさん
09/12/25 19:17:22
2000年問題で大騒ぎしたのって、もう10年も前のことなんだよな…
10年後の自分がまさかこんなことになるとは想像もつかなかったよ

737:デフォルトの名無しさん
09/12/25 19:18:36
60056年問題が顕在化するころ、人類は生存してるのかな?

738:デフォルトの名無しさん
09/12/25 19:37:35
>>737
イルカ人に滅ぼされてると思う
URLリンク(image.blog.livedoor.jp)

739:デフォルトの名無しさん
09/12/25 19:42:41
>>738
進化はえーw

740:デフォルトの名無しさん
09/12/25 20:03:53
( ´・ω・)ハ(・ω・` ) ←キモッw

741:デフォルトの名無しさん
09/12/25 20:05:31
>>740
( ´・ω・)ハ(・ω・` )

742:デフォルトの名無しさん
09/12/25 20:26:24
>>733
crypt

743:デフォルトの名無しさん
09/12/25 20:30:04
2009年問題

744:デフォルトの名無しさん
09/12/25 20:30:23
任意のdictionary<T,T>クラスで要素をランダムに選ぶメソッドってどうやって作るかな

var d = new Dictionary<string, string>();
d["Japan"] = "日本";
d["America"] = "アメリカ";
d["China"] = "中国";
string s = randchoice(d);

sには"日本"になったり、"アメリカ"になったりする

745:デフォルトの名無しさん
09/12/25 20:31:14
>>742
そんな標準でついてるっぽい関数で大丈夫なの?

746:デフォルトの名無しさん
09/12/25 20:35:51
>>745
標準で付いてるからだめってのはどうかとおもうけど
ぐぐったら暗号化の種類選べるようになってるみたいね。


747:デフォルトの名無しさん
09/12/25 20:37:01
>>744
どうやるもなにも、valueの配列とってランダムな位置のを返すだけじゃね?


748:デフォルトの名無しさん
09/12/25 20:40:27
>>744
ToListしてn番目を取るとか

749:デフォルトの名無しさん
09/12/25 20:40:43
>>746
rand()みたいにカスなのがデフォだったからね

750:デフォルトの名無しさん
09/12/25 20:46:28
>>746
むしろ、暗号化に関しては多くの人に使われてバグが洗い出されていない物じゃないと
怖くて使えません

751:デフォルトの名無しさん
09/12/25 20:50:10
バグが洗い出されてない方がいいの?

752:デフォルトの名無しさん
09/12/25 20:52:34
マチガエタ
バグがアライダサレテイルモノジャナイトダッタヨ

乱数列準備するならRNGCryptoServiceProviderっていうのがC#だと使ったな

753:デフォルトの名無しさん
09/12/25 21:33:55
フォッフォッフォッフォッフォッフォッ

754:デフォルトの名無しさん
09/12/25 21:35:39
メルセンヌツイスタ以上の乱数ジェネレータってまだ出てない?
SHA1が時代遅れって聞いて不安になってきたわw

755:デフォルトの名無しさん
09/12/25 21:35:44
>>748
ToListのコストおしえて

756:デフォルトの名無しさん
09/12/25 21:39:23
>>755
オコトワリシマス

757:デフォルトの名無しさん
09/12/25 21:39:40
>>755
確か内部で配列使ってるからO(1)じゃね?

758:デフォルトの名無しさん
09/12/25 21:40:44
>>757
サンキューワカハゲサン

759:デフォルトの名無しさん
09/12/25 21:41:31
今から新規に作るものなら、
ハッシュならSHA-256、共通鍵暗号ならAES-128
程度以上のものを使っとけ。


760:デフォルトの名無しさん
09/12/25 21:42:34
>>757
うそつくな。


761:デフォルトの名無しさん
09/12/25 21:42:58
URLリンク(stackoverflow.com)
If you're using .net 3.5, Enumerable has an extension method ElementAt which would allow you to do:
return dict.ElementAt(rand.Next(0, dict.Count)).Value;


762:デフォルトの名無しさん
09/12/25 21:44:32
わざわざList作らなくても、ElementAtで十分じゃん

763:デフォルトの名無しさん
09/12/25 21:45:09
>>762
十分ですね

764:デフォルトの名無しさん
09/12/25 21:45:26
AESは128ビットで十分なのか
この辺の感覚はわからんもんだなぁ

765:デフォルトの名無しさん
09/12/25 21:46:13
757と760、どっちが正しいんだよ

766:デフォルトの名無しさん
09/12/25 21:47:37
>>765
どっちが正しいんでしょうね

767:デフォルトの名無しさん
09/12/25 21:48:40
どこまで安全性を見込むかだけど、
まあ普通の用途では、現在は128ビット安全性があれば十二分だ。
ほとんどの場合、128ビット安全性よりも、他のところの方が危ないから。
つまり共通鍵暗号なら128ビットキー、ハッシュなら256ビットハッシュで十分。
もちろんアルゴリズムに脆弱性がなければね、



768:デフォルトの名無しさん
09/12/25 21:48:56
>>764
128ビットもあうあうだったきがする・・・。
最低でも今は256ビット以上のものを使わないとだめだったと思う

769:デフォルトの名無しさん
09/12/25 21:49:27
>>754
メルセンヌツイスタは暗号に使うなと作者も言っているだろう。

770:デフォルトの名無しさん
09/12/25 21:51:30
ToListはIEnumerable<T>の拡張メソッド。
どう見てもO(n)。


771:デフォルトの名無しさん
09/12/25 21:51:48
>>768
あうあうでしたね。

772:デフォルトの名無しさん
09/12/25 21:52:56
>>770
うそつくな。

773:デフォルトの名無しさん
09/12/25 21:52:57
何があうあうなの?
128ビット安全性がどの程度のものか分かって言ってる?


774:デフォルトの名無しさん
09/12/25 21:54:38
var dlist = new List<string>(d.Values);
string s = dlist[rnd.Next(dlist.Count)];


775:デフォルトの名無しさん
09/12/25 21:56:58
List<string>ってのは
string[] の動的配列バージョン?

776:デフォルトの名無しさん
09/12/25 21:58:19
770と772、どっちが正しいんだよ

777:デフォルトの名無しさん
09/12/25 21:58:56
どちらでしょうね

778:デフォルトの名無しさん
09/12/25 22:00:38
まあIEnumerable<T>を受け取るからって列挙アクセスするとは限らなかったな。
とはいえ、それをもとにListを構築するんだから結局O(n)だけど。


779:デフォルトの名無しさん
09/12/25 22:02:57
128ビットがダメで256ビット以上必要なんてなると
ハッシュは512ビットが最低ラインてことか?
えらい世界だなw


780:デフォルトの名無しさん
09/12/25 22:05:09
>最低でも今は256ビット以上のものを使わないとだめだったと思う
256ビットってのは一般にそこまでやっても何の意味もないくらいの安全度だぜ?
最低でってどういうことだよ。


781:デフォルトの名無しさん
09/12/25 22:06:07
List<string>っていちいちadd,addしなきゃいけないの?
var s = new List<string>();
s.add("ab");
s.add("cd");



じゃなく

s = {"ab","cd","ef","gh"}
みたいに一気に書く方法ない?

782:デフォルトの名無しさん
09/12/25 22:09:12
3.5なら書けるよ。



783:デフォルトの名無しさん
09/12/25 22:10:24
SortedDictinaryかSortedListを使えばListに詰め替える必要は無いな。

784:デフォルトの名無しさん
09/12/25 22:10:37
new List<string>(new string[] {"ab", "cd", "ef"});

785:デフォルトの名無しさん
09/12/25 22:17:16
C#3.0ならs = new List<string> {"ab", "cd", "ef"};

786:デフォルトの名無しさん
09/12/25 22:23:13
どうせすぐ何bitでも意味がない時代がくるから気にせんでいいよ。

787:デフォルトの名無しさん
09/12/25 23:10:09
コンピュータがジョブチェンジして漁師になるんですね><

788:デフォルトの名無しさん
09/12/25 23:11:45
>>786
そいういう空想の話はよそでやれよ。


789:デフォルトの名無しさん
09/12/25 23:15:21
量子コンピュータは空想だったんだ、へえ

790:デフォルトの名無しさん
09/12/25 23:15:44
今風太

791:デフォルトの名無しさん
09/12/25 23:16:04
ハッシュ関数128ビットを256ビットにするとどれぐらいコスト掛かるんだ?
大したことないなら256にしたほうがいい気もする

792:デフォルトの名無しさん
09/12/25 23:16:22
俺らが生きてるうちには実用にならんだろうな

793:デフォルトの名無しさん
09/12/25 23:16:24
もういないとは思うがSHA1やMD5を使ってるとこはエンジニアとしての常識を疑う

794:デフォルトの名無しさん
09/12/25 23:17:24
別に外部とのやり取りに実用的じゃないだけでローカルなら別にいいのだわ
CRCは廃れたかよ?用途限定して生き残ってるだろ

795:デフォルトの名無しさん
09/12/25 23:17:27
SSLですねw


796:デフォルトの名無しさん
09/12/25 23:18:09
DSAですねw


797:デフォルトの名無しさん
09/12/25 23:18:33
>>793
SHA1は普通に使われてるだろ

798:デフォルトの名無しさん
09/12/25 23:19:13
AmazonECもSHA-1なんだけど
偉そうだな>>793

799:デフォルトの名無しさん
09/12/25 23:19:28
CRC-256とはいったいなんだったのかw

800:デフォルトの名無しさん
09/12/25 23:19:56
量子コンピュータはすぐにできるのかよ。
っていうか量子コンピュータは何でもできると思ってる馬鹿?



801:デフォルトの名無しさん
09/12/25 23:20:31
え?尼のAPIはこの前(今年8月)HMAC-SHA256になった気がするぞ

802:デフォルトの名無しさん
09/12/25 23:20:33
量子コンピュータなんてNP-Completeの問題を多項式時間で解けるってだけじゃないの?
それでも相当凄いけど

803:デフォルトの名無しさん
09/12/25 23:20:36
どうでもいいよ

804:デフォルトの名無しさん
09/12/25 23:20:45
いまのとこ量子コンピュータで解読できそうなのはRSAくらいか?


805:デフォルトの名無しさん
09/12/25 23:21:14
離散対数暗号ってまだ実用化してない?
この流れだととっくに使われてるって言われそうだ

806:デフォルトの名無しさん
09/12/25 23:21:44
つまり8月までは馬鹿だったんだなw


807:デフォルトの名無しさん
09/12/25 23:22:16
>>805
DSA「…」

808:デフォルトの名無しさん
09/12/25 23:22:30
>>792
もう因数分解はもう実際にできてるので、技術的ブレークスルーがあったらいきなり実用化されちゃうかもしれないよ。

809:デフォルトの名無しさん
09/12/25 23:22:44
8月まではSHA-1が最先端だったからな。
今使ってたら馬鹿って言ってんだよ

810:デフォルトの名無しさん
09/12/25 23:23:15
>>809
この発言も酷いw

811:デフォルトの名無しさん
09/12/25 23:23:47
>技術的ブレークスルーがあったら
簡単に言うなw


812:デフォルトの名無しさん
09/12/25 23:23:52
NISTとCIAが潰すんじゃね

813:デフォルトの名無しさん
09/12/25 23:24:42
量子コンピュータが仮に実用化したとして、
俺らが使えるような価格になるのは何年後だよw

814:デフォルトの名無しさん
09/12/25 23:26:46
あー、選択平文攻撃だかの存在を揉み消したとか言うのあったな。

815:デフォルトの名無しさん
09/12/25 23:26:50
俺ら、って一緒にするなよ
量子コンピューターも買えない貧乏人が

816:デフォルトの名無しさん
09/12/25 23:27:08
みんな何歳か知らないけど、生きてるうちを50年以内としたら、実用化されてる気がする。

817:デフォルトの名無しさん
09/12/25 23:29:34
あと数年でってなら脅威かも知れんけど
数十年あるなら別に

818:デフォルトの名無しさん
09/12/25 23:29:42
パスワードハッシュなんかでは
SHA1→SHA256なんてそれほどは意味なくて
PBKDF2なんかで繰り返し数を増やす方がよっぽど効果的


819:デフォルトの名無しさん
09/12/25 23:30:24
つまり単にアルゴリズムがどうではなくて何の目的で使ってるかだ。


820:デフォルトの名無しさん
09/12/25 23:33:41
C#関係ねえww

821:デフォルトの名無しさん
09/12/25 23:34:42
量子コンピュータって汎用的な計算はできるの?
例えば、2chに書き込むとか

822:デフォルトの名無しさん
09/12/25 23:35:04
なんで.NETのPBKDF2はハッシュ関数を選べんのだ(泣)


823:デフォルトの名無しさん
09/12/25 23:35:29
SHA-1とSHA-256は中身同じだしな…

824:デフォルトの名無しさん
09/12/25 23:37:13
>>823
え?

825:デフォルトの名無しさん
09/12/25 23:37:23
量子コンピュータってアルゴリズム別にハードがいるイメージがある。
ENIACみたいなハードプログラミングみたいな。
っていうかそれどころか特定アルゴリズム専用ハードイメージだけど。

826:デフォルトの名無しさん
09/12/25 23:38:33
同じじゃないだろ、似た内容だが。


827:デフォルトの名無しさん
09/12/25 23:39:14
>>825
とすると、庶民にはあんま役に立たないんじゃ・・・
女子中学生が量子コンピュータで計算しなきゃならない応用とかある?w

828:デフォルトの名無しさん
09/12/25 23:39:36
NPCの問題が量子コンピュータで解けたら苦労しねえよ屑共が

829:デフォルトの名無しさん
09/12/25 23:40:30
今から10年前→今と同じくらいメモリやCPUの性能がUPしたら
2020年はメモリが100GBくらいになってそうだ。
20万とかのパソコンで今のスーパーコンピューターよりはやーい計算ができるzp

830:デフォルトの名無しさん
09/12/25 23:41:19
それで何?

831:デフォルトの名無しさん
09/12/25 23:41:22
SHA-1の強衝突耐性に脆弱性が見つかってきた時、
パスワードハッシュをSHA-256とかにしないととか大騒ぎしてたやつが大勢いたな。
用途的に安全性はそれほどは変わらんことを理解してないんだろうが。


832:デフォルトの名無しさん
09/12/25 23:44:02
みんなスレチすぎワロタ

833:デフォルトの名無しさん
09/12/25 23:44:32
量子コンピュータ実用化されたらどのみち色々概念かわっちゃうだろうから
今から出てからのこと心配しても無駄だわな。

計算量という名の暴力

834:デフォルトの名無しさん
09/12/25 23:45:08
>>828
NP完全の問題は量子コンピュータでも指数時間かかっちゃうかもしれないんだっけ?

835:デフォルトの名無しさん
09/12/25 23:45:35
>>827
カリカリにチューンされた携帯電話とかで仮想現実のすんごいのとか出来るようになるんじゃないの?
電脳コイルみたいな世界になるわけっしょ。

836:デフォルトの名無しさん
09/12/25 23:46:26
SHA-2は衝突したことないから長さ変えるだけでも有効
今更SHA-0or1,MD5,DESを使う奴はおかしい

837:デフォルトの名無しさん
09/12/25 23:46:30
NP完全まわりの話は眉に唾付けてかからないといかんよな。
トンデモ説が沢山流布してる。

838:デフォルトの名無しさん
09/12/25 23:47:33
そもそも、一般のNPの問題でも、量子コンピュータで
多項式時間で解けるってだけで、現実的かどうかは良く分からないんだよな

839:デフォルトの名無しさん
09/12/25 23:48:22
NP完全やNP困難の問題を多項式時間で解けるアーキテクチャって考えられてないの?

840:デフォルトの名無しさん
09/12/25 23:49:21
一度多項式時間で解けるようになったら
あとはもう加速度的に実用的になるような気がするけどなあ。

841:デフォルトの名無しさん
09/12/25 23:49:24
いまだにNP完全とNP困難の違いが良く分からんw

842:デフォルトの名無しさん
09/12/25 23:49:45
>>839
入力のサイズに対して指数個のプロセッサを仮定すれば十分

843:デフォルトの名無しさん
09/12/25 23:49:47
>>836
世間に向かって「お前らおかしいよ」って叫んで楽しいか?

844:デフォルトの名無しさん
09/12/25 23:50:07
>>840
O(n^10000)とかでも?

845:デフォルトの名無しさん
09/12/25 23:50:16
wikipedia見てもよくわからん。
誰か産業で・・・

846:デフォルトの名無しさん
09/12/25 23:50:55
>>842
脳は?

847:デフォルトの名無しさん
09/12/25 23:50:57
近未来に実用化されちゃうかもしれない量子因数分解器や、見つかっていない脆弱性などに対応する必要があるか、いま普通に安全とされているレベルでいいかで対応が変わる。
変な暗号化を選ぶのは、メンテのことを考えるといまいちだと思う。

848:デフォルトの名無しさん
09/12/25 23:52:24
そしてディスプレイの右肩に貼ってあるパスワードからクラッキング成立おめでとう。

849:デフォルトの名無しさん
09/12/25 23:52:54
ヒューマンエラーはどうしようもない

850:デフォルトの名無しさん
09/12/25 23:53:28
>>839
オラクル

851:デフォルトの名無しさん
09/12/25 23:54:39
NP困難でもナップサック問題とかはわりと簡単に解けるじゃん?
あれってどういうことなんだ?

852:デフォルトの名無しさん
09/12/25 23:55:00
今実用化を目指してるプロトコルなら2010年問題とかにも気使ってるのだろうけど
既存のものが置き換わるのにどれだけかかるのやら

文字コードも10年来駆逐されてないし想像付かん

853:デフォルトの名無しさん
09/12/25 23:56:06
解けることと時間が掛かることは別だぞ

854:デフォルトの名無しさん
09/12/25 23:56:42
>>850
オラクルでもオラクル自身の停止性問題は解けないんだよね
そう考えるとコンピュータってなんか空しいね(´・ω・`)

855:デフォルトの名無しさん
09/12/25 23:57:35
>>853
ナップサック問題なんかはNが10万とかでも時間掛けずにサクサク解けちゃう気がする

856:デフォルトの名無しさん
09/12/25 23:57:46
数学とか情報工学の限界だもんな

857:デフォルトの名無しさん
09/12/25 23:57:56
まあすぐにSHA-3が出てくるけどな


858:デフォルトの名無しさん
09/12/25 23:58:21
>>951
整数計画を考えれば分かる

859:デフォルトの名無しさん
09/12/25 23:58:25
現在公募中じゃないすか

860:デフォルトの名無しさん
09/12/25 23:58:51
>>855
結局のところ計算速度が死ぬ程速ければNP困難でもたかがしれてるってことだよ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch