C#, C♯, C#相談室 Part55at TECH
C#, C♯, C#相談室 Part55 - 暇つぶし2ch1:デフォルトの名無しさん
09/10/14 23:23:45
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part54
スレリンク(tech板)

Visual C# 2008 Express Edition 日本語版
URLリンク(www.microsoft.com)

その他テンプレ>>2-5くらい


2:デフォルトの名無しさん
09/10/14 23:24:33
関連スレ

ふらっとC#,C♯,C#(初心者用) Part45
スレリンク(tech板)

Visual Studio 2008 Part 18
スレリンク(tech板)

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
スレリンク(tech板)

【VB.NET】LINQ友の会【C#, C♯, C#】
スレリンク(tech板)

C#,C#の宿題片付けます。
スレリンク(tech板)

3:デフォルトの名無しさん
09/10/14 23:24:49
参考リンク

MSDNライブラリ
URLリンク(msdn.microsoft.com)

@IT Insider.NET
URLリンク(www.atmarkit.co.jp)
Insider.NET 会議室 ディレクトリ
URLリンク(www.atmarkit.co.jp)
MSDN フォーラム
URLリンク(forums.microsoft.com)

pinvoke.net: the interop wiki!
URLリンク(pinvoke.net)
宇宙仮面の C# プログラミング / C# Programming
URLリンク(ukamen.hp.infoseek.co.jp)
WisdomSoft C#入門
URLリンク(wisdom.sakura.ne.jp)
WisdomSoft Microsoft .NET入門
URLリンク(wisdom.sakura.ne.jp)
どっとねっとふぁん
URLリンク(dotnetfan.org)
緑のバイク 初めてのC# ~ 覚え書き ~
URLリンク(homepage3.nifty.com)
どぼん!の .NET Tips
URLリンク(dobon.net)

4:デフォルトの名無しさん
09/10/14 23:24:56
質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。

初歩的な質問はPC初心者板で・・・
URLリンク(pc11.2ch.net)
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
URLリンク(windowsvista.ms)
Windows VistaFAQ
URLリンク(vistafaq.stdo.net)
インストールから設定・活用まで~ すべてが分かるWindows Vista大百科
URLリンク(journal.mycom.co.jp)

5:デフォルトの名無しさん
09/10/14 23:32:53
AMFをDecodeするプログラムを作りたいのですが、
何か良いサンプルが載っているサイトはないでしょうか?
JavaやPHPはよくみるのですが、.net系があまりなく。。

もしご存知の方がいましたらご教授ください。

6:デフォルトの名無しさん
09/10/15 00:37:57
関連スレに追加
ASP.NET + Atlas or Ajax について
スレリンク(tech板)
Microsoft Silverlight その4
スレリンク(tech板)
Visual Studio 2010
スレリンク(tech板)

7:デフォルトの名無しさん
09/10/15 00:54:14
WaitHandleのWaitOneメソッド第二引数のブーリアンって何に使うのでしょうか?
同期ドメインがよくわからなかったので、調べて見たんですが、
リモート処理のときだけ関係するものでしょうか

8:デフォルトの名無しさん
09/10/15 01:02:22
剣の舞ですね

9:デフォルトの名無しさん
09/10/15 01:07:05
>>7
URLリンク(msdn.microsoft.com)

10:デフォルトの名無しさん
09/10/15 01:40:17
お前は一体何を表明したいんだ…


11:デフォルトの名無しさん
09/10/15 01:46:07
ちなみに普通はfalseで構わない。
ContextBoundObjectの派生クラスを作って、
SynchronizationAttributeを適用した場合で、
そのオブジェクト内で同期済み実行時にWaitOneしたときに、
待機中の別のオブジェクトを待機解除するかどうか。
まあ、多分大抵は関係しないだろう。


12:デフォルトの名無しさん
09/10/15 01:51:50
てよく見たらWaitOneの説明にそのまま載ってるじゃねーか…


13:デフォルトの名無しさん
09/10/15 01:58:37
WaitOne(int)でいいじゃん

14:デフォルトの名無しさん
09/10/15 02:40:37
>>1


15:デフォルトの名無しさん
09/10/15 05:30:06
Producer-Consumerパターンはget,putするthreadを延々とループさせるわけど
これを終わらせるときはthreadをほっといても大丈夫?

16:デフォルトの名無しさん
09/10/15 06:10:53
普通は、whileの条件とかで終了できるようにする。Abortするのはやめとけ

17:デフォルトの名無しさん
09/10/15 06:12:44
Abortってどうしてだめなの?

18:デフォルトの名無しさん
09/10/15 07:51:50
finally が実行されなかったりとか

19:デフォルトの名無しさん
09/10/15 10:57:39
駄目とは言ってない。動作を完全に理解したうえで自己責任で使うならどうぞ

20:デフォルトの名無しさん
09/10/15 11:50:16
まあ普通はやらんな

21:デフォルトの名無しさん
09/10/15 13:09:50
Producer-ConsumerってAbort必須じゃなかったっけ?
その辺の解説サイトじゃAbortすら使って無いからリークしまくってるけど

22:デフォルトの名無しさん
09/10/15 17:00:12
意味が分からん。
必須ってどういう事だよ。
インタラプトだって使えるし。


23:デフォルトの名無しさん
09/10/16 10:54:37
イミディエイトウィンドウで表示したくない例外等を表示しないようにする方法はありますか?
所定のメソッドを実行すると例外が飛んできてそれが表示され鬱陶しくて

あと、デバッグ終了時にイミディエイトウィンドウがクリアされればいいと思うのですがそれに該当する設定が見あたりません

24:デフォルトの名無しさん
09/10/16 12:09:35
ごめん意味が分からない。出力ウィンドウのこと?
それともイミディエイトウィンドウに出力をリダイレクトする設定にしてる?
どちらにしても例外が発生したら勝手に表示されるということはない。
どこかで握りつぶしてログ吐いてるんだろ。
その個所に自分で手を入れられないんだったらどうしようもない。

25:デフォルトの名無しさん
09/10/16 12:11:40
いや、だからイミディエイトウィンドウだって
握りつぶすも何もデバッグ時に例外発生したらログがここに残るでしょ
これを指定した例外のみ表示させたくないの

26:デフォルトの名無しさん
09/10/16 12:17:59
出力はされるけど通常はイミディエイトウィンドウじゃなくて出力ウィンドウだよ

Debugクラスのリスナを通さずに直接出力されてるみたいだから
VSの設定にないなら無理なんじゃないの

27:デフォルトの名無しさん
09/10/16 12:24:12
うそーん
いやいやイミディエイトウィンドウだって
Consol.WriteLine系は出力だけど例外はイミディエイトウィンドウ
ほんとかと思って設定初期化で試したけどやっぱりそうだったよ

特定のメソッド使うと例外飛ぶから表示したくなかったんだけどなぁ
出来ないなら仕方ないか・・・

28:デフォルトの名無しさん
09/10/16 20:12:00
メニューからツール-オプション-デバッグ-全般に「出力ウィンドウの文字を~」ってのがあるんだけど関係ないよね。

29:デフォルトの名無しさん
09/10/16 21:03:35
MessageBoxでMessageBoxIcon.Informationを指定した時のような音を
ボタンを押したときにメッセージボックスを出さずに鳴らしたいのですが
可能でしょうか?

30:デフォルトの名無しさん
09/10/16 21:16:29
何だっけ… System.Media あたりに SystemSound とか
SystemSounds みたいなのない?

31:デフォルトの名無しさん
09/10/16 22:05:20
>>30
おお!できました!
ありがとうございます!

32:デフォルトの名無しさん
09/10/16 23:06:20
ポインタ型って何に使うんですか?
ポインタ使うので有用な処理ってどんなのがあります?

33:デフォルトの名無しさん
09/10/16 23:08:38
P/Invoke
画像処理やゲーム等,パフォーマンスを要するもの

34:デフォルトの名無しさん
09/10/16 23:08:43
API に渡すとき。

35:デフォルトの名無しさん
09/10/16 23:13:01
今までポインタ使ったプログラムを作ったこと無いんですが
プログラマになるのなら必須事項ですかね?
避けて通れるなら難しいと聞くので触らないつもりなんですが・・・

36:デフォルトの名無しさん
09/10/16 23:16:17
必要になったときに勉強すればいいよ。

37:デフォルトの名無しさん
09/10/16 23:16:49
必要になったら勉強すればいいんじゃないの?

38:デフォルトの名無しさん
09/10/16 23:17:00
C#がちゃんとわかってればそんなに難しいものでもない
C#ではなるべく使わない方がいいし使う必要に駆られることもまずないけど知識として知っておいて損はない

39:デフォルトの名無しさん
09/10/16 23:20:28
なるほど、ありがとうございます

40:デフォルトの名無しさん
09/10/17 08:01:50
よく使うデザパタとかある?
俺はSingleton,Adapter,Factoryはよく使うけどIteratorは全くと言っていいほど使わない

41:デフォルトの名無しさん
09/10/17 08:32:08
Iteratorは言語にもう組込まれてると思っていい。
Observerなんかもイベント絡みでフレームワークが使ってる。

Visitor、State、Compositeパターンあたりは意識せずとも
使ってるんじゃないかなぁ?

42:デフォルトの名無しさん
09/10/17 08:37:25
デザインパターンなんか糞の役にも立たないから勉強するだけ無駄。

43:デフォルトの名無しさん
09/10/17 08:40:12
何かを悟ったような気になった勘違い中級者は黙っておれ

44:デフォルトの名無しさん
09/10/17 08:50:55
Iteratorは仕組がわかってればいいと思うが。IEnumeratorの動きがわかる。

45:デフォルトの名無しさん
09/10/17 09:37:42
>>42
それは、C#の場合言語に組み込まれてるからだって。
Javaなんてパターン覚えなきゃやってられないとか言うし。

46:デフォルトの名無しさん
09/10/17 11:41:57
>>42
デザパタ知っておくと、必要になったときにライブラリに用意されているクラスを
探しやすかったり、自分で作りやすくなるから、大雑把に目的は知っておくべき。
実装方法は必要になったときに調べれば良い。

47:デフォルトの名無しさん
09/10/17 12:45:47
無理矢理パターンにあてはめて使う必要はないんだよね。

覚えたての奴ってなぜかSingleton使いたがる・・・

48:デフォルトの名無しさん
09/10/17 12:53:38
こんにちは。どなたかC♯でBMI計算プログラムをvisual studio 2008 もしくは2005 で作成してアップしてくださいませんか・・・?
そのプロジェクトフォルダ全部をアップお願いします。

49:デフォルトの名無しさん
09/10/17 12:59:50
宿題スレ逝け

50:デフォルトの名無しさん
09/10/17 13:08:02
tryでcatchした致命的エラーのチェックをしたいのですが、
擬似的に致命的エラーを出す方法はありませんか?

51:デフォルトの名無しさん
09/10/17 13:15:20
throwですね、自己解決しました^^;

52:デフォルトの名無しさん
09/10/17 13:23:29
throw

53:デフォルトの名無しさん
09/10/17 13:28:19
>>47
それを言うなら「中二病の奴って~」なんじゃないの?
君みたいのは見てるこっちが恥ずかしくなるよw

ちなみに、
>覚えたての奴ってなぜかSingleton使いたがる
そんな奴はまずいないと思うよw
あんなもの乱用のしようがないだろう。
そもそも、「覚えたて」も糞も、シングルトンなんてのは普通の知能があれば
誰でも自分で思いつくテクニックで、人に言われて覚えるものじゃない。

シングルトンの唯一の意義は、それに名前が与えられていること以上のものではないんだけどね。

54:デフォルトの名無しさん
09/10/17 13:33:20
なんでここで中二病が出てくるのか

55:デフォルトの名無しさん
09/10/17 13:47:48
あぁ、そうだ。>>53みたいなのを中二病っていうんだと思うよ。

56:デフォルトの名無しさん
09/10/17 15:01:48
こんにちは。どなたかC♯でBMI計算プログラムをvisual studio 2008 もしくは2005 で作成してアップしてくださいませんか・・・?
そのプロジェクトフォルダ全部をアップお願いします。

57:デフォルトの名無しさん
09/10/17 15:03:36
>>53
きも

58:デフォルトの名無しさん
09/10/17 15:03:58
ちいい

59:デフォルトの名無しさん
09/10/17 15:04:06
宿題スレ行け

60:デフォルトの名無しさん
09/10/17 15:04:56
行きました

61:デフォルトの名無しさん
09/10/17 15:05:31
>>56
同じような内容の文章を別スレでめ見ました
早く死んでいただけませんか?

62:デフォルトの名無しさん
09/10/17 15:06:32
死にました

63:デフォルトの名無しさん
09/10/17 15:06:36
>>60
じゃあここに来るなよカス

64:デフォルトの名無しさん
09/10/17 17:02:53
>>53
きもい


65:デフォルトの名無しさん
09/10/17 17:14:37
質問です。

C#にはC言語のprintfみたいにデータを編集して出力する関数とかメソッドはあるのでしょうか。
プログラミングC#第四版(オライリージャパン)を見ると、載ってない。
JAVAではVer.5あたりで導入されたが、C#ではどうなんでしょうか。

66:デフォルトの名無しさん
09/10/17 17:18:05
Console.Writeじゃだめなん? printf形式の書式じゃないと駄目ってこと?

67:デフォルトの名無しさん
09/10/17 17:29:17
>>65
ToStringで書式指定できるよ。

68:デフォルトの名無しさん
09/10/17 17:33:06
printf()のかわりなら、writeやらstring.Formatがいいでしょ。

69:デフォルトの名無しさん
09/10/17 20:49:36
>>66-68
回答ありがとうございます。

Cのprintf文は
printf("%d\t%d\n", fahr, celsius ) ;

以下のように記述できるのですね。大変参考になりました。

Console.WriteLine("{0}\t{1}" , fahr, celsius);
Console.WriteLine(fahr.ToString("D") + "\t" + celsius.ToString("D"));
Console.WriteLine(String.Format("{0}\t{1}", fahr, celsius));
回答ありがとうございました。


70:デフォルトの名無しさん
09/10/17 20:56:38
>>69
もう少しちゃんと調べた方がいいぞ

71:デフォルトの名無しさん
09/10/17 21:42:32
Console.WriteLineのオーバーロードは17つもある。

72:デフォルトの名無しさん
09/10/17 21:46:39
じゅうななつ?

73:デフォルトの名無しさん
09/10/18 00:04:09
とおあまりななつ

74:デフォルトの名無しさん
09/10/18 04:39:12
セブンティーンつ

75:デフォルトの名無しさん
09/10/18 08:56:54
最初からdefault引数実装し説けばいいものを・・・
へジスバーグのバカチンが。

76:デフォルトの名無しさん
09/10/18 12:32:56
デフォルト引数は関係ない。TextWriter.WriteLineのオーバーロードに合わせてるだけ。
TextWriter.WriteLineのオーバーロードは引数の型ごとに処理を変えたり
ボックス化やparamsの配列作成などに伴うコストを避けたりするために沢山用意されてるんだと思う。

77:デフォルトの名無しさん
09/10/18 12:52:46
tabControlでSizeModeをFixedにした時
tabPageのTextがタブ幅よりも長くなった時に末尾に"..."と表示させたいのですがどのように実装すればよいのでしょうか?

78:デフォルトの名無しさん
09/10/18 14:46:34
オーナードローしてTextRendererを使う

79:デフォルトの名無しさん
09/10/18 22:49:09
PictureBoxで表示させた画像の中をクリックした場所によって処理を変更することはできますか?

80:デフォルトの名無しさん
09/10/18 22:51:26
そりゃ当然できるけどさ

81:デフォルトの名無しさん
09/10/18 22:53:37
座標とって処理を分ければOK

82:デフォルトの名無しさん
09/10/18 22:59:22
79に追記です、四角形の範囲指定だと、X,Y座標でif使って出来るのですが
円形でクリック処理を分ける場合はどうすればいいのでしょう?


83:デフォルトの名無しさん
09/10/18 23:00:21
Regionつかえ

84:デフォルトの名無しさん
09/10/18 23:02:01
>>82
円の方程式って中学数学だろw
そんな知識もないのにプログラムを書こうっての?

85:デフォルトの名無しさん
09/10/18 23:04:33
円の方程式の知識なんか無くても大丈夫、いける、いける。
でも自分で調べられないと無理だぜ。

86:デフォルトの名無しさん
09/10/19 01:48:34
円周の長さ=6×半径
ってやつのことですか?

87:デフォルトの名無しさん
09/10/19 01:51:08
ここで聞くよりフォーラムで聞いた方がよくね?
○○つかえとかしか言わないしさ
あっちは回答者のレベルが高いからコードも提示してくれるよ

88:デフォルトの名無しさん
09/10/19 01:57:38
これがゆとりか・・・

89:デフォルトの名無しさん
09/10/19 01:57:48
○○でググればいいじゃない

90:デフォルトの名無しさん
09/10/19 02:06:30
ゆとりとか関係ねーよ。
検索廚の方がほんとウザい

91:デフォルトの名無しさん
09/10/19 03:02:33
いやお前の方が30倍ぐらいウザい

92:デフォルトの名無しさん
09/10/19 08:26:51
これがにとりか・・・

93:デフォルトの名無しさん
09/10/19 09:09:55
描写した図形にクリックイベントを付けるにはどうすればいいですか

94:デフォルトの名無しさん
09/10/19 09:25:02
WPF にして Canvas と Ellipse 使ったら?

95:デフォルトの名無しさん
09/10/19 10:12:21
>>94
ごめんなさい、解決したので既存の方法の
CreateGraphics.FillEllipseを使って図形を表示しているのですが、
別のウィンドウが描写した図形に重なると、そこに描写してあった図形が消えてしまいます
この対策はありませんか?

96:デフォルトの名無しさん
09/10/19 10:15:18
Paint イベント内で描画してる?

97:デフォルトの名無しさん
09/10/19 10:18:31
初歩的な質問ですいません

一つのメソッドに MouseEventArgs と通常の EventArgs を共存させることは不可能でしょうか?
Form1のClickイベントで、押されたマウスで分岐処理させようと思うのですが
MouseEventArgsでは無いのでe Button&MouseButtonsが使えません

98:デフォルトの名無しさん
09/10/19 10:21:35
>>96
あー。。どうしてもPaintイベントを使わなくてはいけませんか?
ボタンで描写させたいのですが、どうすればいいでしょう?

99:デフォルトの名無しさん
09/10/19 11:13:23
>>97
MouseClick使え

100:デフォルトの名無しさん
09/10/19 11:13:53
WS_CLIPSIBLINGSスタイル追加してやるとか

101:デフォルトの名無しさん
09/10/19 11:30:25
>>98
描画手順を持ったオブジェクトをListに格納しておくとかそういう方法を使う

102:デフォルトの名無しさん
09/10/19 11:35:13
1秒間だけラベルを表示させておきたい時って皆どうしてる?
俺は1000msのタイマー一つ用意して、Tickにlbl.Visible=false;書いて
表示させるときにlbl.Visible=true;Timer.Enable=true;ってしてるんだけど
もっと良い方法無いかな

103:デフォルトの名無しさん
09/10/19 11:47:42
>>101
詳しく教えて貰えませんか'

104:デフォルトの名無しさん
09/10/19 13:46:45
>>102
それでいいんじゃね
ライブラリ化するほど汎用性があるコントロールとも思えんし

>>103
詳しくと言うほどのこともないけど
Graphicsを引数に取るDrawメソッドを持った抽象クラスを用意
その派生として四角とか丸とかを描画するクラスを作成
んでそれらをリストとして持っておく
Paintイベントでリストの内容を列挙して順番にDrawしていく
描画追加ボタンでリストに描画クラスのオブジェクトを追加しInvalidateで再描画要求

105:デフォルトの名無しさん
09/10/19 15:13:16
103です
>>104の言ってる事が全く分からない・・・w
抽象クラス、描画するクラス作成までは分かるんだけど
リストとして持っておくって何?駄目だ・・・ググってくる

106:デフォルトの名無しさん
09/10/19 15:18:40
やっと元の意味がわかった・・
別ウィンドウってそういう意味か。
Imageに関連付けしたBitmapに直接描けばよろしい

107:デフォルトの名無しさん
09/10/19 16:02:37
DataGridViewのフォーカスの有るのセルの四角のラインを消す方法はありませんか?
出来れば具体的な方法をお願いします

108:デフォルトの名無しさん
09/10/19 16:17:07
>>106
bitmap使わないと駄目ですかね'?

109:デフォルトの名無しさん
09/10/19 16:19:08
>>107
こういうやつ?
URLリンク(dobon.net)

110:デフォルトの名無しさん
09/10/19 16:20:45
>>108
paintがいやならそうなるかもね
再描画時に何を描いたか取っておくか、毎回描くかのどっちかしかないと思うよ

111:デフォルトの名無しさん
09/10/19 16:22:51
再描画されたってのを取得するイベントは無いですよね?

112:デフォルトの名無しさん
09/10/19 16:26:14
あ、されたってのじゃなくて再描画されるまえに呼ばれるイベントです
そんな都合のいいの無いですよね


113:デフォルトの名無しさん
09/10/19 16:32:40
メモリリークしているようなのですが
あるオブジェクトが現在どこから参照されているのか調べる方法はありますか?

114:デフォルトの名無しさん
09/10/19 17:06:32
>>109
素晴らしい!
ありがとうございます!

115:112
09/10/19 20:48:05
112です、別の方法を思いついたので質問します
クリックした時にその座標の色を取得することは出来ませんか?
これが実現すれば出来そうです、やり方あれば教えて下さい。

116:デフォルトの名無しさん
09/10/19 20:56:31
>>115
URLリンク(dobon.net)
URLリンク(dobon.net)
で画面キャプチャして、マウスをクリックした位置のドットの色を得れば?

117:デフォルトの名無しさん
09/10/19 23:00:37
backgroundworker がツールボックスにない。
どこにあるんだ!

環境
Visual C# 2008
Express Edition

118:デフォルトの名無しさん
09/10/19 23:26:03
>>117
ツールボックスのコンポーネントの所にないかい?

119:デフォルトの名無しさん
09/10/19 23:39:05
>>117
そんな子供騙しなおもちゃ、なくても困らないでしょ。
あれは言っちゃ悪いけどちょっと前ならVB厨って呼ばれた用な人たちのための
コンポーネントだと思うけど。

120:デフォルトの名無しさん
09/10/19 23:58:11
あれで用が足りる時は普通に便利だと思うけど?


121:デフォルトの名無しさん
09/10/20 00:01:17
便利に使える物は使ったらいい

122:デフォルトの名無しさん
09/10/20 01:38:29
子供だましなおもちゃって
「オレはあんなもん無くても書けるぜすごいだろ!」
って言いたいの?

子供ですね。

123:デフォルトの名無しさん
09/10/20 04:22:00
Xeno091017 正式版
URLリンク(koreawatcher.at.infoseek.co.jp)
・正式版として最初のリリース。
・Jane終了時の挙動のみ091015試作品から変更された。
────────────
予告どおり、正式版をリリースしました。×ボタンのツールチップ
ヒントに関して、真魚のソースを参考にして修正を試みました。
JaneNidaの開発は事実上終了です。2chの仕様変更などで
対応するかもしれません。

124:デフォルトの名無しさん
09/10/20 05:54:15
Formにボタン等のコントロールを動的に生成した場合フォームを閉じれば
自動的にメモリは開放されるのでしょうか?


125:デフォルトの名無しさん
09/10/20 06:18:24
される。

126:デフォルトの名無しさん
09/10/20 07:12:39
>>125
朝一でありがとう。

127:デフォルトの名無しさん
09/10/20 09:33:37
メモリリークって何で駄目なの?

128:デフォルトの名無しさん
09/10/20 09:55:03
リソースは有限だから

129:デフォルトの名無しさん
09/10/20 10:56:04
一度メモリリークなったらどうやって復旧するの?
再起動するしかない?

130:デフォルトの名無しさん
09/10/20 11:00:44
プログラムの再起動ということならそう

131:デフォルトの名無しさん
09/10/20 11:09:36
なら、今の所完全にメモリリークを発生させないようにすることは出来ないの?
一つ一つにtry-finallyでdisposeするとか?

132:デフォルトの名無しさん
09/10/20 11:13:58
意図的に保持してるのかそうでないかは判別できないからね

133:デフォルトの名無しさん
09/10/20 11:14:04
ListやDictionaryのように、メンバとしてアレイやリスト構造のデータを持ちながら、
list[10]のように、あたかも配列の要素を取り出すようにアクセスできる
・・・という機能を、自作クラスに持たせる方法ってありますか?


134:デフォルトの名無しさん
09/10/20 11:20:27
ジェネリック

135:デフォルトの名無しさん
09/10/20 11:44:32
インデクサ

136:デフォルトの名無しさん
09/10/20 13:06:35
>>131
メモリリークをどういう意味で使ってる?


137:デフォルトの名無しさん
09/10/20 13:44:18
>>118
URLリンク(uproda11.2ch-library.com)
コンポーネントの項目が無い!

>>119
無くてもできるけど、
楽にできるならそっちのほうがいい。

138:デフォルトの名無しさん
09/10/20 14:12:44
>>137
1. 新しいプロジェクトを追加し、[Windows フォーム アプリケーション] または [Windows フォーム コントロール ライブラリ] を選択します。
2. Windows フォーム デザイナ、ユーザ コントロール デザイナ、コンポーネント デザイナを開きます。
3. ツールボックスから任意のコンポーネントを配置します。

139:デフォルトの名無しさん
09/10/20 14:28:12
画面はWPFじゃないか
ポトペタじゃなくてコードで作れ

140:デフォルトの名無しさん
09/10/20 14:28:33
WPFのXAMLエディタではサポートしてないという話だろ。
手作業で書くしかない。

141:デフォルトの名無しさん
09/10/20 15:22:48
>>138-140

>WPFのXAMLエディタではサポートしてないという話だろ。

よくわかった。

サンプルコードへのリンクも張っておきます。

【WPF】お手軽簡単別スレッド BackgroundWorker
URLリンク(pro.art55.jp)


142:デフォルトの名無しさん
09/10/20 15:48:30
BackgroundWorkerがコンポーネントなのがおかしいんだよな
タイマーやダイアログなんかはUIに密着に関係してるからまだわかる
データソースとは違ってデザイナが使えても何の意味もないし

143:デフォルトの名無しさん
09/10/20 15:55:01
タイマーもコンポーネントだけど。


144:デフォルトの名無しさん
09/10/20 16:01:21
タイマがUIに密着……?
それならBackgroundWorkerも同程度には「密着」してると思うが

145:デフォルトの名無しさん
09/10/20 16:04:20
タイマーはWindowsのメッセージに依存してるからどうせUIの外では使えない
BackgroundWorkerはUIには全く依存してない
WPFでもそのまま使えるのがその証拠

146:デフォルトの名無しさん
09/10/20 17:02:03
基礎的なことですが教えて下さい
Form1からForm2のフォームを呼び出し
Form2のボタンを押したらForm1で宣言した変数に数字を入れたいのですが
その場合Form2のButtonクリックイベントにどうやって書けばいいでしょう?

147:デフォルトの名無しさん
09/10/20 17:15:21
>>145
タイマーがWindowsメッセージに依存してるからって
デザイナと何の関係がある?

あとコンポーネントタブにあるのは
Windowsじゃないサーバータイマーだぜ。


148:デフォルトの名無しさん
09/10/20 17:19:23
タイマーはUIの外から使えないからコンポーネントでもおかしくないって?
どんな理屈だよ。
まあサーバータイマーはUIと関係なく使えるけどな。

TableAdapterもデフォルトはコンポーネントだな。


149:デフォルトの名無しさん
09/10/20 17:42:07
>>146
Form1にpublicなメソッドなりプロパティなり作ってForm2から呼べばいい
Form2には事前にForm1のインスタンスを渡しておく。

150:デフォルトの名無しさん
09/10/20 18:02:53
>>149
インスタンスがよく分かりません;
参考になるサイト有りませんか?

151:デフォルトの名無しさん
09/10/20 18:25:14
>>150
初歩すぎるからどのサイトでもいいと思うが。
ちなみにForm1から見たForm1のインスタンスはthis

152:デフォルトの名無しさん
09/10/20 18:38:32
Form2からForm1を呼びたい場合は、Form1側に

private static Form1 _form1Instance;
int form2count = 0;
public int form2ins
{
get
{ return form2count; }
set
{ form2count = value; }
}

これでいいんですかね?

153:デフォルトの名無しさん
09/10/20 18:41:46
きも過ぎるだろ。

154:デフォルトの名無しさん
09/10/20 18:52:48
Form2のコンストラクタにでも引数追加してやれば

155:デフォルトの名無しさん
09/10/20 19:22:59
>>コンポーネントの人たち
そもそも、ツールボックスに表示されているのは殆どコンポーネントだし
[コンポーネント]にあるのは明確なカテゴリのない残り物

てか、適当な事書く前に.NETでのコンポーネントの定義を確認してくれよ

156:デフォルトの名無しさん
09/10/20 20:59:56
>>152
きもすぎワロタw

//Form1.cs

public string Data
{
get;
set;
}
private void button1_Click(object sender, EventArgs e)
{
Form frm = new Form2();
frm.Show(this);
}
//Form2.cs
private void Form2_Load(object sender, EventArgs e)
{
var frm = this.Owner as Form1;
if (frm != null)
frm.Data = "kimosu";
}

157:152
09/10/20 21:39:46
>>156
駄目だw理解出来ないw
var frm = this.Owner as Form1;
これは一体何してるの?

if (frm != null)してるなら、どのタイミングでfrmをdisposeすればいいの?
Form2のClosingでdisposeしとけばいい?
まさか俺はdisposeの意味を全く理解して無いだけか

get; set;
これってgetとsetの処理分けて書かないと駄目なんじゃないの?

多分スルーされて涙目になるんだろうけど、
誰でもいいから教えてよ;w;


158:デフォルトの名無しさん
09/10/20 21:51:38
なんつーかまずはふらっと行ってこい。
get;set;については匿名係長でググれ

159:デフォルトの名無しさん
09/10/20 21:54:18
というかForm2からForm1の値を弄るとかキモイな

160:デフォルトの名無しさん
09/10/20 21:55:28
仕様からキモイから仕方ない。

161:デフォルトの名無しさん
09/10/20 21:58:54
え?
じゃあ例えばForm2からForm1の背景色を変更するときとか普通はどうするの?


162:デフォルトの名無しさん
09/10/20 22:02:51
イベント使う

163:デフォルトの名無しさん
09/10/20 22:04:48
そんなイベントある?

Form2に設置したボタンを押された回数を
Form1で宣言した変数に入れたい時もイベントで出来るの?

164:デフォルトの名無しさん
09/10/20 22:09:29
カウントしてけばいいんじゃね?

165:デフォルトの名無しさん
09/10/20 22:09:33
その変数ほんとにForm1に宣言するのが自然ですか?
別の独立したクラスに持たせて,Form1とForm2の両方から参照した方がスマートではありませんか?

166:デフォルトの名無しさん
09/10/20 22:11:13
フォームがクラスであるとこを理解できないのとグローバル変数が大好きなのが合わさるとごらんの有様だよ

167:デフォルトの名無しさん
09/10/20 22:13:09
>>158
var frmは理解しました。
varってクラスの型なんですね

disposeの件は勘違いしてました。
今までのソース見てもそんなのしてねぇや、俺アホす

匿名係長でググってもめぼしい物が見つからない・・・

>>165
やべえ、感動した。
まだほんの小規模なツールしか作ったこと無くて、クラスも1つしか使ってなかった
そうか、それで別のクラス作ればいいのかw

168:デフォルトの名無しさん
09/10/20 22:15:16
>>166
「Form1の変数を弄るためのイベント」みたいにForm1を意識して作るんだったら
直接Form2からForm1を触るのと変わらん
どうせ意識するんだったら意識する範囲を別のクラスに括り出す

169:デフォルトの名無しさん
09/10/20 22:19:43
クラスの概念が理解出来てなかった
未だにnamespaceとかの概念も分からないわ
新規にクラス作るときは、Form1.csの中に書いても良いのかな?
namespace app1
{
public partial class Form1 : Form
{ public Form1 }
//ここに、public partial class aho{ }ってすればクラス追加したことになるの?
}
というか、ここで聞けるほど簡単な所でひっかかってるんじゃなさそうだから
ソースの構造体とかの概念を説明してるサイト無いのかな
ググってもサンプルとかはいくつも出てくるけど、そんなサイトのほうが少ないし
どうするかな・・・

170:デフォルトの名無しさん
09/10/20 22:23:38
>169
ここで聞いちゃいけないほど簡単なことをきいてんだよお舞は(´・ω・`)

171:デフォルトの名無しさん
09/10/20 22:24:39
>>169
URLリンク(www.atmarkit.co.jp)
行ってらっしゃい
読破するまでは戻ってくるなよ

172:デフォルトの名無しさん
09/10/20 22:26:29
どうも。読破するまで戻りません。
ありがとう

173:デフォルトの名無しさん
09/10/20 22:30:52
>>167
君が特命係長のファンだというならば、
次は自動プロパティでぐぐることをお勧めいたします。

174:デフォルトの名無しさん
09/10/20 23:07:04
ComponentModel.Componentのサブクラスの
BackgroundWorkerはどうやってWinFormのControlや
WPFのUIElementに同期してるんだろ。
コンストラクタなどでフォームのthisを渡しているふうでもないし、
DelegateのTargetを使ってるふうでもない。

175:デフォルトの名無しさん
09/10/20 23:11:03
いや同期したら意味ないから
イベントは全部非同期コールバック

176:デフォルトの名無しさん
09/10/20 23:15:11
まだ読み終わってないけど、>>173見て
最後一つだけ質問させてくだはい
class plex{
   private int clickcount=0;
   public int ClickCount
    {
      set { clickcount = value; }
      get { return clickcount; }
    }
}
---
Comp c = new Comp();

if (c!=null)
      { c.ClickCount++; //0に1追加
       MessageBox.Show(c.ClickCount.ToString()); } //毎回1が返される

何度setしてもカウントがgetするたびに0になってます
上手くsetされていないのかもしれないんですが、どこがおかしいか指摘もらえませんか?

177:デフォルトの名無しさん
09/10/20 23:17:39
プロパティに++は使えない

178:デフォルトの名無しさん
09/10/20 23:17:45
あ、class名はCompですね、書き間違えました

179:デフォルトの名無しさん
09/10/20 23:20:15
++が使えないなら0が返るのでは?
c.ClickCount=c.ClickCount+1;
こうしてみましたけど、これでも毎回1しか返してきません

180:デフォルトの名無しさん
09/10/20 23:23:04
Comp c = new Comp();をクラス直下に移動する

181:デフォルトの名無しさん
09/10/20 23:23:14
エスパーしてみる。
おそらくButton_Clickなんかの中でnewしてるんでしょ。

var c = new Comp(); // ←新しく作ったので、値0から
   : なんか処理

var c = new Comp(); // ←また新しく作ったので、値0から

182:デフォルトの名無しさん
09/10/20 23:25:55
一番いいのはイベントを飛ばすのだけれど、この分だとForm1のインスタンスを渡すのも辛そうだ。
staticなclassにpublicフィールドもta
せればいいと思うよ。

183:デフォルトの名無しさん
09/10/20 23:26:14
>>180,181
見事、それが原因でした
そういうものなのね、少しそれも疑ったけれど
毎回clickcountに++されていってると思ってて
newごとにそうなるとは思わなかった。
ありがとうございます。

184:デフォルトの名無しさん
09/10/20 23:28:24
>>175
説明が足りなんだ。DoWorkじゃなくて
ProgressChangedとRunWorkerCompletedのこと。


185:デフォルトの名無しさん
09/10/20 23:28:26
>>177
嘘付くな

186:デフォルトの名無しさん
09/10/20 23:31:49
小間苛やさしいなw

187:デフォルトの名無しさん
09/10/20 23:32:52
>>184
コンポーネントなんだから自分の親が誰かくらいは知ってるんじゃないの

188:183
09/10/20 23:34:17
あー・・・
>>176のソースで、
Comp c = new Comp();を使うと、clickcount=0になるんですよね?
この場合、値をリセットせずにプロパティを参照することはできませんか?

何度かそのフォームを表示させて、ボタンをクリックさせるたびに、
以前のクリックした回数は保持させておきたいのですがそんなことは出来ませんか?


189:デフォルトの名無しさん
09/10/20 23:34:32
>>174
AsyncOperationつーもんがある

190:デフォルトの名無しさん
09/10/20 23:40:07
>>188
毎回インスタンス生成してるんだから、カウントをリセットしているわけじゃなく、毎回新しいCompのプロパティを0→1にしている。

191:デフォルトの名無しさん
09/10/20 23:47:26
>>184
WinFormsやWPFがグローバルなSynchronizationContextを提供してるみたい
Componentは特に関係なさそう

192:デフォルトの名無しさん
09/10/20 23:47:54
>>190
あー、毎回1になる原理は分かりました。
しかし、毎回インスタンス生成しないと、参照出来ないのでは?

193:デフォルトの名無しさん
09/10/20 23:54:27
>>189,191
ありがとう。AsyncOperationは少し調べてみます。


194:デフォルトの名無しさん
09/10/20 23:56:03
>>192
レス全部読んでる?

195:デフォルトの名無しさん
09/10/21 00:00:30
>>194
何か重要なレス見逃しました?
一応全部目を通してるんですが・・・

196:デフォルトの名無しさん
09/10/21 00:02:15
>>195
>>180
Comp c = new Comp();
private void button1_Click(…

197:デフォルトの名無しさん
09/10/21 00:08:26
変数のスコープをもっと考えなさいってこと。

198:デフォルトの名無しさん
09/10/21 00:11:23
>194
そもそも読んだところで理解出来ないと思われ

199:デフォルトの名無しさん
09/10/21 00:11:59
>>196
あ、じゃなくて、直下に移動させてその問題は解決したんですが
Form1からForm2出して、Form2のボタンをクリックすると、
>>176使ってclickcountにクリックした回数を++した後でForm2をClose
このあと、2回目以降にForm2を呼んだとき、
どうしても毎回Comp c = new Comp();通りますよね。
このときclickcountに格納された値も0になってしまうのを回避する方法は無いですか?

わかりづらくてすいません。

200:デフォルトの名無しさん
09/10/21 00:29:15
生存期間を考えて、ふさわしい方法を考えようぜ

201:デフォルトの名無しさん
09/10/21 00:44:51
おまえはもうこっちにいけ。
スレリンク(tech板)
スレを汚すな。バカチンが。

202:デフォルトの名無しさん
09/10/21 01:05:20
はじめての言語がC#、いま2ヶ月たちました。
結構簡単ですね。簡単な業務用ツールいくつか作れました。

って感じがするw

203:デフォルトの名無しさん
09/10/21 01:16:18
>>199だけ教えて貰えませんか
この方法あれば終われますので;

204:デフォルトの名無しさん
09/10/21 06:39:16
あきらめろよ

205:デフォルトの名無しさん
09/10/21 09:56:43
最初に答えるときに、ふらっと誘導しようと思ったんだが
ここまで引っ張るとは思ってなかったわ・・・

206:デフォルトの名無しさん
09/10/21 12:22:52
HTMLをネット上から取得した場合
画像や、リンクがフルパスではなく

../img/image.jpg
/help.htm

のように、なっていることが多いのですが
これをどうにか、フルパス指定にする方法はないでしょうか

207:デフォルトの名無しさん
09/10/21 12:27:01
base要素か現在のurlからUri作るだけ

208:デフォルトの名無しさん
09/10/21 12:27:11
C#一切関係ないなそれ
BASEでも指定すればいいんじゃないの。何に使いたいのかは知らんけど

209:デフォルトの名無しさん
09/10/21 12:48:36
>>207,208
ありがとうございます
教えていただいたもので考えた結果

string url="URLリンク(google.com)";
Uri base=new Uri(url);

HTMLをサーバーから取得し、htmlというstring変数に入れる

html内を検索し、../や/で始まるものを置換するという方法で一応できる・・・のでしょうか
こういう処理しか思い浮かばなかったのですが
最初から、フルパスで取得したりはできないですよね・・・・
この処理すごく煩雑になると思うのですが、もうちょっとスマートな方法はないでしょうか?orz

210:デフォルトの名無しさん
09/10/21 12:53:22
あ、ちなみにやりたいことは
ネットを見る際特定の広告などを表示しないなど、直接ではなく少し改変して表示するブラウザの作成です

211:デフォルトの名無しさん
09/10/21 13:12:30
現在のページのUriはわかってるわけだから、
このタイプのコンストラクタを使う。
Uri (Uri baseUri, string relativeUri)

212:デフォルトの名無しさん
09/10/21 13:42:37
>>211
それを調べてみたのですが
BaseUriの後にRelativeUriをくっつけてるだけですよね?
つまり、RelativeUri(/index.htmlなど)が分からなければいけないので
取得したソースから[/***.html]や[../***.jpg]などを検索、取得しRelativeUriにいれて一個ずつ置換しなければなりませんよね?
自分が勘違いしているだけかもしれませんが
そうなると、ソースの中から上記のものを取得しなければならない作業があるわけですが
それを簡単に行うことはできますでしょうか?
自分が考えついたのは
ソースないで「"../」や「"/」で始まる部分を検索し、そこを置換という方法だけだったのですが
すごく煩雑でしかも、/で始まらない場合には対応できないので
何か他にいい案がないものかな。と思いまして・・・

213:デフォルトの名無しさん
09/10/21 13:48:50
正規化

214:デフォルトの名無しさん
09/10/21 15:17:25
>>212
言ってる意味が分からないな。
urlを食わせればそのページからのリンクをフルパスで
一覧してくれる便利な関数やライブラリはないかという話なら標準のBCLにはない。
だいたい、相対URLが ../ や /で始まってるとも限らないだろ?


215:デフォルトの名無しさん
09/10/21 15:23:35
それから、これはURLの正規化をしてくれるよ。
>Uri (Uri baseUri, string relativeUri) 

base=URLリンク(www.xxxx.com)
として
relativeUri=../zzz/xxx.html
なら、ちゃんとこうなる。
URLリンク(www.xxxx.com)

relativeUri=/bbb.html
なら、こうなる。
base=URLリンク(www.xxxx.com)


216:デフォルトの名無しさん
09/10/21 17:54:17
リストビューで、非フォーカス時に選択されている行の背景色は淡いグレーですが、
まるでフォーカスが当たっているように青にするにはどうすれば良いでしょうか?

217:デフォルトの名無しさん
09/10/21 18:05:59
グローバルな設定はできたと思うけど混乱するのでやめた方がいい
リストビューだけ変えるにはオーナードローしかないんじゃね

218:デフォルトの名無しさん
09/10/21 18:14:15
フォーカスの外れたタイミングでSelectedItemsのBackColorとForeColorかえてやるとか

219:デフォルトの名無しさん
09/10/22 20:37:24
すいません。教えてください。

クライアント複数(C#でWinアプリ)→サーバー(SqlServer2005Express)というアプリを作りたいです。
このアプリを配布する前提なのですが、どのように作成したらよいでしょうか。
「サービスベースのデータベース」で作成してサーバーでのデータベース運用にできるのでしょうか?
また、どのように配布するのでしょうか。

よろしくお願いいたします。


220:デフォルトの名無しさん
09/10/22 21:47:28
>>219
1)ASP.NETでつくる。
2)WebServiceでプレゼンテーション層を作り、ClickOnceでクライアントに配布。

便乗で質問してよろしいでしょうか?
XmlWebサービスでDataTableを取得し、コンボボックスのデータソースにしようとしています。
DataTableを取得するまではできたのですがDataSourceにつっこんでも欲しい値がでません。
コンボボックスには~.DataViewみたいな型情報が出てしまいます。
XmlWebサービスで取得する値は、DBからSelect文で1列だけ取得したものです。
for eachで値が取れていることは確認し、Items.Add()で追加することもできました。
だけど、ComboBox.DataSourece = datatable;の形で値を表示したいです。
なぜ正しくでないのか、そして正しくでる方法を知っている方がいましたら教えてください。

よろしくお願いします。

221:デフォルトの名無しさん
09/10/22 21:49:59
>>220 はぜんぜんわかってないとみた。

222:デフォルトの名無しさん
09/10/23 08:32:58
>>220
DisplayMember と ValueMember を指定


223:デフォルトの名無しさん
09/10/23 12:17:45
>>222
thx。試してみるわ。


224:デフォルトの名無しさん
09/10/23 15:50:21
すまん、どっかにオブジェクト参照残ってるぽくて、強制ガベコレしてもデストラクタまでこないんだがどんな風に掴まれてるのかオブジェクトグラフを辿る方法とかない?

225:デフォルトの名無しさん
09/10/23 18:14:33
知るか禿げ

226:デフォルトの名無しさん
09/10/23 21:33:32
アルゴリズムとデータ構造を勉強しようと思っているんだけれど、言語はC#でいいかな?
本はC言語の方が充実しているみたいだが、C#にも強くなりたいと思っているので。
他にC、Java、JavaScriptの文法ならわかる。

227:デフォルトの名無しさん
09/10/23 21:35:18
>>226
今からC++覚える意義は何もないのでC#でいいよ

228:デフォルトの名無しさん
09/10/23 21:36:10
Rubyがいいよ

229:デフォルトの名無しさん
09/10/23 22:02:00
Haskellにしとけ

230:デフォルトの名無しさん
09/10/23 22:12:56
>>228-229
ふざけんな

231:デフォルトの名無しさん
09/10/23 22:17:11
ふざけんなとは、どういう意図で言ってるんだ?

232:デフォルトの名無しさん
09/10/23 23:10:52
C#スレで別の言語すすめんな!スレ違い!って意味じゃないのかね。
まあ Ruby も Haskell も別にふざけた言語じゃないと思うけど。

ちなみにC#でアルゴリズムの勉強するとしても
Cとほぼ同じレベルの文法しかつかわないと思うよ。
使い方じゃなくて実装の方の勉強をするんでしょ?

233:デフォルトの名無しさん
09/10/23 23:18:18
おまえに答えろと言ってねえよ
すっこんでろ

234:デフォルトの名無しさん
09/10/23 23:19:46
>>232
うん。
使い方なら、(言語は何であれ)そもそもライブラリが充実しているのでそちらを使えるようになればいいと思っている。
目的はそのための基礎づくり。

235:デフォルトの名無しさん
09/10/23 23:21:18
C#のすれでC#でいいかなとかもうばかかと

236:デフォルトの名無しさん
09/10/23 23:42:15
なにこのうんこな流れ

237:デフォルトの名無しさん
09/10/24 11:36:29
うんこは水に流すしかないな

238:デフォルトの名無しさん
09/10/24 12:03:47
別のExeのプロセスをフックするにはどうしたらいいんでしょうか?


239:デフォルトの名無しさん
09/10/24 12:40:01
プロセスのフック、なんてものはない。
別プロセスの何をフックしたいんだ?

240:238
09/10/24 13:08:39
自己解決しました

241:デフォルトの名無しさん
09/10/24 13:14:38
よかったね。

242:238
09/10/24 13:28:53
してません。
サブクラス化?って奴だと思うんですが、自身のウィンドウしかできないもので。


243:デフォルトの名無しさん
09/10/24 13:32:41
>>238
おれは優しいので教えてあげる

API

244:デフォルトの名無しさん
09/10/24 17:59:42
自己解決しました

245:デフォルトの名無しさん
09/10/24 20:09:21
サブクラス化ってことは、ウィンドウメッセージね。
あれは C# じゃ無理。グローバルフックが必要だから。

246:デフォルトの名無しさん
09/10/24 22:23:07
C#でグローバルフックできるよ。

247:デフォルトの名無しさん
09/10/24 23:08:43
へー。どうやってやるの? LL じゃ意味がないのはわかってるよね?

248:デフォルトの名無しさん
09/10/24 23:14:46
>>247
ggrks
URLリンク(www.google.co.jp)

249:デフォルトの名無しさん
09/10/24 23:19:50
LL じゃん。ウィンドウメッセージをフックしてくれよ。グローバルフックで。

250:デフォルトの名無しさん
09/10/24 23:22:03
まぁ、意味がわかってないバカってことだな。

251:243
09/10/24 23:25:50
おれのことスルーしてる?

252:デフォルトの名無しさん
09/10/24 23:27:01
お前ははなから相手にされてない。

253:デフォルトの名無しさん
09/10/25 03:31:57
>>251
おれは優しいので教えてあげる

帰れ

254:デフォルトの名無しさん
09/10/25 16:07:14
ぐぐっても分からなかったんだけど、LLってなに?

255:デフォルトの名無しさん
09/10/25 16:23:33
LightningLazer

256:デフォルトの名無しさん
09/10/25 16:24:22
LoveLevolution

257:デフォルトの名無しさん
09/10/25 16:46:29
>>254
WH_KEYBOARD_LL, WH_MOUSE_LL

258:デフォルトの名無しさん
09/10/25 20:35:39
LowLevelHook

259:デフォルトの名無しさん
09/10/27 15:50:20
体重が100kg以上だとLLサイズになる

260:デフォルトの名無しさん
09/10/27 15:51:08
XLは?

261:デフォルトの名無しさん
09/10/27 21:15:54
「列挙型はクラスではない」で合っていますか?
あと「文字列や配列はクラスである」という理解でいいんでしょうか?

値型となるのが数値、文字、真理値、構造体
参照型となるのが配列、文字列、クラス、インターフェース、デリゲート
列挙型は特定の数値しか取らない型定義だから、値型。つまり参照型のクラスではない
という論法。

262:デフォルトの名無しさん
09/10/27 21:36:56
俺もそういう理解だけど、困ったこと無いからいいんじゃないかな?
間違ってるとして、困った事が起こるのはどんな時?教えて偉い人。

263:デフォルトの名無しさん
09/10/27 21:41:09
配列はクラスかというとちょっと微妙だな
配列型の基底クラスであるArrayは確かにクラスだけど配列型そのものは
やっぱりクラスではなく配列型と呼ぶのが普通だろう
デリゲートだってDelegateはクラスだけどデリゲートそのものはデリゲート型と呼ぶだろ(実体はクラス)

264:デフォルトの名無しさん
09/10/27 21:43:19
なんですかそのパンダは哺乳類と呼ぶべきで動物じゃない理論は

265:デフォルトの名無しさん
09/10/27 21:50:56
動物か植物か矛盾だらけの世界~♪とかいう歌を最近聴いた気がする。

System.EnumはSystem.ValueTypeを継承してるから値型の一種でいいと思うけど、
struct型の値型とは分類が違う。EnumはEnum型と呼ぶべきだろう。

266:デフォルトの名無しさん
09/10/27 22:04:22
列挙型ってCLIのプリミティブ型に型情報をくっつけてるだけだよ
その意味ではInt32やCharなどと同じ

267:デフォルトの名無しさん
09/10/27 22:09:04
ILで見ると分かりやすい。
public enum ABC { aa, bb, cc }
が、こうなる。
.class public auto ansi sealed ABC extends [mscorlib]System.Enum
{
  .field public specialname rtspecialname int32 value__
  .field public static literal valuetype ABC aa = int32(0x00000000)
  .field public static literal valuetype ABC bb = int32(0x00000001)
  .field public static literal valuetype ABC cc = int32(0x00000002)
}


268:デフォルトの名無しさん
09/10/27 22:40:27
>>261
C#言語仕様14章より
列挙型とは、名前付き定数のセットを宣言する固有の値型 (4.1 を参照) です。

269:デフォルトの名無しさん
09/10/29 17:49:39
C#でネット通信するとき
Webproxy=NULL;
にすると通信がすっごく早くなるのですが、これを使う(プロクシを使用しない)ことによる問題はありますか?
プロクシ通さないと繋がらないPCはおいといて、通常の環境での話です


あと、たとえばWebで
じゃんけんゲームをcgiで作ったとします

ボタンが3つあって、
Aを押すとグー
Bを押すとチョキ
Cを押すとパー

ボタンを押すと相手もランダムに手を出し勝負するという単純なものです


cgiの内部的には、Aというボタンが押された、という情報を受け取って表示をしていることは分かるのですが

C#のアプリ側で
そのAというボタンが押されたという情報を送って、帰ってくる結果を取得するにはどうすればいいのでしょうか?

WebBrowserを用いて直接ボタンを押す以外でです。
わかりにくかったらすいませんorz

270:デフォルトの名無しさん
09/10/29 17:59:09
HTTPがわかればわかる

271:デフォルトの名無しさん
09/10/29 18:05:58
申し訳ありません
説明不足でした

HTTP Header
というもので、どういう情報を送信すればいいかはわかってます
上のやつで
ボタンAが押された場合は
Agaosareta
という情報が送られるようになっています


でも、どうやって送信、取得すればいいのかがわからなくて・・・・・

272:デフォルトの名無しさん
09/10/29 18:08:44
実際の通信の中身が知りたいのか、HTTPRequest等の使い方が知りたいのかどっちよ

273:デフォルトの名無しさん
09/10/29 18:24:17
URLリンク(www.dotup.org)
こんな感じです

おおげさですが
専用ブラウザみたいなものを作りたいといえば通じるようなきがします
元々はシンプルなものを、ローカル側で見やすくして表示するじゃんけんゲーム専用のブラウザを作りたいです

ブラウザなら、ボタンを押せば勝手に情報が送信されますよね?
そして、かえって来た情報を元にテキスト(勝ち負け)を表示


でも、それをローカルのアプリからやる方法がわからないんです
この絵で言うパー(じゃんけんの手を送信)を送信
と、結果を取得(じゃんけんの結果を取得)

がよくわかりません・・・
結果さえ取得できれば
勝ちならif(win)~
負けならelse if(rose)~

みたいにして結果のぺーじをかえればいいんだとは思いますが

274:デフォルトの名無しさん
09/10/29 18:30:21
>>271 からPOSTするときの内容もわかってると思っていいの?
って面倒だからググってきた。
URLリンク(www.atmarkit.co.jp)
こういうのでわかる?

275:デフォルトの名無しさん
09/10/29 18:36:29
>>273
WebClient もしくは HttpWebRequest を使う(前者のほうが簡単)
URLリンク(www.atmarkit.co.jp)
ブラウザで表示するのとは別のアドレスを用意するか
送信する引数に勝敗だけ返してねーってフラグでも付けて送る
例えばGETでやるならこんな感じかね(非ブラウザからパーを送信)
URLリンク(www.hoge.co.jp)

CGI側は value の内容から勝敗を決定し単純に勝敗のみを文字で返す
クライアントはダウンロードした文字の内容で結果を判断する

WebClient wc = new WebClient();
byte[] data = wc.DownloadData("URLリンク(www.hoge.co.jp)");
Encoding enc = Encoding.GetEncoding("Shift_JIS");
string html = enc.GetString(data);
if (html == "勝ち") { } else { }

276:デフォルトの名無しさん
09/10/29 18:37:02
>>274
まさにこれです
本当にありがとうございました

このじゃんけんゲームは自分で作ったので
それぞれ

paagaosareta
guugaosareta
tyokigaosareta

という内容を送信するということは分かってます

それを見てふ、と思ったのですが
googleで検索ボタンを押したときや、たとえば2chに書き込む情報を送るなんていう場合は
色々POSTされているんだと思いますが
そういうのを調べる方法はあるのでしょうか?

277:デフォルトの名無しさん
09/10/29 18:44:52
FirefoxでHTTP Live Headersアドオン入れるのが手軽

278:デフォルトの名無しさん
09/10/29 18:49:03
って中身もか、、、HTTPわかりゃいい、、、というかcgi書いてるなら中身わかると思うが

279:デフォルトの名無しさん
09/10/29 18:52:51
いったいHTTPのことは分かってるのか分かってないのかどっちだ

280:デフォルトの名無しさん
09/10/29 18:53:47
入門書の通り作っただけなのでさっぱりわかってません・・・・
動いた!わーい!

って感じです・・・・


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