■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C#, C♯, C#相談室 Part93©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 1e06-m8Mb)
2017/04/22(土) 08:52:00.93ID:iVvswOrb0332デフォルトの名無しさん (ワッチョイ d567-AJiq)
2018/06/01(金) 01:50:30.82ID:Kjs/aFNB0 痒くなってきた
333デフォルトの名無しさん (ワッチョイ fa23-i+D0)
2018/06/02(土) 01:19:12.37ID:te+Rl8LG0 もうふらっとと統合しろよ
334デフォルトの名無しさん (ワッチョイ d69a-msj4)
2018/06/02(土) 14:30:29.50ID:sz40x79U0 隔離用のスレを本スレに統合って斬新だな
335デフォルトの名無しさん (ドコグロ MM1d-HHL/)
2018/06/05(火) 14:10:31.00ID:kDP+/j8RM デリケートって結局なんねことなんや
336デフォルトの名無しさん (ワッチョイ 7ad2-OufX)
2018/06/05(火) 23:17:30.29ID:vNq9k7GF0 >>335
関数ポインタ
関数ポインタ
337デフォルトの名無しさん (ワッチョイ f1c3-HHL/)
2018/06/06(水) 11:05:26.21ID:kgKhbEIB0 わかるように説明しろや!
338デフォルトの名無しさん (ワッチョイ 018a-75sl)
2018/06/06(水) 11:13:20.04ID:Glbjy1Oa0 赤ん坊が庖丁持ったからと言って何かを生み出せるわけでは無し
339デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/06(水) 13:00:14.82ID:/mNmPD5La >>337
「〜とは何か」って哲学論争はたぶん時間の無駄w
実際の使われ方を見て何に使えるかを理解するのがいいよ
禅問答みたいに聞こえるかもしれんが、デリゲートのメリットは
デリゲート型の変数を作れること。
デリゲートの使えない従来の言語は、コードの中にdoubleのリテラルしか書けず
doubleの変数が作れないようなものだった
「〜とは何か」って哲学論争はたぶん時間の無駄w
実際の使われ方を見て何に使えるかを理解するのがいいよ
禅問答みたいに聞こえるかもしれんが、デリゲートのメリットは
デリゲート型の変数を作れること。
デリゲートの使えない従来の言語は、コードの中にdoubleのリテラルしか書けず
doubleの変数が作れないようなものだった
340デフォルトの名無しさん (ワッチョイ cd2b-faVr)
2018/06/06(水) 22:58:53.30ID:x4kBoo940341デフォルトの名無しさん (ワッチョイ 09c3-Ihiv)
2018/06/07(木) 21:28:18.26ID:HziEaPXa0 デリゲート型の変数?????
デリゲート型にすると何かいいことあるのか?
デリゲート型にすると何がいいんだ??????何が使えるんだ?????
デリゲート型にすると何かいいことあるのか?
デリゲート型にすると何がいいんだ??????何が使えるんだ?????
342デフォルトの名無しさん (ワッチョイ e181-fzvG)
2018/06/07(木) 21:34:22.85ID:9x16GWRr0343デフォルトの名無しさん (アウアウカー Sa2d-SmnY)
2018/06/07(木) 21:34:36.55ID:uqa5AZHUa あーこういうの出来たら便利なのにー
って思ったら調べて使えばいいよ
使わんと頭入らないし
って思ったら調べて使えばいいよ
使わんと頭入らないし
344デフォルトの名無しさん (ワッチョイ b1b5-pwhw)
2018/06/07(木) 21:41:39.12ID:muNvrUxm0 デリゲート、デリゲートって、おまえら
青空球児・好児かよ。
青空球児・好児かよ。
345デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/07(木) 23:38:02.20ID:p05PC41Ra346デフォルトの名無しさん (ワッチョイ 09c3-Ihiv)
2018/06/07(木) 23:51:09.11ID:HziEaPXa0 図にしてくれ
347デフォルトの名無しさん (ワッチョイ ebd3-DGJA)
2018/06/08(金) 00:56:57.47ID:057UgUqy0 数値を格納する変数は int 型
文字を格納する変数は string 型
メソッドを格納する変数が デリゲート型
文字を格納する変数は string 型
メソッドを格納する変数が デリゲート型
348デフォルトの名無しさん (ワッチョイ 09c3-Ihiv)
2018/06/08(金) 01:01:01.34ID:7BdVtDm70 なんで
メソッドを
格納する
必要が
あるんだよ
!
メソッドを
格納する
必要が
あるんだよ
!
349デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/08(金) 01:20:20.47ID:vel+6yPba だから、どうして実数を変数に入れる必要があるの?
入るのはメソッド自身ではなくその参照だけどね
入るのはメソッド自身ではなくその参照だけどね
350デフォルトの名無しさん (スップ Sd73-x2t7)
2018/06/08(金) 07:41:09.77ID:V2PqzfzLd351デフォルトの名無しさん (ワッチョイ eb98-3KXI)
2018/06/08(金) 07:54:30.62ID:VEbWNRWu0352デフォルトの名無しさん (アウアウカー Sa2d-SmnY)
2018/06/08(金) 07:59:48.51ID:FRxZCKgGa メソッドを引数にして渡してあげられると、実行する側は何をするか気にしないでいいじゃない
353デフォルトの名無しさん (ブーイモ MM05-OWkY)
2018/06/08(金) 08:15:18.51ID:H4l6t16fM なぜデリゲートがあるか?
君も大人になったらわかるよ。
ママ、なんでボクはおチンチン付いてるの?
この疑問、時間が解決したろう。
君も大人になったらわかるよ。
ママ、なんでボクはおチンチン付いてるの?
この疑問、時間が解決したろう。
354デフォルトの名無しさん (スップ Sd73-x2t7)
2018/06/08(金) 08:30:05.85ID:V2PqzfzLd >>351
今までの処理は極力変えたくない
引数にAction渡して関数はそれを実行
引数のActionはデフォルトにnullをいれておく
nullだったら処理しないようにすれば呼び出し元は必ずしも変更する必要がなくなる
なんでこうするかってテストするのがめんどいからとか色々
今までの処理は極力変えたくない
引数にAction渡して関数はそれを実行
引数のActionはデフォルトにnullをいれておく
nullだったら処理しないようにすれば呼び出し元は必ずしも変更する必要がなくなる
なんでこうするかってテストするのがめんどいからとか色々
355デフォルトの名無しさん (ワントンキン MM53-3KXI)
2018/06/08(金) 10:53:38.20ID:p6dJfT33M356デフォルトの名無しさん (アウアウウー Sad5-rZS7)
2018/06/08(金) 11:07:03.52ID:jzbZ53uGa それでも済むよ
例えば繰り返し処理
forなくても書けるだろ。だからforなんて要らないって言ってるようなもん
なくてもプログラミングできるが、あれば楽できる
例えば繰り返し処理
forなくても書けるだろ。だからforなんて要らないって言ってるようなもん
なくてもプログラミングできるが、あれば楽できる
357デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/08(金) 11:49:27.44ID:SrLrQXUUa 済まないw
>>355-356は-π/2〜π/2の範囲の実数の数だけ、それに対応する
sinの値を返すメソッドを用意すれば汎用的なsin関数なんかなくて済むと言ってるのと同じ。
だから、どうしてdoubleの変数が必要なのかと。
っていうかこの質問者、本当は分かってて質問してる変な奴だろうね8割方w
たぶん2chの他の板によくいる、サヨクを演じて自作自演やってる頭のおかしいネトウヨと似たようなメンタルの持主なんだろうと想像
>>355-356は-π/2〜π/2の範囲の実数の数だけ、それに対応する
sinの値を返すメソッドを用意すれば汎用的なsin関数なんかなくて済むと言ってるのと同じ。
だから、どうしてdoubleの変数が必要なのかと。
っていうかこの質問者、本当は分かってて質問してる変な奴だろうね8割方w
たぶん2chの他の板によくいる、サヨクを演じて自作自演やってる頭のおかしいネトウヨと似たようなメンタルの持主なんだろうと想像
358デフォルトの名無しさん (スップ Sd73-x2t7)
2018/06/08(金) 13:02:11.32ID:V2PqzfzLd >>355
voidだったら"その結果"ってどう受けとる?
voidだったら"その結果"ってどう受けとる?
359デフォルトの名無しさん (ワッチョイ 09c3-Ihiv)
2018/06/08(金) 13:04:11.27ID:7BdVtDm70 図にしろ・・・・・・・・・ッッツ!!!
360デフォルトの名無しさん (ワッチョイ 01bb-XZeD)
2018/06/08(金) 13:14:18.16ID:0qxXZgjd0 アウアウアーの見本市
361デフォルトの名無しさん (ワッチョイ 118a-LHz9)
2018/06/08(金) 19:39:57.11ID:tyJ42miy0 なんか揚げ足取りしようとして引っ込みつかなくなってる感
362デフォルトの名無しさん (ワッチョイ a98a-Duqg)
2018/06/08(金) 19:42:51.67ID:sQqhvtlW0363デフォルトの名無しさん (ワッチョイ 09c3-Ihiv)
2018/06/08(金) 20:48:10.00ID:7BdVtDm70 つまりメソッドにラムダ式を渡して処理した結果を使ってメソッドの処理をさせるのか?
364デフォルトの名無しさん (アウアウカー Sa2d-SmnY)
2018/06/08(金) 20:53:34.63ID:KYYD9BLCa ごめん。ちょっと何言ってるかわかんない
365デフォルトの名無しさん (ワッチョイ ebe8-LHz9)
2018/06/08(金) 21:00:06.62ID:E4qbFGXm0 結局デリゲートの非同期処理BeginInvokeを使用するってのが
従来大きな役割だったんじゃない?
でも今Taskクラスできたから必要なくなった
従来大きな役割だったんじゃない?
でも今Taskクラスできたから必要なくなった
366デフォルトの名無しさん (ササクッテロラ Spdd-pwhw)
2018/06/08(金) 21:19:27.49ID:txACZHnFp つまりクラス間通信。
367デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 12:11:29.33ID:VOfp/P7BM デリゲート(委譲)って名前が悪いのかな
メソッドを他に渡しておいて適宜実行してもらうから委譲ともいえるけどそれは機能の一面しか表してない
MVPの人も過去にデリゲートいらねえって言ってたけど理解力が足りてない
c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない
デリゲートを使えばメソッドをオブジェクト(変数)みたいな感じで扱える
普通の変数とは違って+=で複数のデリゲートをいれることができるのが特徴的
コールバックとして使えるしeventはデリゲートをもとに作られてるので基本的な使用範囲は広い
メソッドを他に渡しておいて適宜実行してもらうから委譲ともいえるけどそれは機能の一面しか表してない
MVPの人も過去にデリゲートいらねえって言ってたけど理解力が足りてない
c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない
デリゲートを使えばメソッドをオブジェクト(変数)みたいな感じで扱える
普通の変数とは違って+=で複数のデリゲートをいれることができるのが特徴的
コールバックとして使えるしeventはデリゲートをもとに作られてるので基本的な使用範囲は広い
368デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/09(土) 12:44:45.38ID:DBY1R4Jva >>367
真面目な話、そういう衒学趣味の文系学生みたいな
文章が一番人を混乱させる。
「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」って何やねんw
関数ポインタが分かればデリゲートがどんなものかはその類推でだいたいイメージできる。
機械語をやった経験があれば、関数ポインタなんか、なんだこんなのただのcall命令の
アドレッシングモードのことかってすぐわかる
でも重要なのは、「デリゲートとは何か」なんか分からなくてもデリゲートは使えるってこと。
「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。
真面目な話、そういう衒学趣味の文系学生みたいな
文章が一番人を混乱させる。
「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」って何やねんw
関数ポインタが分かればデリゲートがどんなものかはその類推でだいたいイメージできる。
機械語をやった経験があれば、関数ポインタなんか、なんだこんなのただのcall命令の
アドレッシングモードのことかってすぐわかる
でも重要なのは、「デリゲートとは何か」なんか分からなくてもデリゲートは使えるってこと。
「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。
369デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 12:58:26.33ID:54mp5fzVM そう。ホビープログラマならね
370デフォルトの名無しさん (ワッチョイ b167-LxN6)
2018/06/09(土) 13:02:40.19ID:Cz/ni8by0 ホビーじゃないプログラマ「c#は結構いろんなものがオブジェクトだけどメソッドはオブジェクトじゃない 」
371デフォルトの名無しさん (ワッチョイ b1b5-pwhw)
2018/06/09(土) 13:05:05.70ID:oQlrsJoz0 それは無能プログラマ
372デフォルトの名無しさん (ワッチョイ e181-fzvG)
2018/06/09(土) 13:31:49.04ID:kvLDmgw/0373デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 13:40:09.88ID:VOfp/P7BM >>368
他の言語ではメソッドもオブジェクトとして扱えるものもある
c#はメソッドはオブジェクトじゃない
その類推が間違ってるからダメなんだけどなあ…
デリゲートは関数ポインタじゃない
callでもアドレッシングとも全然無関係だわ
機能的には似たようなものに見えるけど全然別物だ
他の言語ではメソッドもオブジェクトとして扱えるものもある
c#はメソッドはオブジェクトじゃない
その類推が間違ってるからダメなんだけどなあ…
デリゲートは関数ポインタじゃない
callでもアドレッシングとも全然無関係だわ
機能的には似たようなものに見えるけど全然別物だ
374デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 13:51:37.94ID:MhKfyDgC0 >>368
文系学生もプログラミングする時代になったって事だよ。
> 「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。
これな。最近の「○○って何ですか」っていう奴らは何なんだ?
お前らだって、日本語の全ての漢字を読めるわけでもないだろうに。
「デリゲート」は失敗作だから新言語を作る気がないのなら理解する必要はない。
あれはthis+関数ポインタで、一番近いのはC++の「メンバ関数ポインタ」だが、
無駄に「クラス」「関数ポインタ」「ラムダ」を抽象化しようとしておかしくなってる。
結局ラムダを導入してしまったし、当初の方針は間違いだと認められたことになる。
今後「デリゲート」を採用する言語はないだろうよ。
文系学生もプログラミングする時代になったって事だよ。
> 「何か」なんか理解しなくていい。それを使って何が出来るかだけ理解すればいい。
これな。最近の「○○って何ですか」っていう奴らは何なんだ?
お前らだって、日本語の全ての漢字を読めるわけでもないだろうに。
「デリゲート」は失敗作だから新言語を作る気がないのなら理解する必要はない。
あれはthis+関数ポインタで、一番近いのはC++の「メンバ関数ポインタ」だが、
無駄に「クラス」「関数ポインタ」「ラムダ」を抽象化しようとしておかしくなってる。
結局ラムダを導入してしまったし、当初の方針は間違いだと認められたことになる。
今後「デリゲート」を採用する言語はないだろうよ。
375デフォルトの名無しさん (ワッチョイ 8917-LHz9)
2018/06/09(土) 13:57:35.17ID:1jan2CXL0 .NET Core で過去の遺産が全て無くなるかと思ったけどそんなことはなかったぜ
376デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 13:59:17.43ID:VOfp/P7BM >>374
誤解したままで最後までつづけるんか?
誤解したままで最後までつづけるんか?
377デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 14:07:54.32ID:VOfp/P7BM もともと関数がオブジェクトである言語はデリゲートを導入するメリットは少ない
c#にデリゲートが無かったらjavaの様に専用のインターフェイスを継承した無駄なクラスを作らなければならなかった
ActionやFuncやラムダがあればデリゲートが必要なかったと言ってるのは何かを誤解してる
c#にデリゲートが無かったらjavaの様に専用のインターフェイスを継承した無駄なクラスを作らなければならなかった
ActionやFuncやラムダがあればデリゲートが必要なかったと言ってるのは何かを誤解してる
378デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 14:19:40.58ID:MhKfyDgC0 >>376
理解してなくても使えれば問題ないんだよ。
お前だってPCの起動方法(BIOSとか)知らなくてもPC使ってるだろ。
MSIL読めなくてもC#使えるだろ。
CPUの例外/割り込み機構を知らなくてもtry/catch使えるだろ。
一般プログラマにとってはプログラミング言語は道具であって、それ以上でも以下でもない。
新言語を作りたいのなら学術的に正確に理解することが必要だが、普通の人はそうではない。
それ以前にC#が死ぬ可能性を考えた方がいい。
C#専用の「デリゲート」の理解はつぶしが利かない。
他言語にもある「ラムダ」の理解のほうが重要だ。
デリゲートは「クラス」と「関数ポインタ+バインド」で対応した方が良かったと思う。
C#には未だに「バインド」がない=デリゲートでの対応になるが、
実際、後付でバインドすることが出来ないだけ不便だろ。
>>377
Javaみたいなそもそも「関数ポインタ」がなかった糞言語と比較したら駄目だよ。
Cには関数ポインタはあった。
C#はそれを「デリゲート」として拡張した。
他言語は「第一級オブジェクト」として拡張した。
今のところ、後者の方が正解っぽいだろ。
(俺自身にはイマイチ「第一級オブジェクト」である利点/必然性は見えないのだが)
理解してなくても使えれば問題ないんだよ。
お前だってPCの起動方法(BIOSとか)知らなくてもPC使ってるだろ。
MSIL読めなくてもC#使えるだろ。
CPUの例外/割り込み機構を知らなくてもtry/catch使えるだろ。
一般プログラマにとってはプログラミング言語は道具であって、それ以上でも以下でもない。
新言語を作りたいのなら学術的に正確に理解することが必要だが、普通の人はそうではない。
それ以前にC#が死ぬ可能性を考えた方がいい。
C#専用の「デリゲート」の理解はつぶしが利かない。
他言語にもある「ラムダ」の理解のほうが重要だ。
デリゲートは「クラス」と「関数ポインタ+バインド」で対応した方が良かったと思う。
C#には未だに「バインド」がない=デリゲートでの対応になるが、
実際、後付でバインドすることが出来ないだけ不便だろ。
>>377
Javaみたいなそもそも「関数ポインタ」がなかった糞言語と比較したら駄目だよ。
Cには関数ポインタはあった。
C#はそれを「デリゲート」として拡張した。
他言語は「第一級オブジェクト」として拡張した。
今のところ、後者の方が正解っぽいだろ。
(俺自身にはイマイチ「第一級オブジェクト」である利点/必然性は見えないのだが)
379デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 14:24:48.97ID:VOfp/P7BM 関数がもしobjectクラスから派生したオブジェクトになるとメンバーを持てることになるんだけど
A.B().ToString()のToStringが
B()というメソッド自体に係ってるのか
B()の返した戻り値にかかってるのかがよくわからないことになる
A.B().ToString()のToStringが
B()というメソッド自体に係ってるのか
B()の返した戻り値にかかってるのかがよくわからないことになる
380デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 14:25:53.62ID:54mp5fzVM Javaってstaticメソッドを関数インターフェースに渡すときは最適化してくれんの?
381デフォルトの名無しさん (アウアウウー Sad5-rZS7)
2018/06/09(土) 14:30:26.04ID:AO7Grx3Qa 1+2*3
こんな計算式があったときに1+2をしてから3かけて答えは9
こうはならないだろ。それは優先順位を定めてるから。(1+2)*3のようにかけば期待通りになる
それと同じで関数がオブジェクトでメンバー持ててもそれに合わせた処理の優先順位を定めればいいだけ
こんな計算式があったときに1+2をしてから3かけて答えは9
こうはならないだろ。それは優先順位を定めてるから。(1+2)*3のようにかけば期待通りになる
それと同じで関数がオブジェクトでメンバー持ててもそれに合わせた処理の優先順位を定めればいいだけ
382デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 14:32:21.62ID:VOfp/P7BM 理解しないのと誤解してるのではわかっていないという点では同じだけど
理解してない場合は理解していない前提で行動できる
一方の誤解してる場合は悲惨だ
理解してない場合は理解していない前提で行動できる
一方の誤解してる場合は悲惨だ
383デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 14:33:21.85ID:MhKfyDgC0 >>379
お前は右結合と左結合を勉強しろ
お前は右結合と左結合を勉強しろ
384デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 14:35:46.47ID:VOfp/P7BM >>383
じゃあどういう風に記述したらオブジェクトである関数のプロパティやメソッドにアクセスできるかここに書いてもらいたいが
じゃあどういう風に記述したらオブジェクトである関数のプロパティやメソッドにアクセスできるかここに書いてもらいたいが
385デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 14:36:40.18ID:MhKfyDgC0 >>382
お前は日本語を勉強しろ。
俺達は「理解しなくていい」=「完全に理解してはいないという自覚の元で使え」と言っているのであって、
それは「誤解」には繋がらない。
「誤解」ってのは、「理解してない馬鹿が理解しているつもりになっている」事を言う。
例えば、右結合と左結合を知らないお前みたいな馬鹿のことだ。
お前は日本語を勉強しろ。
俺達は「理解しなくていい」=「完全に理解してはいないという自覚の元で使え」と言っているのであって、
それは「誤解」には繋がらない。
「誤解」ってのは、「理解してない馬鹿が理解しているつもりになっている」事を言う。
例えば、右結合と左結合を知らないお前みたいな馬鹿のことだ。
386デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 14:39:35.51ID:MhKfyDgC0 >>384
意味不明。何を書いて欲しいのか分からん。
> A.B().ToString()
これはAのメソッドB()を呼んでその戻り値に対してToString()を呼ぶ。
少なくともJavaScriptではそう。
で、何をしたい場合の記述が欲しいんだ?
意味不明。何を書いて欲しいのか分からん。
> A.B().ToString()
これはAのメソッドB()を呼んでその戻り値に対してToString()を呼ぶ。
少なくともJavaScriptではそう。
で、何をしたい場合の記述が欲しいんだ?
387デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 14:48:14.18ID:VOfp/P7BM >>386
思い違いをしていた
A.B().ToString()とA.B.ToString()で区別できる
クラスにフィールドとメソッドを同名にできないから区別できる
右結合と左結合は関係なかったけど
思い違いをしていた
A.B().ToString()とA.B.ToString()で区別できる
クラスにフィールドとメソッドを同名にできないから区別できる
右結合と左結合は関係なかったけど
388デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 14:54:44.86ID:MhKfyDgC0389デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 15:04:32.47ID:VOfp/P7BM390デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 15:06:54.66ID:VOfp/P7BM 本当にC#からdelegateを削除しろって言ってるんだったらどこかおかしい
何にも理解してない
何にも理解してない
391デフォルトの名無しさん (アウアウウー Sad5-rZS7)
2018/06/09(土) 15:06:56.64ID:AO7Grx3Qa プロパティなんて関数オブジェクトみたいなもんだな
プロパティに引数渡してぇ
プロパティに引数渡してぇ
392デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 15:07:41.71ID:VOfp/P7BM >>391
っVB.net
っVB.net
393デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 15:18:29.92ID:MhKfyDgC0394デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 15:25:50.19ID:MhKfyDgC0 >>391
JavaScriptではオーバーライドすれば出来る。
フィールド/メソッドの区別がなく、名前だけだから。
C#的には派生クラスで「プロパティ」「を同名の「メソッド」でオーバーライドだが、
これが型チェック的に無理なのか?
しかし名前の重複を許していないのだから、今後の拡張は可能のはずだが。
JavaScriptのデタラメ文法はどうかという奴もいるが、慣れてしまうと、
型あり言語の「型が違うだけ」で色々制約されるのも相当な糞だと気づけるぞ。
型検査はエラーではなく警告に留めるべきで、
プログラマがOKすれば型が不一致でも通してくれた方がマジで楽。
一番近いのはCってことになってしまうが。
JavaScriptではオーバーライドすれば出来る。
フィールド/メソッドの区別がなく、名前だけだから。
C#的には派生クラスで「プロパティ」「を同名の「メソッド」でオーバーライドだが、
これが型チェック的に無理なのか?
しかし名前の重複を許していないのだから、今後の拡張は可能のはずだが。
JavaScriptのデタラメ文法はどうかという奴もいるが、慣れてしまうと、
型あり言語の「型が違うだけ」で色々制約されるのも相当な糞だと気づけるぞ。
型検査はエラーではなく警告に留めるべきで、
プログラマがOKすれば型が不一致でも通してくれた方がマジで楽。
一番近いのはCってことになってしまうが。
395デフォルトの名無しさん (ワッチョイ eb81-XZeD)
2018/06/09(土) 15:29:15.96ID:a58WBe6r0 ア土曜の昼間からウアウアーの見本市
396デフォルトの名無しさん (ワッチョイ eb81-XZeD)
2018/06/09(土) 15:29:59.09ID:a58WBe6r0 友人ゼロのキモオタオッサンは他にやることないのかい
397デフォルトの名無しさん (ワッチョイ e181-fzvG)
2018/06/09(土) 16:02:02.79ID:kvLDmgw/0 他の言語はともかくC#はGUIのイベントの管理にデリゲートのマルチキャスト使ってるんだから無かったら困るだろ
398デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/09(土) 16:54:07.78ID:DBY1R4Jva だからメソッドがオブジェクトかどうかなんて話はただの衒学趣味的な無益な話w
そんな話は「ではオブジェクトって何?」って不毛な議論になるだけでしょw
初心者がデリゲートを理解して使えるようになるための屁の役にも立たないよw
>>397
素直に考えればデリゲート自身にマルチキャストの機能を持たせるんじゃなく、
シングルキャストのデリゲートのリストとして実装する方法もあったはず
なんか理由があって「こういう」風になってるんだろうが俺には積極的理由はよくわからんね。
ジェネリックをデリゲートで制約できないことと関係があるのかもしれないが
なまじマルチキャストなんて機能があるせいで何だかわかりづらくなってる面は否定できないと思う
そんな話は「ではオブジェクトって何?」って不毛な議論になるだけでしょw
初心者がデリゲートを理解して使えるようになるための屁の役にも立たないよw
>>397
素直に考えればデリゲート自身にマルチキャストの機能を持たせるんじゃなく、
シングルキャストのデリゲートのリストとして実装する方法もあったはず
なんか理由があって「こういう」風になってるんだろうが俺には積極的理由はよくわからんね。
ジェネリックをデリゲートで制約できないことと関係があるのかもしれないが
なまじマルチキャストなんて機能があるせいで何だかわかりづらくなってる面は否定できないと思う
399デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 17:08:52.90ID:MhKfyDgC0 >>397
GUIに関してはdelegateの導入は不要だったで決着してる。
GUIにはOOPよりMVCの方が数段マシで、WPFもそうなってるだろ。
onclickにthisがバインドされている意味がそもそも無いんだよ。
決着が付いてないのはデータフロープログラミングをするときだ。
JavaScriptではObject.observeの導入が計画され、一部フィーバーしていたが、ポシャった。
https://www.html5rocks.com/ja/tutorials/es7/observe/
以下によると、非同期なのが使えなかったらしい。
http://tech.nitoyon.com/ja/blog/2015/11/18/death-of-oo/
JavaScriptの非同期は最早宗教だが、
はっきり言って無駄に非同期すぎて、余計にやりにくくなっているケースもある。これもそう。
C#は独自eventを実装出来るし、そのためにdelegateが用意されているから、
「データフロープログラミング」を文法的にサポートしているとは言える。
ただ、それ以前に、「データフロープログラミング」が主流ではないが。
お前らも実際、やってないだろ。
関数型の次に来るって事もなさそうだし。
とはいえ、上記の通り、今のJavaScriptではデータフロープログラミングは面倒だし、
getter/setterを頑なに拒むC++ではものすごくウザくなって事実上無理だ。
次の波が来ればevent/delegateも再評価されるかもしれん。
GUIに関してはdelegateの導入は不要だったで決着してる。
GUIにはOOPよりMVCの方が数段マシで、WPFもそうなってるだろ。
onclickにthisがバインドされている意味がそもそも無いんだよ。
決着が付いてないのはデータフロープログラミングをするときだ。
JavaScriptではObject.observeの導入が計画され、一部フィーバーしていたが、ポシャった。
https://www.html5rocks.com/ja/tutorials/es7/observe/
以下によると、非同期なのが使えなかったらしい。
http://tech.nitoyon.com/ja/blog/2015/11/18/death-of-oo/
JavaScriptの非同期は最早宗教だが、
はっきり言って無駄に非同期すぎて、余計にやりにくくなっているケースもある。これもそう。
C#は独自eventを実装出来るし、そのためにdelegateが用意されているから、
「データフロープログラミング」を文法的にサポートしているとは言える。
ただ、それ以前に、「データフロープログラミング」が主流ではないが。
お前らも実際、やってないだろ。
関数型の次に来るって事もなさそうだし。
とはいえ、上記の通り、今のJavaScriptではデータフロープログラミングは面倒だし、
getter/setterを頑なに拒むC++ではものすごくウザくなって事実上無理だ。
次の波が来ればevent/delegateも再評価されるかもしれん。
400デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 17:12:21.10ID:MhKfyDgC0401デフォルトの名無しさん (ワッチョイ 139d-yf7r)
2018/06/09(土) 17:15:16.30ID:bMpGWGQ30 理解してなくても問題なく使えるからって、それを理解しようとするのは悪い事じゃないけど
もとの発端はなんだったんだこれ
もとの発端はなんだったんだこれ
402デフォルトの名無しさん (アウアウウー Sad5-rZS7)
2018/06/09(土) 17:28:51.92ID:AO7Grx3Qa デリケートじゃないか?w
403デフォルトの名無しさん (ワッチョイ 8917-LHz9)
2018/06/09(土) 17:32:16.71ID:1jan2CXL0404デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 17:43:13.42ID:VOfp/P7BM 誰かさんの大好きなLinqはdelegateの塊なんだけどdelegateなくなっていいのかな
他の実装ではdelegate使ってないけど今の.netではデリゲートで実装されている
他の実装ではdelegate使ってないけど今の.netではデリゲートで実装されている
405デフォルトの名無しさん (ブーイモ MMeb-OWkY)
2018/06/09(土) 18:48:11.73ID:0oARoVrcM デリゲートにラムダ式にLinq大好きだ!
これ無くして生きてけない!
チームの誰も読めないから放置されて我が道を歩んでいる。
生産性と品質が高いから客には好評です。
これ無くして生きてけない!
チームの誰も読めないから放置されて我が道を歩んでいる。
生産性と品質が高いから客には好評です。
406デフォルトの名無しさん (ワッチョイ e1cc-G+KY)
2018/06/09(土) 20:25:40.95ID:7jH+OfQ/0 >>405
チームの誰もが読めないという事は保守性に欠けると言う事ですね
チームの誰もが読めないという事は保守性に欠けると言う事ですね
407デフォルトの名無しさん (ブーイモ MMeb-OWkY)
2018/06/09(土) 20:33:41.95ID:0oARoVrcM そうだね。
でも、Linqバリバリ使ったらそうなるよね。
みんなの勉強しろよってこと。
でも、Linqバリバリ使ったらそうなるよね。
みんなの勉強しろよってこと。
408デフォルトの名無しさん (ワッチョイ 2923-29AL)
2018/06/09(土) 20:39:16.25ID:h8CnrujR0 Linqが分からないってのはラムダ式を理解できないってことなの?
409デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 20:43:00.38ID:54mp5fzVM 行列計算ライブラリ書いてるときに
おれ掛け算わからんからおれに合わせて全部足し算で実装して
おれはいまお前の案件に関わってないけど将来そのライブラリメンテするかもしれんからヨロシクな
とか言う同僚がいたらこいち頭おかしいのかなって思うじゃん
いやいや掛け算を勉強してからっていうか最低限の単位を取ってからメンテしろよってなるじゃん普通
これがLinqやλやデザインパターンになると当たり前のように底辺至上主義がまかり通る不思議な業界
おれ掛け算わからんからおれに合わせて全部足し算で実装して
おれはいまお前の案件に関わってないけど将来そのライブラリメンテするかもしれんからヨロシクな
とか言う同僚がいたらこいち頭おかしいのかなって思うじゃん
いやいや掛け算を勉強してからっていうか最低限の単位を取ってからメンテしろよってなるじゃん普通
これがLinqやλやデザインパターンになると当たり前のように底辺至上主義がまかり通る不思議な業界
410デフォルトの名無しさん (ワッチョイ e181-fzvG)
2018/06/09(土) 20:47:26.87ID:kvLDmgw/0 LINQはC#にしかないからまだわかるけどラムダ式はいまどきの言語ならほぼ実装してるから知ってないとまずいよね
411デフォルトの名無しさん (ワッチョイ d19f-5xV6)
2018/06/09(土) 20:50:03.81ID:2splWvty0 linqてC#にしかないのか
412デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 20:52:58.46ID:54mp5fzVM Linqにも類似品あるよ
Javaのstreamやpythonのリスト内包表記など
というかそもそも単なるiterator patternでしかないからC#が起源ってわけでもない
Javaのstreamやpythonのリスト内包表記など
というかそもそも単なるiterator patternでしかないからC#が起源ってわけでもない
413デフォルトの名無しさん (ワッチョイ ebc9-LHz9)
2018/06/09(土) 21:00:28.55ID:4y2IVpvw0 Linq以前にIEnumerableの意味が解らない人がいるからどうしようもない
.NET2.0から順に教えろってことかよ・・・
.NET2.0から順に教えろってことかよ・・・
414デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 21:03:28.98ID:MhKfyDgC0415デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 21:07:24.39ID:54mp5fzVM >>414
クエリ形式の文法はSQLが起源かもしれんが
実装はSQLとは全く関係がないよ
C#などの実装はまさしくiterator patternだけど
SQLの実装をiterator patternでやろうとしたら遅すぎる
クエリ形式の文法はSQLが起源かもしれんが
実装はSQLとは全く関係がないよ
C#などの実装はまさしくiterator patternだけど
SQLの実装をiterator patternでやろうとしたら遅すぎる
416デフォルトの名無しさん (アウアウウー Sad5-rZS7)
2018/06/09(土) 21:07:34.76ID:4W3gH+0Ua そもそも書けない奴は論外として、使うなってのは同意できる
簡潔に判りやすいラムダ書いてくれりゃいいが、わざとやってんじゃねってぐらい難読化する奴いるからな
正規表現、SQ、掲示板の長文も同じだな
簡潔に判りやすいラムダ書いてくれりゃいいが、わざとやってんじゃねってぐらい難読化する奴いるからな
正規表現、SQ、掲示板の長文も同じだな
417デフォルトの名無しさん (ブーイモ MMeb-OWkY)
2018/06/09(土) 21:12:52.02ID:0oARoVrcM Linqに限らず最近のソフトウェア技術は高度で生産性も高くなってる。
昔も人によって生産性に差が出たが、最近だと理解出来るか出来ないか?ぐらいの圧倒的な格差だ。
理由出来ない人は辞めればいい。
生産性が飛躍的に上がってるので理解出来る奴だけで間に合うよ。
昔も人によって生産性に差が出たが、最近だと理解出来るか出来ないか?ぐらいの圧倒的な格差だ。
理由出来ない人は辞めればいい。
生産性が飛躍的に上がってるので理解出来る奴だけで間に合うよ。
418デフォルトの名無しさん (アウアウカー Sa2d-SmnY)
2018/06/09(土) 21:17:22.22ID:ekScYlKMa 自称プログラマー(趣味)ならともかく職業プログラマーでLinqすら理解出来ないやついんの?
419デフォルトの名無しさん (ワッチョイ e1cc-G+KY)
2018/06/09(土) 21:23:52.36ID:7jH+OfQ/0 Linqを十分に理解できても、可読性や保守性を大事にする人は
多少冗長でも他人が理解しやすい易しいコードを書くんじゃないの?
多少冗長でも他人が理解しやすい易しいコードを書くんじゃないの?
420デフォルトの名無しさん (ワッチョイ d19f-5xV6)
2018/06/09(土) 21:25:54.76ID:2splWvty0 Linqてそんな可読性悪くないと思うけどなぁ
コメント書いときゃ何となくわかるべ
コメント書いときゃ何となくわかるべ
421デフォルトの名無しさん (ワッチョイ 0b9f-SAfv)
2018/06/09(土) 21:26:49.03ID:v7FNkyrH0422デフォルトの名無しさん (ブーイモ MMeb-OWkY)
2018/06/09(土) 21:30:02.70ID:0oARoVrcM423デフォルトの名無しさん (ラクッペ MM7d-XZeD)
2018/06/09(土) 21:32:37.20ID:VrCE6n6GM ゴミのようなやりとり
いや、ゴミに失礼だな
いや、ゴミに失礼だな
424デフォルトの名無しさん (ブーイモ MMeb-OWkY)
2018/06/09(土) 21:33:12.66ID:0oARoVrcM LinqよりSQLの方が難しいぞ。
SQLは難しいから使うなって言うのか?
SQLは難しいから使うなって言うのか?
425デフォルトの名無しさん (スップ Sd33-YtUU)
2018/06/09(土) 21:35:27.62ID:ZDY9COOVd 業務でいじるレベルのコードなんて知らないものでもグーグル先生いりゃ大抵なんとかならない?
linqも初めて見たときはとっつきにくくてわかりづらかったけど使ってりゃ嫌でも覚えちゃうよ
つっても当然すべてを使いこなしてるわけじゃなくて自分に必要な範囲のみ理解してる程度
業界によってだいぶ差はありそうだけど
linqも初めて見たときはとっつきにくくてわかりづらかったけど使ってりゃ嫌でも覚えちゃうよ
つっても当然すべてを使いこなしてるわけじゃなくて自分に必要な範囲のみ理解してる程度
業界によってだいぶ差はありそうだけど
426デフォルトの名無しさん (ワッチョイ e1cc-G+KY)
2018/06/09(土) 21:35:56.65ID:7jH+OfQ/0 生産性は保守運用まで含めてトータルで考えるべきで
保守性が損なわれればトータルコストも引き上がる
保守性が損なわれればトータルコストも引き上がる
427デフォルトの名無しさん (ブーイモ MMeb-OWkY)
2018/06/09(土) 21:36:22.73ID:0oARoVrcM428デフォルトの名無しさん (ワッチョイ d1d2-m221)
2018/06/09(土) 21:51:21.02ID:lCnNI9uz0 保守性の低い Linq のコードってたとえばどんなの?
自分は他人のを読む場合でも特に困ったことないけどな〜。
自分は他人のを読む場合でも特に困ったことないけどな〜。
429デフォルトの名無しさん (ワッチョイ d19f-NuDx)
2018/06/09(土) 22:13:44.82ID:MhKfyDgC0 >>415
イテレータの起源なら、C++(1983)は最初から持ってた。
C++のOOPはSimula発で、そっちが持ってたかは知らん。
いずれにしても、Java発の技術は存在しないぞ。
C#はLinqと、多分asyncもか?頑張ってる方だと思うが。
(あとちょっと違うがIDEのインテリセンスもC#が初のはず)
イテレータの起源なら、C++(1983)は最初から持ってた。
C++のOOPはSimula発で、そっちが持ってたかは知らん。
いずれにしても、Java発の技術は存在しないぞ。
C#はLinqと、多分asyncもか?頑張ってる方だと思うが。
(あとちょっと違うがIDEのインテリセンスもC#が初のはず)
430デフォルトの名無しさん (ワッチョイ eb81-XZeD)
2018/06/09(土) 22:18:01.39ID:a58WBe6r0 クソカスの分際で人間様に話しかけてくるな
クソカスが引っ付くわ
クソカスが引っ付くわ
431デフォルトの名無しさん (ワッチョイ 13b3-Chll)
2018/06/09(土) 22:36:24.46ID:d5fCz/GJ0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
