- 1 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:46:53.58 ID:op86qfG/.net]
- ■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part91 echo.2ch.net/test/read.cgi/tech/1467211515/ ■次スレは>>970が建てる事。 建てられない場合は他を指定する事。
- 82 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 14:07:01.72 ID:uqTw3F8T.net]
- >>75
作れば
- 83 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 14:25:52.73 ID:XkQA6zD3.net]
- >>75
そのサンプルだと両端にダブルクオーテーション付けて最後にセミコロン付けるだけでよくね? わざわざ文字列を分割する必要性無いと思うんだけども
- 84 名前:デフォルトの名無しさん [2017/02/18(土) 18:29:25.18 ID:367vvwff.net]
- フォームを色分けしたいんですが、どうしたらいいでしょうか。
例えば半分から上は黒で下は白のようなものです。 現状panelを使ってそのように見せているんですが、いい方法あったら教えてください
- 85 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 19:51:04.90 ID:d0hejx53.net]
- panelを2つ貼ってbackgroundcolourを設定しろよ
- 86 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 19:58:44.57 ID:M4R1Zp6s.net]
- それやってるって書いてあんじゃん。読めよw
無理やりオーナードローかform捨てるしかないだろな
- 87 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:00:20.55 ID:n/aPn98B.net]
- >>82
なんの目的があるかわからん。 色が分かれていても、別のものを表示している訳ではないの?
- 88 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:24:06.51 ID:jkd676sQ.net]
- パネルじゃなくて、ラベルとか影響の少ないコントロールを Z オーダーの一番下に張るのとか出来なかったっけ。
- 89 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:44:32.17 ID:n5oO6gvO.net]
- 上にコントロール重ねること考えたらパネルが一番楽で無難なんじゃね
フォーム(パネル)の背景設定でもいいけど >>86 パネル以外だと上にコントロール重ねたら下が見えなくならないかな
- 90 名前:75 mailto:sage [2017/02/18(土) 22:28:19.09 ID:cWaaGg3V.net]
- sqliteで作るときに、テーブルをツールで定義してからそのsqlをC#のソースに変換するのが面倒だっから
ツールが有ったら使いたいなと思い聞いてみました 他のDBだと、ソースにテーブル定義を書くなんて無いからちょっと混乱させちまいましたね 面倒でも手でやるのが一番早そうだ
- 91 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 22:56:35.91 ID:XkQA6zD3.net]
- EntityFramework でググれば幸せになれるよ
- 92 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 23:07:16.07 ID:rCytLmz9.net]
- >>88
だからファイル詠み込めよ なんで動的sqlでもないのにコードに書くんだよ
- 93 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 00:04:30.14 ID:TkpsmKBX.net]
- >>82
サイズ変えないならFormのBackgroundImageに 色分けしたBitmap貼るとかいいんでないの? 好きな背景にもできるぞ
- 94 名前:デフォルトの名無しさん [2017/02/19(日) 00:14:46.31 ID:PjLfAeqZ.net]
- >82です。みなさんありがとうございます。
説明補足すると、メッセージボックスを自作していて、メッセージボックスのような背景を作りたかったんです。
- 95 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 07:54:46.40 ID:ngALvOwB.net]
- >>88
> 他のDBだと、ソースにテーブル定義を書くなんて無いから SQL-SERVER 使ってるけど一時テーブル作ったりで普通にあるけど?
- 96 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 08:47:37.68 ID:iOIH+Q4P.net]
- >>92
似たようなことはDock=Top, AutoSize=FalseとしたLabelでよくやる。
- 97 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:11:31.31 ID:93wksAh/.net]
- >>89
sqliteでEF使うと致命的に遅いから無理ですわ >>90 何故に喧嘩腰? >>93 俺はあまり一時テーブルに頼らずにviewでなんとかするのが好きだから、そこまで思い当たりませんでしたわ たしかに一時テーブルが正義の場合だって少なくないだろうが
- 98 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:23:29.24 ID:TZ/mXSM2.net]
- 一時テーブルは保守性が下がりパフォーマンスもスケーラビリティも多くの場合悪くなるのでやめてください
- 99 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:32:03.79 ID:kiv7S6GK.net]
- >>96
そう言って糞長いストアド作りまくった挙句に保守できなくなった案件があったと、DBコンサルが笑い話のネタにしてたな 一時テーブル=害悪はどこの文化なんだろ
- 100 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:41:13.77 ID:98lVckOm.net]
- 一時テーブルは使うけど実行時にcreateするってのは経験ないなぁ
- 101 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 10:41:38.21 ID:7Avz8j0c.net]
- そういうのは結局は開発者の能力の問題
一時テーブルかストアドかはそれほど重要ではない
- 102 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 11:34:46.47 ID:gpMreema.net]
- >>95, >>97
一時テーブルとビューとかストアドとは使いどころが違うと思うんだが何故に比較してるんだろ? >>98 セッション内でのみ有効な一時テーブルとか使ったことないの?
- 103 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 11:42:57.76 ID:98lVckOm.net]
- >>100
あったあった。そう言われると1度だけ。 あのときは言われたとおりやっただけだから忘れてた。
- 104 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 11:52:35.81 ID:TZ/mXSM2.net]
- >>97
一時テーブルなんてなくてもクソ長くならないし そもそもストアドなんて保守性の低いものをむやみに使う必要もない リレーショナルデータベースとは何か勉強しなおしてこい
- 105 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:29:51.72 ID:LQaPeC4X.net]
- 普通はefを使うもんなの?
- 106 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:40:55.60 ID:zEbYND7D.net]
- テーブルがシーケンシャルファイルにしか見えないCOBOL世代の人なんかは一時テーブルとかストアド好きだよね
結局は自分の慣れ親しんだ領域に持って行ってやるのがその人にとってはベストなんだよ どうせ保守するのは自分じゃないし自社ですらないことも多いからその場でその人員でできるベストを採用しなきゃビジネスとして悪手 流行りや有名コンサルに乗せられて意識たかそうなコードをメンバーのスキルもないのに書こうとする これが最悪の選択肢 列挙型とswitchで分岐しまくるほうがメンバーにとって理解しやすいならそれがいい そういう現場では多態性を利用したコードは生産性が落ちる 一時テーブルとストアドも同じでメンバーが理解しやすいというなら保守を受注する会社あるいは保守担当の同僚に心の中で懺悔しつつ採用すべきだ
- 107 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:43:22.84 ID:OMGCNA7z.net]
- スレチ
- 108 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:55:43.81 ID:LQaPeC4X.net]
- >>104
>テーブルがシーケンシャルファイルにしか見えないCOBOL世代の人なんかは一時テーブルとかストアド好きだよね 新しい世代の人にはどう見えるの? dbの操作はどういう手法が普通なの?
- 109 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 12:58:51.41 ID:7Avz8j0c.net]
- >>106
大抵の処理は積極的にJOINを使えば1パスで済ませることもできる
- 110 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 13:05:26.33 ID:NYetswUU.net]
- あとは、DBを永続化されたオブジェクトの単なるストレージと見做して
ORMを活用してほとんどC#の中でやってしまうスタイルもある
- 111 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 13:10:17.55 ID:93wksAh/.net]
- 速度が問題にならない場面でも速度ばかり気になるのは何故なんだろうな?
だから10倍遅くなるEFはあまり好きじゃない エントリーみたいなものならEF使ったほうが良いとは思うんだけどね
- 112 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 13:13:51.67 ID:LQaPeC4X.net]
- >>108
そのormというのは75みたいなsql文を実行するんですか?
- 113 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 14:09:14.55 ID:zEbYND7D.net]
- >>106
別に新しくもなんともないけど普通は行あるいは命題の集合に見える 操作は当然DMLで行う(データ操作言語だからね)
- 114 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 14:24:55.62 ID:7Avz8j0c.net]
- 近年ではビッグデータ界隈で古典的なバッチ処理が最新技術として復活したけどね
処理を行単位ではなくテーブルからテーブルへの射影と考える粗粒度なバッチ処理は 分散処理や糞遅いスクリプト言語との相性がいい
- 115 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 15:04:35.19 ID:rTEdd30o.net]
- 最近EntityFrameworkじゃなくてDapperばっか使ってるわ
- 116 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 15:09:45.51 ID:MFFmnvDE.net]
- 真っ当な判断能力があるなら必然的にそうなる
- 117 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 15:11:31.44 ID:OMGCNA7z.net]
- DbExecutor使ってるけど全然更新されなくて悲しい
- 118 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 16:48:08.70 ID:LQaPeC4X.net]
- >>113
Dapperと言うのを調べてみたのですが生のSQLを実行するのと 何が違うのか良く分かりません。Dapperと言うのを使う場合でも SQL文を実行するんですよね? 何が違うんですか?
- 119 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 16:55:48.71 ID:JyXmk48j.net]
- >>116
Dapperは主にクエリ結果をオブジェクトにマッピングするためのライブラリ Dapperを使わない場合でもDataTableやDataReaderをそのまま使わずに型安全なオブジェクトに変換してから処理をするだろう? それを楽に書きたい人のためのものだよ
- 120 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 17:11:25.76 ID:LQaPeC4X.net]
- >Dapperを使わない場合でもDataTableやDataReaderをそのまま使わずに型安全なオブジェクトに変換してから処理をするだろう?
Dapperを使わない場合ですが、DataTableに読み取ったあと、カラムの型は自分では分かっているので順番にデータを取り出して、 その型にキャストして読み出すのはダメですか? それとも私何か勘違いしていますか?
- 121 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 18:11:13.51 ID:7Avz8j0c.net]
- >>118
それを自動でやってくれるのがDapper
- 122 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 20:35:23.16 ID:LQaPeC4X.net]
- >>119
なるほど。ありがとうございました。
- 123 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 20:41:40.94 ID:+HIMLleH.net]
- Dapper気軽そうでいいね。
- 124 名前:デフォルトの名無しさん [2017/02/19(日) 21:16:27.26 ID:PjLfAeqZ.net]
- >94
なるほど、ありがとうございます
- 125 名前:デフォルトの名無しさん [2017/02/19(日) 22:55:47.64 ID:L+LZlPn0.net]
- 35:54
↓ 10:40 https://www.youtube.com/watch?v=WTdY7h129Mk https://www.youtube.com/watch?v=8R0luOy8ce8
- 126 名前:デフォルトの名無しさん [2017/02/22(水) 23:33:37.07 ID:yhciyQan.net]
- 質問させてください。
なにかの処理中にフォームなどを起動させておく、以下の処理について。 while(xxx.HasExited == false) //xxxはインスタンス { Applcation.DoEvents(); System.Threading.Thread.Sleep(200) } この処理はwhile文で回していますが、DoEventsとSleepは、なにか処理が行われるたびに呼び出されると思ってよいのでしょうか。 起動中に なにか処理する→0.2秒とまる→なにか処理する→0.2秒とまる→… みたいな。 またこのSleepは、現在起動中の処理を一時的に止めると思ってよいでしょうか。 ご教授お願いします。
- 127 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 23:52:38.18 ID:d6y2GeKl.net]
- >>124
何を見たのか誰に教えてもらったのか知らないが、まずはそんなクソコードは忘れよう DoEventsはVB時代の遺物であり、使用は推奨されない 今時は時間のかかる処理をGUIをフリーズさせることなく実行したい時は await Task.Run(() => { 何かの処理 }); と書く
- 128 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 23:56:30.83 ID:huuz+PNn.net]
- その処理だと、全力でDoEventsと0.2秒休むを繰り返すだけだよ
つか、今どきDoEventsとか存在を忘れたほうがいいんじゃないかねえ
- 129 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 23:57:19.06 ID:954rYVtd.net]
- >>124
そのセットは別スレッドの入力待ちのテンプレ ・・・Application.DoEvents()って必要だったっけ?w それはあいまいだけど、キー入力待ちか外部exeからの返り値待ちで使われている
- 130 名前:デフォルトの名無しさん [2017/02/23(木) 01:32:48.34 ID:zQR1bKXh.net]
- >124です。みなさんありがとうございます。
最近は推奨されないんですね。 理解としては>127さんのとおり、イベント発生したらDoEventsが実行されると思ってよいのでしょうか。
- 131 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 01:40:04.09 ID:l1pCIGHb.net]
- 逆
DoEventsが実行された時に貯まってるイベントを処理する
- 132 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 14:52:23.00 ID:daVfofu2.net]
- C#をCGIぽく使うベストプラクティスとかないだろうか。
普段はcentOS+nginxでJavascriptとRuby/PHP、一部バッチにC#って感じでWebサービス開発してる。 リクエスト毎にサーバ側でC#アプリケーションを引数添えて実行して、戻り値を取得するのは出来るんだけど・・ 。 とても実用には耐えなさそうだし、Webホストとか使うのかと思ったがわからず困ってる。
- 133 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 15:24:59.57 ID:0G6iEay4.net]
- なぜ実用に耐えなさそうだと思うの?
そう思うからには理由あるんでしょ。そこ解決すればいい
- 134 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 19:34:00.47 ID:osMc+8cA.net]
- 毎回プロセスつくんの?
- 135 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 20:12:55.31 ID:OJm2Ca4N.net]
- じゃあC#でWebサービス作ればいいじゃないか
- 136 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 20:13:27.60 ID:u2e4Httf.net]
- そんなごちゃ混ぜで
- 137 名前:ソゃんと保守できるの? []
- [ここ壊れてます]
- 138 名前:デフォルトの名無しさん [2017/02/24(金) 01:33:54.44 ID:eab+BK9O.net]
- >>130
ASP.NET Web API
- 139 名前:130 mailto:sage [2017/02/24(金) 11:37:39.67 ID:dB0UjfyS.net]
- みなさん、回答ありがとう。
毎回プロセス作るのはオーバーヘッドでかいから、常駐型になるのかな? その時のやり取りの仕方をSendMessageだったり、ファイル常時監視してキューファイル投げるとかしか知らないんだ。 WebサービスとかASP.NETで調べてたら、やっぱりC#としての回答はこれなのかなって気がしてきたわ。 個人的な宗教上の理由で避けたかったけど、検討してみる。。ありがとう。
- 140 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 12:36:59.04 ID:YZGHPd2K.net]
- >>136
> 毎回プロセス作るのはオーバーヘッドでかいから それが問題になるようなサイトなのか?
- 141 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 15:11:03.84 ID:nwaeFCKh.net]
- ASP.NET MVCって案外重たいよ
- 142 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 15:50:26.31 ID:pDljuoBB.net]
- そらそうやろ
- 143 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 16:13:46.51 ID:0wjaf/O/.net]
- C#でWindowsフォームアプリケーションを作るための良い解説書はあるでしょうか?
独習C#はもう読み終えたので基本的なことはわかっていると思います。
- 144 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 16:41:06.62 ID:nwaeFCKh.net]
- ゲームしたいです。ゲーム機とゲームソフト買いました。どっちのマニュアルも読みました
早く遊びたいです。次はどんな攻略本読んだらいいでしょう? ゲームじゃこういうのないのに、プログラミングじゃ多いよな 基本わかったなら何故始めないw
- 145 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 16:48:06.10 ID:0wjaf/O/.net]
- >>141
独習C#ではWindowsフォームの説明がいっさいなかったので、コンソールアプリしか作れないのです。 フォームに特化した解説書かサイトがあればと思い質問しました。
- 146 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 17:08:33.80 ID:pp6ofCfh.net]
- 本なんか一冊も読んでないけどWinFormアプリいくつも作っている
就活で役立てたいのならマ板に行って聞いたら? 趣味でやっているのなら向いていない
- 147 名前:デフォルトの名無しさん [2017/02/24(金) 17:45:41.09 ID:LZq2xNz5.net]
- Formアプリもコンソールアプリもコードベースで作るなら同じって慣れれば分かるけど、最初は分からないよねー
javaのswingで同じこと経験した
- 148 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 17:57:21.18 ID:m8N/tmCl.net]
- 本読むやつはプログラミング向いてない
- 149 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:16:02.45 ID:2lTW2QAE.net]
- amazonでC#マガジンの海を渡ればWinFormの本が見つかる
- 150 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:26:49.22 ID:2HxY6Dp6.net]
- まだWinFormの時代なんだなw
- 151 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:27:42.45 ID:0tWWIcvC.net]
- >>145
悪かったな、読んでるよ。
- 152 名前:デフォルトの名無しさん [2017/02/24(金) 18:44:16.34 ID:ZTtaAqVi.net]
- きちんと勉強したいなら本代はケチんなってばっちゃが言ってた
- 153 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:44:46.20 ID:WmxnDnjh.net]
- WPFの本出しても売れないのは明らかだしな
- 154 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:47:19.91 ID:JpyYS2dN.net]
- コンソールアプリは明確にmainというエントリポイントがあるが、
GUIはイベントベースから最初の最初は戸惑うだろ。 (どこにコードを書くのかわからない) ただ、1回やれば分かるが。 で、そのレベルならMDSNのチュートリアルで十分だと思うよ。 https://msdn.microsoft.com/ja-jp/library/dd492171.aspx これで駄目なようなら向いてないってのは事実だよ。 本買って本格的に学ぶ内容ではない。 (これはWPFだけどどうせ違いも分かってないでしょ。 古いバージョンのを探せばフォームのチュートリアルもあるはずだし)
- 155 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:49:16.49 ID:CB55ejbI.net]
- ダブルクリックしてれば何とかなる
- 156 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 20:32:10.23 ID:DIkdt+H/.net]
- 肥大化するForm
- 157 名前:1.cs []
- [ここ壊れてます]
- 158 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 20:55:52.19 ID:2lTW2QAE.net]
- ソリューションエクスプローラでファイルを入れ子にする
ttp://wiz.came.ac/blog/2009/09/post-2.html
- 159 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 21:52:47.57 ID:KBFO5tFR.net]
- form動かすのは簡単だけどformのコードを破綻させずに書くのは難しい
少なくとも日本の大半の職業プログラマには無理 悲しいね
- 160 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 22:19:08.66 ID:ezpXAtZb.net]
- 動きゃいい
- 161 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 23:22:45.93 ID:WdGON0E4.net]
- 最近はウェブでなんとかなるんだが、きちんと本で勉強するべきだと思う。
C++長かったからC#楽勝と思ったけどラムダ式が読めない。 今更独習C#はと思ったが読んでよかった。
- 162 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 23:40:01.37 ID:nwaeFCKh.net]
- ラムダ式使えなくって作りたいものは作れるからな
言語を学びたいのか、プログラミングしたいのか、だな
- 163 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:07:49.88 ID:Hh3bBfOP.net]
- ラムダ?
登場してから60年以上たってもLISPが普及してないのが答え。いらん。
- 164 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:27:59.19 ID:N0RLU+6x.net]
- 俺が使っているのはJavaScriptなんだが、ラムダは超絶便利だぞ。
ただし使わなくても書けるし、いちいちクラスにしてしまう手もあるし、どうにでもなるのも事実だが。 本で学ぶことが必要なのではなくて、いろいろな道具があることを知るのが重要。 今時の言語は全てラムダ使えるんだから、他言語少しでも学んでいればラムダは使えたはず。 その点、C++は古い言語だったのも事実。 ただどう見ても142はそれ以前だろ。 そもそもWPF(というよりHTML)やったほうがいいんじゃないかと思うし。
- 165 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:54:21.20 ID:N9ovtMND.net]
- ストラテジー用のインターフェース定義とかいちいちめんどくさい
Func、Action、ラムダでスパッと実装したい
- 166 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:58:33.11 ID:Jm21gNIW.net]
- スパッと書く書式、
スパっと書くアルゴリズム、 スパッと書くクラス設計・・・ いつまで経ってもプログラミング始めれず勉強の毎日だぞ
- 167 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:18:47.75 ID:N0RLU+6x.net]
- めんどくさい人にはマジでJavaScriptオススメ。
あのデタラメッぷりには最初戸惑ったが、慣れてしまうと相当いい。 ラムダに慣れたいだけなら、スクリプト言語系(JavaScript/Python/Ruby)がマジでいいと思う。 C#のデリゲートって使う前にいろいろ準備が要って面倒だし、 あるのを知ってても使う気にならないでしょ。 俺もVC++しか使ってないころは全く興味なかった。 でもJavaScriptでお気楽にラムダ使いまくった後は、VC++でも使いたくなる。 だってそのほうが楽だと知ってしまったから。 ただ、いちいち型を合わせないといけないのが面倒だったりする。
- 168 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:26:56.21 ID:N9ovtMND.net]
- インテリセンス弱いスクリプト系言語は怠け者には向かない
- 169 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:40:08.63 ID:N0RLU+6x.net]
- まあIDEに関してはC#が一番上なのだろうね。それは思うよ。
- 170 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:45:57.08 ID:Hh3bBfOP.net]
- winform使うにしもてwin32の知識は必要。結局win32ラップだし。
- 171 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:46:38.10 ID:FbflVc2K.net]
- ラムダはインテリセンスあってこそやね。
- 172 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 02:39:26.60 ID:ByE41wZl.net]
- これからC#でGUIするんならWPFにしたらいいんじゃない。フォームは古いし。
但し、WPFの本はない、あるけど使えないと云うか価格に見合ってない。いい本あったら教えてもらいたい。
- 173 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 07:34:49.62 ID:JxD18xMy.net]
- WPFやってみたけどやっぱりformのほうがお気楽だから戻ってきてしまった
- 174 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 07:54:43.41 ID:fA+zhTaO.net]
- javascriptのラムダって例えばどんなヤツよ?
- 175 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 08:03:07.91 ID:vx9FCuam.net]
- >>1
- 176 名前:70
今のJavaScriptは (x, y) => x + y のようなC#と全く同じ構文の(というかC#をそのまま真似したんだろうけど)ラムダが使えるよ もちろん従来の function(x, y) { return x + y; } でもいいし []- [ここ壊れてます]
- 177 名前:デフォルトの名無しさん [2017/02/25(土) 10:39:52.17 ID:TcOntMIt.net]
- JSだとインテリセンスが弱い?TypeScript使おうぜ
- 178 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:04:24.91 ID:N0RLU+6x.net]
- JavaScriptのラムダがC#を真似したと言うのは自意識過剰すぎ。(短縮記法の()=>は真似してる)
インテリセンスはMS発なんだしはっきり言えば全員C#を真似しているからVS環境のTSではよくて同等まで。 JavaScriptは文法的な意味で関数とラムダを区別してない。 だからさらっと書いてそれだけ。 var count = 0; var count_up = function(){count++;}; var show_count = function(){console.log(count);}; count_up(); count_up(); show_count(); // 2 見りゃ分かるが具しか書いてない。だから論理的にこれ以上お手軽なのはない。 (短縮記法は出来るがあれはタイプ数がケチれるだけ) ついでに階層もクラスも関数で記述するというデタラメッぷり。 だからそもそも「ラムダなんて使いません(キリッ」みたいなことが出来ない。 (階層がラムダ) 知らなければ意味不明だと思うが、とにかくそういう世界だ。 その状況で慣れると、心理的な障壁が取り除かれる。 ラムダ嫌いって要するにこれだろうし。
- 179 名前:デフォルトの名無しさん [2017/02/25(土) 12:12:40.17 ID:TcOntMIt.net]
- ES6ならclass構文(内部では関数に変換されるけど)あるからかなり楽になったぞ
- 180 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:24:18.16 ID:S4wbN3RD.net]
- ラムダは真似というか普通に輸入だろ
ES6の策定にはMSも主導的な立場のメンバーとして当然参加してるし
- 181 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:26:33.18 ID:IfKbzrsT.net]
- >>173はjavascriptやったことない奴でも初見で何してるか分かる
でもこんなの書かれたら初見で見破るの無理でしょ var res = ((Func<int, int, bool>)((i, j) => i == j))(5, 3); ラムダ嫌いはラムダが嫌いなんじゃなくて、読みにくいラムダが嫌いなんでしょ 「ラムダなんて使いません(キリッ」じゃなくて「読みにくいラムダなんて使いません(キリッ」なんだよ
- 182 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:31:25.09 ID:N0RLU+6x.net]
- >>174
あんなもん所詮慣れ。俺は従来のJavaScriptの構文でも苦労してない。 そしてラムダも所詮慣れ。慣れればどうって事は無い。(難しくは無い) ただし使わなくても実装できるのは事実で、わざわざ慣れる必要があるかは微妙。
|

|