1 名前:デフォルトの名無しさん [2007/01/12(金) 15:57:21 ] 前スレVB.NET質問スレ (Part18) pc10.2ch.net/test/read.cgi/tech/1161250878/
348 名前:デフォルトの名無しさん [2007/02/01(木) 22:59:24 ] >>346-347 どうもです。 てことはやはりPanelクラスのオブジェクトはそれほど食わないだろいうことですね。 安心しました。 というか、どうもクラスの派生でプログラムすることを最近始めたため、世の中の 常識的なところがわからず、どうしたものかと悩んでおりました。 教えていただき、ありがとうございました。どうもでした。
349 名前:デフォルトの名無しさん [2007/02/01(木) 23:02:43 ] >>348 常識で言ったら余計な機能は継承しないのが当然。
350 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:04:11 ] VB.NET2005、.NET Framework2.0での開発についてちょっと質問ですが プロパティシートもしくはそれに類するUIを実装するような .NET Frameworkの機能はありませんでしょうか そのものズバリのものでなくとも、実装に利用できる程度のものでもあればよいのですが
351 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:05:58 ] TabControl
352 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 00:04:40 ] このスレ マイクロソフトにでも見せたら きっと笑うんだろうね
353 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 01:14:07 ] マイクロソフトは 人間では ない
354 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 01:41:59 ] もっと恐ろしい別の何かだ
355 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 01:48:54 ] ゆえに笑わない。
356 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 08:58:04 ] ロボットだからマシンだから
357 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 09:04:53 ] この銀河を統括する情報統合思念体によって(ry
358 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 09:07:27 ] その恐ろしい何かを覗き込むとき、向こうも此方を覗き込んでいるんだよ。
359 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 09:28:56 ] >>350 もっと目的をハッキリ書いてくれ。 プロパティの編集がしたいなら PropertyGrid だし、見た目のことならフォームで作るしかない。
360 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 10:25:08 ] プロパティグリッドって良いよね。 あれ+クラスのシリアル化があれば、大抵の設定保存、編集は簡単に作れる。
361 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 12:29:30 ] >>359 はっきり書いてあるだろ。 自分の無知を棚に上げて何言ってるんだこのググレカスw 350の名誉のために言うが、俺は350じゃないから。
362 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 12:43:20 ] >>361 359じゃないけど、あれじゃ何を求めてるのか…「UIを実装するような機能」ってなによw まだ359は推測で答えてるだけましじゃね?そういうお前なにも答えてないしwww 350の名誉のために俺は350じゃないってなんだよwwwww
363 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 13:00:57 ] プロパティシートってぐぐって最初に出てくるようなやつのことじゃないの? だったら>>351 じゃん
364 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 13:37:20 ] あれプロパティシートって呼ぶのか 知らんかったwwww
365 名前:デフォルトの名無しさん [2007/02/02(金) 13:40:14 ] 初心者ですみません 2003のslnを2005で使用するには、 何か作業が必要でしょうか。
366 名前:デフォルトの名無しさん [2007/02/02(金) 13:42:26 ] VB使ってIEのコマンドボックスにテキストを入力したりできますか? 検索エンジンで調べてもわかりませんでした教えてください><;
367 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 14:01:22 ] コマンドボックスって何ですか? 検索エンジンで調べてもわかりませんでした教えてください><;
368 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 16:51:07 ] 検索エンジンって何ですか? じいちゃんにきいてもわかりませんでした教えてください><;
369 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 17:31:18 ] , .- ==.、 ,r' i 呼んだ? .,' ,r'^":ツ ', i:::::;〃..':., ..`-- '"':、 .':, `'::., ':, ... ゙'::., ..':, r=t,,r::` .':,-''_、 _.i::::::::::::::::'-::'::::::::::i::-z=:ュ . <- .ii:::::::::::::::::ii:::::::::::::i::r个::',,,_ . i `^^''=--:::::::::::::::::::ii .,.rィ' . i `^'''':::z-''"c、 | ぅ、_ i "i.i..| `^''''-=、- 、._ .i i.i少, . `^''''-=、=-、,, i,,r'"彡'':-' `^''-=-''"
370 名前:デフォルトの名無しさん [2007/02/02(金) 18:15:55 ] VS2005ってvista対応とちがうの? 起動したとたんにDevenv.exeの互換性エラーが出るのですが・・
371 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 18:18:57 ] >>370 SP1あてた?本対応はさらに何か出るらしいけど。
372 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 19:59:15 ] 対応なのは、VS2005+.NET2.0で作ったアプリであってVSそのものじゃ無いんじゃ? 良くしらんけど ところでちょっと訊きたいんだけど プロシージャ内でローカルに作って使ったオブジェクトって そのプロシージャ抜けたら速攻解放されるんかね? それとも、もう要らないってマークだけされて、いつか解放されるとか言う仕様?
373 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 20:22:51 ] 明示的にガーベジコレクタ呼んでやれば消えるが、 普通は確保したメモリを使い果たしそうになったときに回収される。
374 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 20:24:37 ] "C:\hoge"から"hoge"だけ取り出したいのですが、 正規表現以外に何かいい方法あればご教授お願いします 何かのメソッドに在りそうなんだけど見つけれない時・・・みなさんはどうしてるんでしょうかw
375 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 20:28:50 ] 笑ってる暇があったらMSDN引けよ阿呆 msdn2.microsoft.com/ja-jp/library/system.io.path_members.aspx
376 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:04:33 ] なにそれwキモイw
377 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:27:56 ] >>373 なるほど、ありがとうっす
378 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:44:32 ] 条件式で 100 > n > 200 のように 間の値を取りたいのですが、 この場合に一行で済む構文はございますでしょうか。
379 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:53:18 ] 100 > n and n > 200
380 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:53:44 ] ありがとうございました
381 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:08:17 ] AndAlsoの方が良くね?
382 名前:デフォルトの名無しさん [2007/02/02(金) 22:24:32 ] すまんですが教えてください、VB6であった 「透明」スタイルのコントロールは 作れるでしょうか?あちこち調べたのですが、たとえ Color.FromArgb(0,0,0,0) などにして、Alpha値を0にしてもどうもコントロールの上のコントロールには FormのBackColorあるいはBackGroundImageが移るだけのようでした。 これを、下層のコントロールも透けるようになるようなVB6でできた透明スタイルの コントロールはできるものでしょうか?
383 名前:デフォルトの名無しさん [2007/02/02(金) 22:28:53 ] MDBファイルをデータグリッドビューに表示できたのはいいんだが アクセスのレポートみたいに データセットとかデータテーブルを印刷できるようにするには どうすればいいですか? 2005にはレポートビューワーなる素敵機能があるみたいですが 2003(.net1.1)で実現したいのでつかえんみたいです
384 名前:デフォルトの名無しさん [2007/02/02(金) 23:29:40 ] >>382 >下層のコントロールも透けるようになるようなVB6でできた透明スタイル これ表現がおかしかったです、 >下層のコントロールが見えるようになるVB6でできた透明スタイル でした。どうもすみません。。
385 名前:デフォルトの名無しさん [2007/02/02(金) 23:46:22 ] >>382 で、さらにですが、VS2005でFormにコントロールを貼って、そのサイズを調整しているときは、 点線表示でサイズ外形が現われているが、 例えば、長方形でない異形のコントロールなどでやっても、 その異形Rigion以外の部分は透明のままでサイズが調整できていて、実質的な透明化が 「デザイン時には実現している」 ようなのでした。 もし、VS2005が、.NET Framework の範疇で作られているとすれば、 これがVS2005でできないはずはないと思われ、やれるものなら透明化したいと思うのですが、 もしVS2005が実際にはWin32APIなどやあるいはもっと深いレベルでC++で作られている のであれば、.NET Framework と VS2005 の VB や C# からだけではではできない、 ということになるでしょうか?
386 名前:デフォルトの名無しさん [2007/02/02(金) 23:49:21 ] >>385 それとも、デザイン時の点線外形が掛けているのは、それがコントロールのRegionとは 無関係に、デザイナー上の機能で、勝手にコントロールの外側に線を描画している だけなのでしょうか?
387 名前:デフォルトの名無しさん [2007/02/03(土) 00:10:01 ] >>386 しかし、そうだとしても、そのデザイナー上の点線は、別のコントロールの上にも現われて 表示されているので、ということは、それ自体もやはりRegionを持っていて、そこに描画されて いるようにも思われるのですが、どうなんでしょうね。 もしそうだとすると、そのRegionはごく細い領域を持つものになりそうですが、 そうでも点線の上に、○印もありましたから、その分の幅はあるのでしょうか・・・ でも点線の両側はしっかりと別のコントロールも現われているし・・・ まさか線幅1Pixelの線Regionに○印の部分だけ合成したRegionなんでしょうか?
388 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:23:56 ] そういう散漫な思考能力丸出しの文章を書く人はプログラマ向いてないと思うよ。 そもそもただ漠然とコントロールって何だよ。 VB6で背景透明にできるコントロールってラベルぐらいじゃなかったか? だったらそんなの試せばわかるじゃん。それこそ猿でも。 まあどうしてもそんなことがしたいならデスクトップのDCに描画すればいいんじゃない? くだらないこだわりにしか俺には思えないけど。
389 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:28:00 ] >>387 点線とハンドルかいてるのはデザイナだろうが
390 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:54:52 ] VB.NETで作られた有名なソフトご存じ無い?
391 名前:デフォルトの名無しさん [2007/02/03(土) 01:03:42 ] >>388 スレ汚しになりましたね、すみませんね。 いちおう、Region使いながら考えてみてはいるのですが、やはり他のコントロール が見える状態にはできませんでした。 またVB6でもラベルだけであったとしても、一応できてはいたわけで、 それがVB6が基本的にインタープリターだったから、同にでもなり安いからできた、 というものであれば、それが完全にオブジェクト指向になった.NETではやりにくいのだ、 ということなら、仕方ないですかね。 >>389 ですよね、たぶん。ということは、その点線も○も、他のコントロールにまたがって その上面に描画できているということは、それはやはりRegionを貼っている特別の コンロールを使ってやっている、ということなんでしょうか。 とすれば.NETでは本当の意味での透明化コントロールはできない、と考えるべき なんでしょうか?
392 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 01:07:59 ] すまんがまとめてくれないか?質問がわからん。 背景が透けるコントロールがつくりたいのか?
393 名前:デフォルトの名無しさん [2007/02/03(土) 01:09:47 ] >>388 後は、そのおっしゃっている 「デスクトップのDCに描画する」 ということなんでしょうが、 まだ皆目見当が付かないのでやるとしたらうんと大変になりそうですが、また調べてみます・・・
394 名前:デフォルトの名無しさん [2007/02/03(土) 01:11:56 ] >>392 要はそういうことなのですが、、下に別のコントロールがあるときに、 そのコントロールもちゃんと見えるような透け方がほしいのでした。 現状ですと、Formの地が見えるだけで、コントロールは見えてくれない、 ということなのです。
395 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 01:15:35 ] そうやって書くからややこしくなる。 透けるとはそういうことに決まってるだろが
396 名前:392 mailto:sage [2007/02/03(土) 01:16:41 ] >>394 わかった。 で、UserControlでいいのか? それともControlを継承してガリガリ書く?
397 名前:デフォルトの名無しさん [2007/02/03(土) 01:58:45 ] >>396 それはもしかして、ここでコードを教えてくださるということでしょうか? それではあんまりご迷惑を掛けてしまうので、とてもお願いはできません。 ただもしヒントとなる事柄を教えていただければ、また自分で考えてみます。 もしUserControlで出切るとしたら、概略どんなことを知らねばならないのでしょう、 それだけでもありがたいです。
398 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 02:05:25 ] 新しいタイプの釣り?w
399 名前:396 mailto:sage [2007/02/03(土) 02:06:50 ] >>397 じゃ、これで。 www.microsoft.com/japan/msdn/vbasic/migration/tips/TransparentControl/
400 名前:デフォルトの名無しさん [2007/02/03(土) 02:11:28 ] >>398 そういうことではないのですが、別法も考えながらやってましたので、 回避して別の手段で乗り切ることもあり得るためでした。 >>396 ちなみに、現在のデザイナー上では、コントロールを移動する際は、 異形コントロールであっても、長方形の外枠全体が非透明状態で 塗りつぶされていました。なので、やはりRegionは長方形で認識されて いるだと思いました。UserControlにした場合でも、基本的には同じになる のではないかとおもいましたが、それを透明化する方法というものが あるのでしょうか?
401 名前:デフォルトの名無しさん [2007/02/03(土) 02:13:09 ] >>399 かぶってしまいました、すみません。 情報、さっそくにすみません。 読んでみます。
402 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 12:13:32 ] ああなんだ、別にWin32のGetWindowDCとか使わなくてもSetStyleでできるんだな。 普通に知らなかった。 でもこれ、Win32レベルではどうやって実現してるんだろう。 しかし、コントロールのSetStyleなんか典型だけど、.NETのクラスライブラリって なんでこれがProtectedなんだ?ってのが結構あるよね。
403 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 14:34:01 ] プロパティでラップしようとしてるからな
404 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 18:40:16 ] アクセスを極力制限するのはいいことなんだが
405 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 18:54:08 ] なんかVBスレらしい間抜けなレスが続くなw 「モノ」が機能を発揮するにあたり、不必要な情報や機能呼び出しは隠蔽したほうが 判りやすさの観点から望ましいのは当然としても、必要な機能まで隠蔽してあるのでは 本末転倒でしょ。 テレビのリモコンに垂直振幅調整ボタンがなくても怒らないけど、 音量調整ボタンがなかったら怒るだろw
406 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 20:45:59 ] >なんかVBスレらしい間抜けなレス =405
407 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 21:27:55 ] 隠すのは分かりやすさよりも保守管理のため
408 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 21:34:28 ] また間抜けなレスを。。 自分の頭で理解して咀嚼したことでなく、 どこかで聞きかじったことを語ろうとするからそういうことになるんだよ。 隠蔽しなかったら保守が大変になるのはどうしてだよ。 それは人間の認識能力が限られているからだ。 つまり、判りにくくなるからだ。
409 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 21:42:01 ] 405が言ってるのは「ユーザ側のわかりやすさ」 407,408が言ってるのは「クラスの提供者側のわかりやすさ」 ごっちゃにするな
410 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 21:47:18 ] そういう物言いはその二つが一致しない場合があるのでなければ意味がない。 で、実際のところどうよ?w 考えるまでもないな。
411 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 21:48:58 ] っていうか、仮に一致しない場合があるとして、ライブラリの作者が ユーザビリティより自分たちにとってのわかりやすさを優先してどうするw
412 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 23:35:33 ] 隠蔽するか公開するかは、わかりやすいかどうかじゃなくて必要か不要かだろ。 だいたい「わかりやすさ」って何よ。
413 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 00:11:59 ] もういいからお前ら消えろ。 けっきょくVBスレらしい間抜けなレスにしやがって
414 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 00:13:31 ] 正規表現のパターンを複数指定する事は可能でしょうか。
415 名前:デフォルトの名無しさん [2007/02/04(日) 00:24:49 ] >>399 昨日は情報どうもありがとうございました。 教えて頂いたサイトからサンプルをダウンロードしてテストしてみましたところ、 やはり下層のコントロールは見える状態にはなりませんでした。 このSetStyleの方法はすでに試みていたものではあったのですが、 やはり結果は同じものでした。 やはり .NETではVB6でのラベルの透明化と同等の機能はじつげんできない ように思います。 Regionを多重に切るか、ドーナツのように穴あきにするかすれば、完全に 透けて見える状態になるわけすが、それですとその穴から下のコントロールが アクセスできてしまうので、透明化ということにはならず、やはり無理、と 思われました。 もしできるという情報がどこかにありましたら、また教えてください。
416 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 00:30:47 ] >>415 いったい何が作りたいのか言っちゃえば? 透けて見えるコントロールにアクセスできたら困るってのはUIとしてどうなのかと… VB6のラベルコントロールはフォームに書いてるだけだし。
417 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:04:50 ] >>415 頭悪いにもほどがあると思うよ。 背景透明にできたんだから、あとはOnPaintでクライアント領域に 描画するだろ。
418 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:10:41 ] まぁそう言うな
419 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:40:50 ] ランダムに文字列を表示させたいのですがどうすればいいでしょうか。
420 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:53:40 ] >>419 もうちょっと詳しく説明しろよホントに・・・ Dim message As String() = {"もうちょっと", "詳しく", "説明しろよ", "ホントに・・・"} Dim rand As Random = New Random(DateTime.Now.Millisecond) Label1.Text = message(rand.Next(4))
421 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 02:48:09 ] >>414 意味が分からん 取りあえず二回 Match させりゃ良いんじゃね 並列か直列か知らんが
422 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 02:49:35 ] なんで具体的に説明しないのかね?
423 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 03:00:29 ] 初心者スレが機能してないから流れてきてんだろ・・・
424 名前:デフォルトの名無しさん [2007/02/05(月) 12:11:47 ] 以前はデバッグ時に一時停止してのコード変更が可能だったのに、 どこかのタイミングからか、コードウインドウのタブ耳にロックのマークが現われ、 デバッグ実行中の一時停止でコード変更ができない状態になってしまいました。 これを解除してまたコード変更可能な状態にしたいのですが、 方法が見つけられずにいます。すみませんがこれについて教えてください。
425 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 12:35:26 ] デフォルトのコンストラクタで作成するDictionaryのキーに EnumとかIntegerって使える? やっぱり面倒でもIEqualityComparer実装したクラスを別に作らないと駄目なんだろうか? 今日午前中MSDNその他いろいろ読んでみたがどうもよくわからない。 Dictionaryのこの辺の話題を掘り下げてるところってどこかないかなあ。。
426 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 13:18:32 ] 普通に使えるでしょ。 Dim foo As Dictionary(Of Integer, Object) = New Dictionary(Of Integer, Object)
427 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 15:13:54 ] 自分が/t:winexeでコンパイルされてるかどうかの判別はどうすればできますか?
428 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 18:42:51 ] >>426 いや、そういう意味じゃなくてw 当然使っても安全かどうかって意味ですよ。 IEqualityComparerを渡さないコンストラクタを使った場合、 DictionaryはKeyオブジェクトのGetHashCodeを間接的に呼び出すはずだけど、 MSDNライブラリによれば値型のGetHashCodeで得られる値はハッシュとして機能しないとあるから。
429 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 19:01:03 ] Dictionary は、キーが同じであるかどうかを確認するための等値比較の実装を必要とします。 comparer パラメータを受け付けるコンストラクタを使用して、 IEqualityComparer ジェネリック インターフェイスの実装を指定できます。 実装を指定しない場合は、既定のジェネリック等値比較演算子である EqualityComparer.Default が使用されます。 型 TKey が System.IEquatable ジェネリック インターフェイスを実装している場合は、 既定の等値比較演算子でその実装が使用されます。 <SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Structure Int32 Implements IComparable, IFormattable, IConvertible, IComparable(Of Integer), _ IEquatable(Of Integer)
430 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 19:08:05 ] 等値検査の話じゃなくて、ハッシュの話をしてるんですが。。。
431 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 19:21:06 ] >>430 > IEqualityComparerを渡さないコンストラクタを使った場合、 > DictionaryはKeyオブジェクトのGetHashCodeを間接的に呼び出すはずだけど、 これは本当か?
432 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 19:22:34 ] >>431 確証はないんですが、MSDNライブラリのEqualityComparer.Default のくだりに それっぽいことが書いてありますよ。
433 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 19:23:32 ] というか、仮にもハッシュテーブルなんだから何らかの形でハッシュは使うでしょう
434 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 20:55:55 ] >>430 当然、コリジョン対策はしてある。 Reflectorでソース追ってみなよ。
435 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 20:58:06 ] >>428 ハッシュが衝突して安全でないってどんなしょぼい実装や
436 名前:425 mailto:sage [2007/02/05(月) 21:07:46 ] >>434-435 生半可な知識しかないんで偉そうなことはいえないんですが、 なんか勘違いしてません? 「コリジョン対策」というのは、違うキーに対して同じハッシュが 生成されることへの対策でしょう。 等価のキーのハッシュが異なる場合はこの限りではないはず。
437 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:08:01 ] >>431 それは本当。 Int32はIEquatable<Int32>を実装してるから、 EqualityComparer<Int32>.DefaultはGenericEqualityComparer<Int32>のインスタンスを返す。 で、GenericEqualityComparer<Int32>.GetHashCode(Int32)は、Int32.GetHashCode()を呼んでる。 ハッシュが衝突した場合、IEqualityComparer<T>.Equals(T,T)が呼ばれるが、 GenericEqualityComparer<Int32>.Equals(Int32,Int32)の実装では、Int32.Equals(Int32)が使われている
438 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:14:45 ] >>436 等価なオブジェクトは等しいハッシュを生成しなければならないよ。 参照型であれば、Object.GetHashCodeに丸投げすることができるけど、 値型の場合はその条件を満足するようにGetHashCodeを実装しなければならない。 msdn2.microsoft.com/ja-jp/library/system.object.gethashcode (VS.80).aspx
439 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:16:16 ] >>436 同じ入力値に対して異なる結果がでるのはハッシュ言わんがな
440 名前:425 mailto:sage [2007/02/05(月) 21:24:18 ] >>438 つまり、それを総合するとEnumやIntegerはそのままではキーとして使えない、 という結論なんでしょうかやっぱり?
441 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:27:35 ] >>440 なんでそうなるかなあ。。。 少なくともmscorlibやその他の標準ライブラリで定義されている構造体はGetHashCode()を適切にオーバーライドしてあるよ。
442 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:29:17 ] >>440 心配なら逆コンパイルして確かめてみればいいんじゃないの
443 名前:425 mailto:sage [2007/02/05(月) 21:33:58 ] >>441 そうなんですか。 >>442 いやそこまでの能力ないヘッポコなもんでここで質問させてもらってる訳でして。。
444 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:37:03 ] ファイルを読み込む際、文字エンコードを自動判別する方法はありますでしょうか
445 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:39:38 ] GoogleMapの座標を取り込みたいのですが、どこかにいいサンプルありませんか?
446 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:40:35 ] >>444 mlang.dll, IMultiLanguage2, DetectInputCodepageあたりでググってみ。
447 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:57:24 ] >>446 ありがとうございました
448 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 00:34:51 ] >>444 adode.streamのcharset="autodetect"や"_autodetect"なんてのも >>427 のほうもよろしくお願いします exeヘッダを読まずにできませんか?