1 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:47:07 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part41 pc12.2ch.net/test/read.cgi/tech/1244259018/
331 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:27:51 ] C#のGUIエディタで、 パネル上にエディタ等があるとして、そのエディタを移動させようとして カット&ペーストすると、エディタのイベント情報がすべてなくなりますよね。 イベントをすべて保持したまま親コントロールだけをかえたい場合はどうすればよいですか? コントロールをコピペしてもイベントがリセットされない方法はありませんか?
332 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:28:52 ] 気付かずExpress使い続けてるような奴はそもそもStandard買う意味ねーな
333 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:35:16 ] >>331 親変えるだけならドラッグでよくね?
334 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:39:33 ] 買ったのに使ってなかったとかワロテマウwww
335 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:11:22 ] >>331 ドキュメントアウトラインのツリーでドラッグして動かす。 やってみたら目からウロコ。
336 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:04:51 ] standard買うやつってなんなの? MFCいらなきゃEEじゃないの?
337 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:14:10 ] >>336 えっ?
338 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:40:12 ] WM6でFTPクライアントクライアントを作ってるのですが WindowsMobileのFormってサイズ指定しても反映しないのですか? TCPListenerとかでFTP部分は書けたのだけど、情報少なくて四苦八苦してます CompactFrameworkの話はスレ違いかな?
339 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:48:46 ] Windows.Formsの話も本来はスレ違いな気がするのでいいんじゃないでしょうか。 >>338 の質問も、言語がC#だろうがVBだろうがIronPythonだろうが、一字一句 違いませんよね?でもそれはCompact Frameworkだからではありません。
340 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 06:34:57 ] >>338 >WindowsMobileのFormってサイズ指定しても反映しないのですか? 現状はしない。ある意味ウィンドウシステムじゃないから。 FormのSizeはCompactFrameworkではサポートしていない。(ヘルプのバージョン情報参照)
341 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:14:42 ] >>340 ありがとう。ヘルプを頼りにしてみます
342 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:39:27 ] MFCとC#Formってどっちが速度速いですか? 最近MFCは何やっても動作がカクカクで嫌になってきたんですが C#Formで作っても動作はかわらないですか?
343 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:40:08 ] accessにデータを追加する時 com = new System.Data.OleDb.OleDbCommand("insert into table111(code,name) values(222,'あああ')", conn); は出来るのに int aaa = 222; string bbb = "あああ"; com = new System.Data.OleDb.OleDbCommand("insert into table111(code,name) values(aaa,bbb)", conn); だと出来ません。valuesの後()の中は変数ではいけないのですか?
344 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:44:57 ] パラメタライズドクエリとか調べれ
345 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:53:20 ] >>343 変数の名前だけ渡したってしょうがないだろ。 そのままやるならstring.formatをかける。 ただしそれではSQLインジェクションを本質的に防げないから、>344になる。
346 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:55:00 ] >>344 ,345 ありがとうございます。 パラメタライズドクエリ、SQLインジェクション調べてみます。
347 名前:デフォルトの名無しさん [2009/07/04(土) 17:38:12 ] クラスやメソッドごとに辞書形式で利用方法や利用例を記載した本はないでしょうか。 和書でも洋書でもいいです。金額も問いません。
348 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:42:57 ] APIのオフィシャルリファレンスですら上下刊で1600ページくらいあって、それでも網羅し切れていないというのに
349 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:45:08 ] 地球の資源がヤバい
350 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:51:17 ] 本は更新できないんだと思い知ってリファレンスブックの類を買うの止めたな。
351 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:54:53 ] MSもCランタイムライブラリみたいに各ページに用例をつけてくれればいいのに、とは思うね。 MSDNのクラス自体の説明文では何がなにやら分からないことが結構ある。
352 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:58:15 ] 昔に比べりゃ大分マシにはなってるけどな〜。 msdn.microsoft.com/ja-jp/library/ath1fht8.aspx 書く方もおっついてないんだろうなあ。
353 名前:デフォルトの名無しさん [2009/07/04(土) 18:56:15 ] ご回答ありがとうございます。 紀伊国屋書店のHPに bookweb.kinokuniya.co.jp/htmy/0470472057.html がありました。 この本はいかがでしょうか…。 業務プログラム構築に支障のない程度のクラスの説明があれば買いたいですが、 立ち読みができないのがつらいです。 英文を読むのは苦じゃないのでアメリカに行きたいくらいですが、 割が合わないかもしれず、お金もありません。
354 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:29:18 ] 緑のバイクさんの数値/文字列の場所に >文字列の検索 (一般) >文字列の検索 (正規表現) >文字列の置換 (一般) >文字列の置換 (正規表現) とありますが、一般と正規表現の違いはなんですか? 正規表現でやったほうが効率がいいってことですか?
355 名前:デフォルトの名無しさん [2009/07/04(土) 20:42:54 ] 正規表現はパターンマッチング 一般は特定文字列
356 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 21:42:32 ] >>353 入門書を選ぶならいいが、実務で使うとなると、もはや紙の本なんか役に立たん msdnを読め
357 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:08:53 ] ビルドのプラットフォームの項目にAny CPUしか選択肢が無いのはEEだからなのでしょうか?
358 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:18:08 ] うん
359 名前:デフォルトの名無しさん [2009/07/05(日) 00:31:36 ] オプションで ビルド構成の詳細を表示 だったかな
360 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 02:52:26 ] そっちはDebug/Releaseじゃないか? AnyCPUはEEじゃなくても新規作成ししたプロジェクトならそうじゃないかな。 AntCPUの下の構成マネージャーから自分で追加する。
361 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 02:55:27 ] ってAnyCPUのほうも「ビルド構成の詳細を表示」をオンにしないと 変更できないね、すまん。
362 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:09:29 ] Environment.NewLineの中身を判別することは出来るのでしょうか?
363 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:29:36 ] テキストファイルについて教えてください。 あるロガーが掃き出すテキストファイルに「1AH」(CTRL+Z)が含まれて いるのですが、1AH以降を取り除くにはどうすればいいでしょうか? コマンドプロンプトでテキストファイルをバイナリモードでコピーするという 方法で除去できましたが、C#に用意されている機能で除去できないかと 考えています。 よろしくお願いします。
364 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 07:56:35 ] >>362 stringなんだからLengthやIndexOf使えば調べられるが >>363 IndexOfとSubstring \xとか\u
365 名前:デフォルトの名無しさん [2009/07/05(日) 08:46:20 ] 今、VS2008をインストールしていますが、 VB6.0も使用するにはどのような環境にすればよいでしょうか。
366 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 08:50:18 ] 古い方を先にインストールってのが基本だが
367 名前:デフォルトの名無しさん [2009/07/05(日) 09:02:51 ] >>366 ありがとうございます。 ということは、VB6.0を別途購入し、 VS2008アンインストール ⇒ VB6.0インストール ⇒ VS2008インストール の流れでいいでしょうか。
368 名前:デフォルトの名無しさん [2009/07/05(日) 09:04:07 ] よく見る、 "object sender, EventArgs e" とはどういう意味ですか?
369 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 09:07:10 ] >>367 うん 今時VB6なんか売られてるかどうかしらんけど
370 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 09:16:25 ] >>368 メソッドの引数 はともかくとして イベントが起こったときに呼び出されるメソッド(イベントハンドラ)に推奨されてる引数の形式 第一引数はobject型 イベントを起こしたオブジェクトが入る ボタンクリックならButtonオブジェクト 第二引数はEventArgsかその派生型 イベント特有の情報が入る MouseDownなら押下されたマウスのボタンや位置の情報 EventArgsは特有の情報がないときに使われる
371 名前:デフォルトの名無しさん [2009/07/05(日) 09:16:34 ] >>369 ありがとうございます。 そのとき、VB2008とVB6.0が併存できるようにすることは可能でしょうか。 何度も質問ですみません。
372 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 09:25:03 ] 365・367と同じ質問に見えるが、VS2008とVB2008EEとVB6を入れたいってことなのか? まあ全部できるけど
373 名前:デフォルトの名無しさん [2009/07/05(日) 10:10:56 ] >>372 VC#と、 VB2008と、 VB6.0で開発を行う可能性があるので、 同じPCに入れておきたいんです。
374 名前:デフォルトの名無しさん [2009/07/05(日) 11:06:17 ] >>370 ありがとうございますっ!
375 名前:デフォルトの名無しさん [2009/07/05(日) 11:08:51 ] >>370 "e"はどういう意味なんだろ。 今まで意識したことなかった。
376 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:22:29 ] 名前付けのガイドラインに真っ向から反するよな eventArgsでいいじゃねえか
377 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:24:44 ] 本当の名前は eの後ろにつくから、とか
378 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:30:04 ] > パラメータ名と型を見ただけでパラメータの使用法が判断できるような名前にする がパラメータのガイドラインだが イベント引数はパラメータ名いらないのよね 型で判断するもんだから
379 名前:デフォルトの名無しさん [2009/07/05(日) 11:35:00 ] MSDNで"eventArgs"を調べたけど、 意味がさっぱり分りません。 使用するときはあるのでしょうか(-_-;)。
380 名前:デフォルトの名無しさん [2009/07/05(日) 11:36:37 ] >>378 すみません、イベントハンドラの引数が2つあるということですかね?
381 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:49:14 ] >>378 誤解していたわ。良く分かった。
382 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:54:51 ] >>380 なにを378に聞いてるのかよくわからんが イベントハンドラの引数は普通2つ、senderとe イベント引数は一般にeの方だけ指す、と思う
383 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:58:44 ] たとえば「int a, String b」ってのは、int型の変数a、string型の変数bって意味だ。 intとstringは型、aとbは変数名。これはわかるよな? 同じように「object sender, EventArgs e」ってのはobject型の変数sender、EventArgs型の変数eってこと。 なんで「e」なんてわかりにくい名前に決めたのかは不明だが、何か歴史があるんだろうなあ。
384 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:05:02 ] >なんで「e」なんてわかりにくい名前に決めたのかは不明だが、 それを話してたんじゃないの?
385 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:36:05 ] int iと同じで、型の頭文字じゃない?設計者がすげー年輩でFORTRANを意識したとか。
386 名前:デフォルトの名無しさん [2009/07/05(日) 12:42:35 ] >>383 なるほど!分かりやすい説明感謝です。 "eventArgs e"とは別の引数が使われるケースもあるのかなぁ。 見たことない(+_+)。
387 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:47:43 ] >>376 ヘルプからして e だもんなぁ。 >>379 イベントハンドルデリゲートで特化した場合に使う。 例えば MouseEventArgs では、 マウスのどのボタンが押されたか マウス ボタンが押されて離された回数 マウス ホイールの回転回数を表す符合付きの数値 マウス イベント生成時のマウスの位置 などが入っている。 つまり、むっちゃ重要で使いまくり。 EventArgs は単に基本クラス。
388 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:59:07 ] とりあえず例外キャッチしようとして catch(Exception e)って書いて 「既に定義されています」って言われるとイラッと来る。
389 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:02:12 ] だからExceptionはexにする もうそういうふうに指が動くようになってる
390 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:02:15 ] 例外はexでキャッチするようにするといいよ
391 名前:デフォルトの名無しさん [2009/07/05(日) 13:02:51 ] 静的メソッドとインスタンスメソッドのちがいはなんですか? いろんなHPを読んでもイメージがさっぱり掴めません。
392 名前:デフォルトの名無しさん [2009/07/05(日) 13:04:55 ] catch(Exception ex) ってどういう命令なのですか?
393 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:05:53 ] 命令じゃない。例外ハンドラ。
394 名前:デフォルトの名無しさん [2009/07/05(日) 13:12:19 ] EventArgs ってどう読むの?「イベントオーギュス」?
395 名前:デフォルトの名無しさん [2009/07/05(日) 13:13:29 ] 「catch」だけのときと 「catch(Exception ex) 」のときで、処理はどう変わるの?
396 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:17:23 ] イベントアーグス
397 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:18:05 ] いい加減一度死んでから入門書買いに行け。
398 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:26:43 ] Argsはargument(アーギュメント)の複数形argumentsの略。略するのはC言語の名残 無理に発音するならアーギュスだけどみんな好き勝手に読んでる JISでは読み方は規定してなかったよね?
399 名前:デフォルトの名無しさん [2009/07/05(日) 13:26:49 ] >>397 それは言い過ぎ…
400 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:27:52 ] お次は なんで例外は変数はeやexと分かりにくい名前をつけるの? xxExceptionでいいじゃないかとかいった質問がきそうだな。
401 名前:デフォルトの名無しさん [2009/07/05(日) 13:28:35 ] >>391 生成しなくても使えるのが静的 生成してできたものがインスタンス
402 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:29:56 ] そんなの 非常に狭い部分でしか使わない変数に名前を考えるのが面倒くさい でいいじゃん
403 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:32:40 ] >>391 静的クラスはプログラムの実行開始時に自動的にインスタンスが一つ作られる。 だからいつでもすぐに使うことができる。早くて便利。ソースも少しだけすっきりする。 だけど開放することはできないからあんまり巨大な静的クラスは作らない方がいい。
404 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:36:43 ] クラスじゃなくて静的メソッドといってるっぽいよ。 難しく言えばメソッドに暗黙のthisを渡すかどうかの違い。
405 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:38:49 ] 別に、自分で (object obj, EventArgs evags) とか、好き勝手に書き換えてもいいんだぜ?ローカルな変数名なんだから。
406 名前:ちら裏 mailto:sage [2009/07/05(日) 13:42:37 ] >>391 イメージは自分で作るものだからなぁ。 俺のイメージだと、 クラスってのはクラスローダが自動的に作った「設計図オブジェクト」のシングルトン インスタンスで、そのメソッドとメンバ変数が静的になるのは、「自動的」に作られた 「シングルトン」だからなだけ。 このイメージの利点は、クラスとインスタンスを同じ仕掛けとして認識できること。 そういう糖衣構文だと思ってる。あくまで個人的に。
407 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:47:39 ] >>406 Smalltalkのクラスはメタクラスのインスタンスである、とかの話に似てるな 正直よくわかってないけどw
408 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:13:33 ] >>391 staticメソッドというのは、実態はただの関数だ。それがクラス定義のスコープの中にあるだけ。 インスタンスを作らないと原則呼び出せない通常のメソッドとは全然違う。 >>406 クラスがオブジェクトの設計図というのは間違ってないが、シングルトン関係ない。 クラスを判子と例えるなら、インスタンスは判子を押したここの契約書だ。
409 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:28:31 ] >>408 いや、静的にということは、この場合ではクラスメンバにアクセスするときに同じ インスタンスにアクセスすることを要請している、これはシングルトンが保証して いるわけだからメチャ関係ある。 インスタンス化しないで使える(==自動的)、メンバが静的(==シングルトン)。
410 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:46:08 ] イメージ的にはシングルトンインスタンス Hoge hoge = Hoge.getSingleton(); のインスタンスメンバは、クラスメンバであるかのように使える事と同じイメージ。
411 名前:デフォルトの名無しさん [2009/07/05(日) 14:51:48 ] シングルトンって何?
412 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:53:42 ] >クラスメンバであるかのように class Hoge { public static int id; public static void func() {...} } を Hoge.id とか Hoge.func() とするように class Hoge { public int id; public void func() {...} public static Hoge getSingleton() {...} } で、先の hoge だと hoge.id とか hoge.func() と書けるという意味ね。
413 名前:デフォルトの名無しさん [2009/07/05(日) 14:53:52 ] >>391 が段々混乱しているかもしれないな…。 本よりも高度な説明が繰り広げられているから…。
414 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:55:22 ] 概念的な話まで持ち込むのはオーバーじゃねえの 使い方だけ説明しておけばいいだろ そのうち分かるようになる
415 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:58:12 ] >>411 >シングルトンって何? ja.wikipedia.org/wiki/Singleton_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 設計だと頻出単語というか常識レベル。
416 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:05:54 ] 概念の話は難しいかもしれないな。 クラスもオブジェクトと考える言語の系統と、C++のようにそう考えない系統があって C#やJavaはその中間的な感じなんだよね。 静的クラスをシングルトンと考えるのは前者。 C#はクラスローダレベルで見ると前者っぽいけど基本的な考え方は後者に近い。
417 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:13:50 ] C++とC#で違うんだよな。 C#のほうがより厳密なんだっけ? C++はどちらでも使いようが可能なんだよな 切り替えて使うときどうしても混乱してしまう。
418 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:33:38 ] タイヤキの型とタイヤキ の説明でいいんじゃねぇの
419 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:41:34 ] 入門段階だとその考え方のほうが無難だな。 型は初めからそこにあるものってことで、 静的メソッドは型とともにはじめからそこにある。 リフレクションやらstaticイニシャライザのことはしばらく置いておこう。
420 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:42:42 ] クラスとインスタンスの違いなら、それでいいんだけど。 クラスメソッドとインスタンスメソッドの違いだからなぁ。
421 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:46:03 ] 具体的にどぞ
422 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:49:37 ] タイヤキの型に付いてるボタンとタイヤキについてるボタン
423 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:04:21 ] もうそれでいいよ 俺はタコヤキの型に付いてるタコとタコヤキに入っているタコだし
424 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:29:29 ] タコヤキは人間が回してやらないと丸くならないぞ。クラスと考えるには不完全だ。
425 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:33:30 ] 408だが、クラスオブジェクトがJavascriptやSquirrelみたいに ファーストクラスオブジェクトならばそう言えないことも無いかもしれないが、 (特にSquirrelのクラスオブジェクトはまさに雛形的な動作をするようにできている。 メンバ変数の初期値を決められるだとかインスタンス初期化は クラスオブジェクトのテーブルからのベタコピーだとか) しかし、JavaやC#は専用の名前空間があって基本的に上書きはできない。 またインスタンス化やシングルトンの概念と関係なくWin32Apiのラッパとして仕方なく staticメソッドとして定義していかないといけないことが頻繁にあるので、 (C#はグローバルな関数が書けない) そういう考え方は頷けないものがある。
426 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:33:32 ] 自動でひっくり返すのもありますぅー
427 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:35:30 ] 静的クラスを作るとその静的クラスの中で自分自身を呼び出す なんてパラドキシカルな手段が講じられるようになるんだよね。 初めてその概念に触れたときは理解するまで時間がかかったw
428 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:39:30 ] 自分自身を呼び出すリカーシブプロシージャなんてアルゴリズムの基本じゃん 情報系の勉強してれば必ず出てくる どうやって実装するかは処理系によって変わるけど
429 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 17:41:35 ] >>427 なんか面白そうなんで、いっちょ実例を教えてくだされ
430 名前:デフォルトの名無しさん [2009/07/05(日) 18:44:08 ] 初心者板とは思えない…。 で、、、、静的メソッドって結局なんなんだろう。
431 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 18:46:23 ] ここは初心者向けにえらそうなこと言うためのスレだから。
432 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:11:28 ] 子供は無邪気に「宇宙ってどれくらい大きいの」とか難しいこと聞くからなぁ。
433 名前:デフォルトの名無しさん [2009/07/05(日) 19:12:52 ] みんなはjavaの経験もあるの? わたしはCobolerからC#への転身なので全く何も分からないよ(-_-;)。
434 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:20:00 ] HSPからC#に来ました 他の言語 シラネ
435 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:28:32 ] 質問があります。 リストからgetfilesを取得して、deletefilesを取り除いて、重複をのぞいてリスト化するには、どうしたらよいでしょう? 次のようにしてみたのですが、 string[] deletefiles = {".cs","(2)","zip","cab"}; string[] getfiles = {"txt","jpg"}; string[] files = Directory.GetFiles(@"C:\Documents and Settings\username\Recent", "*.lnk"); string text = ""; foreach(string file in files) { foreach(string deletefile in deletefiles) { foreach(string getfile in getfiles) { if (file.ToLower().Contains(getfile.ToLower()) && !text.Contains(file)) {if (!file.ToLower().Contains(deletefile.ToLower())) text = text + file + "\r\n"; }}}} ○のみを抽出したい。 2009/07/04 19:41 597 01.txt.lnk ○ 2009/07/02 11:48 573 124642979292o.jpg.lnk ○ 2009/07/04 22:22 482 1553ea4.jpg.lnk ○ 2009/07/01 00:55 567 2009_0701twitter.txt (2).lnk 2009/07/01 00:49 567 2009_0701twitter.txt.lnk ○ 2009/07/04 17:32 750 Program.cs.lnk 2009/07/02 17:33 579 SimpleBrowser.lnk なのに、出力結果には、 Program.cs.lnk が含まれたりします。 アドバイスお願いします。
436 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:39:20 ] 静的メソッドからフィールドにアクセス出来ない理由がようわからん(´・ω・`) C++ならできたはずだが・・・
437 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:48:39 ] >C++ならできたはずだが・・・ いや、それはない。 まあ引数にthisを渡すなら出来なくはないけどね。
438 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:00:11 ] >>435 ステップ実行してみたら?
439 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:03:58 ] >>435 読ませる気無いだろこのコード 処理を二回に分けて考えたほうがいい List<string>でも用意しておいて まずfilesの中からgetfilesを持っているのをList<string>に格納する その後そのListからdeletefilesが含まれているのをtextに追加していく そういう処理のチェーンを簡単に書けるのがLinq
440 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:04:04 ] >>436 インスタンスメンバにアクセスできたら、静的メソッドじゃないじゃん。 静的メンバってのは、そのクラスの全インスタンスで共有されるんでしょ。
441 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:06:21 ] (´・ω・`)ヤダ
442 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:10:47 ] >>440 それじゃ静的メソッド内で一時的に変数に値を保存しておきたいときとかどうするの(´・ω・`)?
443 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:12:38 ] >>442 静的メソッドでそういうのするのは極めて不穏だが 静的フィールドに格納すればいい
444 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:23:51 ] >>442 状態を保存したいなら 引数で渡すようにするか、静的メソッドやめてインスタンス変数に格納しろよ。
445 名前:デフォルトの名無しさん [2009/07/05(日) 20:29:31 ] 状態持っちゃって呼び出す度に結果が変わったりしたら実質的に静的とは呼べない
446 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:08:32 ] >>403 でたらめ言ってんじゃねー
447 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:10:07 ] >>445 状態を持たないという意味で用いられる用語は「静的」ではなく「純粋」。
448 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:19:05 ] なんだそれ
449 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:19:16 ] >>446 C#2008の仕様ではインスタンス化のタイミングは定義されてないけど、 現実には実行開始時でいいんでないの? そういうツッコミじゃなくて?
450 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:22:23 ] 失礼します C#で帳票作成するとき皆さんどうしてますか グレープシティーのActiveReportsですか それともクリスタルレポートですか それともSQLSERVERについてるレポーティングサービスですか それともジャイブレポートですか それともExcelとかPDFにはいてます? 無料ならPDFなんですかねえ? どうなんでしょう お勧めありますか
451 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:25:26 ] iText で PDF 作ってる。
452 名前:デフォルトの名無しさん [2009/07/05(日) 22:31:57 ] >>446 初めてそのクラスを使おうとしたときに静的メンバが初期化されることが多い 言語仕様上は、「使う前には初期化されていることが保証されている」だけ
453 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:32:15 ] >>449 そもそもインスタンスなんて作られない。 それとも別のものをインスタンスと言ってるのか? Typeとか?
454 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:37:16 ] >>450 ReportingServiceはお勧めしない。 素直にActiveReports使った方が良い。
455 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:52:00 ] 静的クラス ttp://msdn.microsoft.com/ja-jp/library/79b3xss3.aspx
456 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 23:21:11 ] ActiveReports買いたいけど会社が買ってくれないので itext調べてみます く^^
457 名前:デフォルトの名無しさん [2009/07/06(月) 04:11:13 ] vc#保存したやつ開けないんだけど、なぜだorz
458 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 15:09:02 ] >>435 を>>439 の方針で匿名メソッドでやってみた。かなりきもくなった。 // OKワードのどれかを含む要素を配列strsから取り出すメソッド string[] selectOK(string[] strs, string[] OKwords) { return Array.FindAll(strs, delegate(string s) { return Array.Exists(OKwords, delegate(string word) { return s.IndexOf(word, 0) >= 0; }); }); } // NGワードのどれかを含む要素を配列strsから取り除くメソッド string[] deleteNG(string[] strs, string[] NGwords) { return Array.FindAll(strs, delegate(string s) { return Array.TrueForAll(NGwords, delegate(string word) { return s.IndexOf(word, 0) < 0; }); }); } ↓ string[] deletefiles = {〜}; string[] getfiles = {〜}; string[] files = Directory.GetFiles(〜); files = selectOK(files, getfiles); files = deleteNG(files, deletefiles);
459 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:32:51 ] Array.HogeHogeなんていう化石メソッドの嵐やるぐらいならLINQで書こうよー
460 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:34:17 ] LINQおそいじゃん
461 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:51:36 ] え?
462 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:59:27 ] LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?
463 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:01:44 ] え?
464 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:05:25 ] Recentの中身なんて10000ファイルあるわけでもなし。
465 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:25:07 ] >>460 5〜10%のロスを遅いとは言わない。
466 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:28:55 ] その遅さは致命的だな。
467 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:31:24 ] 一体何ファイル処理するおつもりで。 500万ファイルくらいかな?
468 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:55:25 ] >>466 うん、致命的だから使わなければいいと思うよ 俺は10%の高速化より、コーディング時間1/3の方を取るけど
469 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:58:25 ] テストまで1/3にしないでください。
470 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:02:29 ] LINQは書きやすいけどデバッグしづらいよ 皆どうしてんだろ
471 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:17:24 ] お前ら初心者用スレで何の話してるの? 本職はマ板にでも消えてくれ。
472 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:21:56 ] は?
473 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:31:52 ] ん?
474 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:33:28 ] こ?
475 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:33:53 ] お?
476 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:39:50 ] ち?
477 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:53:56 ] >>470 具体的には何が問題になってます?
478 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:03:12 ] forループを逆アセンブルしたら、まずいきなりループの終わりにジャンプして、 そこでカウンター値をチェックしてからループの入口にもう一度ジャンプして 1回目の処理を開始するというコードになってて吹いた。 てっきり、もっと効率のいいコードを吐いてるもんだと思ってたのに。
479 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:22:34 ] >>478 ILの出力であればそんなもんでは、CPUごとのカスタマイズはJITの仕事だし
480 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:29:45 ] コードは完成してからベンチしろー。 完成前にあれこれ考えるな時間の無駄だー。 ってスティーブ・マコネルが言っていたよ。 不必要な高速化にかまける馬鹿が多いってさ。 だったらその時間使ってテストしろボケ。
481 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:30:21 ] たしかに、アセンブラのLOOP命令は基本的にループの終わりでECXをチェックするから、 JIT通すと最適化されるんかな。
482 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:32:44 ] 色々なCPUに対応するには、不用意に情報を取り除きすぎないようにしないと、高速化のヒントまで削ってはダメだからな
483 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:07:51 ] return return; のようなことはできないの?
484 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:09:41 ] 意味が分からない
485 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:19:24 ] リンダリンダみたいな感じ?
486 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:33:30 ] Return to Myself しない、しない、ナツ
487 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:37:57 ] return @return; なら記述可能だな ただのネタだが
488 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:18:01 ] アセンブラならできるけどC#なら無理だな。 そういうスパゲッティコードを書きたいならC、C++使え。
489 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:44:21 ] >>487 を見て意味がわかった >>488 を見て再びわからなくなった
490 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:32:44 ] C#のバージョンについて教えてください。 ttp://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ ここからC#をダウンロードしました。 これは特定のバージョンのコンパイラなのでしょうか? それともどこかで設定できるのでしょうか? またバージョン間の互換性はどうなっていますか? 1.0用のソースは2.0と3.0で、2.0用のソースは3.0でも問題無くコンパイルできるのでしょうか? 自分でも調べてみましたがコンパイラのバージョンなどがヒットしてしまいよくわかりませんでした。 よろしくお願いします。
491 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:49:41 ] C#と.NET Frameworkとで二つの側面があるが C#は今のところ後方互換性はほぼ完全に取れてる マルチバージョン対応なC#コンパイラは今のところ存在しないけど、 後方互換によって新しいコンパイラは古いバージョンのソースコードをコンパイルできる .NETの標準ライブラリもソースレベルではまず問題ない Obsoleteになったのもあるけど廃止になったのは記憶にない .NETは1.x系と2.0/3.0/3.5系(と今ベータ中の4.0)がある 3.0/3.5は2.0の追加ライブラリ的存在 VC#2008は開発ターゲットに.NET 2.0/3.0/3.5を選択できる C#3.0は.NET3.5と同時公開だが、C#3.0コンパイラで.NET2.0の開発もできる(というかVC#2008がそうやってる) ただラムダ式みたいな言語の機能はそのまま使えるが System.Linq名前空間下のクラスとかは.NET3.5で追加されたライブラリなので.NET2.0開発時には使えない
492 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 16:29:57 ] 詳しい説明、どうもありがとうございました。 とてもよく理解できました。
493 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:10:13 ] 使用しているパソコンのCPU使用率を取得するためにはPerformanceCounter以外にも方法はありますか?
494 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:12:13 ] めんどくさい。ない。
495 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 22:07:00 ] WMI 使って Win32_Processor クラスの LoadPercentage 取って来れないかな? めんどくさい。だな。
496 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:10:39 ] TypeBuilder.DefineProperty で動的にプロパティを生成しているのですが、 [Description("アアア")] public int MyProp{ ... } や、 [Category("イイイイ")] public int MyProp {...} などの属性をつけたいときはどうすればよいのでしょう?
497 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 05:31:27 ] SetCustomAttribute
498 名前:デフォルトの名無しさん [2009/07/09(木) 07:13:45 ] panelコントロールとgroupboxコントロールに違いに、 「キャプションを表示するかどうか」 という内容がありますが、 どういう意味でしょうか? ラジオボタンを配置してもラベルは表示されますし、 「キャプション」が何を指すかが分かりません(+_+)。 よろしくお願いします。
499 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 08:44:12 ] GroupBoxそのもののTextプロパティを表示するエリアがあるかどうか グループで括ると左上に名前が出るだろ
500 名前:デフォルトの名無しさん [2009/07/09(木) 08:47:07 ] >>496 まだやってんのか いい加減そんな不毛なこと止めてグリッド使ったらどうだ
501 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:30:14 ] >>497 どうもありがとう!! >>500 グリッドだとだめなんですよ.グリッドでプロパティグリッドを代用しようとすると、 列方向にプロパティ一覧(列によって型が異なる)、行方向に、オブジェクト一覧みたいなかんじになりますよね。 編集するオブジェクトはつねに1つでいいんです。 そうすると、常に1行で、編集可能なプロパティの数だけ列が存在する事になってしまいますよね(ヘッダ除く)。 オブジェクト1個に対して20のプロパティが存在するなら、 1行20列(ヘッダ除く)のとても使いにくいデータグリッドになります。 この場合、20行1列にしたい(ヘッダ除く) グリッドの、行と列の機能を入れ替えられれば良いんですが、
502 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:31:04 ] C#の勉強をちょっとしてみたいのですが、 まずはじめに、何と、何と、何を ダウンロードすればいいですか?
503 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:33:59 ] VisualStudio 2008 Express EditionとVisualStudio 2008 Express EditionとVisualStudio 2008 Express Edition
504 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:35:31 ] それはwindows2000でも動くのですか?
505 名前:デフォルトの名無しさん [2009/07/09(木) 12:39:12 ] 2000とか話にならない 最新のバージョンの.NETを使って作られたアプリケーションを動かすことすらできない
506 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:41:54 ] ネタでなくて、マジで2000だと開発できないの?
507 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:44:08 ] ネタではなくて、マジでサポート切れのOSで何しようって言うの?
508 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:44:22 ] できるよ
509 名前:デフォルトの名無しさん [2009/07/09(木) 12:46:07 ] .NET2.0までなら2000でも可能だけど旧バージョンの無料のVS2005は提供終了 XPを買うか、VS2005を買うか、テキストエディタとSDKで頑張るか
510 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:46:18 ] >>508 2000の場合は、何をダウンロードすればいい?
511 名前:デフォルトの名無しさん [2009/07/09(木) 12:57:59 ] Visual Studio 2005 ExpressのCDイメージは落とせるみたいだね www.microsoft.com/japan/msdn/vstudio/express/maninstall/
512 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:18:32 ] >>509 2008の一番グレードの低いやつは無料でゲットできなかったっけ?
513 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:20:46 ] できるよ
514 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:23:48 ] できるけど2000(笑)にはインストールできない
515 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:30:43 ] >>496 , >>501 SourceObjectからTypeDescriptor.GetProperties()でプロパティ記述子リストを取得。 名前を第一列に、値を第二列にバインドすればいいんじゃ? WPFでなら軽く作ったことがあるがそこまで難しくないし、というか知識ゼロからTypeBuilderの方がよっぽどきつい。
516 名前:501 mailto:sage [2009/07/09(木) 14:31:11 ] ん?それってもしかして 第1列はすべて読み取り専用文字列にして、 第2列は、行によってチェックボックスだったり、コンボボックスだったり、 テキストエディタだったり、というふうにできるということですか? だとすれば次につくるエディタはぜひそれでつくりたい。。。。 P.S とりあえず、動的なクラス+プロパティ生成によるプロパティグリッドの利用は、 これでほぼ思い通りにできるようになりました。どうもありがとう
517 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:01:07 ] >>503 VisualStudio 2008 Express Editionなんて無いよ
518 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:12:23 ] >>517 MSも各製品の総称として使ってるよ
519 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:25:16 ] 一連の流れを見てたらゲシュタルト崩壊してきた
520 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:41:14 ] できるないないあるよ
521 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:25:41 ] 最後のsが抜けてるとかスペースが足りないとかってレベルの揚げ足取りじゃない? 正確な製品名は ○ Visual Studio 2008 Express Editions × VisualStudio 2008 Express Edition らしいから www.microsoft.com/japan/msdn/vstudio/express/
522 名前:デフォルトの名無しさん [2009/07/09(木) 18:25:58 ] Windows XP Visual Studio 2005 Professional Edition .Net Framework 3.0を使いたいので ttp://msdn.microsoft.com/ja-jp/library/cc825663.aspx を参考に Windows Vista™ および .NET Framework 3.0 ランタイム コンポーネント用 Microsoft® Windows® Software Development Kit と Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) - 日本語 をインストールしたのですが、 vs2005で.NET 3.0でビルドする方法がわかりません。 教えてください。
523 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:29:16 ] 止めてくれ。精神を害しそうだ。
524 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:33:54 ] >>522 .NET 3.0で開発するためにVS 2008が発売されてるんだ。経緯を考えてくれ。 Hackすればできないことはないという記事を見かけたことはあるが非常にお勧めしがたい。
525 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:59:12 ] メッセージについて勉強中。 PeekMessageでメッセージを受信したらTranslateMessageとDispatchMessageを セットで呼んでおくのがお約束、みたいな解説を見たんだけど、 自前で処理するだけのユーザー定義メッセージにはどちらも必要ないよね? まだ理解が浅いおかげて、今ひとつ確信が持てないんだけど。
526 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:31:29 ] >>525 普通はWndProcをoverrideするだけで十分。
527 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:55:33 ] >>526 あ、なるほど。言われてみればそうですね。
528 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:38:59 ] >>522 .NET 3.0は単なる追加ライブラリだから 参照の追加で必要なアセンブリ参照するだけ。 WPFのデザイナが使いたいとかならそのページにあるように もう提供されてないから無理。
529 名前:デフォルトの名無しさん [2009/07/10(金) 08:35:34 ] >>524 , >>528 レスありがとうございます。 >.NET 3.0は単なる追加ライブラリだから >参照の追加で必要なアセンブリ参照するだけ。 そういうことだったんですね。 勘違いしてました。ありがとうございました。
530 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:24:20 ] enumにintしか入らないのがむかつく
531 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:28:34 ] こらえてくだされ
532 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:43:12 ] >enumにintしか入らない ?????
533 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:46:59 ] 整数型と言いたいんじゃないのか。たぶん。
534 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:48:35 ] mscorlibのmsってなんですか?
535 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:51:06 ] マイクロソフト
536 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:54:21 ] MicroSoft COmmon language Runtime LIBrary でmscorlib
537 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:07:36 ] core library かとおもってた
538 名前:デフォルトの名無しさん [2009/07/11(土) 17:46:59 ] はじめまして。 スプリットコンテナーですが、 上下の分割はできないのでしょうか。 ご存知の方、よろしくお願いします。
539 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:49:43 ] Orientationプロパティ
540 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 18:02:12 ] >>536 mscorlibのCORは、CLRの初期の名称だったComponent Object Runtimeの略。 もちろん、次世代COMとして名前も中身もCOMの影響を受けていて、その思想は現CLRに受け継がれている、 というようなこと、何の本で読んだか思い出せないけど。
541 名前:デフォルトの名無しさん [2009/07/11(土) 18:38:39 ] 上、下、左、右、中央にpanelを置いており、 全てにスプリッターを入れたけど、 1つしか動いてくれません(+_+)。 何かコツはありますか?
542 名前:デフォルトの名無しさん [2009/07/11(土) 18:40:00 ] >>539 ありがとうございますっっっ!!!!!!!!!!!!!!!!!
543 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 19:38:05 ] >>541 いきなり5分割じゃなくて上中下の3分割から練習する
544 名前:デフォルトの名無しさん [2009/07/11(土) 23:30:08 ] >>543 ありがとうございます。
545 名前:デフォルトの名無しさん [2009/07/11(土) 23:39:40 ] treeviewを作っています。 ノードを選択したとき、初期設定では青色に反転しますが、 反転しているときに、文字が縦に中央揃えになっていません。 この縦位置を中央に指定する方法があれば教えていただけないでしょうか。
546 名前:デフォルトの名無しさん [2009/07/12(日) 01:12:59 ] sxa
547 名前:デフォルトの名無しさん [2009/07/12(日) 01:43:45 ] >>546 何の意味ですか…? 教えてください。
548 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 03:03:53 ] 勝手にくるくる動いたらウザくない?
549 名前:デフォルトの名無しさん [2009/07/12(日) 13:00:08 ] vsのツールウィンドウみたいに、 画面の左右にタブを出して自動的に隠すことってできますか?
550 名前:デフォルトの名無しさん [2009/07/12(日) 13:26:29 ] docpanel suite
551 名前:デフォルトの名無しさん [2009/07/12(日) 13:52:28 ] >>550 C#のクラス?
552 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:57:59 ] ぐぐれ
553 名前:デフォルトの名無しさん [2009/07/12(日) 14:21:55 ] >>552 ググったけどなかった。
554 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:35:36 ] 一番上に出るじゃないか
555 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:35:39 ] >>553 うそつき
556 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:40:05 ] 最悪w
557 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:43:17 ] >>553 うそつき
558 名前:デフォルトの名無しさん [2009/07/12(日) 14:45:32 ] すみません。ありました。 yahooで見ていました。
559 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:46:27 ] 死罪
560 名前:デフォルトの名無しさん [2009/07/12(日) 14:49:26 ] 店舗月の売上一覧を作りたいと思っています。 DBから固定項目を単票形式で見栄え良く表示させるには、 何が一番適しているでしょうか。 datagridviewでしょうか。
561 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:53:52 ] SQL
562 名前:デフォルトの名無しさん [2009/07/12(日) 14:55:13 ] >>561 SQLそのものが表示コントロールになるの?
563 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:55:28 ] ExcelとAccess
564 名前:デフォルトの名無しさん [2009/07/12(日) 14:58:38 ] 既存のC#アプリのpanel内に新たに表示させなければいけないんです。
565 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 15:00:47 ] じゃあDataGridViewで良いんじゃないかな
566 名前:デフォルトの名無しさん [2009/07/13(月) 20:35:02 ] DataGrid にはカラム名の上に、CaptionText という タイトル名を表示するエリアがあったのですが DataGridView にそれらしきプロパティが見つかりません。 DataGridView では CaptionText に相当する機能は切捨てられたのでしょうか? よろしくお願いします。
567 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 18:09:07 ] DataGridは複数の階層状テーブルを表示する機能があったから必要だったけど DataGridViewは単一テーブル表示になったから不要になった
568 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:39:56 ] >>567 そういう経緯があったんですか ありがとうございます
569 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:34:20 ] Application.Idleにイベントハンドラを登録してディスプレイの毎フレームごとに処理を行うように 作っているところなのですが、 アプリケーションがアクティブなときは問題ないものの、(毎秒60回呼び出される) アクティブでなくなったときは20フレーム程度まで落ちてしまいます。 これを回避する方法はありませんでしょうか?
570 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:46:21 ] >>569 呼び出す方法を変える
571 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:54:37 ] >>570 呼び出す方法を変えるとしたら、どのような方法が挙げられますか?
572 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:26:24 ] >>571 タイマーを使うとか、きっちり画面に同期させたいならDirectXを使うとか
573 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:57:12 ] >>572 タイマーでは50ms程度の精度しか出ないので60フレーム(16ms)レベルの処理では使えません。 ずばりDirectXを使用しているプログラムです。 リフレッシュレートが60Hzを超えているディスプレイでも秒間60フレームを維持できるようにしようと考えています。 DirectXのフレーム同期では、結果としてリフレッシュレートに同期することになると思うのですがいかがでしょうか。
574 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:19:33 ] >>573 APIで用意されているタイマーには種類がいくつかあって、約55ms間隔のもあるけど もう少し速い約16ms間隔というのもある。 で、DirectX使ってるのに同期すると困るの?
575 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:49:46 ] その手のリアルタイム処理は標準的なメッセージループと相性があまりよくない だからそこ弄るか素直にそういうことやってるの使うと吉
576 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:14:11 ] 時間測って、必要に応じて中で何度か更新処理だけ繰り返せばいいだろ 描画のタイミングさえあっていれば、更新処理自体は別に等時間間隔で呼び出す必要はないんだから
577 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:44:12 ] 質問内容については自己解決しました。 アクティブでないときに50msのウェイトをかける処理が残っていただけでした。 >>574 興味深いですね。そのような精度のタイマー(System.Timer)があるんですね。 System.Threading.Timerとは使い方が微妙に違うようです。 今回は結果として必要なくなったのですが、また必要になったときに詳しく調べてみることにします。 どうもありがとうございます。
578 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:54:13 ] >>576 ほかのウィンドウメッセージと同期的に動かさないといけないので、(フルスクリーンモード切替とか) 他のスレッドを立ててまわすのはまずいんです。 まあ、やってできないことはないんですけどね。
579 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:07:57 ] WebBrowser.NavigateToString メソッド が使いたくてソリューションエクスプローラー参照の追加で PresentationFrameworkを追加し、namespace WindowsFormsApplication1内に using System.Windows.Controls; と記述しても 「'System.Windows.Forms.WebBrowser' に 'NavigateToString' の定義が含まれておらず、 型 'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりません でした。using ディレクティブまたはアセンブリ参照が不足しています。」 とエラー表示されて使用出来ません 同じ名前空間とアセンブリのWebBrowser.Navigate メソッドは問題なく使えるのですが 設定の仕方が間違っているのでしょうか?
580 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:27:11 ] System.Windows.Controls.WebBrowser使わないと駄目だぜ でWinForm上で表示するならSystem.Windows.Forms.Integration.ElementHostが必要
581 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:45:35 ] つかHTMLを表示したいだけならSystem.Windows.Forms.WebBrowserでもDocumentTextとか使えば良いんだが…
582 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:30:56 ] >>578 自前でループ書き、メッセージ処理はApplication.DoEventsで処理させるというのはどう?
583 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:48:33 ] >>580 System.Windows.Forms.Integration.ElementHostが必要ということでまだそれを理解するには時間がかかりそうです 勉強してみます ありがとうございました >>581 .WebBrowser1.DocumentText = "test"; と書いて表示する事が出来ました ヘルプから調べられるWebBrowserメンバでtextとかstringで検索しても出てこなかったので あることすら知りませんでした ありがとうございました
584 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:17:21 ] Windows.Formのクラスが Form1.cs Form2.cs Form3.cs : : とあってそれらフォームのタイトル、Textを取得することはできますか? リフレクションでクラス名は取得できたんですが。 そのクラス名からActivator.CreateInstance()してTextも取れるんですが、 どうにも遅いです。 簡単に速い方法があったら教えてください。
585 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:21:55 ] ありません そんなものが必要になること自体間違っています まずは考え方を矯正しましょう
586 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:51:13 ] 初心者がリフレクションを使う場合、本当は必要ないことがほとんどだ。
587 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:09:53 ] あらかじめ(静的に)FormのタイトルとTextを格納したデータを持てば?
588 名前:デフォルトの名無しさん [2009/07/16(木) 00:14:51 ] if(hoge==null){return} if(hoge!=null){...} nullチェックってどっちがいいんでしょうか?好みでいいんですね?
589 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:24:43 ] >>588 nullかどうかの問題じゃなくて、 if-else は短い方から書けっていう格言があったりする。
590 名前:デフォルトの名無しさん [2009/07/16(木) 00:28:35 ] APIを利用する為にテキストボックスに入力されたテキストを constにする必要があるんですがどうすれば良いでしょうか?
591 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:50 ] >>589 ありがとうございます。 そんな格言があるんですね。いつも長い方から書いていた。この場合は前者を使用すべきですね。
592 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:01:03 ] >>590 ちょっとそのAPIのDllImportしてるところ書いてみろ
593 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:19:10 ] >>592 DllImportしてるなんて微塵も書いてないが…
594 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:26:37 ] じゃあどうやってAPI呼んでるんだ?
595 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:39:01 ] 「APIを利用」とは何の事だよ
596 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:13:15 ] LoadLibraryとGetProcAddressをDllImportして 関数ポインタにMarshal.GetDelegateForFunctionPtr使ってデリゲート取得してAPI呼んでるとか?
597 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:27:35 ] >DllImportしてるなんて微塵も書いてないが で、してるの?してないの?
598 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:43:36 ] APIを常人とは違う意味で使っているに10ゲイツポイント
599 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:35:54 ] APIと言っただけで、Win32APIと言った訳ではないしね
600 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 05:39:31 ] それがどうした
601 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 08:00:39 ] >>598 a πとか?
602 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 08:39:34 ] >>597 俺にきくな
603 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:09:05 ] >>600 >>602 何で一々噛みついてんの?
604 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:04:11 ] APIはDLLだけだと思ってる人があらわれた!
605 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:12:03 ] あらわれなくていいよ
606 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:43:42 ] >>590 は現れろよ
607 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:45:37 ] もう逃げたってば
608 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:30:34 ] WebAPIの類とか・・・ そんでもTextBox.Textがほにゃららの件は意味分からんけど
609 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:35:39 ] const char*の引数を持つAPIに stringを渡したいけどどうすればいいかと 聞いてるだけとか んで書き込んだ直後に解決してほったらかし
610 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:36:51 ] 593が要らん突込みをしなければこんな伸びなかったな。
611 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:47:33 ] みんなこれくらいなら答えられそうだと思っててうずうずしてるんでしょ
612 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 22:54:46 ] C#ってフリーの開発環境あるんですか?
613 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 22:55:58 ] まずフリーの意味をだな
614 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:02:00 ] >>612 MONOというものがあるので使ってみたら?
615 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:21:31 ] フリーの開発環境・・・VisualStudioExpressEditionとSharpDevelopがあるが。
616 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:15:33 ] emacsでいいよ
617 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:17:44 ] へぼすぎて却下
618 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:52:15 ] emacsって、慣れてる人には良いんだろうけど、 とても俺には向いてない。
619 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 01:39:12 ] スクリプト言語ならともかくC#でemacsはかえって損だろw >>603 どのあたりが噛まれてるんだ? 一方的におまいがプッツンしてるようにしかみえん
620 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:01:20 ] >>619 >どのあたりが噛まれてるんだ? >一方的におまいがプッツンしてるようにしかみえん ↑こういうのが 噛みつく って言うんじゃね? おまいもプッツンしてるようにしかみえん
621 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:49:05 ] いいからもう失せろよゴミ君
622 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 05:41:04 ] >>621 プッツンしてるの?
623 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:35:32 ] してないよチンカス君
624 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:51:44 ] 「プッツン」って懐かしいなw
625 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:56:10 ] グリコが作ってるプリンだっけ
626 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 08:49:52 ] それプッチンや
627 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 09:03:57 ] >プッツン・ゴミ君・チンカス君 言葉の選び方が古臭いのは何でだろう。書いてる人の年齢が気になるw
628 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 09:35:04 ] IDありなら真っ赤な奴がいるな 単発のフリもしてそうだな
629 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:30:48 ] 今、入力チェックの勉強中。 Validatingでやるのがいいようだけど問題もいろいろあるみたいで悲しい。 いまいちValidatingが発生する条件が分からん。 TextBox1にいてフィールド移動するとなぜかTextBox5のValidatingが発生したりする・・・ その時はTextBox5でエラー値入れてESCキャンセルでTextBox5のValidatingをスキップするようにしてTextBox1にフォーカス移動してる。 スキップはここ参考にした。www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29042&forum=7 で、TextBox1からフィールド移動するとなぜかTextBox5のValidatingが発生・・・ VS2003だけど古いから変なのかな? マシン古いからVS2003でも遅いぜよ(Delphi2007はさくさく動いてるけど)
630 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 12:40:20 ] >>629 リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの 関連付けがおかしくなるよ。 そういう変なことはやってないと言い切れるなら、あとは… 別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで イベントの発生する順序が変わるってのがある。 ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.validated.aspx
631 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 15:13:10 ] XmlDocument doc = new XmlDocument(); doc.LoadXml("file.xhtml"); こんな感じで、DOCTYPE宣言のあるxhtmlを読み込んでみたんですが、 たかだか4kくらいのファイルでも1分はかかってしまいます。 こういう仕様なのでしょうか。
632 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 15:33:24 ] 外部エンティティとか使ってない?
633 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 16:33:00 ] >>630 > リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの それは触ってない、っていうかC#始めたばっかりで リソースファイルが何なのか分からなかったり。 > 別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで > イベントの発生する順序が変わるってのがある。 その情報は見つけて問題ないようにはしたんだよねー なんとなくこれと同じ感じなのかなって気が。 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22041&forum=7 仕様なのか・・・ ウヒー
634 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:50:08 ] >>633 仕様じゃしょうがないよね。 イベントの発生順序はコントロールできないから、 グローバル変数に状態を覚えておいて 自前で制御ってのはよく使う手。
635 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:57:43 ] >>632 使ってないですー
636 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:07:54 ] >>635 DOCTYPE宣言でttp://のDTD読み込んでないの?
637 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:08:32 ] [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] static extern Int32 recv( Int32 s, IntPtr buf, Int32 Len, Int32 flags); こんな風にしてDLLを直接呼び出すんだけどwsock32.dllの方も同時に使いたい場合はどう書けばいいの? 例えばwinsock32の方はrecv1でws2_32の方はrecv2で呼び出せるようにしたい 直接呼び出すことに意味のあるプログラムなんで、他に便利なクラスがあるだろとか 片方だけ使えとかそういうのは無しの方向でお願いします
638 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:20:27 ] [DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] static extern Int32 recv1( Int32 s, IntPtr buf, Int32 Len, Int32 flags); [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] static extern Int32 recv2( Int32 s, IntPtr buf, Int32 Len, Int32 flags);
639 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:22:03 ] [DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")] static extern Int32 recv1( Int32 s, IntPtr buf, Int32 Len, Int32 flags); [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")] static extern Int32 recv2( Int32 s, IntPtr buf, Int32 Len, Int32 flags);
640 名前:637 mailto:sage [2009/07/17(金) 23:22:37 ] 自己解決した
641 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:23:20 ] >>639 その通りでした。どもども
642 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:28:01 ] クラス分けるとかって手もあるけどな
643 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:31:37 ] AutoElipsis = trueの時にテキストの省略された部分が ...ではなく…になるのは日本固有の領土ですか?
644 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:40:12 ] >>643 フォントの問題では? 欧文フォントだと「…」のグリフが、 ... のように下のほうに点が配置されているのはよくあるよ。 実際、MS Sans Serif、TahomaやSegoe UIとかの歴代の欧米のUIフォントも軒並みそうなっている。
645 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:50:21 ] とりあえず「日本固有の領土」と関係ないのは確かだw
646 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 01:32:11 ] MS-IMEの変換候補でも下の方に小さい点が並んだやつが出てくる まぎらわしいからやめてほしいんだが
647 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:35:20 ] >>481 簡単にいってよー プロばかりじゃないんだよー
648 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:56:53 ] >>647 JITに任せておけば勝手に上手い事やってくれる。 これだけ頭に入れときゃおk
649 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 08:09:13 ] >>643 同じ約物であっても言語によって組み方が変わるのはよくあること。
650 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 19:25:57 ] Winsockで作ったSOCKETをSocketクラスに割り当てることって出来ますか?
651 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 19:34:24 ] >>650 「割り当てる」ってなにをすること?
652 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 20:16:55 ] 「SafeFileHandleを引数に取るFileStreamコンストラクタのようなもの」のソケット版が欲しいということだろう。
653 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:46:16 ] List<string> hogeA の中身 c:\temp\01.dat c:\temp\02.dat c:\temp\03.dat c:\temp\04.dat c:\temp\05.dat List<string> hogeB の中身 01.dat 03.dat 05.dat hogeAのうち、hogeBに含まれない c:\temp\02.dat c:\temp\05.dat を残し、これをあらためてhogeAとしたいです。 これを実現するにはどのようにプログラムを組めばよろしいでしょうか?
654 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:49:53 ] 1. hogeA の要素を列挙する 2. 各要素が hogeB に含まれているか判断する 3. 含まれていなければ、 hogeC に追加 4. これを繰り返す 5. hogeC を hogeA に設定
655 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:50:28 ] hogeB に含まれてたら、hogeA から削除、って方がわかりやすいね。
656 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:57:53 ] LINQ に Except ってのがあるよ。 ufcpp.net/study/csharp/sp3_stdqueryo.html#set
657 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:59:01 ] 2重のfor文を回す必要があるというわけでしょうか?
658 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:01:20 ] >>657 突き詰めればその通り。 List<T>.ExistsとかEnumerable.Exceptで見た目上のループは減らせるけどな。
659 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:03:31 ] この辺の繰り返し処理はプログラミングの基本の基本。便利なライブラリの機能に お任せしちゃうのではなく、一度は自分で実装してみることをお勧めするよ。
660 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:24:42 ] そして一度実装したあとは、ライブラリの機能のほうを使うようにすべき、だね。
661 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 22:47:22 ] バーで繋いで正規表現にする方法もあるな。あまりお勧めは出来ないが。
662 名前:653 mailto:sage [2009/07/19(日) 23:08:25 ] removeAllメソッドを使って除去しようと試みました。 for (int i = 0; i < hogeB.Count; i++){ hogeA.removeAll( delegate(string s) ); }
663 名前:653 mailto:sage [2009/07/19(日) 23:10:26 ] 失礼、途中で投稿してしまいましたorz・・・ removeAllメソッドを使って除去しようと試みました。 for (int i = 0; i < hogeB.Count; i++){ hogeA.removeAll( delegate(string s) { s == @"c:\temp\" + hogeB[i]; } ); } ただこれだとコンパイル時にエラーが発生してしまいました。 どこか書き方に間違いでもあるでしょうか?
664 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:16:01 ] エラー読めよ
665 名前:653 mailto:sage [2009/07/19(日) 23:20:54 ] 最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 匿名メソッド' から 'System.Predicate<string>' に変換できません。 割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。 表示されているエラーはこの3つでした
666 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:22:06 ] 匿名メソッドの戻り値が明示されていない returnをしてないし
667 名前:653 mailto:sage [2009/07/19(日) 23:38:18 ] >>666 そういうことでしたか( ̄□ ̄;)!! for (int i = 0; i < hogeB.Count; i++){ hogeA.removeAll( delegate(string s) { if ( s == @"c:\temp\" + hogeB[i] ) return true; else return false; } ); } で、ひとまずはビルドは通ったようです。 これで様子を見てみます。 ありがとうございました。 ちなみにこれよりもっとスマートな記述方法はあると思いますか? ベースは C#2.0 + .Net Framework2.0 ということで。
668 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:39:51 ] .NET 2.0はともかく、C#2.0はもう捨てようよ。
669 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:40:28 ] return (s == @"c:\temp\" + hogeB[i]);
670 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:41:36 ] 3.0 removeAll( (s)=>(s == @"c:\temp\" + hogeB[i]) );
671 名前:653 mailto:sage [2009/07/19(日) 23:48:52 ] >>669 あ、そんな略記があったのね(;^ω^) >>668 >>670 それが持ってるのがVS2005なもんで(´・ω・`)・・・
672 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:49:55 ] 略記って…… おまえが勝手に複雑に書いてるだけだろ……
673 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:50:59 ] 低品質なスレですね
674 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:37:43 ] >>671 2005 でも LINQ 使えるようにできるだろ
675 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:39:09 ] すまん LINQ じゃなくてラムダ式か
676 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:43:14 ] >>674 2008で.NET 2.0対象のときでもラムダ式を含むC# 3.0の構文が使えるということとごっちゃにしていない?
677 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:12:31 ] >>671 Expressでいいからとっとと2008にすべき
678 名前:653 mailto:sage [2009/07/20(月) 02:12:39 ] >>674 2005じゃλは使えない気が(;・∀・)・・・
679 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:18:56 ] hogeBのループはforじゃなくてforeach使うべきだね
680 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:27:11 ] JITなんだジットってもー 地頭か?何だ?簡単に頼むよ
681 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:47:26 ] λ...... ザッザッザッ… λ...... λ......λ...... λ...... λ...... λ...... λ......λ...... λ...... λ...... 樹 λ...... λ...... λ......λ...... λ...... λ...... 海 λ...... λ......λ...... λ...... λ...... ← λ...... λ......λ...... λ...... λ...... λ......λ...... λ...... λ...... λ...... λ...... λ...... λ...... λ...... λ......トボトボ ザッザッザッザ…
682 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:49:36 ] >>679 どうして? >>681 ちょっwwwww
683 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 09:25:26 ] C#2,0捨てようとかアホか。 ラムダ式なんて無理に使う必要ねーよ。
684 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 10:15:07 ] ラムダ式をありがたがる心理って簡潔至上主義だと思ってるが、どうなんだろ。 簡潔さ以外にメリットある? そして簡潔さによる保守性低減のトレードオフって収支は本当にプラス?
685 名前:デフォルトの名無しさん [2009/07/20(月) 10:21:06 ] >>684 2chスレのラムダ支持層レベルだとトレードオフにはならないね。 無駄に使いたがる印象しかない。
686 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:39:29 ] >>684 遠く離れたところに1行関数を作って呼ぶよりも、ラムダにしたほうが簡潔で保守性は良くなるね。 それ以上に凝るのは趣味の世界だね〜。
687 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:40:53 ] >>684 その場に処理書かないとかえって見づらい場合ない? 1・2行だけDispatcher.Invokeしたいときとか、 変換テーブル作りたいときとか。 要するに↓みたいな。 Dispatcher.BeginInvoke(() => { OutputText.Text = hoge; }); var table = new Dictionary<string, Func<int, int>> { { "TypeA", x => x * x }, { "TypeB", x => Math.Abs(x) }, ...
688 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:43:01 ] LINQ の仕組みにはラムダ必須だし、 あと、ローカル変数をキャプチャしたい場合、 ラムダ(というか匿名デリゲート)がなかったら わざわざinnerクラス1個書かなきゃいけなくなるしねぇ。
689 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:48:18 ] >>686 デリゲート使えば遠くに関数作る必要はない。
690 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:07:54 ] 匿名メソッドで済むって話でそ。 まあ最初からラムダが使えれば匿名メソッドはあんまいらんけど。 濫用するような話とはまた別ね。
691 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:18:38 ] あー、() => {} 構文じゃなくて delegate(){} 構文使うのじゃダメかって話か。 あれもでも、C# 開発者曰く 「ラムダを先に導入してたらdelegate構文なんて用意しなかった」 って言ってるしなぁ。
692 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:29:58 ] {}で囲めばラムダでも複数のステートメントもreturnも書けるから実際匿名メソッドは要らない 匿名メソッドの唯一のメリットはパラメータを省略できることだけど、 それだけのために表記のゆらぎを許す価値があるかどうか
693 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:37:41 ] そのうちMSがガイドラインで何か言い出すんじゃないかと思ってる
694 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:44:38 ] λ式のトレードオフを語っている割に、デメリットが出ていない気がw
695 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:47:32 ] delegateより視認しにくいくらいじゃねえの
696 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:56:09 ] 言語の方向性として、関数型を取り入れていくよと明言されてるわけで わかりにくいとかいうのは無意味だな
697 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:06 ] 構文の親和性の低さによる視認性の悪さもあるけど 引数の型を省略できることの分かりづらさってのはどうなの。
698 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:59 ] いずれにせよ、初心者用スレで延々と語る話じゃない。
699 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:31:53 ] キャプチャ周りの罠は初心者も気をつけるべきだろ
700 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:07:20 ] 保守性下がるので業務では使えない。
701 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:29:34 ] 保守性下がるのでC#は使えない。
702 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:50:59 ] ラムダ厨はテスト端折るので一緒に仕事したくない。
703 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:00:41 ] 462 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 20:59:27 LINQ書く奴ってなんでテスト端折る奴ばかりなんだ? 469 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 21:58:25 テストまで1/3にしないでください。 702 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/20(月) 14:50:59 ラムダ厨はテスト端折るので一緒に仕事したくない。 余程な職場環境におかれておられる様で 無様で惨めだな
704 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:07:01 ] 職場とか業務でどうとか言われてもねえ…。 ここ初心者スレだし、「そうですか。おつかれさまです」としか言いようがないな。 それともあれか?報われないのを褒めて欲しいのか? そういうのはマ板でやってくれよ。
705 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:08:26 ] 3.0仕事で導入してるのってどんぐらいなんだろうな 今はまだ2.0のほうが意思合わせ楽そうだけど
706 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:13:06 ] >>704 どこの初心者スレも似たようなもんだけどな javaスレとか 明らかに底辺ドカタのストレス発散場になってる そんなことをしていてもお前の暮らしは向上しないのにな
707 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:19:57 ] 独立すりゃいいのに
708 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:22:04 ] ラムダスレとか建てても、結局初心者スレを荒らしに来るから意味なし。
709 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:28:41 ] 弱い者達が夕暮れさらに弱い者をたたく構図ですね、わかります。
710 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:41:38 ] c#はまだおわらんよ!でもVCのほうも同じぐらい力入れてくれるとありがたいです;;
711 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:43:42 ] C#でWindowsコンポーネントを使わないUIってどうやったら作れますか? 情報が載ってる本かサイトを教えてもらえると嬉しいです。 例えば、Mac風デザインのような感じです。
712 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:49:45 ] >>711 GUI ツールキットを使うことになるんだろうけど、あんまりないなぁ。 Qt は使えるんだっけ。
713 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:51:32 ] WPFだろ デザインは自由自在
714 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:02:31 ] WPFってガワ部分は変えられないんですか?
715 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:05:14 ] ガワ?
716 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:32 ] 最大化や閉じるボタンなどがある枠です。 その内側では何でもできそうな感じで、かなり素晴らしいのですが。
717 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:43 ] ウィンドウの枠を非表示にしてそれっぽいのを自分で描く
718 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:16:47 ] >>717 なるほど。WPFをMSサイトで勉強してきます。 参考になりました。ありがとう。
719 名前:デフォルトの名無しさん [2009/07/20(月) 17:10:08 ] 入門書でC#の基礎文法を一通り勉強しました。 しかし、今までスクリプター(Perl, JavaScript, Ruby)で、 GUIアプリケーションの制作経験は皆無であるため、 Visulal Studio でGUIアプリケーションを作る方法がよく理解できません。 何となくならいじれるのですが、体系的に勉強するにはどうするのがオススメでしょうか?
720 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:14:19 ] >>719 畳の上の水泳より、下手でもとにかく水の中で泳ぐほうが学習効率高いんじゃない? GUIは特にそうだと思うけど。 (必要なら)体系的学習は後追いでもできるし。
721 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:22:27 ] >>720 入門書は全てcsc.exeを使ってコンソールで作業していたので、 まずは、チュートリアル的なサンプルアプリケーションを何個か作りたいんですよね。 広く浅くでいいので、VSおよびGUIアプリ制作を把握したいのですが、 MS公式の解説書は何だかMSDNチュートリアル同様で、入門の入門という感じだし、 他の入門書は、VSについてほとんど書かれていないしで困っています。 訳分からなくてもとりあえず慣れるがベストなのかなぁ? やはり。
722 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:31:14 ] フォームに手当たり次第にコントロール貼りまくって適当に連動させてごらんよ 方向性は決めなくていいから
723 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:36:17 ] どのコントロールでどんなことができるか、を一通り確認するくらいかなぁ。 具体的な実装は、システム要件に応じて考えるし。
724 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:04:40 ] >>721 C#でcsc.exeを使わせる入門書って、なんて悪書?
725 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:11:30 ] MSの公式解説書だろ C#できると言ってcsc.exe使えないなんて話もあるまい
726 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:23:13 ] >>724 独習C#です……。プログラミングC#は、最初からは敷居高いかなと思って。
727 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 20:06:49 ] cscのオプションなんて覚えてもいないぜ。
728 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:31:56 ] >>726 あーあ、かっちゃったかw
729 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:33:18 ] あんなもん立ち読みでいいのに
730 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:47:04 ] 泳げないやつは沈めばいい
731 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:53:31 ] プログラミングC#が敷居高いって絶対読んでなさそう GUIオンリーだった俺はRonRやってるがスクリプトわけわかめw
732 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 01:34:19 ] delegateとかもうちょっと綺麗に実装出来なかったのかね
733 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:06:53 ] 例えばどういう風に?
734 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:30:50 ] 例えばキーワードを省略してdelにするとか
735 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:47:47 ] delだとdeleteの略みたいになるから却下
736 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:10:41 ] もうちょっと綺麗に実装 → 省略してdelに wwwwwwwwwwwwwww
737 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:38:19 ] 俺の知ってる英単語を使ってくれ デレゲートなんて意味がわからんわ
738 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:54:37 ] 普通にクラスポインタみたいなのを残せばいいのに なんでいちいち全部の関数のdelegateを定義して呼ばないといけないんだ
739 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 04:28:36 ] >>735 じゃあdeleで
740 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 05:28:15 ] tsun-dele
741 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:26:30 ] tsun-delete
742 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:35:08 ] >>738 FuncとかActionがあるけど
743 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 09:49:41 ] >>734 キーワードの省略は最悪。 Unix 系のライブラリとか、ときどき見れたもんじゃないのがある。 C# は省略形のキーワード1つもないでしょ。 >>738 型安全性のため。
744 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 14:15:48 ] タイプセーフはデリゲートの目的であって理由じゃない そうなると別にどういう構文でもタイプセーフなら良いことになるでしょ 実際にそうなってるしね
745 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:28:29 ] 複数のファイルを連結する方法を教えてください。 下記のようなことって、C#だとどう書くんですか? ひとつひとつFile.ReadしてFile.Writeしないとだめですか? copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt
746 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:45:26 ] C#で製品を作ってる会社はexeを暗号化してるんでしょうか? ソースコード丸見え・・・
747 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:47:34 ] >>745 File.ReadAllText()で読んでFile.AppendAllText()で追加してけば楽なんじゃない 使ったことないけどw
748 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:48:12 ] 今時はライセンスで縛るから丸見えでもどうでもいいのです 難読化くらいはしてるかもね でも初心者には関係ないよ お前のコードなんてわざわざ見る気にもならないからね
749 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:53:53 ] >>747 やっぱりそれしかないんだ…。 配列に配列を追加するにはどうしたらよいですか? copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt string[] keywords = File.ReadAllLines("file01.txt"); keywords = keywords + File.ReadAllLines("file02.txt"); keywords = keywords + File.ReadAllLines("file03.txt"); keywords = keywords + File.ReadAllLines("file04.txt"); とかで追加できるんですか?
750 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:55:06 ] どの言語でも初心者が一番初めに気にする所だよな。 「ゲームは作れますか?」と「中身の暗号化できますか?」は。 少なくともそんなことを聞かなきゃ分からない内は全く関係のない話だ。
751 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:56:33 ] >>749 配列ってさあ string[] strArray = new string[]{ "aaaaa" , "bbbbb" , "ccccc" } こう書けるのは分かる?