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


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

C#, C♯, C#相談室 Part93



1 名前:デフォルトの名無しさん(ワッチョイ 1e06-m8Mb) mailto:sageteoff [2017/04/22(土) 08:52:00.93 ID:iVvswOrb0.net]
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

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

■前スレ
C#, C♯, C#相談室 Part92
echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

302 名前:デフォルトの名無しさん [2018/05/22(火) 22:37:35.74 ID:gaTn3ZGLJ]
Genericクラスのメソッドで
型が重複する場合の仕様について質問です
class Dic<T> : System.Collections.Generic.Dictionary<int,T>
{
    public bool Contains(int key)
    {
        return base.ContainsKey(key);
    }
    public bool Contains(T val)
    {
        return base.ContainsValue(val);
    }
}
ちょっと必要にせまられて、こんな雰囲気のクラスを作りました
基本的に、重複する型では利用しない予定ですが
気になってテストコードを作ってデバッグしたところ何の警告も出なく実行できて
「base.ContainsKey(key);」の結果が返ってきました
これは言語仕様でしょうか?
それともVisualStudioや.Net Framework仕様でしょうか?
どなたか詳しい方、おしえてください
※ 環境は Visual Studio 2017 Community Framework 4.6.1

303 名前:デフォルトの名無しさん [2018/05/23(水) 19:32:08.48 ID:Au5e7VGg0.net]
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

094C5

304 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 17:55:34.06 ID:kaJ5fQAg0.net]
あくまでわかりやすくするために分けるのであって、クラスを分けることが目的になってしまってはいけない
余計わからん構造になる可能性があるからね

305 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 23:51:50.59 ID:q1degsPf0.net]
わかりやすくする為にわけるのではない
問題が適切に表現される様に自ずとにわかれるのだ
それが本質的にわかりにくい問題であるならば
わかれた結果わかりにくいのは当然の帰結である
己の能力をわかるまで高めるしかあるまい
わかめ

306 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 08:31:56.50 ID:Mb7u4pS+0.net]
なんか偉そうなこと言ってる

307 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 10:29:20.38 ID:Qkk0DhfZM.net]
ナイーブすぎ

308 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 16:16:32.23 ID:nVIiMXOl0.net]
桃とアロエのカネボウ

309 名前:デフォルトの名無しさん [2018/05/28(月) 11:28:40.07 ID:vRphuiRoH.net]
ゲームくんのゲームは完成したのだろうか?
そもそもGameManagerクラスみたいなゲームを管理するクラス作ってないのが不思議
ゲーム管理クラス通して設定画面開いたり設定値を取得すればいいのに

310 名前:デフォルトの名無しさん mailto:sage [2018/05/28(月) 18:36:44.90 ID:rzi0Cqlc0.net]
どんだけ連打してんだよ



311 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 12:36:07.71 ID:0Vp36Os40.net]
C#の勉強を講習会なりでお金を払う方式でレクチャーを受けたいのですが、どういった所が良いでしょうか?
ドットインストールやプロゲートの様な既にある動画を有料で見るのではなく、
欲を言えば1対1で即座に質問できる方式が良いのですが探してみたところ見つけられず、
初心者〜中級者を対象にした評判の良い講習会の様なものがあれば教えて頂けないでしょうか
東京都の渋谷区に住んでいます

312 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 13:37:15.19 ID:dUPfr/v4M.net]
もったいないね
マンツーマンで一時間5千円〜1万はらって12〜36時間でC#を勉強するくらいなら
入門書を3冊ぐらい買って1週間で何度も読めばいいのに

313 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 13:45:33.86 ID:iBcg+dk20.net]
しかし新しいC#の作法にのっとった良い入門書なんてあるかね?

314 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 13:47:56.92 ID:dUPfr/v4M.net]
新しい作法にのっとった講師のほうが少ないと思うよ

315 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 17:24:32.50 ID:0Rufp4wm0.net]
>>302
趣味目的なら金

316 名前:]っているバカだし就職目的なら手に負えないバカ
そんなことで身につかないからパソコン教室にでも通ってろ
[]
[ここ壊れてます]

317 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 18:15:54.45 ID:5CF0lkGw0.net]
パソコン教室じゃ、最高でエクセルの使い方くらいしか教えてくれねーだろ。

318 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 18:33:40.52 ID:/62QaXdPa.net]
>>302
金と時間の無駄って意見に俺も一票。

学校の勉強でもそうだけど、だいたい独習の方が効率が高いよ。
分からないところを質問できる人がいるとはかどるのは確かだと思うけど、
そんなの今はネットで代替できるし(しかもタダ)

子供の習い事みたいにモティベーション不足を金で補うっていうのはありかもしれないけど。

319 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 18:38:51.88 ID:5CF0lkGw0.net]
何とか教室や何とかスクールって、出逢いを求めて通うものだろ?

320 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 18:39:33.21 ID:iBcg+dk20.net]
云うてもプログラムって何すんの状態だと独学とか無理やん
まあ講習受けて出来るようになるかったら確率低いが



321 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 18:51:29.09 ID:b3SRNDoC0.net]
>プログラムって何すんの状態だと独学とか無理やん
そんな人はプログラムを触ることはないので問題なし

322 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 19:02:37.30 ID:bwgc0PeYa.net]
C#プログラマの求人いきゃいい
マンツーマンでみっちり教えてくれてしかも金ももらえるぞ

323 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:20:40.23 ID:Zh8oS8xcM.net]
>>303
>>308
でもさ、メンターがほしい気持ちは解るよ。独学で始めて今でこそイメージしたアプリは大体作れるようになったけど。

324 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:22:39.57 ID:tOEtldFh0.net]
教えてくれる人がいなくてもできるぐらいのやる気は持ってないと
教えてくれる人がいてもできない気がする

325 名前:デフォルトの名無しさん [2018/05/29(火) 21:30:02.17 ID:+v4yesMaa.net]
独学でやってると自分のやり方が正しいのか確認が出来ない不安があるのはわかる
とにかくプログラムを書くこと、実務を重ねるとその不安は経験値でだんだん消えていく
とにかく経験を積むしかない

326 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:34:05.00 ID:T0OOxyUA0.net]
>>314
スレ違いになるけどモチベーション保つのが一番大事だからな
わからなくなるとやる気無くすから誰かに教えてもらいたい、って気持ちはわかるが

327 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 01:10:37.65 ID:eBpQDrsU0.net]
メンターってか、語れる仲間がほしい・・
だが人付き合いはめんどくせーw

328 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 01:15:01.88 ID:9LsQ0F9t0.net]
だから皆ここへ集うのですね

329 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 11:53:56.18 ID:8D7UWmqma.net]
メンター(導師)ってリアルで言ってる人を見ると笑うけど
意識高い系ですかって
メンターは技術面より精神的な面のよりどころだな
わけわからんけどこの人は正しい導いてくれるって人って思いこむ相手

c#入門にメンターがいる必要はないね
中級以上ならまだしも

入門者には導師より同志が必要かな

330 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 12:12:53.49 ID:qVo0G4AWa.net]
メンターなんて初めて聞いた
グルなら知ってる

jai guru deva om



331 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 12:16:35.68 ID:4fnC318RM.net]
>>319
とりあえず中途半端な改行やめたら?

332 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 12:53:27.56 ID:2+ZWaFznd.net]
メンター初耳って…
そりゃ昔はあまり使わなかったが今の20代なら大学で大方耳にしたことあるんじゃない?

333 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 13:06:00.57 ID:tkaPgK/fa.net]
ゲームの初心者指導機能以外で聞いたことない

334 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 14:44:19.09 ID:zGXcDYuB0.net]
ちょまど神に帰依するべきです

335 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 15:57:46.68 ID:OvgslO8CM.net]
CodeMentorっていう英語のメールニュース取ってるんだが?

336 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 17 ]
[ここ壊れてます]

337 名前::39:32.49 ID:zRdb0GuK0.net mailto: ぼくはメンタリストですが、何か? []
[ここ壊れてます]

338 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 18:07:05.50 ID:ZDpw5PAMd.net]
引数ありのdelicateでデリゲートをnewする段階で
関数に引数渡しておくことはできますか?

使うときは引数関係なく実行するだけにしたい

delicateじゃなくてもそういう方法があれば教えてほしいです

339 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 18:49:53.75 ID:YepGdlhS0.net]
ない

340 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 19:21:37.82 ID:mNqG/VKAa.net]
>>327
たとえばこれを、
Action<string> a = Console.Write;

こうするだけと違うの?
Action a = () => Console.Write("Hage");



341 名前:デフォルトの名無しさん [2018/05/31(木) 20:29:05.32 ID:XpaqSCj3a.net]
>>329
普通に考えたらそうなるわな
何がいいたいんやろ

342 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 21:18:37.12 ID:ZDpw5PAMd.net]
>>329
わかりづらくてすみません
Actionですね
これでちょっとやってみます
ありがとうございます

343 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 00:56:14.18 ID:v9HhHj/a0.net]
もしかして delegate? > delicate

344 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 01:50:30.82 ID:Kjs/aFNB0.net]
痒くなってきた

345 名前:デフォルトの名無しさん [2018/06/02(土) 01:19:12.37 ID:te+Rl8LG0.net]
もうふらっとと統合しろよ

346 名前:デフォルトの名無しさん mailto:sage [2018/06/02(土) 14:30:29.50 ID:sz40x79U0.net]
隔離用のスレを本スレに統合って斬新だな

347 名前:デフォルトの名無しさん mailto:sage [2018/06/05(火) 14:10:31.00 ID:kDP+/j8RM.net]
デリケートって結局なんねことなんや

348 名前:デフォルトの名無しさん [2018/06/05(火) 23:17:30.29 ID:vNq9k7GF0.net]
>>336
関数ポインタ

349 名前:デフォルトの名無しさん mailto:sage [2018/06/06(水) 11:05:26.21 ID:kgKhbEIB0.net]
わかるように説明しろや!

350 名前:デフォルトの名無しさん mailto:sage [2018/06/06(水) 11:13:20.04 ID:Glbjy1Oa0.net]
赤ん坊が庖丁持ったからと言って何かを生み出せるわけでは無し



351 名前:デフォルトの名無しさん mailto:sage [2018/06/06(水) 13:00:14.82 ID:/mNmPD5La.net]
>>338
「〜とは何か」って哲学論争はたぶん時間の無駄w
実際の使われ方を見て何に使えるかを理解するのがいいよ

禅問答みたいに聞こえるかもしれんが、デリゲートのメリットは
デリゲート型の変数を作れること。

デリゲートの使えない従来の言語は、コードの中にdoubleのリテラルしか書けず
doubleの変数が作れないようなものだった

352 名前:デフォルトの名無しさん mailto:sage [2018/06/06(水) 22:58:53.30 ID:x4kBoo940.net]
>>331です
Actionでできました!ありがとうございます。
クロージャー(?)っていうんですかね?
関数の外の値を引数で渡さずに関数内で使うやり方が知りたかったんです。

353 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 21:28:18.26 ID:HziEaPXa0.net]
デリゲート型の変数?????
デリゲート型にすると何かいいことあるのか?
デリゲート型にすると何がいいんだ??????何が使えるんだ?????

354 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 21:34:22.85 ID:9x16GWRr0.net]
>>342
ここ読め
ufcpp.net/study/csharp/sp_delegate.html

355 名前:デフォルトの名無しさん [2018/06/07(木) 21:34:36.55 ID:uqa5AZHUa.net]
あーこういうの出来たら便利なのにー
って思ったら調べて使えばいいよ
使わんと頭入らないし

356 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 21:41:39.12 ID:muNvrUxm0.net]
デリゲート、デリゲートって、おまえら
青空球児・好児かよ。

357 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 23:38:02.20 ID:p05PC41Ra.net]
>>342
そうじゃなくて、上に書いたように、もしdoubleのリテラルしかコード中に書けなくて
doubleの変数が使えなかったらどう困るか考えて

358 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 23:51:09.11 ID:HziEaPXa0.net]
図にしてくれ

359 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 00:56:57.47 ID:057UgUqy0.net]
数値を格納する変数は int 型
文字を格納する変数は string 型
メソッドを格納する変数が デリゲート型

360 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 01:01:01.34 ID:7BdVtDm70.net]
なんで
メソッドを
格納する
必要が
あるんだよ




361 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 01:20:20.47 ID:vel+6 ]
[ここ壊れてます]

362 名前:yPba.net mailto: だから、どうして実数を変数に入れる必要があるの?
入るのはメソッド自身ではなくその参照だけどね
[]
[ここ壊れてます]

363 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 07:41:09.77 ID:V2PqzfzLd.net]
>>349
自分の場合はある関数にある処理を追加したい場合とか

ある処理は呼び出しもとによって変わったり

364 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 07:54:30.62 ID:VEbWNRWu0.net]
>>351
ピンとこない

処理を追加したいならメソッド自体に書くか、overloadとかを考えちゃう
呼び出し元で処理変えるなら引数で、みたいな

365 名前:デフォルトの名無しさん [2018/06/08(金) 07:59:48.51 ID:FRxZCKgGa.net]
メソッドを引数にして渡してあげられると、実行する側は何をするか気にしないでいいじゃない

366 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 08:15:18.51 ID:H4l6t16fM.net]
なぜデリゲートがあるか?
君も大人になったらわかるよ。
ママ、なんでボクはおチンチン付いてるの?
この疑問、時間が解決したろう。

367 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 08:30:05.85 ID:V2PqzfzLd.net]
>>352
今までの処理は極力変えたくない

引数にAction渡して関数はそれを実行
引数のActionはデフォルトにnullをいれておく
nullだったら処理しないようにすれば呼び出し元は必ずしも変更する必要がなくなる

なんでこうするかってテストするのがめんどいからとか色々

368 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 10:53:38.20 ID:p6dJfT33M.net]
>>355
さっぱりわからない

処理変えたくないメソッド実行
 ↓
その結果次第で別のメソッド実行

何故これで済まないの?

369 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 11:07:03.52 ID:jzbZ53uGa.net]
それでも済むよ

例えば繰り返し処理
forなくても書けるだろ。だからforなんて要らないって言ってるようなもん
なくてもプログラミングできるが、あれば楽できる

370 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 11:49:27.44 ID:SrLrQXUUa.net]
済まないw

>>356-357は-π/2〜π/2の範囲の実数の数だけ、それに対応する
sinの値を返すメソッドを用意すれば汎用的なsin関数なんかなくて済むと言ってるのと同じ。

だから、どうしてdoubleの変数が必要なのかと。

っていうかこの質問者、本当は分かってて質問してる変な奴だろうね8割方w
たぶん2chの他の板によくいる、サヨクを演じて自作自演やってる頭のおかしいネトウヨと似たようなメンタルの持主なんだろうと想像



371 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 13:02:11.32 ID:V2PqzfzLd.net]
>>356
voidだったら"その結果"ってどう受けとる?

372 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 13:04:11.27 ID:7BdVtDm70.net]
図にしろ・・・・・・・・・ッッツ!!!

373 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 13:14:18.16 ID:0qxXZgjd0.net]
アウアウアーの見本市

374 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 19:39:57.11 ID:tyJ42miy0.net]
なんか揚げ足取りしようとして引っ込みつかなくなってる感

375 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 19:42:51.67 ID:sQqhvtlW0.net]
ufcpp.net/study/csharp/misc_delegate.html

376 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 20:48:10.00 ID:7BdVtDm70.net]
つまりメソッドにラムダ式を渡して処理した結果を使ってメソッドの処理をさせるのか?

377 名前:デフォルトの名無しさん [2018/06/08(金) 20:53:34.63 ID:KYYD9BLCa.net]
ごめん。ちょっと何言ってるかわかんない

378 名前:デフォルトの名無しさん [2018/06/08(金) 21:00:06.62 ID:E4qbFGXm0.net]
結局デリゲートの非同期処理BeginInvokeを使用するってのが
従来大きな役割だったんじゃない?
でも今Taskクラスできたから必要なくなった

379 名前:デフォルトの名無しさん mailto:sage [2018/06/08(金) 21:19:27.49 ID:txACZHnFp.net]
つまりクラス間通信。

380 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 12:11:29.33 ID:VOfp/P7BM.net]
デリゲート(委譲)って名前が悪いのかな
メソッドを他に渡しておいて適宜実行してもらうから委譲ともいえるけどそれは機能の一面しか表してない
MVPの人も過去にデリゲートいらねえって言ってたけど理解力が足りてない

c#は結構



381 名前:「ろんなものがオブジェクトだけどメソッドはオブジェクトじゃない
デリゲートを使えばメソッドをオブジェクト(変数)みたいな感じで扱える
普通の変数とは違って+=で複数のデリゲートをいれることができるのが特徴的

コールバックとして使えるしeventはデリゲートをもとに作られてるので基本的な使用範囲は広い
[]
[ここ壊れてます]

382 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 12:44:45.38 ID:DBY1R4Jva.net]
>>368
真面目な話、そういう衒学趣味の文系学生みたいな
文章が一番人を混乱させる。

「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」って何やねんw

関数ポインタが分かればデリゲートがどんなものかはその類推でだいたいイメージできる。
機械語をやった経験があれば、関数ポインタなんか、なんだこんなのただのcall命令の
アドレッシングモードのことかってすぐわかる

でも重要なのは、「デリゲートとは何か」なんか分からなくてもデリゲートは使えるってこと。
「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。

383 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 12:58:26.33 ID:54mp5fzVM.net]
そう。ホビープログラマならね

384 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:02:40.19 ID:Cz/ni8by0.net]
ホビーじゃないプログラマ「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」

385 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:05:05.70 ID:oQlrsJoz0.net]
それは無能プログラマ

386 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:31:49.04 ID:kvLDmgw/0.net]
>>371
この文何か変か?
メソッドはobject型から派生したクラスではないっていう当たり前のことを言ってるだけだろ

387 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:40:09.88 ID:VOfp/P7BM.net]
>>369
他の言語ではメソッドもオブジェクトとして扱えるものもある
c#はメソッドはオブジェクトじゃない

その類推が間違ってるからダメなんだけどなあ…
デリゲートは関数ポインタじゃない
callでもアドレッシングとも全然無関係だわ

機能的には似たようなものに見えるけど全然別物だ

388 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:51:37.94 ID:MhKfyDgC0.net]
>>369
文系学生もプログラミングする時代になったって事だよ。

> 「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。
これな。最近の「○○って何ですか」っていう奴らは何なんだ?
お前らだって、日本語の全ての漢字を読めるわけでもないだろうに。

「デリゲート」は失敗作だから新言語を作る気がないのなら理解する必要はない。
あれはthis+関数ポインタで、一番近いのはC++の「メンバ関数ポインタ」だが、
無駄に「クラス」「関数ポインタ」「ラムダ」を抽象化しようとしておかしくなってる。
結局ラムダを導入してしまったし、当初の方針は間違いだと認められたことになる。
今後「デリゲート」を採用する言語はないだろうよ。

389 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:57:35.17 ID:1jan2CXL0.net]
.NET Core で過去の遺産が全て無くなるかと思ったけどそんなことはなかったぜ

390 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 13:59:17.43 ID:VOfp/P7BM.net]
>>375
誤解したままで最後までつづけるんか?



391 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:07:54.32 ID:VOfp/P7BM.net]
もともと関数がオブジェクトである言語はデリゲートを導入するメリットは少ない
c#にデリゲートが無かったらjavaの様に専用のインターフェイスを継承した無駄なクラスを作らなければならなかった

ActionやFuncやラムダがあればデリゲートが必要なかったと言ってるのは何かを誤解してる

392 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:19:40.58 ID:MhKfyDgC0.net]
>>377
理解してなくても使えれば問題ないんだよ。
お前だってPCの起動方法(BIOSとか)知らなくてもPC使ってるだろ。
MSIL読めなくてもC#使えるだろ。
CPUの例外/割り込み機構を知らなくてもtry/catch使えるだろ。
一般プログラマにとってはプログラミング言語は道具であって、それ以上でも以下でもない。
新言語を作りたいのなら学術的に正確に理解することが必要だが、普通の人はそうではない。

それ以前にC#が死ぬ可能性を考えた方がいい。
C#専用の「デリゲート」の理解はつぶしが利かない。
他言語にもある「ラムダ」の理解のほうが重要だ。

デリゲート

393 名前:ヘ「クラス」と「関数ポインタ+バインド」で対応した方が良かったと思う。
C#には未だに「バインド」がない=デリゲートでの対応になるが、
実際、後付でバインドすることが出来ないだけ不便だろ。

>>378
Javaみたいなそもそも「関数ポインタ」がなかった糞言語と比較したら駄目だよ。
Cには関数ポインタはあった。
C#はそれを「デリゲート」として拡張した。
他言語は「第一級オブジェクト」として拡張した。
今のところ、後者の方が正解っぽいだろ。
(俺自身にはイマイチ「第一級オブジェクト」である利点/必然性は見えないのだが)
[]
[ここ壊れてます]

394 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:24:48.97 ID:VOfp/P7BM.net]
関数がもしobjectクラスから派生したオブジェクトになるとメンバーを持てることになるんだけど
A.B().ToString()のToStringが
B()というメソッド自体に係ってるのか
B()の返した戻り値にかかってるのかがよくわからないことになる

395 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:25:53.62 ID:54mp5fzVM.net]
Javaってstaticメソッドを関数インターフェースに渡すときは最適化してくれんの?

396 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:30:26.04 ID:AO7Grx3Qa.net]
1+2*3
こんな計算式があったときに1+2をしてから3かけて答えは9
こうはならないだろ。それは優先順位を定めてるから。(1+2)*3のようにかけば期待通りになる

それと同じで関数がオブジェクトでメンバー持ててもそれに合わせた処理の優先順位を定めればいいだけ

397 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:32:21.62 ID:VOfp/P7BM.net]
理解しないのと誤解してるのではわかっていないという点では同じだけど
理解してない場合は理解していない前提で行動できる
一方の誤解してる場合は悲惨だ

398 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:33:21.85 ID:MhKfyDgC0.net]
>>380
お前は右結合と左結合を勉強しろ

399 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:35:46.47 ID:VOfp/P7BM.net]
>>384
じゃあどういう風に記述したらオブジェクトである関数のプロパティやメソッドにアクセスできるかここに書いてもらいたいが

400 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:36:40.18 ID:MhKfyDgC0.net]
>>383
お前は日本語を勉強しろ。

俺達は「理解しなくていい」=「完全に理解してはいないという自覚の元で使え」と言っているのであって、
それは「誤解」には繋がらない。
「誤解」ってのは、「理解してない馬鹿が理解しているつもりになっている」事を言う。
例えば、右結合と左結合を知らないお前みたいな馬鹿のことだ。



401 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:39:35.51 ID:MhKfyDgC0.net]
>>385
意味不明。何を書いて欲しいのか分からん。

> A.B().ToString()
これはAのメソッドB()を呼んでその戻り値に対してToString()を呼ぶ。
少なくともJavaScriptではそう。

で、何をしたい場合の記述が欲しいんだ?

402 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 14:48:14.18 ID:VOfp/P7BM.net]
>>387
思い違いをしていた
A.B().ToString()とA.B.ToString()で区別できる
クラスにフィールドとメソッドを同名にできないから区別できる
右結合と左結合は関係なかったけど






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

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

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