- 1 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:44:27 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 ふらっとC#,C♯,C#(初心者用) Part23 pc11.2ch.net/test/read.cgi/tech/1200033660/
- 29 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 18:55:48 ]
- >>27
関数を引数にとって、関数内で任意の処理ができるんだから同じじゃないの?
- 30 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 18:56:12 ]
- >>27
>>1読めカス
- 31 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 18:56:47 ]
- >>23、>>25
何がまずいの?w いやもちろんまずい場面もありうるだろうが、そんなのむしろ例外的じゃないの? っていうかC#ってVBのカスタムイベントみたいなことって出来ないんだっけ?
- 32 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 18:57:31 ]
- 高階関数に相当するのはデリゲートじゃなくてデリゲートを引数に取るメソッドの方だろ
- 33 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:00:42 ]
- >>32
ごめんそういうことがいいたかった
- 34 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:07:30 ]
- >>31
addとremoveは定義できるよ raiseはない
- 35 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:14:20 ]
- >>34
ならハンドラを呼び出す順番もその気になれば一応制御できるんだよね?
- 36 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:15:49 ]
- どうのこうの言いつつ、
結果的に>>1が投げた質問で盛り上がってる俺ら
- 37 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:20:08 ]
- >>35
デリゲートオブジェクトは呼び出し対象の情報しか持ってないのに何を基準に並べ替えるの?
- 38 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:24:37 ]
- >>37
俺も具体的な用途があまりあるとは思ってないんだけど、抽象的な可能性の話だよ。 例えば標準のFIFO動作をLIFOに変更するとかさ。
- 39 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:49:51 ]
- 詳しい人ktkr!!
誰かcontravarianceの使い方を教えてくだしぁ><
- 40 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:52:41 ]
- お前は使わなくていい
- 41 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 19:53:19 ]
- >>40
ここそういうスレじゃないから
- 42 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:09:03 ]
- object型って変数宣言した瞬間にインスタンスが作られるんですか?
くだ質スマンセン
- 43 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:13:35 ]
- 作られないと思う
作られるのはintとかプリミティブ型だけ
- 44 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:28:48 ]
- C#にはプリミティブ型なんてないお
- 45 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:31:17 ]
- プリミティブ型(と呼ばれるもの)はあるよ
値型の中でも言語に組み込みのものをいう
- 46 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:31:22 ]
- ボクシングって知ってる?
- 47 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:31:36 ]
- 本当かよw
- 48 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:39:59 ]
- intはプリミティブ型で、Int32がオブジェクト型じゃないの?
- 49 名前:42 mailto:sage [2008/02/04(月) 20:40:33 ]
- 値型の場合・・・・・変数宣言した瞬間にスタック上にインスタンスが生成される。
参照型の場合・・・変数宣言した瞬間にスタック上に参照情報が生成され、初期値としてnullが入る。 ということですよね? 実は手元の入門書で↓のような例文で、 int hoge hoge = 123; object obj; obj = (object)hoge; 「object obj; で、変数objのインスタンスをヒープ上に生成し、参照情報をスタック上に格納」 とあって混乱したのですが、間違いってことでしょうか?
- 50 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:43:11 ]
- >>49
>変数objのインスタンスをヒープ上に生成 うんここはまちがいだな 参考までになんて本?
- 51 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:46:38 ]
- >>48
全く同じ 言語仕様でも同じと明記されてる
- 52 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:02:05 ]
- >参照型の場合・・・変数宣言した瞬間にスタック上に参照情報が生成され、初期値としてnullが入る。
ちがうよ。
- 53 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:06:03 ]
- 違うってんなら詳しく書け、書かないならレスつけんな
- 54 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:06:05 ]
- 先生ども
コンソールアプリケーションでデフォルトプリンタを取る方法って 普通のc#上には無いんでしょうか? 調べてみると、APIで取る方法とWSHで取る方法がありそうだけど WSHはデフォルトプリンタを取得するサンプルが見当たらないし、 APIだとどうも負け組みかなって思っちまいます。
- 55 名前:42 mailto:sage [2008/02/04(月) 21:10:22 ]
- >>50
やっぱりそうですか・・・。 本は↓です。 visual C#2005パーフェクトマスター (著:金城 俊哉 氏) ttp://www.amazon.co.jp/Visual-2005%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E2%80%95Windows-Vista%E5%AE%8C%E5%85%A8%E5%AF%BE%E5%BF%9C-Server2005-Perfect/dp/4798016098 初めに@ITの川俣氏の「改訂版C#入門」を一通りやって、なんとなく分かった気はしたんですが、 きちんと入門書から始めたほうが良さげだろうと思いまして。 VS2005の使い方も詳しく載ってるお手ごろな入門書を探して、これに行き着きました。 読んでみたら初版なせいか誤字が多い・・・しかもいきなりWindows Formの説明から始まって・・・ もしかして地(ry orz
- 56 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:20:32 ]
- 俺は>>50の言ってる事の方が間違ってると思うなw
- 57 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:22:37 ]
- っていうかヒープだのスタックだのなんてフレームワーク内部の低水準の話は
とりあえずうっちゃっておいても問題ない、というよりそんなの後回しに すべきだと思うよ。
- 58 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:09:24 ]
- >>49
C++とごっちゃになってるようにも読み取れるな
- 59 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:15:18 ]
- >>49
そのライター結構いっぱい本書いてるけどやばい記述多いのかな
- 60 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:16:54 ]
- >初期値としてnullが入る。
入らないよ。
- 61 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:21:39 ]
- >>1乙
- 62 名前:42 mailto:sage [2008/02/04(月) 22:34:56 ]
- そうですか。色々勘違いしてるのかもしれません
とりあえず今は置いといて、本を読み進めようと思います。
- 63 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:41:55 ]
- 値型も宣言しただけでは初期化されないよ。
- 64 名前:42 mailto:sage [2008/02/04(月) 22:58:38 ]
- 結局、宣伝はメモリ確保するだけで、(0やnullなども含めて)何かで初期化されるわけではない、ってことですかね?
というか、当たり前か・・・
- 65 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:01:01 ]
- if(myPS->isString("+")){
if(debug){cout<<"24回"<<endl; } return true; 上の分の->これっていったいなにをしているんでしょう また、if文カッコ内debugの中の変数は0か1かではなく、True Falseでも判定かのうなのでしょうか? よろしくお願いします
- 66 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:05:01 ]
- 猫でもわかるC#のフォーム編ってまだ発売決まってないのかな?
知ってる人います?
- 67 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:11:25 ]
- 著者か出版社に聞けばいいじゃんw
っていうか俺あの著者の本を好む人が理解できん。 あの人低水準のこと = 基本だと思ってないか?w っていうかどうでもいい無駄話が多すぎ。
- 68 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:13:05 ]
- >>67
そうなの? かなり分かりやすく書いてあるから、重宝してるんだが ありがとう、著者にメール送ってみる!
- 69 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:14:41 ]
- 人によるんじゃねえかなぁ、独習シリーズも人によっては結構わかりづらいみたいだし
文体がお堅いっていうのはあるけどお浚いする為にはああゆうのが便利だと思ってる 入門は柔らかい文体の本一冊+Webで、くらいで
- 70 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:38:46 ]
- >>64
俺は宣言するだけじゃメモリ確保すらされないと理解してるんだが。 だって、一度も代入してないのをいきなり使おうとすると >未割り当てのローカル変数 'name' が使用されました。 って出るじゃん
- 71 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:45:49 ]
- 独習シリーズって教科書には向かないけど、
自分でコツコツ読むには何でも書いてあるいい本だよね
- 72 名前:65 mailto:sage [2008/02/04(月) 23:51:02 ]
- 分かる人いたらお願いします・・・
- 73 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:01:03 ]
- このスレはC#のスレ。それC++じゃないの?
- 74 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:05:59 ]
- >>72
ポインタ演算子じゃないの?
- 75 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:14:14 ]
- アロー演算子って呼び方が一般的じゃないかな
- 76 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:14:39 ]
- そだね
- 77 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:21:42 ]
- >>未割り当てのローカル変数 'name' が使用されました。
>って出るじゃん 英語のメッセージは Use of unassigned local variable 'name' なんだぜ? allocateじゃなくてasign
- 78 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:29:57 ]
- 紛らわしいw
- 79 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:35:38 ]
- >>54
dobon.net/vb/dotnet/graphics/defaultprinter.html これは調査済み?
- 80 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:43:11 ]
- デリゲートとかクロージャみたいな難しい概念を
実際のコードに使ってる人なんているの?
- 81 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:44:40 ]
- 難しい(笑)
- 82 名前:デフォルトの名無しさん [2008/02/05(火) 00:45:00 ]
- 難しくないから普通に使ってるだろ。
Cでポインタが難しいと言ってるのと変わらない。
- 83 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:46:37 ]
- 言語マニアしか分からなくないですか?
デリゲートとかクロージャがなくて困るケースってあります?
- 84 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:48:35 ]
- .NET Fxはほとんど使えなくなるだろ。
- 85 名前:デフォルトの名無しさん [2008/02/05(火) 00:49:33 ]
- イベントドリブンな処理
- 86 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:49:38 ]
- クロージャはともかく、デリゲートはVSでWindows.Formsをポトペタすると使いまくってるだろ。
- 87 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:50:24 ]
- そうなんか(´・ω・`)
ポインタと違って無くても困らない程度のもんだと思ってたんだが
- 88 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:52:02 ]
- 関数ポインタの代わりがdelegateなわけで…
- 89 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:53:22 ]
- MDIのアプリを作ろうとしていますが、
親のMDIフォームにToolStripContainerをDockStyle.Fillで張り付けた場合、 MDIの子ウィンドウが表示されなくなりますが、 これを表示させるようにするための解決法はございますでしょうか? Excel2003のようなアプリを目指しています。
- 90 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:56:02 ]
- クロージャはまぁ無くなっても困らんなw
- 91 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:09:05 ]
- ArrayListで作る配列って、多次元配列に出来るの?
- 92 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:13:31 ]
- ArrayList<ArrayList<string>>
- 93 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:13:54 ]
- ArrayListにArrayList突っ込めば
- 94 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:13:57 ]
- できるよ
- 95 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:25:00 ]
- そうか、出来るのか!
何か難しそうだけどやってみるよ!!ありがと!
- 96 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:58:08 ]
- コスト的に死ねると思うのは俺だけでいい
- 97 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:08:08 ]
- 4次元配列とか案の?
- 98 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:50:20 ]
- お前は何を言っているんだ
- 99 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 07:58:30 ]
- 任意のN次元配列を動的に定義できるの?
- 100 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:18:51 ]
- おまいの本当にやりたいことは配列の定義とかそんなちっぽけなことじゃなかったはずだ
- 101 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:21:39 ]
- 任意のN次元配列を動的に宣言できるの?
- 102 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:23:05 ]
- 動的にIL作ればいいんじゃね
- 103 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:24:12 ]
- C#で書いてみれ
- 104 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:25:10 ]
- つうか動的と宣言って相反するんじゃね
- 105 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:34:32 ]
- Array.CreateInstance
- 106 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:47:13 ]
- 動的に作成じゃなくて動的に宣言らしいんだけど
- 107 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:52:12 ]
- 静的に宣言するか動的に作成するかしか出来んな
- 108 名前:デフォルトの名無しさん [2008/02/05(火) 09:51:18 ]
- >>79
遅くなってすません。 もう見てたんですが もう一度見直したらしっかり使えるじゃまいですかw ということでおかげさまで解決しました。
- 109 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 10:33:51 ]
- 任意のN次元配列を動的に宣言できるの?
- 110 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 10:39:29 ]
- くどいよ
- 111 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 11:25:08 ]
- 俺もn次元配列興味あるなぁ
以前作ったときは、n次元を1次元に無理矢理マッピングして コーディングしたんだけど、 エレガントさに賭けていたので
- 112 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 11:38:26 ]
- (´・ω・`)しらんがな
- 113 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 11:39:37 ]
- 賭けていたのか
コードを見てみたいところだ
- 114 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 11:40:54 ]
- 確かに、int[][][][]・・[]とか書くのは美しくないなwww
- 115 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:36:45 ]
- N次元配列にアクセスする時はArray.GetValue
- 116 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:31:18 ]
- C#にクロージャってあるんですか?
匿名メソッドはクロージャではないと聞いたのですが どこが違うのでしょうか?
- 117 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:03:47 ]
- 匿名メソッドはクロージャ
- 118 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:13:38 ]
- >>116
クロージャで正解。 クロージャの考え方はいろいろあってとくに手続き型の言語ではバリエーションが広い。 自分の使ってる言語と動作が違うからC#のは真のクロージャではないという議論が、 しばらくなされたことがあって、そのときに >匿名メソッドはクロージャではない という話が出回ったことがある。
- 119 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:17:28 ]
- >>117
>>118 ありがとうございます メソッド内で匿名メソッドを宣言したときに、 親メソッドの変数を参照できないとクロージャではないみたいな話を聞いたもので クロージャ自体方言みたいなもので 明確な定義がないんですかね?
- 120 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:21:26 ]
- 逆にレキシカルクロージャ以外クロージャではないと言ってる過激派もいるけどね。
- 121 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:30:11 ]
- レキシカルクロージャってのも議論が混乱してて分からない俺涙目
どっかに分かりやすい解説ない?
- 122 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:52:26 ]
- 匿名メソッドは親メソッドのローカル変数を参照できる
- 123 名前:デフォルトの名無しさん [2008/02/05(火) 17:08:47 ]
- >>89 まさにこれ?
dobon.net/vb/dotnet/control/tstoolstrippanel.html
- 124 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 18:13:36 ]
- 静的スコープってのは、クロージャの中身がローカル変数になることをいうの?
動的スコープて何?
- 125 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 18:18:49 ]
- C#についてるのってレキシカルクロージャだっけ?
- 126 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:02:51 ]
- >>124
動的スコープのクロージャはマクロみたいなものでC#ではありえない。 コードにするとこんな感じ。 var f = DFUNC(a) { return a + b; } // この時点で b は存在しない。 void A() { var b = 2; f(3); // 6が戻る。 } void B() { f(3); // b がないので実行時エラー }
- 127 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:06:58 ]
- >>126
なるほどなー それはわかりやすい
- 128 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:07:36 ]
- スクリプト言語でありそうなコードだね
- 129 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 20:56:31 ]
- java屋の質問なんだけど、名前空間とディレクトリ階層が一致しなくてもいいみたいなんだが
みんなルール決めて変な事にならないようにしてるの? javaみたいに言語仕様で縛らないのは何か意味があるのかな。
|

|