[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/05 17:49 / Filesize : 232 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part88



1 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 16:14:05.15 ID:I42JqLkf.net]
■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part87 [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/tech/1427558696/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

367 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 11:20:02.19 ID:uyIUSJEf.net]
const int NUM X
const int Num O

こういう事か?

368 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 12:20:01.30 ID:ja+NNaTJ.net]
マジかよ全部書き直しじゃねーかクソが

369 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 13:53:13.30 ID:QwAfSdLt.net]
今時、全置換機能くらいテキストエディタでもあるじゃろ
モダンなIDEならリファクタリング機能とか言うのかのう…

370 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:04:02.19 ID:Mi72fTNR.net]
>>363
VSなら変数名変更したら下に矢印出てくるだろ

371 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:08:52.14 ID:ja+NNaTJ.net]
>>365
使った事ないんだけどこれって信用できるの?

372 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:12:34.10 ID:Mi72fTNR.net]
>>366
メモ帳の置換えと違ってその変数のみが置き換えられる。
例えばフィールドのxとローカルのxがあったとしてフィールドのxをxxにしたらローカルは書き換えられない。

373 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:15:11.18 ID:cYx2D4V+.net]
>>366
やってみて差分とって確認してみれば?

374 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:24:41.94 ID:ja+NNaTJ.net]
>>367
ありがとう使ってみる

375 名前:デフォルトの名無しさん [2015/08/08(土) 16:08:26.01 ID:8yeleZKw.net]
>>366
dynamicとプリプロセッサ使っていないなら、ほぼ信用できる感じ
使ってあっても変更したい対象には無関係という事は多いのでかなり使える

マイクロソフトが標準的に使っている規約から外れた規約を社内ルールで使っている場合
全員を説得して回ってマイクロソフト標準に合わせたほうがいいだろうね
IDEがバージョンアップする毎に面倒が増えるから、規約がコスト増の原因になる
規約の目的は面倒事やコストを減らす為なので



376 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:12:24.30 ID:h9o0NTln.net]
リネーム使ったことないプログラマってガチでいるのかw
大げさでなく信じられないw

377 名前:デフォルトの名無しさん [2015/08/08(土) 16:19:06.87 ID:8yeleZKw.net]
>>371
他言語から来た人は知らない人もいるのでは?
ウエブ系の人にこれを見せたら、おったまげた人も結構いたよ

378 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:26:59.15 ID:z+a/XH7F.net]
かなりお世話になっているけど、リファクタリングって名前で俺かんけーねえしって人居るのかね

リファクタリング (C#)
https://msdn.microsoft.com/ja-jp/library/719exd8s.aspx

379 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:45:24.01 ID:x+KPzjiu.net]
リファクタリング便利よね。
nameof演算子が最初からあれば良かったのに。

380 名前:デフォルトの名無しさん [2015/08/08(土) 17:20:04.30 ID:8yeleZKw.net]
>>374
あとジェネリックスも最初から欲しかったかな
一旦object型に変換されると、そこですべてが切れてしまうので
ジェネリックスができてから typedef が後から実装できない仕組みだったのも痛かった
当時のtypedef嫌悪は大失敗だったね

381 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 17:43:22.51 ID:AWBqCflR.net]
今日も偉い低レベルな話に花を咲かせてんな
9月までこの調子なの?
ちょっと絶望するな

382 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:29:59.35 ID:bub58w7+.net]
ひ、ひぇぇ
高レベルな376様がいらっしゃたぞー

これから高レベルな話してくださるから
傾聴せよー傾聴せよー

383 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 19:08:49.81 ID:GOE31OJa.net]
リファクタリングの名前変更はASP.NET MVCには使えないから糞

384 名前:デフォルトの名無しさん [2015/08/08(土) 19:41:42.79 ID:6EY1XTBT.net]
2015になって名前変更が全然別物になってるよね
前の方が良かった

385 名前:デフォルトの名無しさん [2015/08/08(土) 20:37:26.94 ID:8yeleZKw.net]
376がオナニーできなくて悶えてるのかw



386 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:10:42.87 ID:Ijf29GRs.net]
意識高い人きてんね
こういう人は面白くないので人が寄ってこなくて
仲間だと思ってた連中の初詣とかに誘われなくてあれってなるんじゃね

387 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:23:23.15 ID:m5zrYZQl.net]
意識高いってのとはちょっと違うと思う

何か見下したい病?

388 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:52:44.97 ID:3Z/4sEUi.net]
そう言う人を皮肉って言ってるだけじゃ。

389 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:12:32.28 ID:7R1hSeQZ.net]
まあ、「意識高い」って言葉が使われる時、ほとんどの場合は「意識高い」って表現を使う側のルサンチマンなんだけどねw

390 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:31:14.85 ID:Bf9QBgBr.net]
お、c#スレ復活した

391 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 03:04:04.03 ID:lFKFU4FJ.net]
会社で相手にされなくて、寂しくて、こんな所にやってきてるんだよ
で、俺はできるんだから話を聞けぇってトコロなんだろうよ
多分リアルは自殺物レベルで悲惨なんだろうなw

392 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 09:55:43.54 ID:/6/RtruA.net]
友達も女も居ないけど猫が居るから寂しくないよ

393 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 20:02:02.17 ID:fUCYV9NU.net]
友達と女がいるとうれしさは猫の数倍だよ
知らないということは幸せかな

394 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 20:10:11.88 ID:/6/RtruA.net]
うるせぇ
なら猫を追加するだけ
幸せバイバインだ

395 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 21:09:12.82 ID:4N/Y7Sm0.net]
猫クラスを追加する事による負荷は問題ないのだろうか
友達の女クラスよりは軽いだろうけど



396 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 21:12:10.14 ID:SGsZr1tS.net]
かくしてIT土方の貴重な休日が無駄になっていくのである

おわり

397 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 22:57:53.03 ID:I/IAYU21.net]
別に友達いない=コミュ力なしってわけではないとは思うとか言ってみる。
いや、自分がそうなんだけどな。

398 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 23:31:19.08 ID:fUCYV9NU.net]
コミュ力 = 人と仲良くなる能力と思うとか言ってみる
仲良くなったら友達だろ

399 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:00:32.58 ID:XP2wx0li.net]
むしろ必ずしも仲が良くない人とでも意志疎通を行う能力なんだろうけどね本当は。

俺もそうだけど日本人って総じてこれが下手だから下らない飲み会とかやって
「みんな仲間」を演出してないと職場がうまく回らないんだよね

400 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:05:19.00 ID:tkIOp5x+.net]
コミュ力という言葉でくくれるほどコミュ力って狭い意味じゃないだろ
飲み会でウェーイもプレゼンも営業トークもコミュ力ないと出来ないが、これらが全部同じ能力とは思えない
自然言語的なコミュ力が高いやつもいれば、UMLみたいな言語のコミュ力が高いやつもいる
アーティスティックな表現力は抜群でも、喋るとバカっぽい人も居る

コミュ力は主にウェーイできる力の事であり、その意味でのコミュ力がないとコミュ障として、不当に扱われる事が多いってのは問題だよな

401 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:25:39.24 ID:eozgHhmi.net]
それは違うと思うな
ウェーイできる奴は全部に通ず
すなわち全部同じ能力
対人関係に柔軟さを持っている人間はコミュれる人でありウェーイでもある
ウェーイすらできないならすなわちこれ全てダメであり完全なるコミュ障

そして次に考えることは
コミュ力が不完全な状態でどう立ち回るかということ
コミュ力の不完全さをほかで補うことを考えること
多くの人間はこれを考えるべきなのに考えない

あるいはやはりウェーイ道を極めて修めるか

402 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 01:03:38.69 ID:PN28vv9M.net]
既にこの時点でコミュが成立してない気がするのは。。。

403 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 03:01:22.19 ID:WsIPX/2a.net]
初心者ですみません

上で定数をC言語のように全て大文字で書くのはまずいってありますが
それって↓の理由のためですか?
ryo021021.hatenablog.com/entry/2013/11/12/130603

unityがメインなんですが、プリプロセッサって全部大文字で書く事なんてあるんですか?

404 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 03:14:03.52 ID:PX+3VVfn.net]
>>398
>>352に書かれているわけだが読まずに質問とは
C#の初心者じゃなくて日本語の初心者ですかチョンですか?

405 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 04:25:04.74 ID:RHMENy6h.net]
書き込み見る端から攻撃しまくるキチガイには居なくなって欲しいですな



406 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 04:54:29.74 ID:e3IdXlk7.net]
リソースファイルとしてtest.exeに「hoge.dat(バイナリ化)」を
組み込みました。そしてリソースファイル名を「resource_hoge_1」と
名付けました。


リソースファイルの内容をC#から読み込む為にこの様に記述しました。

byte[] byte_data = Properties.Resources.resource_hoge_1;


ここまでは書けたのですが、 byte_data からどうすれば「hoge.dat」
をC#のプログラム中で復元する事が出来ます?



hoge.datはhoge.txt(中身は、"aiueo"だけです。)をバイナリ化したものです。

407 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 05:00:02.57 ID:RHMENy6h.net]
System.IO.MemoryStream あたりを使うのが一番てっとり早いかと

408 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 05:03:18.94 ID:e3IdXlk7.net]
>>402
早速ありがとうございます!
試してみます!

409 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 05:26:39.23 ID:e3IdXlk7.net]
>>402
出来ました。ありがとうございます!

410 名前:デフォルトの名無しさん mailto:age [2015/08/10(月) 07:21:22.75 ID:C7dCXIlE.net]
相手の承認欲求の満足と引き換えに情報もらう場で、
暗黙的な合意と正反対の行動しておいてコミュ力ってw

もちろん情報も出さずに煽ってるのは論外だけどさ、
そんなコミュ力()で主張続けてたら、人居なくなるよ?

411 名前:デフォルトの名無しさん [2015/08/11(火) 02:29:03.29 ID:t7UpLVsu.net]
継承してあるプロパティを封印とかしたいんですができないでしょうか?
当然、キャストすると矛盾が生じるので、似てるけど継承関係がない扱いをしたいのですが。

412 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 05:50:36.72 ID:USJNgyLH.net]
>>406
AからBを派生させるんじゃなくて、AとBの基底クラスとしてCを作ってからA,Bを派生させるほうが理にかなうと思うが

413 名前:デフォルトの名無しさん [2015/08/11(火) 08:18:55.99 ID:t7UpLVsu.net]
>>407
いわゆるテンプレートみたいなものなので、継承関係はありません

414 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 08:22:26.01 ID:RnBcDQFJ.net]
共通部分を別のクラスに括り出して移譲

415 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 09:29:28.39 ID:C3iuhTEx.net]
is aじゃなくてhas aにする



416 名前:デフォルトの名無しさん [2015/08/11(火) 12:54:53.39 ID:t7UpLVsu.net]
>>410
そうします。
でも、いちいちプロパティとかラップするのめんどいですよね。
なんとかなりませんか。

417 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 13:07:55.82 ID:MDlGrES8.net]
>>411
だから>>407が言ってるようにすればいい。
何を言ってるんだ。

418 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 13:47:10.32 ID:+IVNtZk/.net]
>>412
>>407に対して>>408みたいに返す応用力のなさじゃ
手取り足取り説明しないとw

419 名前:デフォルトの名無しさん [2015/08/11(火) 14:53:21.55 ID:t7UpLVsu.net]
>>412
キャストできたらまずいってーの、継承について勉強しろ

420 名前:デフォルトの名無しさん [2015/08/11(火) 14:57:28.66 ID:3SX2sjwF.net]
多態性を利用する気がないのならhas aでいいんじゃね?
用もないのに、なんでもかんでも継承するのは良くない
時々そういう人いるけど、コード読みにくくてしょうがない

421 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 15:12:00.25 ID:AH2YHVn8.net]
そして>>411に戻る

422 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 16:13:22.92 ID:g1gPnYXA.net]
>>414
兄弟同士はキャストなんかできない。
何を言ってるんだ。
こんな馬鹿に限って勉強しろとかほざくんだから笑える。

そもそも論を言えば、明らかに互換性があるのにあえてキャストできないようにする意味がそもそも分からない。

423 名前:デフォルトの名無しさん [2015/08/11(火) 16:22:07.65 ID:3SX2sjwF.net]
分からないのは >>417 が無能だからだよw

424 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 16:24:59.39 ID:2YkwfTs1.net]
と、ろくにコードも読めない無能が言ってますw

425 名前:デフォルトの名無しさん [2015/08/11(火) 16:52:11.16 ID:t7UpLVsu.net]
>>417
エンジンとコンポーネントで考えましょう。
基本的なことですよ。



426 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 17:31:46.86 ID:C3iuhTEx.net]
自分の言いたいことが理解されないからといって、すぐ相手を馬鹿よばわりしたらあかんよ。
馬鹿って言われたからっいって、すぐ無能とか煽ったらあかんよ。

427 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 18:29:29.41 ID:AWvgSxoB.net]
>>417
そもそも
>継承関係がない扱いをしたい
のだから、互換性が無いのかもしれんぞ

継承関係がないのに、継承してクラス定義する意味がわからんが

428 名前:デフォルトの名無しさん [2015/08/11(火) 19:06:04.27 ID:3SX2sjwF.net]
多態性使いたいなら、こういうケースでは素直にinterface使えば良いかと
本人見ての通り用は無いとしているみたいだし、それでいいと言われているのに食いつくのを見ていると
ふらっとスレのアレだな

>俺の考えをきけぇ、おまえらの事情なんかどうでもいいし、そんな事聞かれてもいないが俺の考えをきけぇ

て感じだね、例のアイツなんだろうが頭おかしい

429 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 19:36:37.74 ID:DdSX6XRN.net]
>>423
言っちゃ悪いけどあんたが一番頭おかしいように見えるよ。
例のアイツってもう典型的な2ch脳患者の症状じゃん。
って2ch脳の人に言っても無駄っていうか手遅れだろうけどさ。

430 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:44:37.23 ID:BYbKL/Wt.net]
もう少しハッピーな話をしろ
お前くらいのエリートなら8/7~8/18くらいは夏休みのはずだろ

431 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:47:38.90 ID:RhCa6Veg.net]
僕は7月18日から

432 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:51:01.02 ID:flESq3 ]
[ここ壊れてます]

433 名前:IS.net mailto: 投稿時間みると休んでんじゃないの?
何もすることないんでしょ
生きてて楽しいのかな?
あ、だからここで一日中他人を罵倒してるのか
[]
[ここ壊れてます]

434 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 21:55:13.91 ID:pRf5qE0j.net]
継承先でプロパティ封印してどんなメリットが…

435 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:34:01.58 ID:HeaM7jtr.net]
BCLでもNotSupportedExceptionを投げたりするのがあるけど、まあ仕方がないんだろうけど
あんまり美しくないよなああいうの。



436 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 02:18:44.84 ID:6ZXtaURL.net]
基底クラス作るとか、制限する意味ないとか
ここの人たちの話は良くわからないぞ…

前者は非現実的すぎるし、後者は公開用と実装で分けるとか結構ある話かと

面倒ってのがEclipse的な委譲の生成がないかって意味なら
Reshaper(有料)使うか、諦めて無心に手書きするといいよ

437 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 02:33:12.62 ID:6ZXtaURL.net]
あ、でもこの場合、1クラスの委譲のようだから、
制限インターフェース作って、欲しいクラスを継承+制限IFを実装、
そして制限IFにキャストして返すって手順でいいんでは?

438 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 02:40:22.65 ID:XD0FvRJl.net]
難しい事言うとまた質問者に勉強しろと言われちゃうよーん

439 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 03:14:27.59 ID:6lFy7xXj.net]
元の質問者はたぶん、型の弱い言語しか使ってないんだろ
ダイナミック使えば良いと思うんだ

440 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 03:14:47.82 ID:4GoNFhR4.net]
どんだけ俺の考えをきけぇ!!!!!なんだよ
寂しすぎだろw

441 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 07:59:58.15 ID:jWJqOcxH.net]
>>430
後者は公開用と実装で分ける

internalで十分じゃね?

442 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 08:09:14.50 ID:6ZXtaURL.net]
>>435
十分じゃないですよ
2者を分離できませんし、継承関係が欲しい訳じゃないですから

443 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 10:26:42.13 ID:yl8Mdqy/.net]
MVVMでダイアログとかポップアップメニューとか画面遷移ってどう扱うんだ?
VMにMessageBox.Showとか書きたくないよな

444 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 10:36:01.01 ID:JHO9AiGv.net]
>>437
画面遷移サービスみたいなのを用意してインスタンスをアプリケーション全体で共有
ただしシングルトンはやめろ
そういうサービスはVMからはインターフェースを通して扱うようにして、
VMには参照をプロパティやコンストラクタなどで渡す。DIを使ってもいい。
メッセージを使ってビュー経由でやる方法もあるがどこで何やってんのかわけわからなくなりやすいのでお勧めしない。

445 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 14:53:07.65 ID:ZQmwk96y.net]
>>437
prismにTriggerActionって仕組みがあって、ビヘイビアのようなクラスを定義すればメッセージボックスをVMから操作できます
メッセージボックスを開く程度をやるには可也面倒なんだけどね



446 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 20:47:02.81 ID:uEvY/8an.net]
List<T>.Sort()ってなんで安定じゃないんですかね
安定なの作っといてくれりゃいいのに

447 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 20:52:06.72 ID:r6k8TIQq.net]
>>440
LINQのOrderByは安定ソートだよ

448 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 21:42:16.81 ID:uEvY/8an.net]
>>441
なるほど……こんなん書いてみたけど、これってありですか?
それとも自前の安定なソートメソッドを書きますか?

public static void StableSort<T>( this IList<T> list )
{
 var temp = list.OrderBy( t => t ).ToList();  // 既定の比較でソート
 for( int i = 0; i < list.Count; i++ )
 {
  list[i] = temp[i];
 }
}

その前はこんなん書いてみたてたけどw
public static void StableSort<T>( this IList<T> list )
{
 var wrapper = list.Select( ( t, i ) => new KeyValuePair<int, T>( i, t ) ).ToList();
 wrapper.Sort( ( p1, p2 ) =>
 {
  var result = Comparer<T>.Default.Compare( p1.Value, p2.Value );
  if( result == 0 )
  {
  result = p1.Key.CompareTo( p2.Key );
  }
  return result;
 } );
 for( int i = 0; i < list.Count; i++ )
 {
  list[i] = wrapper[i].Value;
 }
}

449 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 01:10:47.58 ID:u9bN4Lw8.net]
>>442
ToListせずにforeachしたほうがいい

450 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 15:19:13.92 ID:Iycxx57M.net]
>>442
馬鹿な俺には何がしたいんかわからん
list.OrderBy( t => t ).ToList();
だけでええやん

451 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 15:21:03.68 ID:PBffULch.net]
破壊的ソートだろ

452 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 22:12:21.62 ID:2p3m0KlY.net]
>>444
ソートされた新しいインスタンスがほしい場合もあれば
元のインスタンスをソートしてほしいときもあるやん?

453 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 01:24:13.06 ID:xV4UISpz.net]
>>442
これってプリミティブ以外の型でちゃんとソートされるの?

454 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 02:26:49.44 ID:j4iBQT2t.net]
>ソートされた新しいインスタンスがほしい場合もあれば
>元のインスタンスをソートしてほしいときもあるやん?

list = temp;

455 名前:デフォルトの名無しさん [2015/08/15(土) 03:53:43.45 ID:QiO6I5ga.net]
>>446
var listOrg = new List<int>(new int[] { 10, 23, 13, 4 });
var listTmp = listOrg.OrderBy((t) => t).ToArray();
listOrg.Clear();
listOrg.AddRange(listTmp);

遅いけど少し短いかも



456 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 07:25:58.35 ID:/RqnGk0/.net]
>>447
TがIComparableを実装してないとソートできないけど、それは普通のSort()メソッドも同じじゃね?

>>448
インスタンスを置き換えて返すつもり?
元のリストの参照もってたらソートされないままだろが……

457 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:11:59.71 ID:z64TKpL6.net]
初心者です。インターフェースの実装として抽象クラスを定義するコードを見かけたのですが、あえてそうするメリットって何かありますか?自分としとはインターフェース不要じゃないかと思ったのですが。

458 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:19:08.64 ID:dPBreRmq.net]
Effective Java 18章 抽象クラスよりインタフェースを選ぶ

を読んで、骨格実装について学んでください
この項目はC#でも同じです

459 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:54:48.31 ID:gGc5tBdo.net]
出来る限り疎結合にするというのが大切だから外部との窓口をインターフェースにする。
それより内側の具体的な実装は、内部実装としての作りやすさからたまたま抽象クラスで行っているだけかと。

460 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 14:38:20.40 ID:OY/B/Wmp.net]
抽象クラスって使った事ないわ
使い道あるのかこれ

461 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:08:58.69 ID:2z51GaS1.net]
初心者なのでインターフェイスがあれば抽象クラスは別段いらないじゃないか
って正直いつも思ってます・・・
抽象クラスの使い方が分かってないからでしょうけど

462 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:14:23.51 ID:3TmrRaVz.net]
vsの簡単フォームツール?のコンボボックスでSelectedIndexが見つかりません。
どこにありますか?

463 名前:デフォルトの名無しさん [2015/08/15(土) 15:47:22.93 ID:HxCw3c0C.net]
>>455
インターフェースに雛形となる実装がついてるだけだよ。
インターフェースにテンプレートの実装持たせておければいいのに。

464 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:50:11.19 ID:2z51GaS1.net]
>>457
よく分からないのですが、そもそも仕様と実装を分離して疎結合するためのもの
だという認識なんですが、それに実装を持たせると分離の意味がなくなるんじゃないのかな
と不思議に思ってます

465 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:58:03.56 ID:XFeAKEd8.net]
仕様と実装を分離して疎結合するためのもの=インターフェイス
仕様の中で規定の実装が部分的に定まっているもの=抽象



466 名前:デフォルトの名無しさん [2015/08/15(土) 15: ]
[ここ壊れてます]

467 名前:59:17.62 ID:HxCw3c0C.net mailto: >>458
その通りです。
なので必要があれば抽象クラスとインターフェースをそれぞれ定義します。
抽象クラスはあくまで実装ですからね。

個人的には抽象クラスはいらないと思うが、実装を持たせられるのは挙動を保証できるし、やはり便利ということで使ってしまう。

拡張メソッドとかもあるけど、いちいちクラスとインターフェース作りたくねーし、インターフェースの定義の中でなんとかさせてくれという気持ち。
[]
[ここ壊れてます]






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<232KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef