1 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:44:27 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 ふらっとC#,C♯,C#(初心者用) Part23 pc11.2ch.net/test/read.cgi/tech/1200033660/
504 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:14:16 ] 携帯から失礼します GameState = Title; switch (GameState) { case Title: 処理 if("Aを押したら") { GameState = Main; } break; case Main: 処理 break; } こんな感じのプログラムを打っているのですが、実行結果が少しおかしいのです。 タイトル画面からAを押したらメイン画面に移行します。しかし、メイン画面での処理が始まりません。 試しにGameStateにMainを入れて始めたら、メイン画面の処理が行われました。 ちなみに、タイトル画面にメイン画面の処理を全て入れてタイトル画面→メイン画面と移行させたらメイン画面の処理が行われました。 しかし、タイトル画面ではタイトルの処理だけ、メイン画面ではメインの処理だけさせたいのでこれでは意味がないのです。 説明下手で申し訳ないです。何か分かりましたら教えて頂けないでしょうか?
505 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:20:14 ] >>504 breakしてんだから始まるわけないじゃん 処理のフローをちゃんと見直せ
506 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:29:16 ] アフォすぎてワラタ
507 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:38:51 ] PDFのフォーマットは失禁するほど複雑だし(1300ページ超)、文字列も何種類かあるし、 自前で解析なんてやってられない
508 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:39:28 ] なんでPDFなんてできたんだ
509 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:45:06 ] お答えありがとうございます。アホな質問に答えて頂き感謝します。 しかし、break文を消した所、 コントロールはひとつのcaseラベル(case 0)から別のラベルへ流れ落ちることはできません。 と、エラーが出ました。恐らく case Title 処理 case Main と書いてあるためだと思われますが、これだ ここまで書いて思ったのですが、なんか質問する以前の問題のような気がしました。もっと勉強し直して来ます……すいませんでした
510 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:12:19 ] >>509 だからフローを見直せって switchの使い方がおかしいんだろ
511 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:17:44 ] >>510 はい、もう一度見直します。もっとじっくり考えます。今日はこれが出来るまで寝ないつもりで頑張ります。
512 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:21:23 ] C#以前に構造化プログラムを理解してないんだろ 初心者はif while以外使うな これだけでプログラム書ける
513 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:25:24 ] 今時構造化プログラミングが何かすらソフトウェア工学で教えなかったりするらしいな
514 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:36:53 ] それってまずいだろw 構造化プログラムが書けなきゃOOPなんて絶対むりやん
515 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:45:56 ] そもそもソフトウェア工学学んだりしてるやつがほとんど居ないだろ 独学も含めてな
516 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 04:33:15 ] なんとか無事に出来ましたので報告します。やはりswitch文の使い方に問題がありました。 今思うとなんでこんなことを、と恥ずかしさで死にそうです。しかし、今回の経験を通してswitch文だけではなく、enum型、メソッドの使い方を学びました。 こんだけ必死になったのも、自分の醜態を晒したからだと思いますw これからも日々精進で頑張ります。 長々となりましたが、自分のしたいことが出来ましたので報告とさせて頂きました。色々とお見苦しい所があったかと思います。失礼しました。
517 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 04:38:38 ] うん、良い子だ
518 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 04:47:40 ] 俺ん時はソフトウェア工学教える授業でちゃんとあったんだよな んで、人伝に聞いただけなんだけどJava使っていきなりOOPだとか って考え直したらソフトウェア工学自体やってねえだけか
519 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 04:48:47 ] >>516 解決してよかったね
520 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 09:52:19 ] 三十郎か
521 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:30:13 ] >>516 報告乙。恥ずかしさを思い出して氏ね。
522 名前:484 mailto:sage [2008/02/13(水) 12:38:08 ] その後いろいろ調べてみたところ、Vistaで利用できる新しいファイルダイアログボックスをカスタマイズするには、 COMベースのAPIを利用する必要があるということがわかりました C++での利用例を参考に(この時点では表示できている)、C++のヘッダーファイルを読み、C#で実装しました そして、コンパイルし動かしてみると、メモリアクセス違反が発生し、ダイアログが表示されません どうしてなんでしょうか? ソースコードは www.uploda.org/uporg1248711.zip.html 開発環境はVS2005Pro 最新のMicrosoft Windows SDK for Windows Vistaが必要だと思います。 もちろん、Vistaでのみの動作です。 お願いします
523 名前:484 mailto:sage [2008/02/13(水) 12:44:54 ] すいません、アップロードに失敗したのでこちらをお願いします。 www.uploda.org/uporg1248719.zip.html
524 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:23:08 ] >>513 順次構造・繰り返し構造・分岐構造やフローチャート程度のものなら高校でやるよ。 工業系でない一般高校でも。
525 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:51:28 ] >>524 まじ?一体いつから・・・ 俺ん時はなかったな
526 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 15:49:29 ] くだ質でスンマセンですが List<hoge>fuga1と List<hoge>fuga2が 含まれるリストが同じか否かを知るには、どうやればいいですか?
527 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:24:39 ] >>526 Enumerable.SequenceEqual
528 名前:526 mailto:sage [2008/02/13(水) 16:51:15 ] >>527 C#3.0まだ勉強してないです・・・ とりあえずカッコ悪いけどforeachで回します
529 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 17:50:38 ] カウンタ使わないと無理じゃないの? それならforのほうが
530 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 18:30:05 ] えっ?
531 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:21:46 ] ^^;
532 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:34:39 ] >>526 まずは要素数を比較 一致するならリストをソートして先頭から順に一致するか検査
533 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:48:25 ] >>532 ソートしたらO(n logn)になっちゃうやん
534 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:49:25 ] 順序も含めて「同じ」かもしれないだろ
535 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:59:29 ] >>532 アフォ過ぎてお茶吹いたwww
536 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:06:13 ] 順序無視ならHashSet<T>が使えるな
537 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:14:51 ] 使ったこと無いけど、Dictionaryのキーだけバージョンか
538 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:21:22 ] うるせー ソートして何が悪い 俺はソートが好きなんだよ
539 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:22:29 ] HashSetは集合演算用だろ よくしらんけど
540 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:37:11 ] >>536 同じ要素が複数あったらダメダな
541 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:41:05 ] 集合演算したいだけならふつうのSetがあるだろ
542 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:41:37 ] >>538 ププププ
543 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:43:39 ] fuga1.TrueForAll(fuga2.Contains) みたいなことやるよりはマシか
544 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:06:24 ] >>533 >>535 アホは君らだ。
545 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:25:31 ] そーっとしとこう
546 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:34:35 ] マジレスしてい〜い?
547 名前:526 mailto:sage [2008/02/13(水) 23:00:19 ] スンマセン自分のせいでスレのふいんきが 結局どんなのが良いんですかね? ソートしちゃうのが一番単純ですが、ソートに使えそうなフィールドがない場合や IComparable付けてない場合だと駄目ですよね?? fuga1.TrueForAll(fuga2.Contains)はいいかなと思ったんですが、駄目なんですか?
548 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:06:45 ] つかそもそもソートしていいの?
549 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:11:55 ] 重複はあるの?
550 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:26:42 ] >>547 問題を具体的に示しなよ。 正解教えてあげるからさ。
551 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:29:19 ] >>546 * * * + いいよん n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
552 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:31:16 ] 最近のC#erってのはアルゴリズムもわかっとらんのか
553 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:35:55 ] いやここ初心者スレだし
554 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:36:58 ] ttp://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html この辺読んでるんだが、アセンブリの厳密名とか署名とか、なんか色々面倒くさいと感じた。 当分気にしなくてもいいんだろうか。
555 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:38:20 ] つまり回答者のお前らも初心者だったのか
556 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:40:21 ] 悔しさが滲み出る良レス
557 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:40:42 ] >>547 それじゃ一方が他方の部分集合であることしか分からんじゃん。 それに、O(n^2)
558 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:45:36 ] ソートした後の結果が同じかどうか知りたいのであれば 最初からListを使うべきではないんだと思うな SortedListあるいはDictionaryあたりを使うべきなんじゃないかね
559 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:48:16 ] (・∀・)ニヤニヤ
560 名前:526 mailto:sage [2008/02/13(水) 23:53:15 ] >>548 >つかそもそもソートしていいの? 「いい」というのは、「並びが変わってしまっていい」という意味ですか? 対象のリストは大丈夫です。必要ならソート用Listをコピーして用意すればいいと思いますが >>549 ないです。ある場合はまた面倒なんでしょうかね・・・? >>557 重複がないので↓で大丈夫だと思うのですが?(というか大丈夫でした) bool b; if(fuga1.Contains==fuga2.Contains) { b = fuga1.TrueForAll(fuga2.Contains); } >>552 さんのいうとおりアルゴリズムの基本もちゃんと分かってない阿呆なので、この辺で失礼します。 ありがとうございました。
561 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:54:05 ] ソートなんかしたらO(n logn)で無駄だろ 普通に要素比較しろ
562 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:54:23 ] >>557 二つのリストの長さは等しいの?
563 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:56:27 ] >>561 アホ。
564 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:00:44 ] 何なのこの流れ
565 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:05:29 ] 要素数はいくつなんだ? 100とかじゃないよな?
566 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:06:12 ] >>563 いや、アホはお前だろw
567 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:09:15 ] 質問者も逃げ出したのか
568 名前:526 mailto:sage [2008/02/14(木) 00:11:20 ] スンマセン、>>560 はfuga1.Contains==fuga2.Containsはミスです。 ふと思ったんですが、Listをコピーしておいて(←参照型だから軽いですよね)、 ContainsがtrueだったらRemoveしておけば多少早くなりませんか? bool b = true; if (fuga1.Count == fuga2.Count) { foreach (hoge f in fuga1) { if (fuga2.Contains(f)) { fuga2.Remove(f); } else { b = false; break; } } } else { b = false; } 重複の場合はどうしょ・・・・
569 名前:526 mailto:sage [2008/02/14(木) 00:12:19 ] しまったスペースが お見苦しくてスマンセン
570 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:17:20 ] >>568 二つのリストに同じ要素が入っているとしても順番までも同じとは限らないの?
571 名前:526 mailto:sage [2008/02/14(木) 00:25:17 ] >>570 順番は違います(とくに規則性はないです) 順番が一意に決まってるのならもっと早い方法があるってことですか?
572 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:26:39 ] うん
573 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:36:47 ] ハッシュテーブルに突っ込めばいいじゃん。
574 名前:デフォルトの名無しさん [2008/02/14(木) 00:38:43 ] wpfでfarameを使ってwebページにnavigateした後にそのページのDOMを取得するには どうしたらいいんでしょう。windows.formsのwebbrowserでdocumentを取るみたいに したいんですが。
575 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:43:52 ] >>574 WPFって何なのですか? 新規作成のメニューにあって気になってたんですが・・・・
576 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:47:33 ] WPF は流石にぐぐったらいくらでも情報出てくる。
577 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:03:31 ] 概要さらっとぐらい教えてくれたっていいのに・・・ まあいいか、自分で調べるわ
578 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:32:54 ] どう考えても調べたほうが速いし正確
579 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:45:48 ] 大体解ったのでもういいです channel9.msdn.com/screencasts/thailandscreencast.wmv
580 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 03:49:37 ] WPF 結構色々できますね、XMLのドキュメントはバイナリー化されているんだ、なるほど。 やっていたらもう四時になっしまった、寝なきゃ・・・
581 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:01:10 ] regsvr32使って登録したアンマネージドなDLLは, そのまま[DllImport]で呼べると思ってたんだけど DLLが見つかりませんって実行エラーがでる... これってどうやればいいんですか? DLLはいろんなファイルや他のDLL参照してるから 今のフォルダ構成から動かせられないって制限付きなんですが...
582 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:51:47 ] てs
583 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:55:50 ] >>581 DLLが見つからないんじゃない?
584 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:05:27 ] regsvr32ならCOM呼び出しになる 参照設定で追加
585 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:19:26 ] C#を使い、.net無し環境で動くまともなプログラムは作れますか?
586 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:31:21 ] なにをしてまともと言うのか
587 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:58:01 ] えっと、HelloWorldくらいなら出来る、とかそういうレベルではなく 普通に配布されているようなユーティリティのようなものを作れるのかなと WinAPIを直接触ってしまったらしまったでC#でやる意味もない気もしますし 自分でもうまくまとまらないですすみません
588 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:08:28 ] Linuxへの移植も可能っぽいし(framework部は動かないが)、やろうと思えばできるんじゃない つかC#から.net切ったら何も残らないと思うのだが
589 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:09:29 ] なるほど・・・C/C++をやってきての段階なので、ちょっと概要を調べつくしつつ 使い分けできるようにしていきたいと思ってます、ありがとう
590 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:19:00 ] むり
591 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:21:20 ] >>590 安価つけよう、なぜか>>589-590 で笑っちまった
592 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:47:20 ] いや無理じゃないぜ C#単体では動かないが
593 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 08:35:40 ] むりなものはむり
594 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:07:26 ] Windows限定なら.NETFrameworkなし環境用のexeを作るツールがある でも借りたPCで.NETインスコ不可等の事情がない限り、そのまま配布してほしいな よく考えてみたらスレ違いな気がする…
595 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:08:45 ] ngenは意味ないしなぁ ネイティブコンパイラなんてあったっけ
596 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:13:37 ] gugurekasu
597 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:44:14 ] >>588 てか、そこは「Linux 版の .NET 環境もあるよ」と教えるべきでは。 >>595 www.remotesoft.com/ でも、言語仕様の時点で .NET Framework の存在を仮定してる言語のネイティブコンパイラ使ってもなぁ。
598 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:09:07 ] >>597 念のために言っておくと .NET Framework の存在は仮定してない。 # C# が必要とする BCL は Micro Framework に比べてもはるかに小さいし、アセンブリやリフレクションの概念さえない。 ただし、RTTI や GC を含む基本的な言語システムはどうしても必要になってくるけど。
599 名前:デフォルトの名無しさん [2008/02/14(木) 10:23:30 ] TextBoxでマルチラインを有効にした状態で行間設定はできないのでしょうか? 行間がビチビチで読みにくいのですが。
600 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:48:15 ] >>597 monoって今ぶっちゃけどうなんすか? 専用スレが寂れまくってますが。
601 名前:581 mailto:sage [2008/02/14(木) 10:51:26 ] >584 参照設定でDLLを追加してみましたが,同じ結果でエラーが出ました 追加情報: System.Web.Services.Protocols.SoapException: サーバーは要求を処理できませんでした。 ---> System.DllNotFoundException: DLL '***.dll' を読み込めません: 指定されたモジュールが見つかりません。 (HRESULT からの例外: 0x8007007E) Webサービスで参照させているのが影響してたりしますでしょうか...? (テスト環境はローカル) 参照の追加ダイアログで確認する限り,DLLへのパスはあっています
602 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:58:44 ] ソケットでサーバーで接続元のIPアドレスとポート番号を取得するにはどうすればいい?
603 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 11:24:11 ] Socket クラス使ってんなら RemoteEndPoint があるだろ
604 名前:デフォルトの名無しさん [2008/02/14(木) 13:56:30 ] >>600 anonsvn.mono-project.com/Mono-1.2.6_openSUSE-10.3.i686.iso.torrent