1 名前:デフォルトの名無しさん [2008/08/20(水) 17:15:27 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part29 pc11.2ch.net/test/read.cgi/tech/1216734995/
24 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:26:21 ] >>21 お前さんがうだうだ考える程度のことはファイルシステムの設計者やWin32APIの設計者は考慮済みだと思うよ
25 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:37:45 ] >>21 [゚д゚] ・・・・。 /[_]ヽ | | ◆◆□□□□□◆◆■■■■■■■■
26 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:39:18 ] >>21 どうせ新しく書き出すなら、一旦別の名前で書き出してから (古いのを削除し)本来の名前に変えるようにしたほうがいい。 こうすると、もし書込み中に死んでしまっても、古いファイルが残っていて安心できる。
27 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 16:34:02 ] 断片化を気にする男の人って・・・・
28 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 16:36:48 ] そんなことより、きっちりかっちりシンメトリーかどうかを気にしろよ
29 名前:デフォルトの名無しさん [2008/08/22(金) 17:06:28 ] 普通の男なら気になるだろw
30 名前:デフォルトの名無しさん [2008/08/22(金) 17:07:30 ] >>1
31 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 19:06:29 ] ListBoxのオーナードローで、各項目に UserControlを貼り付けるようなことってできるのでしょうか?
32 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 19:20:22 ] >>31 WPFを使えば簡単にできるよ。オススメしたい。 オーナードローで多分できるとは思うけど、クリックイベントの処理とか面倒臭そう。 俺はオーナードロー使ったことないからあくまで想像だけど。
33 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 19:35:33 ] 知らないなら黙っててください 他の方お願いします
34 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 19:42:01 ] >>32 ありがd WPFちょっとさわってみます
35 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:37:08 ] >>33 何か面白いのか知らんが うざいだけだからもうやめろ
36 名前:デフォルトの名無しさん [2008/08/22(金) 20:39:32 ] 想像でラクガキするのも同罪と思うな
37 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:43:15 ] 俺様棚上げクンw
38 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:44:36 ] ほんと、知らなきゃ黙ってろって事、よくあるよね。 どんな神経してるんだろ。初心者スレで不確かな事言ってなんになるの?
39 名前:デフォルトの名無しさん [2008/08/22(金) 20:54:20 ] 猫でもわかるC#のホームページにC#フォーム編があるんですが、 これってVS2005の時にかかれたものみたいなんですが、VS2008でも フォームを作るデフォルトは代わってないですか?これより、VS2008 のフォームを作る勉強したほうがいいですか?
40 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:00:18 ] >>39 変わってないから安心しんさい
41 名前:39 mailto:sage [2008/08/22(金) 21:06:47 ] >>40 ありがとうございます。このページは結構親切にのっていて、 本を1冊やると同じくらいいいので、得しました。 多謝です。2000円浮いた〜。
42 名前:836 [2008/08/22(金) 21:51:13 ] 前回の>858 返事がだいぶ遅くなってしまいました。 3行目だけほしいという処理で、ぜんぶを読めといわれたので、なんとかトライしてみました。 が、どうしてもぜんぶを読めずにいます。 ソースは次のとおり。iとsとsrの名前を変えただけです。 ご呈示いただいたところだけだと、読み込みファイル名がなかったりするので、それを足したりしました。 アドバイスよろしくお願いします。
43 名前:836 [2008/08/22(金) 21:53:05 ] using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Diagnostics; using System.Text.RegularExpressions; class ReadWrite{ [STAThread] public static void Main(string[] args) { string fileName = args[0]; //引数をファイル名とします。 string[] lines = ReadAllText(fileName); //ReadAllTextは現在のコンテキスト内に存在しないそうです。どう定義したらいいんでしょう? それともこの行は不要? using(StreamReader readContents = new StreamReader(fileName, System.Text.Encoding.Default)); { string line = null; int lineNumber = 0; do { line = readContents.ReadLine(); //readContentsは現在のコンテキスト内に存在しないそうです。定義の位置が問題でしょうか? if(lineNumber == 3) { Console.WriteLine(line); break; } lineNumber++; } while (line != null); }}}
44 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:59:26 ] ReadAllTextとreadContentsを定義しろよ
45 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:10:18 ] ワロタ、usingの最後に余計なものが…
46 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:25:52 ] >>43 1. ReadAllText を Google 2. 前スレ858をあと100回読む
47 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:06:37 ] デリゲートってオブジェクト志向的には有りなんですか? なんか積極的に使っていいのか分からんのだけど。
48 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:15:03 ] オブジェクト指向の暗黒面に囚われてないかい?
49 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:21:46 ] >>47 オブジェクト指向って何だと思ってるの?
50 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:32:53 ] とりあえず「有り」か「無し」で。
51 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:35:08 ] とりあえず、『とりあえず「有り」か「無し」』かを迫るような 単細胞な質問は「なし」だな。
52 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:42:48 ] 必要性があるから存在するにきまってるだろう
53 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:43:09 ] 2択にしても難しい問題だったんだ・・・
54 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:46:53 ] 使わないと実現できない処理がある以上「有り」としか言いようがないでしょ。 「オブジェクト指向だから,これは出来ません」って通らないよね?
55 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:50:29 ] どうして「無し」と思うのか述べてみろよ。
56 名前:デフォルトの名無しさん [2008/08/23(土) 01:08:35 ] 暗黒面ってなんだよw 手続きの方がよっぽどカオスじゃんw
57 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:09:45 ] >>50 この「無し」ってのは君が理解してないだけ
58 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 02:26:13 ] UMLであらわせるれるかどうかと基準ならプロパティやenumだってなしだな。
59 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:51:57 ] >>47 オブジェクト志向的に…… 有りだとする。 →オブジェクト指向万歳ってことでどんどん使え。 無しだとする。 →C#はオブジェクト指向だけじゃないマルチパラダイム言語だから、 オブジェクト指向に捕らわれずどんどん使え。
60 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:03:11 ] プロパティの中身はメソッドの自動生成機能だし、 enumはクラスの自動生成機能でしょ? delegateもメソッド1つのインターフェース作ったりするのと 同じじゃない? ただの便利機能じゃないのか。
61 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:46:36 ] delegateは関数ポインタに近い機能と思えばよい、と何処かに書いてあった。 → ということは、過去の遺物を引きずっているのではないか? → 俺の知ってる最新鋭のオブジェクト指向言語に似合わない! ごめん、思考のトレースに失敗した。色々と無理があった。ごめん。
62 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:11:11 ] 結局、全ては機械語の構文糖衣なんだよ。
63 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:17:22 ] オブジェクト指向の既存の機能を使って実現したものでも、 それがオブジェクト指向であるかどうかとは無関係。 例えシンタックスシュガーであっても概念的に違うものになりえる。
64 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:19:54 ] >>62 それはいいすぎ 機能を実現するかどうかか、ではなくて、 どれだけ生産性を向上するかどうかがオブジェクト指向を使う意義なんだから
65 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:22:04 ] つまり、delegateはオブジェクト指向の概念と合わない?
66 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:24:54 ] なんでそうなるんぞ
67 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:29:31 ] delegateは、関数ポインタをクラスでラップしたものだね。
68 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:51:16 ] 女の子はデリケートだぞっ!
69 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:07:20 ] 関数ポインタというより委譲モデルを簡略化したと考えれば オブジェクト指向から外れてないと思うけどね。 javaのlistener/adapter型の委譲モデルも意地悪を言えば、 内部クラスや匿名クラスはオブジェクト指向かどうか疑わしいよ。
70 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:17:50 ] そうそう、関数ポインタって説明はあまり良い方向ではないと思う。 「処理」をカプセル化してオブジェクトとして扱えるようにしたもの という方向の方が、今時の思想にマッチしてる。 もちろん単純に関数ポインタイメージで使うことはできるが。
71 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:22:59 ] デリゲートに好きして
72 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:25:16 ] デリゲートのスコープの外の変数もちゃんと見れて、そのまんまで、あちこち受け渡しできるんだもんな。 すげーよ。
73 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:26:50 ] >>72 どういうこと? 詳しく
74 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:32:29 ] クロージャということ、これはさすがにオブジェクト指向というより関数型。
75 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:36:39 ] レキシカルクロージャとかいうやつ? よくしらんけど
76 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 12:00:31 ] クロージャってオブジェクト的とも見ることができる 詳しくはSICP
77 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:48:31 ] オブジェクト指向とは・・・ただの言葉じゃ
78 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 15:23:01 ] オブジェクト指向=良いもの オブジェクト指向との合致度が高い言語=いい言語 そんな盲目的な思い込みが罠なんだ
79 名前:デフォルトの名無しさん [2008/08/23(土) 16:19:42 ] 関数ポインタに毛が生えて好き物ってのでいいよ。
80 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 10:33:34 ] オブジェクト指向もパフォーマンス悪いし、匙加減が重要
81 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 11:34:37 ] C#でMDI フォームアプリを作成しています。 子フォームを最大化すると親フォームのメインメニューにアイコンが 表示されるのですが、これを非表示にするにはどうすればよろしいでしょうか?
82 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 11:29:13 ] Dictionary<key,value>で、valueを指定してkeyを探すことはできますか?
83 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 11:43:02 ] .Firstとか.Selectとか あとはforeach
84 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 11:45:08 ] SelectじゃなくてWhereだった…
85 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:00:28 ] >>83 ありがとうございます。 FirstやSelectは初めて知りました。 しかし、なんでDictionaryにはFindやFindAllが無いんだろう
86 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:09:43 ] Key使わない検索じゃDictionaryの旨みが無いから?
87 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:56:40 ] まあ、検索スピード欲しけりゃ逆引きの方のDictionaryも用意すべきだし。
88 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:59:26 ] class 逆引きつきDictionary<TKey, TValue> : IDictionary<TKey, TValue>{ private Dictionary<TKey, TValue> 順引き辞書; private Dictionary<TValue, TKey> 逆引き辞書; void Add(TKey key, TValue value){ 順引き辞書.Add(key, value); 逆引き辞書.Add(value, key); } bool Remove(TKey key){ TValue v = 順引き辞書[key]; 逆引き辞書.Remove(v); return 順引き辞書.Remove(key); } TKey 逆引き(TValue value){ return 逆引き辞書[value]; } … } これはねーか
89 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:05:56 ] valueが重複したらアウトじゃねえかw
90 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:50:12 ] なるへそじゃあ void Add(TKey key, TValue value){ if(逆引き辞書.ContainsKey(value)) throw new valueが重複してますよExeption(); 順引き辞書.Add(key, value); 逆引き辞書.Add(value, key); } っていう風になるのか?
91 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 08:06:34 ] >>90 それか、逆引きの側は Dictionary<Value, HashSet<Key>>。
92 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 13:34:59 ] フォーム内にWebBrowserコントロールを追加しているのだが、 その中の任意のポイントにクリックを発生させるにはどうしたらよいのだろう? Cursor.Position = webBrowser1.PointToScreen(new Point(webBrowser1.Location.X + 50, webBrowser1.Location.Y + 50)); のような感じでマウスカーソルを希望するところに持っていくことはできたのだが、 そこにクリックを発生させる方法がわからない。 もしかしたらSendMessageでLEFTDOWN->LEFTUPでクリックを送ればいいのかと思ったけど、 今度はwebBrowser1のいわゆるhWndを取得する方法がわからない。 誰かお助け下さい。
93 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 13:38:18 ] SendInputが一番楽じゃね
94 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 13:52:00 ] Flashなどの組み込みオブジェクトではなく単にリンクやボタンなどのHTMLエレメントなどを 操作したいというのであればHTMLDOMつかってInvokeMember(マネージDOMの場合)で Clickメソッドを実行したほうが楽と思われるが。 まあ、わざわざマウスクリックをしたいといってるから組み込みオブジェクトの可能性が高いなw SendMessageではなく、mouse_eventというAPIを使ってみれば?こっちだとhWnd不要だから
95 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 14:05:03 ] >>93 なるほど、そんな関数があったのね。 homepage3.nifty.com/midori_no_bike/CS/index.html?userIO.268 ここを見て、うまくいきました。 ありがとうございます。
96 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 14:20:30 ] private setの自動プロパティにreadonlyが付けられたらいいのに コンストラクタで初期化して以降変更しないものでも 自動プロパティが便利だからついreadonlyフィールド使わなくなっちゃうんだよね 独り言
97 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 14:22:28 ] aho
98 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:35:53 ] {0}をコンソールに表示する方法おしえてください
99 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:40:24 ] Console.Write("{0}");
100 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:43:46 ] エスケープの方法はヘルプの「複合書式設定」参照
101 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:54:47 ] public struct MyStruct { public MyStruct(long value) { this.TotalValue = value; } [FieldOffset(0)] public long Total; [FieldOffset(0)] public short Value1; [FieldOffset(2)] public short Value2; [FieldOffset(4)] public short Value3; [FieldOffset(6)] public short Value4; } //コンパイルエラー フィールド 'Value1~4' は、コントロールが呼び出し元に返される前に割り当てられている必要があります。 ちゃんと割り当てられてるじゃんね。意外とコンパイラもお馬鹿さんだな。 まーどーでもいいことなんだけど、過疎ってるからネタを投下してみた
102 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:56:14 ] struct MyStruct{ public MyStruct(long value){ this.TotalValue = value; } [FieldOffset(0)] public long TotalValue; [FieldOffset(0)] public short Value1; [FieldOffset(2)] public short Value2; [FieldOffset(4)] public short Value3; [FieldOffset(6)] public short Value4; } コードミスったのはご愛敬で
103 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:57:24 ] [StructLayout(LayoutKind.Explicit)] struct MyStruct{ public MyStruct(long value){ this.TotalValue = value; } [FieldOffset(0)] public long TotalValue; [FieldOffset(0)] public short Value1; [FieldOffset(2)] public short Value2; [FieldOffset(4)] public short Value3; [FieldOffset(6)] public short Value4; } 属性付け忘れもご愛敬で。。。 スレ汚しすまない
104 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:02:22 ] いや、コンストラクタで初期値セットせな
105 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:04:39 ] Console.Writeline("{{0}}", 10); で {10} を期待したところ ぶーぶー 言われました >>100 さん、ありがとうございます おかげさまで解決しました >>99 さん、二度とくんな
106 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:06:11 ] 98 :デフォルトの名無しさん [↓] :2008/08/28(木) 16:35:53 {0}をコンソールに表示する方法おしえてください 105 :デフォルトの名無しさん [↓] :2008/08/28(木) 17:04:39 >>99 さん、二度とくんな wwwwwwwwwwwwww
107 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:10:40 ] >>99 はたしかに{0}が出力される。 引数無いとそのまま出るみたいよ。 よって、>>98 の質問の答えにはなってる。
108 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:11:20 ] つーか最初から>>105 の内容で質問すりゃいいのに。
109 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:20:27 ] 100の先もエスケープには限界あるから分けて出力する必要があるかもよって書いてるしな
110 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:28:45 ] 夏だねぇ
111 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 18:24:32 ] >>110 そのセリフはちょびっと遅いぞ。 言ってみたかったの? 来年またトライしてみよう!
112 名前:デフォルトの名無しさん [2008/08/28(木) 19:24:54 ] 一生懸命勉強して、大きなプログラマになるんだ!
113 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 20:14:11 ] System.Security.AllowPartiallyTrustedCallersAttribute というエラーが出てJScriptからDLLを呼び出せません… 呼び出せるDLLと呼び出せないDLLがあるのですけれども どこが違うのでしょうか?よろしくお願いします m(_ _)m www.isla-plata.org/wiki/pukiwiki.php?%B3%AB%C8%AF%A5%EA%A5%BD%A1%BC%A5%B9%2FJScript%2F%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%AB%A4%E9.Net%20Framework%A5%AF%A5%E9%A5%B9%A4%F2%CD%F8%CD%D1%A4%B9%A4%EB%A1%CA%A5%CE%A5%A6%A5%CF%A5%A6%CA%D4%A1%CB
114 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 20:35:51 ] ・セキュリティ上好ましくない為、部分的に信頼されたアセンブリは、厳密な名前付きのアセンブリを呼び出す事ができない。 それだと不便なのでAllowPartiallyTrustedCallersAttributeが付いた物に限り、利用可能になっている。 詳しくはMSDN見て来い
115 名前:デフォルトの名無しさん [2008/08/29(金) 02:06:09 ] public int hoge(ここでエンターキー) ↓ public int hoge { } 上のようにエンターキーでブロックが自動挿入されるように出来ないでしょうか? VBから移行してきたばかりなので入力に手間取ってしまいます。
116 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 02:09:24 ] 一生VBやってればいいよ こっちくんな
117 名前:115 mailto:sage [2008/08/29(金) 02:11:02 ] 自己解決しました 自動で複数行ブロックが挿入されるようにすると全部複数行になってしまうんですね・・・
118 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 02:12:01 ] >>116 はじめまして。
119 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 02:27:04 ] C#はいちいち面倒なことが多くて、やっぱりVBの方がいいですよ。
120 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 02:28:40 ] ID出してくれええ
121 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 02:49:25 ] 誰だお前?死ねよ
122 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:59:15 ] 言語に優劣をつける気はないが、VBの If a = b Then だけはどーーしても違和感&不安になる
123 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 04:00:27 ] 自分の場合、ときどきIf a == b Thenって書いちゃうよ。
124 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 09:15:44 ] VBの場合>>115 みたいな機能が無いとタイプ量が多すぎるからな C#でもifとかforとか使うときにコードスニペットが使えるよ