1 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 02:14:46.79 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっとC#,C♯,C#(初心者用) Part86 toro.2ch.net/test/read.cgi/tech/1329658889/ ■関連スレ C#, C♯, C#相談室 Part70 toro.2ch.net/test/read.cgi/tech/1327570969/ ミスターサタンのC#相談室 hibari.2ch.net/test/read.cgi/tech/1092656075/ VB.NET質問スレ(Part38) toro.2ch.net/test/read.cgi/tech/1325083428/ くだすれC++/CLI(初心者用)part2 hibari.2ch.net/test/read.cgi/tech/1268613679/
152 名前:デフォルトの名無しさん [2012/03/07(水) 15:14:45.79 ] >>151 元々、ラベル自体のクリックイベントと別の場所で2箇所 ラベルの色を変えたりラベルの文字を変えたり ってことをしていたので、クリックイベントでは行わず、 もう一方の方だけでよかったみたいです。 初歩的な質問に回答頂き、ありがとうございました。
153 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:04:41.13 ] Object[] objs; でキャストしないで型を指定して取り出したいのですが MyClass my = objs<MyClass>[i]; みたいな書き方ができません。助けて下さい
154 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:09:21.46 ] おとなしくキャストしろ。 それが嫌なら、 最初から MyClass[] 使うか、 LINQ で OfType<MyClass>() する。
155 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:11:49.26 ] 助けてくださいってそれができないと死ぬのか?
156 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:23:34.11 ] 死ぬわけではありませんが気持ち悪いです 配列にはbool,int,floatのスカラーか配列、もしくは自作クラスが入る予定です 取り出す時は型がわかっています この状況でキャストしないでGenericsでかっこ良く書きたいです
157 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:26:05.88 ] 若造にはキャストのかっこよさが分からないのか。 そもそも型があるという素晴らしい世界も理解してないのだろう? void*の世界に比べたら天国だぜ。
158 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:29:16.72 ] 結局ダウンキャストになるんだから、キャストしないと取れないだろう。
159 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:33:25.03 ] ODP.NETを使用してoracleと繋いでるんですけど Oracleのバージョン毎にPG作らなきゃダメですか? 出来ればOracleのバージョンに依存しないようにしたいのですが…
160 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:36:34.63 ] jdbcなら依存しないよ
161 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:41:46.35 ] >>156 ダウンキャストが入る設計がまず怪しいかもしれないけども、 だから、かっこよく書きたかったら OfType<T>。
162 名前:153 mailto:sage [2012/03/07(水) 22:42:33.63 ] >>158 なら型情報を失わずに(Object型にアップキャストしないで)配列に保存しておく方法はないですか?
163 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:43:03.75 ] Objectに型が入り混じったデータ突っ込んでる時点で かっこ良くもエレガントでもないと突っ込んでは駄目なんだろうな たぶん美点の感覚が違うんだろうから
164 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:44:49.99 ] >>163 どう書けばfloatやintなどの値とその配列と自作クラスを 統一的に保存しておけるのか教えて下さい
165 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:47:01.12 ] >>164 Objectの配列を使う
166 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:48:26.47 ] ちなみに何でそんな状態になってるのか聞いても平気か? あまりにセクシャルで書けないとか言うのなら深くは追求しないけど。
167 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:48:48.53 ] >>160 恥ずかしながら初めて聞きました ちょっと調べてみます Oracleバージョンが統一されていない時って 一般的にはどうやってプログラム作ってるんだろ System.Data.OracleClientが使えれば良かったんだけどなぁ…
168 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:49:26.74 ] >>164 取り出すときにキャスト無しで書いた時点でちっとも統一的じゃないことに気づこうよ
169 名前:153 mailto:sage [2012/03/07(水) 22:51:57.54 ] >>166 仕様書にそう書いてあるから とにかくほぼ何でも突っ込めてタイプセーフな保存と取り出しがしたい 何かいいアイデアはないでしょうか
170 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:53:29.81 ] 型名とデータのペアをObjectに突っ込むとか
171 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:54:45.92 ] それじゃ見直しは効かないな そして回答も 「ない」 で御仕舞いだ
172 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:59:12.12 ] 別にis+キャストでもasでもタイプセーフは破られて無い気がする
173 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:00:56.73 ] ん?キャストしたくない理由ってInvalidCastExceptionが出るからとかそういう理由なの? 違うよな?
174 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:10:44.44 ] キャストが一番スマートなのに馬鹿だろ。
175 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:14:27.07 ] 俺は as 使う派
176 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:14:53.85 ] >>159 PGって何?
177 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:21:50.46 ] as演算子もカッコイイぞ
178 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:27:55.82 ] 参照型だと as した後に null チェックするのがいいんだけども、 値型には as 使えないのよね。 値型の場合は is + キャスト使わざるを得ない。
179 名前:153 mailto:sage [2012/03/07(水) 23:28:22.35 ] asはintやfloatには使えないでしょ 知ったかが...
180 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:30:04.87 ] そこに突っ込むよりもまず>>173 に答えてほしい
181 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:30:19.99 ] もう助けてあげません。
182 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:32:08.63 ] いや助けてあげませんも何も 最初から助けられない患者
183 名前:デフォルトの名無しさん [2012/03/07(水) 23:34:45.56 ] たぶん、単にコードの文字数を減らしたいだけ。 互換性のない型Aも型Bも型Cも入るけど、取り出すときはキャスト不要にしたい...は、 できるできないで言えばもちろんキャスト演算子を定義すれば可能だけど、質問者はその危険性に 気が付いてないんでしょ。
184 名前:153 mailto:sage [2012/03/07(水) 23:35:18.92 ] >>180 取り出すときには型がわかっている だからキャストは不要な処理で行いたくない ジェネリクスをうまく使って表現できないかと思ったが どう頑張ってもうまく書けない それでお前らの知恵を借りようとしたわけだが バカ猿に聞くだけ無駄だった。もうこねーよバカ
185 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:36:59.12 ] 方が分かってるのはお前が人間だからで プログラム的にはアップキャストした時点で見ない振りしてるんだよ
186 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:37:13.24 ] >>179 全員がお前の質問に答えてると思ってるとか思い上がりすぎwwww
187 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:37:14.36 ] なんでそこでジェネリックが出てくるのか。よく分からん発想だね
188 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:38:18.99 ] 文字数減らしたいなら命名を1文字〜2文字にして改行空白使うな
189 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:39:02.03 ] >>187 ジェネリックメソッドがT型を推論してくれるのを 見て妙な勘違いしたってパターンだろう
190 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:39:16.56 ] 型が分かってなら、object使わずその型使え。
191 名前:デフォルトの名無しさん [2012/03/07(水) 23:39:32.99 ] NICが複数枚ささっているPCで、TcpClientクラスで接続する際に使うNICをプログラム的に選べますか?
192 名前:デフォルトの名無しさん [2012/03/07(水) 23:40:03.88 ] なんていうか拘るところがおかしいね グダグダやってるうちに他のコードが書けるし 後でいい解決方法がでてくるかもしれないのにねw なんでそこまで拘って止まってるんだろw
193 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:40:11.97 ] イベントを使うメリットはなんですか ボタン.click += なんちゃらかんちゃら とかかくのと ボタンを継承しOnClickメソッドになんちゃらかんちゃら書くのは どう違うのですか
194 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:41:22.47 ] NICは2層の話、TCPは4層の話。 適切に3層のルーティング設定してるなら、適切なNICにパケットが流れる。
195 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:41:25.90 ] >>193 その視点でメリットをあげるならマルチキャストデリゲートだということ
196 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:45:11.90 ] >>193 実装側が楽。 OnClick 相当のものを自動で作ってくれるのがイベント。 両方あるなら、利用側はどっち使ったって大差ない。
197 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:45:21.23 ] 継承しなくて済む
198 名前:デフォルトの名無しさん [2012/03/07(水) 23:48:02.80 ] >>194 自作した社内プロクシにWAN2回線繋いで負荷分散したいのですが、無理でしょうか?
199 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:52:12.96 ] そんなものまで俺流か…
200 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:06:11.63 ] >>198 コマンドプロンプトを開いてrouteと入れてみ これが使いこなせれば無理じゃない
201 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:06:33.24 ] WANの構成がよく分からんが終点が2ポイントなら、 IPアドレスで振り分ければNICも分かれて配送される。
202 名前:デフォルトの名無しさん [2012/03/08(木) 00:44:18.27 ] squidサーバーを2台用意してそれぞれにADSL回線接続(WAN出入口) poundサーバーを1台用意してBackEndに上記squid2台を設定 クライアントはpoundサーバーのアドレスをプロクシとして設定。 で、一応動いたのですが、poundではアドオン的なことができないのと サーバーを3台ではなく1台にしたい。 現行なんちゃって自作プロクシにpound的な機能を付けるだけでも 何とかなるかなとは思っているのですが、できればサーバーの台数を 減らせればと。 さらに回線も増やしたいので、そのたびにサーバー増設では保守が大変なので。
203 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:45:55.51 ] 最近末尾を体言止めにする人が多いな 同じ人?
204 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:46:31.20 ] 体言止めじゃないわ…
205 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:47:07.69 ] Hみたい xxしたく
206 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:58:50.22 ] どう考えても設計と頭がおかしいヤツに オマエらよく付き合ってやるなw
207 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:01:02.14 ] アプリ内部で通信の振り分けしなくても OSレベルで通信先って切り替えできなかったっけ? このアプリはこっち使うとか
208 名前:デフォルトの名無しさん [2012/03/08(木) 01:02:17.50 ] あと仮想マシンも視野に入れろ あれも確か物理NICを仮想マシンに割り当て可能だったはずだし ただ3つ起動できるだけの環境がいるけどw
209 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:24:10.25 ] ファンクションというかメソッド? の変数の型ってありますか? フォームから クラスaの関数bを呼ぶ クラスaの関数bで スレッドcを行う スレッドcの終了時に フォームの関数dを呼びたい クラスaの関数bを呼ぶ際に関数dを渡したいです よろしくお願いします
210 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:39:17.85 ] >>184 ObjectとTypeを保存するクラスを作って、それを配列にするってのじゃ駄目なのか? それなら、元に戻すときに型を知っていれば明示的キャストをせずに取り出せるぞ?
211 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:51:26.13 ] >>210 あ、ごめん、自己レス そんなクラス作らなくてもやりたいことが一発で出来るわ でもお前の態度が気に入らないから教えてあげない
212 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:59:24.67 ] 要するに var hoge = new object[10]; var foo = 10; var bar = "abc"; hoge[0] = foo; hoge[1] = bar; int n = hoge[0]; string s = hoge[1]; これが出来ればいいんだろ?出来るから頑張ってみそ
213 名前:209 mailto:sage [2012/03/08(木) 02:04:44.71 ] デリゲート って言葉に辿り着きました。 とりあえず質問は取り下げてみます。
214 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 02:05:43.90 ] dynamicならなんでも入るしダウンキャストもいらないけど
215 名前:デフォルトの名無しさん [2012/03/08(木) 02:05:48.45 ] つうかobjectの配列なんて.net1.1時代じゃ有るまいし・・・
216 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 02:15:24.59 ] >>213 ついでにラムダ式も一緒に検索すると正しいゴールへ辿り着くよ デリゲートだけだと古い手法のゴールへ辿り着くおそれがある
217 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 02:18:21.31 ] >>213 継続渡しってやつだな C#5.0では言語に組み込まれてデリゲートとか意識しなくてよくなるよ
218 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 02:29:16.92 ] C#はバージョンアップするたびに 古い手法が陳腐化するほど進化してくれて嬉しい限りですな この調子でさっさとUIと例外をどうにかして欲しいわ、WPFですらロジックとデザインは分離しましょうって言っているのに 正常ルートと例外ルートを同一コード上に記述するとか狂気の沙汰にも程があります
219 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 02:37:42.23 ] 俺は予言するよ プログラミング言語は将来、正常処理と例外処理を分離するようになる さらに未来の話しをすると、言語仕様にテスト工程の仕組みも吸収される、間違いなく 今のプログラミング言語ってのは結局、「物を作るだけ」でしょ? でも現実の世の中では、コーディングのコスト1に対してテストのコストが10以上存在する なのにコーディングは依然として「物を作るだけ」 いつの日か必ず「コーディング=デザイン+正常ロジック+例外ロジック+テスト」を構築するためのものに進化するよ、20年後くらいにはね
220 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 03:36:12.67 ] チラシの裏にでも買いてろ
221 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 05:15:49.15 ] >>191 TcpClientのコンストラクタでローカルエンドポイントは指定できる
222 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 06:13:53.64 ] class Bucket { pulbic DataType DataType{get;set;} public int Int{get;set;} public float Single{get;set;} public Jisakukurasu Jisakukurasu{get;set;} } enum DataType { Int, Single, JisakuKurasu, }
223 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 07:50:47.68 ] 100年後 こういう機能がほしい はい、組み上がりましたご主人さま ここはこうして はい、修正しましたご主人さま
224 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 08:29:34.39 ] >>222 ださい
225 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 08:31:04.44 ] 自分で好きなようにやれ 二度とくるなw
226 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:44:13.07 ] TestDriven.Netがインストールできません というかインストールが完了してもVisualStudioで右クリックしても「Run Test」が出てきません どうなってるの?
227 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:54:25.03 ] 機能が実現できないとかできるけど重すぎるってんなら悩むけど 書き方や見た目が気に入らないとかは心底どうでもいい 規則あるなら従えばいいだけだし
228 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 12:04:27.19 ] >>226 expressじゃ使えないんだろ
229 名前:デフォルトの名無しさん [2012/03/08(木) 12:48:43.34 ] >>226 あきらめてこっち使え monobook.org/wiki/NUnit
230 名前:226 mailto:sage [2012/03/08(木) 13:06:36.39 ] >>228 まじかよ、初めて聞いたぞ。俺の2時間を返せ HPのどこにもExpressEditionが非対応とは書かれていないような? 実際動かないんだけど!! >>229 あきらめた。スゲーわかりやすい。サンキュー
231 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 14:09:18.95 ] ToolStripMenuItemを継承してクラスを作り そのオブジェクトをシリアライズで保存しようとしたのですが ToolStripMenuItemがシリアライズできないというエラーが表示されてしまいます 保存する方法はありますか?
232 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 14:11:43.81 ] >>230 Expressはもともとプラグイン使えないよ VSでは常識になってる
233 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 15:08:34.87 ] そのToolStripMenuItem継承クラスを作るメソッドと それに渡すデータクラスを作って そのデータクラスをシリアライズしたら?
234 名前:デフォルトの名無しさん [2012/03/08(木) 15:13:48.74 ] 仮想マシン上でvs評価版を入れる あいてるHDD上に専用環境を作って評価版を入れる
235 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 15:36:18.80 ] ふーん
236 名前:226 mailto:sage [2012/03/08(木) 16:48:17.34 ] VisualStudio EEからF5でnunitを起動するのがうまくいかない nunit.exe $(TargetPath)で起動してるんだが MyProjectプロジェクトとTestProjectプロジェクトの2つがあった場合 $(TargetPath)が必ずテストのTestProjectの方でなく本体のMyProjectになってしまう でnunitにテストコードがないって怒られる。 これどうやったらTestProjectの方のビルド物の名前を取得できますか?
237 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 17:10:12.13 ] >>233 ToolStripMenuItemを継承しないクラスBを作って保存 保存したものを復旧する際には a.text = b.textとメンバーに値を入れていくことにしました 233さんの言うことも同じ事ですよね? ありがとうございました
238 名前:デフォルトの名無しさん [2012/03/08(木) 18:51:03.12 ] int a, b, c, d; int ee = Math.Floor(a / b) - Math.Floor(c / d); エラー CS0121: 次のメソッドまたはプロパティ間で呼び出しが不適切です: 'System.Math.Floor(decimal)' と 'System.Math.Floor(double)' どうやって書けばいいん?
239 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 18:55:43.11 ] そもそも整数同士の除算だと結果も整数なのでFloorする意味がないんだが
240 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 18:58:47.47 ] double a, b, c, d; int ee = (int)(Math.Floor(a / b) - Math.Floor(c / d)); Math.Floorがdoubleかdecimalしか指定できないところにintを指定したから
241 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:00:00.85 ] あの、Uの半角ってどうやって打つんですか? KANAキーロック状態でシフト+ろ だと、ろになるんですが しょうもないことですみません。
242 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:01:33.55 ] 結果を受け取る配列を渡す時にoutキーワードってつけてる? なくても全然OKだけど結果を受け取るのがはっきりするから付けてたけど つけるなと言われて困ってる
243 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:02:03.19 ] え。そしたら int a, b, c, d; int ee = (a / b) - (c / d); で 欲しい結果が得られるってこと? 逆に double ff = (a / b) - (c / d); でも ff==ee になっちゃうってこと? (いや、これは試してみればわかりますね・・
244 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:05:44.14 ] 引数で配列渡して結果をもらう場合 outをつけないと可変長にできないだろ 逆にその必要が無ければ無駄には違いない
245 名前:デフォルトの名無しさん [2012/03/08(木) 19:14:50.00 ] >>236 できた monobook.org/wiki/NUnit#F5.E3.81.A7.E8.87.AA.E5.8B.95.E8.B5.B7.E5.8B.95.EF.BC.86.E5.AE.9F.E8.A1.8C.E3.81.99.E3.82.8B
246 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:17:29.79 ] >>241 たてぼう で変換でもしたらどうだ >>242 [Out]属性は何となく付ける outにはしない
247 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:20:17.05 ] >>246 それが、全角しか出ず 文字 'U' は予期されていません。 となります。 IMEじゃ半角は出せないんでしょうか
248 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:22:31.75 ] その話し続けたければIMEのスレ行ってよ
249 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:24:15.40 ] IMEのほういってきます、失礼しました。
250 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:28:44.05 ] |c2a6か sjisにねーな。なんて読むんだろう。
251 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:51:46.46 ] >>242 それ、用途違う。 配列の参照自体を書き換えないんだったら、out つけたら余計混乱招く。 参照型の中身を破壊的に変更する場合のマーキングが欲しいってのはすごく思うけども。
252 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:58:33.70 ] >>243 int a = 2, b = 3;だと a / b==0 (double)a / (double)b==0.66666666666666663 double a = 2, b = 3;だと a / b==0.66666666666666663 (int)a / (int)b==0 よく分からなかったら1行に割り算1つだけ、キャストだけ、Floorだけにしてブレイクポイント使って中身確かめろ