1 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 20:50:08.06 ID:IGV3Viy6.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1436344868/ ■関連スレ C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1443271409/ ■コードを貼る場合は↓を使いましょう。 ideone.com/
433 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 07:26:27.95 ID:mUvrP2A4.net] そんなもん適当に沢山の式のパターン用意してからswitch(ファイルの値)で分岐したらいいだろ もしくは 結果 = 係数1 * ポイント * ポイント + 係数2 * ポイント みたいな行列の計算式として一般化して係数行列だけファイルから読むとかな (スキルの値もポイント行列に含める) 沢山変える場所があるから自由にソース弄りたいというなら小細工するよりいっそLuaでも組み込んだほうがいい
434 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 07:44:32.17 ID:opwym8fe.net] >そんなもん適当に沢山の式のパターン用意してからswitch(ファイルの値)で分岐したらいいだろ 二度と見たくないコードになりそうw
435 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 08:10:06.51 ID:mUvrP2A4.net] 決まったら消すんだからどうでもいいでしょ 式ツリーって自分で言ってること分かってるんだろうか 自分でDSL作ってパースしてそれに従って式組み立てるんだぞ? んなクソ面倒な再発明するくらいならスクリプト組み込むわ
436 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 08:16:59.27 ID:opwym8fe.net] >>422 XMLで式書いて、式ツリーに変換してしまえば、数行の再帰ルーチン一個でできますが?
437 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 08:23:13.87 ID:opwym8fe.net] 式ツリーを提案したのは、dllでリンクの必要がある→かなりパフォーマンスにシビアな要求があると理解したからですので 速度いらないなら、式ツリーは無視でいいですよ
438 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 08:32:26.67 ID:mUvrP2A4.net] >>423 それをDSLという パラメータの値はどこから取ってくるの?それもXMLにいちいち書くの? 現実的にはいろいろ柔軟性を捨てて決め打ちすることになるだろうから、非常に限定的なDSLになると思うよ どうせ限定的な使い捨てコードなんだったらそんな大袈裟なことはしたくないね俺なら
439 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 08:35:17.46 ID:opwym8fe.net] >>425 何が言いたいのかよくわからんけど、知識なさすぎじゃねぇのw お前、ずっとここに居座っているキティ回答者なんだろうけど、死ねばいいと思います
440 名前:デフォルトの名無しさん [2015/10/30(金) 10:35:59.08 ID:v/tjtbaN.net] いまどきXMLはねーよ
441 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:08:18.70 ID:opwym8fe.net] XML嫌なら正規表現あるし式程度なら完全パースしても2000行には収まるだろうし まぁ、知識なければ無理でしょうけどね、バカはバカなりにして回答者にならずに引っ込んで下さいって感じです ゴミ回答でレスどんどん流れていくのは迷惑です スラドで暴れるMS工作員といい、昨今MS周辺にキチガイ多すぎだよ
442 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:28:28.02 ID:5k9fNgvi.net] 正規表現なんか使ってパースするぐらいならXMLで良いわw
443 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:34:54.86 ID:opwym8fe.net] やたら式ツリーに拘ってる流れですが、パフォーマンスはいならいみたいだから アプリケーション間通信お勧めです とだけ最後に これなら独立してコンパイルもできるし、部分再起動もデバッグも容易 式ツリーは、パフォーマンスはでるがデバッグがファッキンな事になるので
444 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:38:18.84 ID:opwym8fe.net] 通信というと大げさに思えるかもしれないけど、結構ライブラリはそろっているし なにより、WEBに情報量が多いので キーワードはWFC
445 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:40:32.84 ID:opwym8fe.net] ×WFC ○WCFでした
446 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:41:56.65 ID:mUvrP2A4.net] パフォーマンスいらないんならそれこそスクリプト組み込めばいいだろ .NETアプリに簡単に組み込めるのはいくらでもあるし、COMでJScript呼んでもいい WFC()なんかより遥かに簡単だよ
447 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:44:51.01 ID:opwym8fe.net] >>433 まぁ、式の話だけならそれでもいいとは思うけど、dllでかつパフォーマンス要らないというのだから 言語を共通化しておきたい理由があるのかなと思っただけです
448 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 11:47:11.41 ID:opwym8fe.net] 話を意図を全く考えないで、次々と回答する人の話聞かない回答者は迷惑 と、ずっと流れを見ていて思う所
449 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 13:00:36.70 ID:GDTU3KP4.net] 言ってることはまともだけど 平日の午前中だけで15回もレスしてる奴がまともとはとうてい思えない現実
450 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 14:05:02.67 ID:PGAJ1OT+.net] >>348 と同一人物だろ
451 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 14:20:18.47 ID:zaAGkshB.net] msdnにいる変人だろ
452 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 15:58:51.03 ID:5vqzX8bU.net] コード中にリテラルべた書きするのって辞めた方がいいですか?
453 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 16:00:13.93 ID:opwym8fe.net] そう思うのなら止めとけ、そんなの人に聞くような話ではないでw
454 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 16:13:31.41 ID:5vqzX8bU.net] 素人だし現場経験ゼロで友人もいないので ネット掲示板以外で聞ける場所がないんです
455 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 17:05:36.71 ID:GDTU3KP4.net] 図書館でプログラミング作法でも借りて来て読めよ
456 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 17:45:05.20 ID:5vqzX8bU.net] すみません、分かりました。 最後に、作法の本でお勧めのタイトル教えて下さい
457 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 17:58:32.30 ID:PGAJ1OT+.net] 同じ文字列とか定数値を複数の箇所で使うのならconstやそれ相当にしたほうがいいのは分かるでしょ? 定数としてまとまってると変更するとき楽だし 書捨てコードならそんなことはしないけど
458 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 18:09:03.11 ID:5vqzX8bU.net] それは分かります ただ、一度しか使わない判定文とかはローカル変数切るの面倒くさいなと思って 適当なリテラル書いちゃう事もあるんですが、どうなのかなと思って
459 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 18:18:01.14 ID:TILHDHb5.net] >>445 リテラルを避ける動機として変更の容易さはよく挙げられるけど実際はむしろ多いケースじゃない。 リテラルを避ける動機は、プロパティやメソッドにちゃんとした名前を付けるのと同じ。 それが何を意味しているのかのメタ情報を付け加えるため。 だからたとえ一回しか出てこない定数でも、それが何を意味しているのかをコード上で明示する必要が あると思えば、それがちゃんとした名前を与える動機になる。
460 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 18:36:25.26 ID:5vqzX8bU.net] >>446 なるほど、よく分かりました ありがとうございました。
461 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 19:51:46.37 ID:MYsCE15E.net] #define ZERO (0)
462 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 20:12:53.58 ID:qxv1tbgN.net] その場限りでしか使わないような定数で、なおかつ変更する必要もないようなものは、直接指定する。
463 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 20:13:36.95 ID:FKezdCzi.net] >>443 ソフトウェア作法 ついでにプログラム書法も読め
464 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 01:16:24.67 ID:rX+RYEJQ.net] 読みやすいコードを書く努力は、他人のみならず「未来の自分」という別人に向けた優しさだ
465 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 10:34:56.02 ID:bc83RtfA.net] 3日後の自分は他人
466 名前:デフォルトの名無しさん [2015/10/31(土) 13:16:21.42 ID:Yq2ZBfqO.net] リファクタリングって部屋掃除する程度の当然のことなのに、優しさどうとかレベル低すぎだろ。
467 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 13:46:46.22 ID:CR8bSv/n.net] 高レベラーはこんなところにいなくていいんですよ
468 名前:デフォルトの名無しさん [2015/10/31(土) 19:22:29.59 ID:qtS/NLO9.net] VS2010で.net4.0ClientProfileをターゲットプラットフォームとして作成したアプリケーションを、 VS2015で同様に開発を継続しても不具合とかないですよね?
469 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 21:27:12.40 ID:aiNNK1Xk.net] >>455 C#のバージョンが違うから出ないとも限らない
470 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 22:30:49.30 ID:nJia6E4E.net] VS2015はなんかIDE不安定なんで用心しといた方が良いかもしれない
471 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 23:44:21.04 ID:XeEgNn+4.net] 結構落ちるよな2015のIDE Roslynのお陰か起動やたら遅いし
472 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 00:43:39.73 ID:ak4S1goK.net] Windows8が出て、合わせて登場した2013あたりから マイクロソフト製品はどれも品質がひどく悪くなっている 今は、学生はともかく業務の人は別途マシンを用意して試験期間を経てからにしたほうが無難
473 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 00:46:56.25 ID:ak4S1goK.net] it.srad.jp/story/15/10/30/2016254/ こういうのマジで勘弁してほしいんだけどな
474 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 03:12:33.04 ID:dH8H+Y8O.net] 多次元配列にテーブルみたく、フィールド毎、違う型とか格納できますか?
475 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 03:21:18.28 ID:ak4S1goK.net] 何をしたいのかよくわかりませんが、フィールドにobject型かdynamic型を使えば目的は達成できるでしょう
476 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 08:56:11.81 ID:xZAu8pjv.net] ツールストリップ内のコンボボックスのサイズをフォームのサイズ変更時に自動調節しようとしているのですが サイズを拡大する時は正常ですが、縮小時に変化幅が小さいと正常に表示されるのですが 変化幅が大きいと表示されませんが何故でしょうか? private void Form1_SizeChanged(object sender, EventArgs e) { toolStripComboBox1.Width = (toolStrip1.Width - 300); } 以下も同じ private void toolStrip1_SizeChanged(object sender, EventArgs e) private void toolStrip1_Resize(object sender, EventArgs e) private void Form1_SizeChanged(object sender, EventArgs e) private void Form1_ResizeEnd(object sender, EventArgs e) private void Form1_Resize(object sender, EventArgs e)
477 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 11:39:20.34 ID:I6OT07I5.net] アプリケーションの実行フォルダをApplication.StartupPath プロパティで取得する事は判ったのですが dobonに載っていた下記のコードの何処に追加したらよいのか判りません よろしくお願いします //ファイルを上書きし、Shift JISで書き込む System.IO.StreamWriter sw = new System.IO.StreamWriter( @"C:\test\1.txt", false, System.Text.Encoding.GetEncoding("shift_jis")); //TextBox1.Textの内容を1行ずつ書き込む foreach (string line in TextBox1.Lines) { sw.Write(line + sw.NewLine); } //閉じる sw.Close();
478 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 12:06:14.89 ID:VEmEMCzM.net] >>464 1.txtを"C:\test\"じゃなくてアプリケーションの実行フォルダに出力したいってことなら 「@"C:\test\1.txt"」を「Path.Combine(Application.StartupPath,"1.txt")」に置き換えればいいんじゃね
479 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 12:06:43.65 ID:iCjS0aFW.net] メソッド内。
480 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 14:05:43.27 ID:EzyPWtsW.net] C#はクラス数約3000 付随のプロパティーやメソッドが どのような便利機能があるのかを知るだけでも大変 更に 詳細を調べ 実装するに至るまでがまた大変 Microsoft 地獄
481 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 14:11:08.59 ID:8yFkftFr.net] へー、すごいね 帰っていいよ
482 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 16:19:50.04 ID:aracFvq3.net] 非同期に来るネットワークストリーミングデータを ファイル出力(またはDBに出力)したいんだけど 一番良い実装方法ってないでしょうか 自分の頭だと 1.ストリームデータが到来するたびにFile.Open(Mode.Append)で書き込んでFileCloseする ぐらいしか思いつかないんです
483 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 16:46:54.21 ID:8wBAqxRo.net] >>469 > 一番良い実装方法ってないでしょうか お前の「一番良い」の定義によるわな
484 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:19:43.69 ID:gG04aPZk.net] 出力する関数だけ作っておいて、その先は差し替えられるようにしとけばいいんじゃないかな
485 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:25:41.75 ID:qxPDGDEe.net] unityC#の話なんですが ・Aをした後Bをして、Bの後にCをしてCの後にDをする ・A〜Dまではメソッド化してMethA〜MethDがある これを void Main() { MethA(); MethB(); MethC(); MethD(); } ではなく MethA(){ (の終端で)MethB();} MethB(){ (の終端で)MethC();} MethC(){ (の終端で)MethD();} とメソッド内で次々メソッドをコールしていくのってアンチパターンですか?
486 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:34:19.28 ID:OsaYEXf6.net] メソッドの使い方として… void Main() { ご飯を食べる(); 歯を磨く(); 着替える(); 家をでる(); } ではなく ご飯を食べる(){ (の終端で)歯を磨く();} 歯を磨く(){ (の終端で)着替える();} 着替える(){ (の終端で)家をでる();} } とメソッド内で次々メソッドをコールしていくのってアンチパターンですか?
487 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:34:31.06 ID:fyC3CDzJ.net] >>472 やめなさい。メソッドはgotoではない。 中で呼んでるメソッドの処理も含めてそのメソッドの処理だ。 コボラーはよくそういうコード書くよ。 PERFORM INPUT_CHECK.で全ての処理が終わるの。
488 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:35:49.13 ID:OsaYEXf6.net] 中級以上の人でもメソッドが何かわかってない人がけっこいる
489 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:36:57.57 ID:qxPDGDEe.net] >>474 ありがとうございます。 それってメソッド内で別メソッドをコールする事自体ダメって事ですか? それとも基本ダメだけどケースバイケースという意味ですか?
490 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:38:25.26 ID:OsaYEXf6.net] 歯を磨くがご飯を食べるというメソッドの中の行為だと思うか? さらに言うとご飯を食べたら必ず家を出ることになるけどそれでいいのか?
491 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:38:34.51 ID:qxPDGDEe.net] >>473 すみません・・・よく分かりません・・・
492 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:40:21.93 ID:OsaYEXf6.net] ゆ、ゆとってるな…
493 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:42:33.30 ID:VEmEMCzM.net] なんでコールしたいのかを説明した方がいいんじゃないの
494 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 17:42:55.19 ID:OsaYEXf6.net] メソッドは単に手順の塊だけにするべきじゃない 意味的にまとまった単位にすべき
495 名前:デフォルトの名無しさん [2015/11/01(日) 18:28:41.58 ID:tijcq3hU.net] 納期があるから無理。
496 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 18:43:27.56 ID:NUcI8Hig.net] >それってメソッド内で別メソッドをコールする事自体ダメって事ですか? NO メソッド内で別メソッドをコールしても良い >それとも基本ダメだけどケースバイケースという意味ですか? NO 基本的にOKだがケースバイケースでだめな場合がある >>472 などはだめな場合の典型だ このようなコードを書くと、テスト担当者や将来これをリファクタリングする者が、 ぶち切れて君を殴りに来るだろう
497 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 19:07:02.64 ID:qxPDGDEe.net] 理由とかそれ以外の事は分かりませんが、とにかくダメだという事だけは分かりました ありがとうございます
498 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 19:16:41.45 ID:SU1ih8K9.net] >>484 >>473 とかの説明は分かりやすいと思うけどね。 茶化すだけではなくて、本当に学びたいのなら、 >>480 の指摘通り、君のコードを晒してみるべきだよ。それは473のように日本語でもいい。 俺は多分 MethA,B,C,D の切り方に間違いがあるのだと思うが。
499 名前:デフォルトの名無しさん [2015/11/01(日) 19:28:16.61 ID:ps5s1FTp.net] 別にそうスケジュール決まってて、必ずそのフローになるならいいじゃん。 仕様変更がないならね
500 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 22:15:26.87 ID:nfigy2gy.net] すみません。質問なのですが、Visual StudioでWindowsフォームを作成したとき、 ○○.vb ○○.Designer.vb ○○.resx の3つが作成されますが、○○.resxはどういったときに使うのでしょうか?
501 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 22:29:30.44 ID:yv99Jyne.net] >>484 ひとつのメソッドで完結してなきゃダメだよ。 その後の動作に一貫性があるなら内包すべき
502 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 22:36:12.65 ID:qJZnh0GV.net] >>487 vbスレで聞けと言いたい所だが、テキストエディタで中身開いてみれば大体分かるよ
503 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 22:55:30.95 ID:nfigy2gy.net] ごめんなさい。resxファイルの中身を見てもよくわかりません。 ○resheaderってなに? ○xsdってなに? ○xsd要素内に長々と設定が書かれているけどこれはなに? 疑問が増えてしまったのですが…。
504 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:01:09.49 ID:nfigy2gy.net] ごめんなさい。疑問が湯水のように湧き上がるので、続いて質問いたします。 C#では大文字で始まるStringと小文字で始まるstringがありますが、 この2つに何か違いなどはあるのでしょうか?
505 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:01:58.94 ID:83j3eZbo.net] 無い
506 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:02:53.98 ID:nfigy2gy.net] >>492 ありがとうございます
507 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:07:00.98 ID:nfigy2gy.net] まだ疑問があります。すみません…。 object型に存在しないメソッドを記述してもIDEがエラーを検出してくれないのですが、 これは正しい挙動なのでしょうか? 他の型ではIDEがきちんとエラーを検出してくれます。
508 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:11:08.80 ID:83j3eZbo.net] 拡張メソッドがある時はエラーにならない それ以外はエラーになるはず
509 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:14:10.19 ID:nfigy2gy.net] 今Visual Studio Communityをダウンロード中なので、 拡張メソッドがない時にきちんとエラーが出るかどうかを試してみます。 回答ありがとうございます。
510 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:19:27.21 ID:qJZnh0GV.net] >>490 タグは別に理解しなくていい、した方がいいかもだけど ファームにコントロール追加してプロパティを設定してからresxの中身見てみろ >>494 vbの話じゃないだろうな…
511 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:19:40.79 ID:nfigy2gy.net] 今僕は、exeファイルやdllファイルがILで記述されているという認識を持っているのですが、 これであっているでしょうか? できればexeやdllのILを読んでみたいのですが、おすすめのツールなどはありますでしょうか? もう本当に、何度も質問してすみません…現実に質問できる人がいなくて…
512 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:21:32.65 ID:qJZnh0GV.net] まずgoogleで検索しような
513 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:24:36.60 ID:MnKC4BnX.net] >>498 .NET Frameworkに同梱のildasm.exeで読める 本格的に解析するならオープンソースのILSpyが便利
514 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:24:42.06 ID:nfigy2gy.net] Googleで検索して答えを得ても、あまり楽しくないんですよね。 できれば同じプログラマの方から直接答えをいただきたいというか… この気持ちわかりませんか?
515 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:28:37.70 ID:ak4S1goK.net] 分からないし、そういう質問はハタ迷惑だね
516 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:42:15.83 ID:2F0TVXaS.net] 調べるのが楽しくないようなら、プログラマは向いてないかも
517 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:46:40.91 ID:SU1ih8K9.net] >>501 お前、向いてないと思うぞ。 プログラミングは探求心と好奇心があって自己完結できる奴じゃないと上達しにくい。 ググレばすぐに出てくることを質問されても、迷惑でしかない。 構ってちゃんは死ねの世界だよ。
518 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 23:49:41.32 ID:OsaYEXf6.net] >同じプログラマの方 なにか君は違う分野の人だと思うよ
519 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 00:10:01.74 ID:lz5NDAKO.net] 自分で調べて、とりあえず試す、そして理解することができないやつにプログラミングは無理。
520 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 00:52:00.08 ID:LDPQCdy0.net] 全否定にワロタ
521 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 01:41:06.91 ID:w3sTMEno.net] ここじゃなくてteratailとかで聞けよ プログラマーの皆さん助けて…とか広告出してるから 如何にクソな質問でも答えるんだろ?たぶん stackoverflowは止めとけ お前なんか顔面にグーパンぶち込まれて終わりだから 人間的なリアクションすら期待できないぞ
522 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 01:55:56.07 ID:ZkM1wHMy.net] 自分で調べて解決できないことだけを質問して。 そういう質問には答えが返ってこないことが多いけどな。
523 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 02:06:35.75 ID:lz5NDAKO.net] 良い方法があるぞ。 ニコ生でプログラミング放送すればいい。 「初心者です。C#勉強してます。アドバイスください」みたいにしてさ 暇な教えたがりが丁寧に教えてくれるよww
524 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 02:27:46.08 ID:2uUBRP/w.net] 良い方法があるぞ、だとさ。 誰に威張ってるつもりなのかね。馬鹿じゃなかろうか。
525 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 02:33:52.94 ID:mV+KRjUE.net] フォームにGDIで描画したあとなにに、その上に貼ってあるコントロールinvarid()とtranslateで透過しない仕組みを俺に教えてみろ
526 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 02:47:30.12 ID:mV+KRjUE.net] >>509 なるほど
527 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 03:21:28.27 ID:8j1BqD6a.net] >>512 国語の勉強から始めようか
528 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 06:18:48.27 ID:K38GcwBv.net] >>463 自己解決しました if (toolStrip1.OverflowButton.Visible) { toolStrip1.Width = toolStrip1.Width - toolStrip1.OverflowButton.Width - toolStrip1.OverflowButton.Margin.Horizontal; } でうまく行きました。
529 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 07:45:31.68 ID:jIDLqNeP.net] googleで調べないからウゼーじゃなくて かまってちゃんウゼェーなんだけどな キチガイ回答者死ねと同じ理由で、どっか行きやがれって事だ 同一人物の自演くせぇけどw
530 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 11:09:13.20 ID:/Om+5HJh.net] >>516 なんか、精神レベル14歳だな。 別にそれでも知ったことじゃないけど、わざわざこんなところで開陳して嬉しいのか?
531 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 11:58:16.38 ID:jIDLqNeP.net] 話の流れ無視して自分のしゃべりたい事ばかり回答する 強引に話題を正しい方向にもっていったら、頭おかしい初心者が現れる この掲示板は以下それがずっとループしている、同一人物以外には見えない 本物の初心者が来たとき間違って叩いて掲示板が荒れると具合が悪いからとっとと死んでくださいって感じだね
532 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 14:57:34.97 ID:lyk3EOWa.net] 久しぶりにmsdnでクラスのドキュメント見てると えらい見づらくなってる ていうか、バグってる なんで、IEで表示して、重なって表示してまともに操作できないのか理解できない 一番 右に表示されるべき 「解決策はありますか」等が左に重なって表示されてて まともに、クリックにも反応しないし
533 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 15:00:31.80 ID:9+4jFg/5.net] プログラマがIEなんか使うな IEはテストのときだけ使うもんだ
534 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 15:15:44.14 ID:lyk3EOWa.net] いや、余計なソフトインストールしたくないし しかし、最近IE使って、スクリプトエラーでHP見れなかったりいいことないわ (Webサイトのせいにしてるけど、他のブラウザなら見れるだろうしw) MSの本気が見たい
535 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 16:23:32.54 ID:ysex+PeP.net] IE11で普通に見れるが IE8使ってるならご愁傷様
536 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 17:05:07.62 ID:lyk3EOWa.net] IE11なんだけど 互換性表示にしてみたけど、変わらず なんかの設定があるのかな? ともあれいろいろ試してみます
537 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 17:40:45.22 ID:lyk3EOWa.net] 原因判明 拡張保護モードに
538 名前:よるものだった msdnの表示も、HPが見れない件も(Web サイトに問題が発生したため…) 拡張保護モードはそのままで、信頼済みサイトの登録したら両方とも治った >>522 さんのおかげだね あと、スレチ悪かった [] [ここ壊れてます]
539 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 20:30:30.83 ID:6BSNMQg5.net] 昔のHelpViewerみたいなのはもうないのかね ローカルにヘルプインストールするやつさ
540 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 21:09:41.05 ID:lyk3EOWa.net] ホントそう 10Gぐらいあったけど 今のmsdnに比べれば天国
541 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 21:20:07.89 ID:KsZtwWae.net] >>525 ヘルプ→ヘルプ設定の変更→ヘルプビューアーで起動 メニューぐらいしっかり見よう
542 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 21:20:21.31 ID:i/oY4D53.net] https://msdn.microsoft.com/ja-jp/library/e2h7fzkw.aspx オフラインのヘルプ コンテンツをインストールする Visual Studio をインストールした後、オフラインで使用できるように、 追加のヘルプ コンテンツをダウンロードすることができます。 目が節穴なのか、 目のドライバをインストールするのを忘れているのか、 頭のサポートが切れているのか
543 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 21:23:00.50 ID:6BSNMQg5.net] >>527 >>528 おー 機能2015インスコしたばっかだったので
544 名前:助かりましたわー [] [ここ壊れてます]
545 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 21:23:06.26 ID:5XQF34dG.net] 「インターネットで正しい答えを得る最良の方法」を実行したにすぎない。 現に成功している。
546 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 21:33:44.76 ID:6BSNMQg5.net] いけずおっしゃらんと。 だけどダウンロード速度おっそ!
547 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 22:42:45.43 ID:oXEakMpl.net] >>497 おっしゃるように、C#ではなくVBでした。勘違いしてしまって誠に申し訳ありません。 .resxのほうは、「リソースの追加」をすることで.resxファイルが書き換えられることはわかりました。 でもいくらフォームにコントロールに追加してそのプロパティを変えても、 .resxの内容は書き換わりません…。どういうことなのでしょうか?
548 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 22:47:53.10 ID:oXEakMpl.net] >>500 丁寧に教えていただきありがとうございます。 まさか既にデコンパイラプログラムがパソコン内に入っているとは思いませんでした。 これからはildasm.exeでILを読むことにします。
549 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 09:42:13.71 ID:Lrk43gML.net] >>532 そういうのは*.designer.csのInitializeComponentの中に書かれる
550 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 11:55:19.90 ID:zP0KaUIs.net] IL読んでも全く理解できなそう
551 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 12:03:03.87 ID:VtUJC+iX.net] 初心者って知らなくても良い(その時点で到底理解できないこと)までやろうとするよなw .resxは、リソース(画像とか音声・テキストデータ)関係のファイルでVSが自動生成しているんだが、別に中身がどうとか気にする必要はない。 そういうのを真剣に気にして終いには、ILを読むとかわけのわからないことに手を出そうとする。
552 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 12:34:16.13 ID:56qTwYt/.net] doubleをdblと省略する表記方法はありますか?
553 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 12:35:33.64 ID:iiu9ggf5.net] 100MB程度のテキストファイル整形して読みたいのですがWebBrowserではちょっと重過ぎます 分割で読み込めればいいのですがいい方法ありませんか?
554 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 14:08:45.19 ID:zP0KaUIs.net] exeファイルがILだからILを読むとかプログラミング言語の存在理由を理解してなさそう コンピュータは全部機械語での動作だから機械語の勉強した方がいいと思うよ
555 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 14:33:19.93 ID:HNCOBt+u.net] 皆様に不快な思いをさせて申し訳ありません。 リソースファイルについてですが、Lockedプロパティの値を変えたときにリソースファイルが書き換えられました。 どうやら、コントロールが持てない情報はリソースファイルが利用されるみたいです。 >>497 さんの言っていることが分かりました。 お答えいただいた方々には本当に感謝しています。ありがとうございます。 また一つ疑問が生まれたので質問いたします。 var table = new DataTable(); ... table.Rows.Where(... このように記述したとき、RowsにはWhereメソッドがないとIDEに怒られます。 DataRowCollectionクラスはIEnumerableインターフェースを実装しているのに、なぜWhereメソッドが使えないのでしょうか?
556 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 14:41:50.95 ID:VtUJC+iX.net] Whereが必要としているのは、IEnumerableではなく、IEnumerable<T>だから
557 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 17:08:20.36 ID:wuOw+s8i.net] 日本語解説サイト少ないね。最新の情報知るには海外サイト見ていくしかないのか
558 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 17:17:21.05 ID:VtUJC+iX.net] 日本語の解説サイトなんて、2008年ぐらいのまま止まってるのばかりだろ。
559 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 17:19:13.97 ID:nnAxfjVL.net] C#とmysqlでアプリ作っていてるけどサーバーが外部でセキュリティ的に心配なので すくなくてもSSLで接続したいのだが、mysqlサーバ側のsslを有効にする方法が見つかるのだけど visualstudio側でデータソースに設定したいときにどうしたよいかの手段が見つからない C# mysql ssl あたりでぐぐってもこれといって方法が見つから
560 名前:ないのだけど、 なにかヒントになるものがあればアドバイスください [] [ここ壊れてます]
561 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 17:58:17.90 ID:UfQouXyC.net] >>537 using dbl = System.Double; でもこんなことすんなアホって絶対言われる 自分も絶対後悔する
562 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 17:59:19.49 ID:6ritcPOX.net] 今はどうやってつないでんの? MySQL Connector/Net の場合ならここでなんとかならんかね https://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-ssl.html
563 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 18:06:03.76 ID:6ritcPOX.net] sshのが楽とは思うし、サーバ側で完結させてデータだけSSLでRESTfullとかでやるのもいいかと
564 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 18:29:46.19 ID:VtUJC+iX.net] >>545 >>537 意味不明に略したら自分も他人もわからなくなるから、略してはいけない。 誰もが知ってるような単語は、略式を使う。
565 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 18:44:00.86 ID:/yUCkyPR.net] 間違いさえなければ別にforだろうがforeachだろうが好きなの使え派だったけど、他人のfor文終了条件ミスで半日潰したりすると流石に撲滅したくなるね つーか皆いい加減LINQ使おうよ・・・
566 名前:デフォルトの名無しさん [2015/11/03(火) 19:27:35.29 ID:LOZNcNC7.net] >>549 自分はLINK禁止にされたから辛かった。
567 名前:デフォルトの名無しさん [2015/11/03(火) 19:28:02.46 ID:LOZNcNC7.net] 間違ったLINQだな。
568 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 19:39:28.03 ID:VtUJC+iX.net] LINQってそんなに難しいか? むしろ、forとかwhile使うよりわかりやすいと思うんだが…
569 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 19:40:37.51 ID:RYOZjHqX.net] LINQってforやwhileの代わりに使うものだったか?
570 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 19:47:07.94 ID:CJf+XPA2.net] C#のlambdaは関数型から来た人が使うものであって 命令型の延長から来た人には理解できん類のもの 実際C#のlambdaシンタックスは初見からするとノイズが多すぎて、理解できないだろう オブジェクト指向なのになんでここまで関数がでしゃばるのか 述語デリゲートが、なぜ普通のbooleanでダメなの? っていらん疑問ばかりついてまわる
571 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 19:51:39.65 ID:UfQouXyC.net] ラムダ式とLINQは関係ない
572 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 19:57:46.67 ID:Lrk43gML.net] LINQアレルギーな奴ってろくに使ってないだけだから そこにラムダ絡めちゃってさらに異質なもの認定してるだけ
573 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:05:19.20 ID:56qTwYt/.net] >>545 ありがとうございました。
574 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:07:11.40 ID:sXl2Uj86.net] すいません質問なんですけど ほかのアプリのクライアント領域を取得したいんですが [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect); こっちを使うとそれっぽい値がはいってるんですが [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect); こっちを使うと 座標(0,0) しか入ってないんですよね… 原因に心当たりのある人いらっしゃいませんか? よろしくお願いします
575 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:18:09.71 ID:QAKXUKz2.net] C#の拡張の歴史をみると >>554 の人が誤解していると思われる 実はLINQとラムダ式は大いに関係がある、式ツリーの実装のために作られたようなものだし それがなければ、無名デリゲートで十分だった むしろラムダ型という用語にも関わらず関数型とは関係はなくはないが実質関係無いという印象 関数型が好きな人は、C#におけるこの用語は勘違いしやすいかもしれない まぁ、哲学的に考えればの話だけど
576 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:25:04.88 ID:UfQouXyC.net] >>558 クライアント矩形だから位置は(0,0)に決まってますねー 親ウィンドウに対する相対位置を知りたいなら GetWindowRectしてからMapWindowRectしないとー
577 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:30:37.38 ID:sXl2Uj86.net] すばやい返事ありがとうございます Mapの仕方がよくわからないんですけど とりあえず単独で使うだけではだめなんですね もう少し調べてみます ありがとうございました
578 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:30:43.03 ID:UfQouXyC.net] LINQなんて最初はコレクションに対する便利機能てんこ盛りの拡張メソッドという認識でOKじゃね? 罠とかあるから習熟してから突っ込んで考えればいいんであってー
579 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:32:31.59 ID:VtUJC+iX.net] いちいち、delegate() { return x * 2; } とか書いてられないから、() => x * 2 のように簡潔に書けるようになったのではないか。 式ツリーのラムダ式とLINQのWhereとかで使われるラムダ式は、別物だと思う。 ラムダとか言ってるけど、所詮、デリゲートだし、シグネチャさえあえばメソッドを渡すこともできる。 () => x * 2 こういう表記の仕方をラムダ式と呼んでる程度でしかない。
580 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:53:44.50 ID:QAKXUKz2.net] >>563 内部的な型が違うんだよ int a; の a と 3 はどちらもint型だが、後者には定数という属性も内部的には付与されている コンパイラを作る側の人は意識しているが、使う側の人には意識させないように作られている ある種の自動変換が入っているんだ ラムダ式をデリゲートとしてしようしようとすると、自動的にラムダ式についているCompile()メソッドが発動してデリゲート型に変換してしまう
581 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:54:59.02 ID:HNCOBt+u.net] >>541 ありがとうございます。解決しました。 しかし、なぜDataRowCollectionクラスがIEnumerable<DataRow>の実装でないのか疑問ではあります。 まあ歴史的な理由だとは思いますが…。 (例えばDataRowCollectionクラス実装時はジェネリックという概念がなかったとか…)
582 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:56:16.62 ID:56qTwYt/.net] asp.netで DataTable dt = new DataTable(); GridView1.DataSource = dt; とやって、2次元のテーブルの中身をグリッドビューにEXCELの画面みたいに 出しているのですが、セルの中で改行させる方法が分かれば教えて下さい。
583 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 20:59:48.89 ID:QAKXUKz2.net] DataSetクラスはジェネリックスの無かった.NET1.0の頃からあるからね ジェネリックのDataSet欲しいね・・・
584 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:10:25.83 ID:VtUJC+iX.net] >>565 ジェネリックができたのは、.NET 2.0。それ以前は、ジェネリックそのものがなかった。 DataRowCollectionあたりができたのは、.net 1.0だから当然、ジェネリックではない。 後からがIEnumerable<DataRow>ぐらい付け足せるだろうと思うかも知れないが、既存の古いコードを破壊しかねないという危険性がある。 非ジェネリックなものは、rows.OfType<DataRow>() でがIEnumerable<DataRow>に変換して利用するのが吉だろう。
585 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:25:41.32 ID:Q+Hc78/A.net] ideone.com/DfxBRT すみません... このプログラミングの実行順序?というか解説を お願い致します..
586 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:32:28.64 ID:VtUJC+iX.net] >>569 断る。スレタイの言語名1000回読んで出直してこい。
587 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:36:42.56 ID:Q+Hc78/A.net] あ、Cじゃないスレでしたね すみませんでした
588 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:37:56.39 ID:Qi78cw7w.net] どうでもいいけどヘタクソなサンプルだなあ これ見て再帰スゴイとか思う学生がいるとは思えない
589 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:41:06.36 ID:QAKXUKz2.net] キチガイ回答者のかまってちゃん発動かいな 死んでおけ
590 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 21:42:15.24
] [ここ壊れてます]
591 名前: ID:Q+Hc78/A.net mailto: >>572 この例を見ても再帰がよく分かりません... [] [ここ壊れてます]
592 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 22:07:18.95 ID:UfQouXyC.net] aより前の文字コードがきたらどうすんだろ
593 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 22:40:42.74 ID:UVzGbDip.net] サンプルなんだから特定の条件下で動けばいいんだろ。 この程度は自分なりにでも解析をしてから分からないところだけを質問して欲しいがな。
594 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 22:42:31.39 ID:/yUCkyPR.net] DataTableExtensionsでいいんじゃね?
595 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 22:45:40.69 ID:6rpVQh8a.net] 超初歩的な質問ですみません インターフェイスクラスを実装した構造体クラスがあって、その構造体クラスのインスタンスをあるメソッドに渡すとします。 そのメソッドの仮引数の型はインターフェイスクラスにしておきます。 このときに、メソッドの仮引数が値渡しであればコンパイルエラーとならないのに、参照渡しにするとエラーとなる理由はなぜなのでしょうか?
596 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 23:10:16.20 ID:ExWVN0qD.net] >>578 構造体なのかクラスなのかはっきりせい
597 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 23:15:59.04 ID:WQByrXLp.net] 何言ってるかさっぱり分からん
598 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 23:17:05.85 ID:JipnsoZF.net] >>578 参照渡しはメソッド側で引数に値を代入して書き換えできる 同じインターフェイスを実装した別の型の値を代入される可能性がある また、値型をインターフェイスにキャストするにはボックス化が必要なのでコピーが発生するから参照渡しは不可 インターフェイス通したいならジェネリックのwhere使う
599 名前:578 mailto:sage [2015/11/05(木) 23:56:44.30 ID:6rpVQh8a.net] >>579 すみません、構造体です。 まだあやふやな理解で申し訳ないです。 >>581 ボックス化というのがいまいちわかっていないですが、 値型を参照渡ししようとしてもコピーしないと出来ないということですか? ジェネリックとは?ちょっと調べてみます。 ありがとうございます。
600 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 00:22:51.45 ID:v3nYR+i3.net] intを渡すとして、 不可 → void Hoge(ref IComparable<int> cmp){} 可 → void Hoge<T>(ref T cmp) where T : IComparable<int>{}
601 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 00:31:22.76 ID:dWA72Rvv.net] >>582 構造体(struct)にもインターフェースは、指定可能。 すべての型は、object型として扱えるため、object型に代入可能で、構造体(値型)も当然、objectとして扱える。 object型というのは、言い換えればobjectクラスなので、objectは、参照型。 構造体など値型を参照型として扱うとき必要なのがボックス化と呼ばれるもの。 また、インターフェースも参照型なので、インターフェースとして受けてしまうとボックス化が発生する。 イメージ的には、 ボックス化されるとき、new object( 10 ) のような感じで値型をラップした新しいオブジェクトが作成されている。 void Foo( IHoge x ) のようなインターフェースを受け取るメソッドに値型を渡しても、Fooメソッドでは、別のオブジェクトになっているのでいくら書き換えたところで無意味。 値型でなく、最初からクラスとして作っておけば、そういう問題は起きないが構造体を使いたい場合、下記のように制約付きのジェネリックメソッドを使うと良い。 static void Foo<T>( ref T arg ) where T : IHoge { arg.Value = 100; } こうすれば、ボックス化は、発生しないで、IHogeインターフェースのメンバーを呼び出すことが可能となる。 refは、参照渡しさせるために必要。
602 名前:578 mailto:sage [2015/11/06(金) 00:42:25.19 ID:pjudYN7I.net] >>583-584 教えていただいた通りに修正したらエラー解消しました。 詳細な解説ありがとうございます。 納得できました。
603 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 09:12:45.36 ID:MQ0OQAyt.net] 1つのプロジェクトから2つ以上のアセンブリを出力するようにってできる? こんな感じにA.csproj → A.x86.dll A.x64.dll
604 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 12:16:37.98 ID:955qm0wN.net] プロジェクト構成を追加する
605 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 12:19:39.17 ID:dWA72Rvv.net] Any CPUじゃダメなの?
606 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 15:32:24.63 ID:guayBMf4.net] ダメだろ
607 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 15:39:55.16 ID:KrpwsfQj.net] クラスライブラリプロジェクトでEntityFrameworkを利用する メインのプロジェクトではEFに直接関わるようなコードは一切書いていないのに エラーが出て、どうやらApp.configをクラスライブラリのそれと同じように書き EFもインストールしないといけないみたいですがなぜですか? メインのコンソールアプリでは、 ClassLibrary1.Run(); としか書いていないのに
608 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 16:20:31.16 ID:hUa1dWCf.net] >>588-589 dllならAny CPUで良い気がするけどな >>590 そのクラスライブラリがEF使ってるからだろ
609 名前:質問者 mailto:sage [2015/11/06(金) 19:15:27.36 ID:n93wU3zk.net] public const string[] names = { "abe", "kume", "ume"}; は何故できないの? C#っておかしい
610 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:45:53.50 ID:DdHE3j1N.net] 歴史のある言語だし、配列のconstを許すと何か不都合があるんじゃないかな 知らんけど
611 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:49:11.59 ID:JLRIGyKN.net] 一般的な業務システムにEF使うのってお前ら的にどう思う? DB周りに中間テーブル勝手に作られたり とかどうなんかなーって思うんだけど
612 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:49:47.56 ID:H8/mSBf4.net] C#のconstはmutabilityを示す修飾子ではない mutabilityはクラス特性の一つにすぎない
613 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:52:12.27 ID:O+3ivu6x.net] >>594 テーブル管理をきっちりして、メンテナンスが面倒な糞長いクエリ作らないことさえ心がければ問題ないと思う それが出来るなら何でもOKだろと言われたらそれまでだが
614 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 20:01:54.19 ID:hUa1dWCf.net] >>594 コードファーストで、プログラマがモデル変更したらDBレイアウト変わるとか DB層とアプリ層と分離するような業務システムだとあり得ん EFはコードファーストしかないわけじゃないけど 最近、既存DBからコードファーストとかいうわけわからんオプションも追加されたけど EDM作らんで良いし、マッピングの自由度上がるから、これが結構いい感じだぞ 俺はこれをコードセカンドと呼ぶ事にしたw
615 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 20:02:50.21 ID:Vl4Fajoj.net] 構造体のconstもできないよね あとIntPtr(これは仕方ないか)
616 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 20:04:07.68 ID:v3nYR+i3.net] >>594 DBファーストなら中間テーブルは作られない(たぶん) パフォーマンスに引っかからなければ採用していいと思う
617 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 20:07:22.09 ID:v3nYR+i3.net] >>592 ミュータブルなら配列があれば許されたかもね…
618 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 20:11:37.63 ID:VIb2xLBB.net] constはコンパイル時にリテラルを埋め込むからnewで生成するインスタンスはconstへ代入できない。 C#で配列を定数扱いしたければReadOnlyCollectionを使う。
619 名前:デフォルトの名無しさん [2015/11/06(金) 22:35:43.69 ID:ZOMBif/U.net] readonlyにするとそのメンバの参照を変えることはできなくなりますが、そのメンバのメンバの値は変えれますよね? そのメンバのメンバもreadonlyにすることはできないんですか?
620 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 22:45:54.70 ID:v3nYR+i3.net] メンバをreadonlyプロパティにすればいい コレクションならIReadOnly〜インターフェースがある
621 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:10:20.05 ID:lDi+bZZ1.net] C#のmutabilityはクラス特性で備えるもので 修飾子で指定するものじゃないと言ってんだろ 理解力が不足しているのか?
622 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:18:27.60 ID:dWA72Rvv.net] こんな感じでプロパティ作れば、初期化以外で変更できないようにできるけど… shield class Hoge { public int Property1 { get; } = 10; public int Property2 { get; } = 20; }
623 名前:デフォルトの名無しさん [2015/11/06(金) 23:25:34.03 ID:ZOMBif/U.net] >>603 ありがとうございます。使ってみます。 >>604 ちょっと調べたけどよくわかりませんでした。 久しぶりに会った友達に、おめ
624 名前:ぇずいぶんとミュータブルなぁーって使う感じでしょうか? [] [ここ壊れてます]
625 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:28:23.63 ID:x7E/To5I.net] >>605 もうちょっとこの構文は何とかならなかったのかと思うな…
626 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:42:18.13 ID:KrpwsfQj.net] >>591 そこがよくわからないんです クラスライブラリでしか使ってないEFが なぜメインプロジェクトでもインストールして App.configまで書き換えないといけないのか 例えば、zipライブラリやその他ライブラリを ライブラリプロジェクトで使っていても メインプロジェクトでそれらライブラリを参照しなくてもいけてます 同じように分離できないんでしょうか?
627 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:51:07.90 ID:MmN1hyKF.net] >>604 その説明は、誤解を生みまくる const言っているなら C++ のアレを意識しているんだろうから C++のmutableとゴッチャになる
628 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:55:31.99 ID:MmN1hyKF.net] Java全盛期の時代に、政治的な都合でJavaクローンとして生まれたC#ゆえ 書き換えに関する制御は基本的に期待しないほうが良い、というか諦めたほうが良いでしょう 当時constなど不要、高速化目的ならオプティマイザが頑張ればいいという考えが席巻していたから残念な事になってしまっている 目的は高速化じゃないといっても話聞きゃしない話聞かない回答者みたいなので一杯になってたからな
629 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:55:56.97 ID:J1IjfUsv.net] >>608 ライブラリが特定の場所の特定のDBに紐付いてたら再利用性も柔軟性もクソもないだろ? 構成はアプリ側で指定するんだよ
630 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:59:22.58 ID:/KOBRm1I.net] MVVMパターンについて質問です。 Modelクラスがツリーのデータを保持できるように定義されている場合、 class Model { public List<Model> Children; public Model Parent; } ViewModelクラスはどのように作ればよいのでしょうか。 class ViewModel { public ObservableCollection<ViewModel> Children; public ViewModel Parent; } ユーザーがアイテムを追加・削除した際の、VM〜M間でのChilrenのやりとりで良い方法が思い浮かばないのです。
631 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 00:03:09.47 ID:HCtDVk7w.net] 地道にモデル側のコレクションにAddしたりRemoveするしかないんじゃないのっと
632 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 00:05:43.30 ID:mc1zorkl.net] >>612 そんなもんModelをそのまま公開すりゃいいよ いちいちラップするのは無駄に複雑になるだけ
633 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 00:10:14.79 ID:bqVTu3cR.net] ちょっとなにいってるかわからないですね 何に使いたいのでVMいるのかがわからない
634 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 00:37:06.17 ID:rJMrVjho.net] >>611 特定のDBには既にひも付けされてますよね? Entityクラスを事前に静的に生成しているわけだし 特定の場所に関しては確かにそうですが dbパスを渡すだけでいいはずなのになんでEF入れなきゃだめなんでしょ?
635 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 00:38:32.76 ID:VdNkzOpu.net] mvvm関係ないけど、オブジェクトが持ってる参照をそのまま外に出すのとカプセル化の間でいつも悩む かといって毎回コピーしたら遅いし
636 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 00:47:30.53 ID:3j5S0EXp.net] >>617 インターフェイス通せばいいじゃない >>612 選択したツリー項目毎に特定のVM表示したいの?
637 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 01:36:23.40 ID:X2ab0wjO.net] >>616 EF使うのに入れなくていいと思う理論がわからん
638 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 01:55:38.19 ID:rJMrVjho.net] >>619 実際に使うのはクラスライブラリ側だけだからです。 EFじゃなくて他のライブラリの場合は メインプロジェクトに入れなくても動くのに なぜEFだけ特殊なのかが知りたいんです
639 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 02:09:02.01 ID:VdNkzOpu.net] >>618 やっぱそうなるよねぇ 操作用のインターフェース
640 名前:作るの面倒だけど [] [ここ壊れてます]
641 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 03:22:43.92 ID:X2ab0wjO.net] >>620 そもそもほんとにメイン側でなにもしてないなら 実行時に必要なライブラリがそろってれば良いだけで、メイン側プロジェクトにEFの参照いらないけど? 別に特殊でもなんでもない もしそんな前提があるなら、ASP.NETでEF使えなくなるじゃないか
642 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 03:28:58.48 ID:rJMrVjho.net] >>622 >>590 一行しか書いてないのになぜ参照がいるんですか?
643 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 05:33:11.29 ID:cHn3VkC0.net] >>623 クラスライブラリ側のapp.configを見てごらん EFをインストールしたときに書き換えられた部分があるでしょ そしてよーく考えよう
644 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 17:24:35.95 ID:X2ab0wjO.net] >>623 知らんがな ソース全部晒してみろ そういえば、エラー出るでどんなエラー出たか書かない奴の質問は答えるだけ無駄って誰かが言ってたな
645 名前:デフォルトの名無しさん [2015/11/07(土) 17:54:38.72 ID:1m+5NuQy.net] データベースやサーバーアプリでマイクロソフト系技術はもうだめだね 消えゆく運命だろ
646 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 23:27:09.98 ID:qRUcE/WB.net] 貴重な時間を浪費させていくスタイルだから無駄ではない 価値マイナス
647 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 00:28:50.73 ID:QQOP8UEs.net] >>626 https://github.com/damienbod/SQLiteExamples やってることはこれと同じです これもメインプロジェクトでインストールしてます メインプロジェクトのApp.Configを書き換えない場合 エラー No connection string named 'MyEntities' could be found in the application config file. これをぐぐると、App.Configをメインプロジェクトにコピペしろと回答がある が、コピペしても、 error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SQLite.EF6'. Make sure the provider is registered in the 'entityFramework' section of the application config file. となる、つまりインストールしろってことなんだろうけど
648 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 02:51:20.55 ID:tK1NbI7K.net] >>628 それはアプリケーション定義ファイルを設定しろと言ってるだけで EFをインストールしろとも参照設定しろとも言ってない 実際それじゃないが、メインアプリで参照設定なしでもアプリケーション定義ファイルを設定すれば動くのは確認した (当然アセンブリは参照できるところに存在する必要はある) なぜアプリケーション定義ファイルの設定が必要なのかは、EFのコンポーネントがデフォルトでそれを見に行くから 調べた感じではアプリケーション定義ファイルなしでも動くように出来そうだったけど、かなり手間かかりそうなので試してない 接続文字列だけなら簡単なんだが
649 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 03:54:18.19 ID:QQOP8UEs.net] >>629 MyDbLibraryを参照すれば、設定なしで複数のアプリで同じDBを簡単に 取得出来るようにしたかったんですが できなくはないけど、面倒そうですね んーやっぱりEF使わないでやったほうが後々楽かな 私事のためにお時間取らせてしまって申し訳ない 調べて頂いてありがとうございます
650 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 10:17:34.08 ID:gApUJ0pc.net] 教えてください ■質問1 下記のような構造体を配列にして内容を格納しています (本来はもっとパラメータは多いですが簡略して3つにしてます) struct test { private int id; //100000以上からの6桁 private string name; private int type; public Test(int ID, string Name, int Type) { id = ID; name = Name; type = Type; } } この構造体配列の中から該当するIDを検索し、その添え字番号を得たいです ForEachやwhileなどのループ内でIDを比較するしかないでしょうか? 「C# 構造体 検索」でぐぐってみたものの、 どのようにすればいいのかが見当もつきませんでした ■質問2 そもそも、このようなデータを構造体として用意するのは良いのでしょうか? 以上、よろしくおねがいします
651 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 10:48:27.07 ID:S9+EFBLU.net] LINQとかで検索するのもあるけど、Dictionary使うのがいいと思うが
652 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 11:23:47.79 ID:pl2PgCRK.net] C#とWPFでさくっとアプリを作れるようになりたいと思い、とりあえずC#の簡単なテキストは流し読みしたが… (他言語の経験はあるので) WPFはどのテキストを読んだらいいんだろう? (開発にはLivetを使うといいと聞いたけど、 通常のWPFが分かっていること前提っぽいので、ちゃんと勉強しようと思ってます) プログラミングWindows 第6版 上/下 が名著らしいけど、ストアアプリ特化で学習には向かない…? このスレ的にオススメのテキストを教えてくれないだろうか
653 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 11:45:20.22 ID:qE8APb0L.net] Livetは2年前ならともかく、今は作者が飽きているので薦めない Prismを使った方がよい テキストに関しては知らない 数年前ならEssentialを薦めただろうが いかんせん古すぎる WPに対応する必要がないならストア向けのテキストも無駄だろうな
654 名前:633 mailto:age [2015/11/08(日) 12:05:28.12 ID:pl2PgCRK.net] >>634 なるほど…今はPrismの方がいいのか。さんくす テキストは…ストアアプリは作る気がないしなぁ プログラミングWindowsのWPF XAML向けの解説は一応あるけど、 さすがにいちいち照らしあわせて読むのは大変そう blogs.msdn.com/b/shozoa/archive/2014/07/24/using-programming-windows-chapter1.aspx 結局テキストをどうしたらいいのかわからんね これを見つけたんだが、まだ去年のものだし古くもなく大丈夫だろうか?(同内容のkindle版もあり) www.slideshare.net/okazuki0130/wpf45-38048141
655 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 12:49:12.21 ID:cfidXKbm.net] >>631 List<T>でFindeIndex(s => s.id == searchID)とか でもidがprivateだな 検索数多いなら632が言うようにキーがIDの辞書作った方が速い
656 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 13:05:36.69 ID:qxSNyhqm.net] privateなプロパティを持っているとLINQで匿名型をnewしようとしてもアクセス出来ないレベル というエラーが出るしなあ そして匿名型はコンストラクタを呼び出す手段がないので次のようなコードがコンパイルできない ideone.com/QVNres
657 名前:631 mailto:sage [2015/11/08(日) 13:35:56.75 ID:gApUJ0pc.net] 回答ありがとうございます >>632 Dictionaryを詳しく調べてみます データを格納後に、Dictionaryで別途索引を作る…というイメージですよね、たぶん LINQも調べて勉強してみます >>636 FindIndexも調べてみます FindIndexは構造体のIDがprivateでなければ使えるのかな? なお、件数はおそらく多くなりますので、Dictionaryでいこうと思います >>637 構造体のつくり自体がそもそもまずいということですね データを扱うのに構造体が良さそうだと思い使おうとしていたのですが、 まだまだ勉強不足のようで…勉強し直します 匿名型というのも分かってないレベルです ひとまず頂いた回答・ヒントからいろいろ調べてやってみます つまづいてどうしようもなくなったらまた質問に来ますので その際はみなさんよろしくお願いします
658 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:11:47.01 ID:IOiPLIcZ.net] >>635 wpfのことは忘れてFormsアプリを作
659 名前:驍だ [] [ここ壊れてます]
660 名前:633 mailto:sage [2015/11/08(日) 14:13:41.26 ID:pl2PgCRK.net] >>639 今あえてWPFでなくFormsを学ぶ理由は何なんでしょう?
661 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:21:58.19 ID:qxSNyhqm.net] 匿名型やめて普通にnewすれば行けるよ この場合でも読み出し専用のプロパティは必要だけど ideone.com/VQnbmB
662 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:22:03.96 ID:qE8APb0L.net] そりゃあ情報量だろ
663 名前:633 mailto:sage [2015/11/08(日) 14:24:04.50 ID:pl2PgCRK.net] >>642 なるほどな…すまんが、それでもやっぱりWPFでいきたいわ 情報量が、と言うならC++でもやってろ、という話になるので
664 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:26:58.36 ID:qxSNyhqm.net] それとToArray()はこの場合は不要だった 遅延評価でいいや それとインデックスが不要なんだから(tt, n)でなくて(tt)でいい 適当に書いたからいろいろおかしかった
665 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:28:16.90 ID:jwSrphbk.net] フォームアプリだとストア対応はまた別スキル?
666 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:48:07.12 ID:t8ezhEA7.net] WPFはマイクロソフトからもとっくの昔に見捨てられたコンテンツだからな 2010年くらいからほぼ更新されてない 開発者も減ってるし今更やっても無駄 そんなのやるくらいなら注目度高いElectronでもやったほうが100倍モチベーション上がるだろ
667 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:48:47.97 ID:0dVpsRSu.net] >>638 キーが決まってるならKeyedCollectionなんてのもある 構造体orクラスの問題は、大抵の場合、クラスの方がいい 構造体はnewのコストが問題になった時に試してみればいい
668 名前:633 mailto:sage [2015/11/08(日) 15:05:42.53 ID:pl2PgCRK.net] >>646 すまん。Electronも考えたんだが、いかにもWebアプリっぽい見た目と動作になるのが気持ち悪くてなぁ… WPFは見捨てられたと言うのであれば、皆WindowsでGUIアプリを作るには何を使ってるんだろう?
669 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 15:10:08.20 ID:qL6T2MEr.net] >>646 .Net4.6で改良されてるし、どこまで本気か分からないけど最近微妙にやる気出してるようだよ。 blogs.msdn.com/b/dotnet/archive/2014/11/12/the-roadmap-for-wpf.aspx
670 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 15:14:56.34 ID:b5oYWyCu.net] フォームのほうが見捨てられてるからWPF以上に未来はないと思うが、だからといってWPFに乗り換える気が起きない。 んで結局、フォームから未だ抜け出せずにいる。
671 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 15:18:18.25 ID:t8ezhEA7.net] これからはWPFと言いながら10年近く全く普及せずに下降線を辿ってきたからな だいたいGUIアプリにしてもWindowsデスクトップに固執するような時代はとっくに終わってる
672 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 15:51:44.93 ID:+dkH7XCP.net] WPFは早期に標準コントロールを充実させていれば多少は広まったんじゃないのかな
673 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 16:09:34.75 ID:b5oYWyCu.net] MVVMだなんだの言いながらデフォルトでそれ系のまともなフレームワークが入ってないのが敗因だろうな。
674 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 16:21:43.65 ID:IOiPLIcZ.net] wpfのまともな文献がないというのが このFrameworkの実態を表しているような気がするね ネットにあるのは、Formsとは違うんです!っていう営業トークか MVVMという概念がすごいんですってだけだろ 実際MVVMが必要になるような高度なアプリケーションなんてあるのか? リアルタイムにデータを処理するにしてもイベントドリブンモデルのほうが簡潔で扱いやすい MVVMはオブジェクト指向を「こじらせた」典型例だと思うんだよね
675 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 16:40:41.80 ID:qWpIgAsz.net] >>654 いや英語では結構本出てるよ。 MVVMがウンコなのは同意するけどw
676 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 16:57:42.27 ID:qE8APb0L.net] 設計がとにかく野暮ったい 僕の考えた最強の〜って感じ 引き算を覚えてくれ頼むから WPFを
677 名前:除けば成功しているMVVMフレームワークはいくらでもあるし 設計センスの問題だと思う [] [ここ壊れてます]
678 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 17:02:03.13 ID:t8ezhEA7.net] mvcとかやりたければ本流のhtml5使えばいい 標準フレームワークも用意されないWPFが流行るわけもない マイクロソフトも普及させる気はないよ ポーズだけ Silverlight潰したりマイクロソフトは既に独自技術の普及を断念してる 代わってTypescript用意したりweb標準技術の採用に舵を切ってる
679 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 21:46:02.90 ID:SGCCwhdk.net] >>650 フォームは現時点でほぼ完成しているから何も変える必要ないんじゃないの?足りない機能ある?
680 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 22:53:03.65 ID:X/vorztS.net] prism使って、データバインドが非常に協力でコードもすっきり書けるけど、 Formsなら簡単に出来た事がものすごく手間だったり、 独自のUIが簡単にというが実際はとてつもなく面倒くさい。 datagridの配色変えるだけでも、 あの部分をどこで色を変えられるのか調べるだけで相当時間がかかる
681 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 22:54:49.77 ID:b5oYWyCu.net] >>658 フォームに関しては、今更機能追加されたところであれだし、現状維持してくれれば十分だな。
682 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 22:55:41.36 ID:HlEs+VqN.net] 俺はMFC FeaturePack並のツールバーやドッキングウィンドウが標準で欲しいなぁ。 今はサードパーティー頼みだし。 MFCも、もうメンテナンスモードだろうと思ってた頃にFeaturePack出てきたんだから ワンチャンあると信じたい。
683 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 22:58:52.76 ID:l/gAevhW.net] WPFのDataGridは全く使い物にならない あの糞がそのまま放置されてるんだから、MSのやる気の無さがよくわかる まあそもそもWPFは設計思想的にDataGrid的なものはListViewをカスタマイズして作るもんであって、 出来合いのDataGridをそのまま使うようないい加減なGUIでいいのならWPF使う必要は全く無いんだけどね
684 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 23:04:24.23 ID:b5oYWyCu.net] WPFならMVVMでドメインとビューの分離が〜とか言うが、フォームでもある程度は、データバインドできるし、 WPFほどまでは行かないにしろ、そこそこの分離は、可能だと思う。 いざとなれば、ビューを直接扱えるし、WPFみたいに変に手回ししなくていいしフォームのほうが楽。
685 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 23:26:11.25 ID:X/vorztS.net] WPFはC#を習得した人用だからなあ、 いきなりC#とXaml両方まなぶのはきついんじゃない? GUIを今後一切変更しないならFormsでいいだろうけど、 変更したくなった時、クソ面倒くさい
686 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 00:30:33.40 ID:nH7Pt/o2.net] 言語としてのC#にそんなに覚えることがあるとは思えんが、 WPFは覚えることだらけだな。 しかもMSDNのどこにも明示されてない仕様も結構あってかなり萎える。
687 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 00:42:01.77 ID:YzX/XRY3.net] >>662 >DataGrid的なものはListViewをカスタマイズして作るもんであって、 このカスタマイズする前に大量のオブジェクトの前に力尽きる人が多かったから WPFは流行らなかったんだろうな オブジェクト指向の継承って結構早い段階から使うのやめとけ って言われてたと思うけどwpfって継承地獄なんだよなあ
688 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 01:51:51.42 ID:q+BDOfSy.net] 継承(is a)より包含(has a)とか、無駄に複雑な継承関係にしないとかなら分かるけど、 一般論としてそんなこと言われてたっけ?
689 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 03:56:53.75 ID:m77m/g5H.net] WPFが出た当時、そちらに移行しなかった最大の理由は リファクタしたら、XAMLだけ手作業修正になったから 今は、ちゃんと連動してるんだろうか? していた
690 名前:ニころで、あんだけ複雑で、しかも機能的にフォームから浮いていると移行する気にはなれないけど [] [ここ壊れてます]
691 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 04:06:23.65 ID:m77m/g5H.net] >>654 同感、WPFからATL臭がする これからはWPFだといっている人は何見て、WPFが流行っていると思っているのだろうか?
692 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 08:53:11.53 ID:AkXykSSl.net] wpfのControlTemplateは、FormsのOwnerDrawに比べたら格段に楽だと思うけどな
693 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 09:23:03.24 ID:eW5XCVAC.net] 部分を誇っても仕方ない 一芸に秀でていれば使えないこともない人間とは違うんだよ フレームワークは全体のバランスが求められる
694 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 12:09:04.18 ID:6wZmioGw.net] でも結局は作りたいものに適した形をしているか、ってだけだからな。 適してれば(=開発工数を抑えられるならば)、どんなんだって使うことはあるし。 ここで声高に否定することに意味があるとは思えん。むしろなにか作為でもある?
695 名前:デフォルトの名無しさん [2015/11/09(月) 12:24:46.82 ID:7FJWPJQr.net] 自動生成はWPFのが簡単でいいよね 工数削れるよ
696 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 12:30:10.88 ID:eW5XCVAC.net] 否定派の前で肯定するから否定されてんだろ 頭悪いんじゃねえのか?
697 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 12:35:57.06 ID:EOVCHtBm.net] 639が聞かれてもいないお節介を焼いたのがそもそもの原因だ 発狂するまでXAML書き続けて死ね
698 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 13:09:55.63 ID:6wZmioGw.net] 声高に否定しhとかないと不安なのかと。w
699 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 13:22:50.09 ID:eW5XCVAC.net] 書き込みの推敲もできないほどではないんじゃねえの〜 クソでも漏らしそうなのか? 漏らすなよ、ただでさえ臭いんだからな
700 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 13:31:13.13 ID:6wZmioGw.net] え。まさかの図星だったんだ。w
701 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 16:23:18.75 ID:m77m/g5H.net] >>672 作為とか特にないけど、俺の知っている業界の範囲でWPFを使っている所なんてないし 一時使っていたところも全部切り上げてFormsに戻ったからな 誰が使っているんだ?って思って書いてみた
702 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 16:25:52.00 ID:m77m/g5H.net] あと、自分の経験から、フレームワークが死ぬかどうかの嗅覚センサーは高精度にしておいた方がいい システムが大規模になってから、さあ元に戻ろうとかいう話になると地獄みるでw
703 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 18:25:32.73 ID:s3Itz59O.net] WPFは、やたらと抽象化しすぎで、解りづらいんだよなぁ
704 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 19:32:07.70 ID:YzX/XRY3.net] 声高に否定しとかないと、ふらっと誰かが立ち入るかもしれないだろ? 誰も助けられないエリアに人が立ち入ろうとしたら全力で止める それは時間の無駄と戦い続けてきたICT分野の精神そのもの
705 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 20:45:05.97 ID:XHl8ePvc.net] 出来損ない人間のくせにそういう意識だけ持ってられると非常に迷惑
706 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 20:47:24.37 ID:Z/Tj9+xS.net] クズ同士で反目しあっていたらいつまでたっても地獄から抜けだせないよ?
707 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 20:48:06.82 ID:aHPhV6ij.net] C#erならあらゆる分野でTypescriptを使っていくべきだろ ヘルスバーグ監修だしな あれはC#と違ってGoogleのAngular2に採用されて正真正銘の世界標準になった
708 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 20:49:00.07 ID:Kluqtjpy.net] 上を見るより隣の奴の足を引っ張って蹴り落とす方が楽しいから。
709 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 20:57:32.51 ID:Kluqtjpy.net] ああ、typescriptはいいね。 空前絶後究極醜悪仕様のjavascriptのせいもあるが、 コードを書いてて幸せを感じられる。
710 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 21:17:06.11 ID:HVtjB7Nt.net] スピルバーグ?(難聴)
711 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 23:52:05.55 ID:xUV9On1g.net] コマンドやプロパティ周りに同じような記述をしないといけないのが面倒 すべてのイベントがコマンドでできたらなー トリガー?イベントを言い換えただけじゃないか ビヘイビア?そこまでして必死に分離する必要あるのか? それに物理的に分離してても、特定のViewに意味的に依存したコードに変わりないよね だったらイベントでいいじゃない とにかくMVVMの強迫観念が付きまとう オシャレなGUIもいらない もっさり 情報がない 調べる時間が勿体無い Xamlとコードを行ったり来たりが面倒くさい フォームはイベントハンドラだらけ、データバインド面倒ってだけかな
712 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 00:37:56.86 ID:TRBM8DsG.net] Xamlはそろそろ終わりだろう 流行ってない上に目玉が需要のないWindowsストアだからお先真っ暗 MFCと同レベルの状況だよ そのなのやる暇あったらTypescriptとNode.jsをやれ Visual Studio CodeはElectronで作られてるしNode.jsデバッガ標準装備だしMSも舵をきった Web標準技術路線の流れは止まらんよ
713 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 01:49:09.88 ID:Ovp34esS.net] じゃあ、次期VisualStudioはwebアプリかな。
714 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 01:54:38.52 ID:5g3VdvzW.net] VS Codeあるしな
715 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 02:33:43.83 ID:fx55niMq.net] フォームで不満があるすれば、ちょっと凝ったデザインにしようとした途端、恐ろしく面倒なことぐらいだな。
716 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 04:07:57.25 ID:Vbdvj8E0.net] MFCはまだまだ普通に需要あるでしょう おっさん全然離れないし WPFの絶望感はなんともかんとも 古い人は移行しないし、新しい人は来ないし、ストアとか誰が使うんだよって感じだし やりたきゃ、素直に別途スマートフォンに特化したOS作りゃいいのにね
717 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 05:05:14.87 ID:x1SFUzCz.net] Windows用のちょっとしたツールを作る場合みんな何で作ってるの? スクレイピング、zip再圧縮、画像加工、ファイル移動、ファイルリネームなど これからそれぞれ自分用に作っていこうと思ってる
718 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 05:24:29.79 ID:Vbdvj8E0.net] batファイルかなw
719 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 07:03:54.72 ID:ysgs5SCx.net] スクレイピングはruby zipはそのまんまzipコマンド 画像加工はimagemagick 全体の制御やファイル操作はperl
720 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 11:39:52.84 ID:mVStRMDa.net] 全部python
721 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 13:27:08.88 ID:Y54LX3ro.net] powershell
722 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 15:30:35.44 ID:zPPOQadD.net] Windows7とVS2012だと、Bluetooth LEのGATTプロファイルとかって使えないの? https://msdn.microsoft.com/en-us/library/windows.devices.bluetooth.genericattributeprofile.gattdeviceservice.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
723 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 18:12:09.50 ID:jCBnlrqE.net] MSから出してるのではGATTは使えないと思った
724 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 21:42:14.52 ID:96BnYR0W.net] 非常に細かいことなのですが、 IEnumerable<T>を実装したクラス(もしくはオブジェクト)のことは何と呼べばいいのでしょうか? 列挙子?それともコレクション? どちらも微妙に違う気がするので、質問させていただきました。
725 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 21:46:42.28 ID:ysgs5SCx.net] 一般的にはコレクションでいい 順番を意識する場合は明示的に「要素のシーケンス」と呼んだりすることもある
726 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 22:03:45.37 ID:Iud
] [ここ壊れてます]
727 名前:Fs22n.net mailto: >>689 使いこなせてないだけ。というか何か誤解してる。 使いまわししない場面でビヘイビアやトリガーを無理して使う必要ない。 [] [ここ壊れてます]
728 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 22:05:22.32 ID:96BnYR0W.net] ありがとうございます。 コレクションにします。
729 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 22:13:49.61 ID:mVStRMDa.net] たかがデサインパターンに強迫観念まで持ってしまうって凄い 影響されやすいにもほどがある
730 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:11:06.49 ID:Roxx949g.net] iOSアプリの開発はAndroidアプリより30%安価--あるソフト開発会社が示したデータ japan.zdnet.com/article/35073153/ また、Infinumは開発時の経験から、 Androidアプリのレイアウトで用いられるXMLの使われ方が、iOSで用られるWYSIWIGによるアプローチ ほど効率的でない点を指摘している。 まさにこれ、xamlの不利な点もこれに同じ 対してiOSはformsの発展系みたいなシステムだから即効作れる
731 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:21:31.22 ID:/+peIgnx.net] >>703 >>703 要素のシーケンス? IEnumerable<T>は列挙される要素の順序なんて保障しないし 列挙される要素を返すオブジェクトの事だろ 要素でもないしシーケンスでもないじゃないか
732 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:33:42.89 ID:1POahPwI.net] 蛇遣いなのでイテラブル/イテレータ
733 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:35:00.27 ID:hQ+Ng6ni.net] マイクロソフトがシーケンスって呼んでるんだから、シーケンスって呼べよ 混乱の元
734 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:36:20.71 ID:hQ+Ng6ni.net] 俺何でも知ってる、賢いだろうw と、話が通じない流れはこうして始まる
735 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:39:46.19 ID:1POahPwI.net] 下品な単芝だなぁ
736 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:45:36.61 ID:/+peIgnx.net] >>710 MSの用語で、列挙で返されるものをシーケンスと呼んでいるところはあるけど IEnumerable<T>実装クラスのことをシーケンスと呼んでるところなんて無いだろ
737 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:47:40.91 ID:hQ+Ng6ni.net] 話聞かない回答者がまた暴れだす、死ね
738 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:59:29.52 ID:2vpVS7Y/.net] こんな時間からID真っ赤にしないようにちゃんと変えとくんだゾ
739 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 00:59:45.55 ID:jhfL3S8B.net] Enumerable.SequenceEqualとかまさしくシーケンスじゃないの?
740 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 01:04:34.29 ID:qdWTE3pv.net] TupleのitemXって任意名称に変えられないのかね 使いたいけど、itemXが何を指すのか明示し辛くて毎回クラス作る羽目になる
741 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 01:13:37.70 ID:MPuvgpwO.net] >>717 C# 7.0でそこらへん改善しようという動きはあるが、現状だと無理だな。
742 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 02:15:32.79 ID:J1zmvVNV.net] >>713 言いたいことは分からんでもないが列挙で返されるものは要素であってシーケンスじゃないよw ニュアンス的には、イテレーターやクエリ式みたいにIEnumerable<T>を実装したクラスであるかのようにふるまう 何者かのことをシーケンスと呼んでるようにも感じるけど、機能的に等価なんだから同じでしょ。
743 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 02:24:54.15 ID:/+peIgnx.net] >>716 IEnumerable<T>で返される集合がシーケンス、その構成物が要素 IEnumerable<T>そのものは要素でもシーケンスでもない まあ仮に、IEnumerable<T>そのものがシーケンスと呼ばれるとしても IEnumerable<T>実装クラスはシーケンスじゃないし
744 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 02:27:02.08 ID:dpUw/w5G.net] IEmunerableを実装したクラスはIEnumerableと呼んでるな だってIEnumerableとして使うわけだし もと質問者の求める答えとはちょっと違うか・・・
745 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 04:08:25.76 ID:MPuvgpwO.net] IEmunerable<T> Hoge() みたいなメソッドのサマリーを書くとして、「○○を列挙します。」と説明するのが一番自然だと思う。 「○○のコレクションを返します。」だと、List<T>とか配列のようなものが返されるイメージだし、「○○のシーケンスを…」だと違和感が残る。
746 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 05:06:28.14 ID:FnAxvR+K.net] 全然知らないんですがMoveNextとかはEnumerator実装ですよね? Enumerableでも使えるのはGetEnumeratorでEnumerator取ってるからですか?
747 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 10:46:36.52 ID:MPuvgpwO.net] IEnumerable<T>の定義を見てみよう。
748 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 17:51:33.59 ID:jH4gdhBC.net] ある文字列の中で、2つのキーワードの中にある文字列をLINQを使って抽出したいのですが、やり方が分かりません。 例えば、下の文字列の 「ABCD<a>123</a>EFG」 の中から、<a>と</a>に囲まれた部分だけを取るという事がしたいのです。
749 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 17:55:09.09 ID:DUfHt6hF.net] バカには無理
750 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 17:55:24.62 ID:h0434h88.net] なぜLINQでやろうと思った?
751 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 18:08:23.13 ID:Usz+Er1r.net] 縛りプレイもしくは宿題
752 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 18:20:02.61 ID:+wF1gX1q.net] おまえらどんだけLINQが嫌いなんだよ〜 立て続けに素晴らしい連体感だなww
753 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 18:20:11.07 ID:jH4gdhBC.net] >>727 最終的にしたいのは、大きめのファイルをFile.ReadLinesを使って読み込み、その中から特定の文字列を取りたいのです。 File.ReadLinesでLINQを使って(正規表現併用でもして)抽出できないのかと、思案してる所です。
754 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 18:23:29.23 ID:87RveuhT.net] >File.ReadLinesを使って読み込み まずそこから間違ってる
755 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 18:40:07.71 ID:YDOXgbvn.net] ABCD<a>12<a>3</a>EF</a>G みたいなのはどうする?
756 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 18:53:04.03 ID:jH4gdhBC.net] >>731 巨大なファイル内にある特定の文字を取りたくて、File.ReadLinesを使おうと思ったのです。 ちなみに、これを使う事になったのは↓のサイトの処理速度を見てこれは使えそうと思いました。 ttp://devlights.hatenablog.com/entry/20101116/p2 >>732 <a>〜</a>の組み合わせは今のところ一つだけを想定しています。
757 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:05:23.62 ID:MPuvgpwO.net] 巨大のファイルをFile.ReadLinesで読み込むのはちょっと…ってのはおいといて var urls = File.ReadLines( @"hoge.txt" ) .Where( x => !string.IsNullOrWhiteSpace( x ) ) .Select( x => Regex.Match( x , "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>" , RegexOptions.IgnoreCase ).Groups["url"]?.Value ) .Where( x => !string.IsNullOrWhiteSpace( x ) ); みたいにすれば取り出せるだろうけど
758 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:21:42.43 ID:jH4gdhBC.net] >>734 ソース有難うございます。 まだ、不明な点がありますが調べてみます。
759 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:35:10.88 ID:hQ+Ng6ni.net] 別にLINQ嫌いじゃないが、そんな事すんなよなとは思ったw
760 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:36:07.54 ID:ZERl/AOH.net] >>734 ReadLinesは遅延評価だからReadAllLinesとは違って巨大なファイルでも効率いいよ
761 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:40:57.26 ID:MPuvgpwO.net] >>737 すまん、ああ、それと勘違いしてた…
762 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:41:01.76 ID:YDOXgbvn.net] 改行をまたいでたらどうすんだってことだろ
763 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 19:46:45.62 ID:MPuvgpwO.net] そこは想定外ってことで…
764 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 20:06:32.47 ID:je1SKr0C.net] WindowsFormアプリケーションを勉強中ですが、タブレットPCでもWindowsFormは動作しますかね 実機に触ったことがないのでよくわからんのですが、 Windows8やWindows10あたりが入ってるタブレット端末なら作ったWindowsFormのアプリも 使えますでしょうか?(画面サイズを考慮して作るのは当然として) それともストアアプリとしてじゃないと入れられなかったりするんでしょうか
765 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 20:15:23.36 ID:MPuvgpwO.net] >>741 特に問題なく動作可能。 ただ高dpi環境とかで動かすと残念なことになるかも知れないけど
766 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 2
] [ここ壊れてます]
767 名前:2:32:02.21 ID:WW0Z/7Lv.net mailto: 無関係だが スレタイにはちゃんと (初心者用) と書かれているよな [] [ここ壊れてます]
768 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 23:20:47.01 ID:hQ+Ng6ni.net] 向き不向きは考えた方がいいかもね LINQで文字列処理とか、Formでモバイル系とか
769 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 23:55:46.17 ID:2kBONmlk.net] データの集まりに対する統一的な操作だからね
770 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 00:25:57.38 ID:b15uPX39.net] 実際にどうか分からんが、件のデータがhtmlだとしたらHtml Agility Packなんか使ったほうがトラブルに巻き込まれずに済むかもしれんね
771 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 02:25:12.08 ID:NUMUMJ+D.net] LINQは同じようなデータに対する処理を書くものだから正規表現とかやるならLINQである必要性が薄い たとえばnew{Name, Kokugo, Sansu, Rika, Shakai}みたいなクラスを作れる成績表ファイルだったらFile.ReadLinesでLINQが有効 >>734 のやりかたなら普通にforeachしたほうがわかりやすいと思う var list = new List<string>(); foreach(var line in File.ReadLines( @"hoge.txt" )){ if(!string.IsNullOrWhiteSpace(line)){ var str = Regex.Match(line , "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>" , RegexOptions.IgnoreCase ).Groups["url"]?.Value; if(!string.IsNullOrWhiteSpace(str)) list.Add(str); } }
772 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 07:56:05.65 ID:Los5n9AY.net] 求めてるのは分かりやすさではなく自己満足だ 余計な世話を働くな
773 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 07:58:25.66 ID:FwVQMCtV.net] どう見てもLINQの方が見易い
774 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 08:03:54.52 ID:dubRMvMU.net] そうだな このケースは実質的には 行の集合→フィルタ→変換→フィルタ→結果の集合 という要素ごとに独立な集合操作なのでLINQを使うのはおかしくはない
775 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 09:27:42.54 ID:b15uPX39.net] htmlのタグは行をまたぐことも多いから、行の集合体として処理するとエライ事になるよ
776 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 17:10:09.52 ID:2y0wDvFa.net] >>747 foreach使ったら遅延の意味ないし さらに新たにlist作ってるのが古臭い
777 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 18:06:53.36 ID:sljIQlRZ.net] >foreach使ったら遅延の意味ないし ?
778 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 19:38:54.77 ID:Ky5LrglX.net] 今時2.0のレガシーなソースコードを流用しないといけないんだけど、XML Webサービスと型付データセットでこれををEFとEDMに置き換えることによるデメリットって何かある? ちなみに同一アセンブリ内からしか呼び出ししてないのになぜかASP.NETでWeb参照作ってSQL Serverと接続させてる元開発者の意図が読み取れないんだけど・・・
779 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 19:45:39.77 ID:EC9THrMO.net] >>754 今となってはEFだからとコードファーストにする必要も無く、既存のDBから作れるし別に問題ないんじゃね 動作環境を4.5.2にしないと来年早々にサポートが切れることぐらいか
780 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 20:05:38.85 ID:yYqeH5aP.net] わざわざList<T>なんぞ作らず、yield returnにしておけばいい。 それならforeach使おうが、遅延評価されるやろ。
781 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 20:18:02.90 ID:sljIQlRZ.net] ??
782 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 20:58:20.79 ID:VAIEdV8u.net] 脳に障害でも抱えてんのかお前
783 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 21:23:02.20 ID:cKAT5bUn.net] すみません。 すぐ片付けますので。
784 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 22:04:08.00 ID:Ky5LrglX.net] >>755 いやどっちみち既存DB使うからデータベースファーストなんだけど、SqlCommandじゃなくてLINQ to Entity使いたいからEFなんだよ
785 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 22:07:54.82 ID:EC9THrMO.net] >>760 何が言いたいのかわらかないけど、使いたいなら使えとしか・・・
786 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 22:14:13.84 ID:
] [ここ壊れてます]
787 名前:VAIEdV8u.net mailto: ファイト一発 [] [ここ壊れてます]
788 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 22:27:48.52 ID:AjxvVfcS.net] >>760 今なら既存DBからコードファーストというオプションが存在するんだぜ LINQ使いたいだけならLINQ to DataSetって方法もあるぞ 既存コードの量にもよるけど、既存コード全部修正してまでEF導入するほどのメリットがあるのか あるいはEFとADO.NET直接や型付きデータセットを混在させるのは容認されるのか
789 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 22:38:34.20 ID:2y0wDvFa.net] >>753 本当に分からないの? すべての要素を実体化させてるからなんだけどね。
790 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:05:26.00 ID:+tTEt6jT.net] >>764 ごめん 俺もわからん 解説plz
791 名前:デフォルトの名無しさん [2015/11/12(木) 23:08:48.25 ID:qQwabUEl.net] お世話になります。 非同期処理でUIにアクセスするさいにBeginInvokeを使っているのですが 回転数が少なく条件にマッチしない場合BeginInvokeの方が先に終わってしまうのか labelの方は100000と書いてあるのに終了のメッセージボックスがしばらくしないと出ない感じに なってしまいます。。 Taskスタートのつもり { for (j = 0; j <10000; j++) { メソッド1(j); bool flg=メソッド2(j); if (flg) this.Invoke(new Action(() => HITLabel.Text = "hiT")); this.BeginInvoke(new Action(() =>進行Label.Text=j+1.ToString()));// } //ループ終了 }); MessageBox.Show("完了せり"); とこんな感じでかなりあれなんですが・・・ Invokeにすれば同期できるんですが終了待ちする関係で 時間が掛かってしまい3秒くらい追加になってしまうようです。 BeginInvokeを使いループ終了と同期させる方法がないでしょうか? 200万ぐらいから同期するみたいなんですが。
792 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:13:38.94 ID:Dz+qxRLQ.net] >>764 遅延評価させる意味というか目的を教えてほしい。
793 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:19:26.88 ID:dubRMvMU.net] >>766 それjが一つだから進行Label.Textは最初から全部10001になるだろ BeginInvokeは引数を渡せるオーバーロードがあるから進捗情報はそっちで渡せ jをループ内で宣言し直す方法もあるけど、 コンテキストをまたがって変数を共有するのはトラブルの元なので極力避けることをお勧めする
794 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:29:31.65 ID:qQwabUEl.net] >>768 さん アドバイスありがとうございます。 jの件仰るとおりでした それと肝心のBeginInvokeですがつまりActionではなく デリゲードを生成してそちらに引数を渡せば解決するということでしょうか?
795 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:35:00.45 ID:yYqeH5aP.net] そもそも、今の時代にBeginInvokeなんか使ってるのが間違い。 Task.、async / awaitを使うべき。
796 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:45:09.01 ID:qQwabUEl.net] >>770 さん 仰る通りだと思うんですがasync/awaitは4.5?でしたか。環境が駄目でorz
797 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 23:52:28.74 ID:FwVQMCtV.net] foreach使ったらダメとか思い込んでる奴は恐ろしいな 遅延評価は最後のforeachのためだぞ
798 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 00:05:42.71 ID:0XMaJRAY.net] LINQの話が自演荒らし臭くなってきた
799 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 01:32:54.47 ID:mVyjF6P7.net] Linqで作成したqueryをforeachにかけるならいいけどね
800 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 03:14:28.15 ID:fOj/PJch.net] もしファイルが巨大ならスレッドブロックしちゃうし、listに追加したらメモリ使い果たしちゃう 状況にもよるけど、別スレッドでファイルとかに逐次書き出すとかが理想
801 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 07:05:08.20 ID:iH7KAiTO.net] >>771 blog.xin
802 名前:9le.net/entry/2012/12/26/125214 4.0でも使えないわけじゃない [] [ここ壊れてます]
803 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 21:50:19.26 ID:WHtd9CIG.net] >>768 さん private delegate void デリゲート(int n); private void 進行表示なのよさ(int n) { 進行Label.Text=n.ToString()));// } デリゲート デリゲート進行なのよメソッド= new デリゲート(進行表示なのよさ); this.BeginInvoke(デリゲート進行なのよメソッド, new object[] { j }); と渡しましたけど無事に死亡確認しました。orz 変らず・・・・ なんか5万でやったら処理が間に合わないのかデッドロック >>776 さん あっライブラリーを別にインストールしてやる感じですか。 ありがとうございます。
804 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 21:56:43.98 ID:qRfCc0Iv.net] なんでわざわざdelegate宣言してんの? 特別、ref とか outを使いたいとかじゃない限り、Action<T>、Func<T> を使うべき。
805 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 22:05:31.10 ID:WHtd9CIG.net] >>778 さん あっ宣言しなくても省略できるんですか・・ void Action<T>(T obj)・・これは知らなかったです・すいません。 Tにメソッドを入れて引数にT objを指定する感じですかな。 どうにも疎くて;;
806 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 22:11:25.68 ID:v46Ke5nq.net] 死ねアッチョンブリケ
807 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 22:16:22.98 ID:qRfCc0Iv.net] .NET 4.0ならBeginInvokeとかInvokeとか使わずTaskを使うといい。 Task.Factory.StartNew( () => { // 別スレッド Thread.Sleep( 3000 ); // 重い処理のつもり return 1000; } ).ContinueWith( task => { // UIスレッド this.label.Text = task.Result.ToString(); } , TaskScheduler.FromCurrentSynchronizationContext() );
808 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 00:12:23.08 ID:PWAfQw+v.net] >>781 非UIスレッド側からUIスレッドにイベントを通知したい、なんてケースもあるので万能じゃないけどね。
809 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 00:28:17.73 ID:zC8KxVmn.net] >>782 そういうのは、Rx使ってる。
810 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 00:45:14.09 ID:JMgFPTs6.net] .NET MVCで画面作るときに viewに複雑のユーザー定義クラスを渡す時ってカスタムbinderつくるしかない?? 例えば検索フォームと一覧で構成される画面で 検索フォームmodelと一覧modelをバインディングするみたいな。
811 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 01:45:16.57 ID:J/xjBQ6p.net] 何をわけの分からんことを class 俺モデル { public 検索フォームmodel M1; public 一覧model M2; } これをモデルとして渡せばOK
812 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 02:49:03.10 ID:JMgFPTs6.net] >>785 view側で @TextBoxFor(m => m.M1.Unko) @TextBoxFor(m => m.M2.Chinko) みたいなのをformで送ったが、 ActionメソッドをIndex(俺モデル myModel) としても、値とってこれないんだよね
813 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 02:56:01.24 ID:T0Fy32Ow.net] >>781 の兄者・・ 駄目でした;; 既にtaskは使っていて var task1 = Task.Factory.StartNew(() => これの終了に別のタスクで繋いで終了表示をしてるんですが 781の兄者のやり方のとおりに子タスクを設定してみたんです。 したら親タスクのつなぎタスクに繋がらないときがあるみたいで;; なんで繋がなくなる時がある上に終了してるのに 終了ウィンドウがしばらくしないと出ないのか・・ きっと妖怪のせい・・
814 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 11:18:55.84 ID:10oOQI9U.net] まず日本語が、正しく以下略
815 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 13:23:53.12 ID:m53r0/yX.net] こういうのを見ているとTaskチェインよりもawaitの方がスマートだというのがはっきり分かるな
816 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 16:57:33.34 ID:g6rNXfjz.net] >>786 だけど getter setterつけたらいけたわ。
817 名前:デフォルトの名無しさん [2015/11/14(土) 18:56:20.98 ID:OxpghztZ.net] 今unityでゲームを作ってるんですがc#のクラスの配列について質問です こういうコードがあるとします public class Aa{ int i; string b; public Aa(int iH,string bH){ i=iH; b=bH; } } Aa [] aa=new Aa[]{ new Aa(10,"aaa"), new Aa(20,"bbb") }; これでコンパイルは通るのですがこの後半に書かれたクラスの配列の初期化が なんとも気持ち悪くて仕方がありません これから何百行もクラスの初期化のコードを書くつもりなのでnewとかAaとかが無意味に並んでる辺りが 非常に醜いと思います もっと初期化を簡略化する書き方はないでしょうか?
818 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:13:53.28 ID:nPG81Nq1.net] 設定ファイルを別に用意して for ループかなにかでインスタンス作るのはダメなん?
819 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:15:20.30 ID:Ldro2YxR.net] >>791 ファイルに出せ
820 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:16:41.03 ID:x0D1OM5m.net] >>791 それが無駄だと全然思わないんだけど、 static Aa[] ToAaArray(params string[] args){...} みたいなメソッドでも用意するとか。
821 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:21:51.68 ID:0hbObyK2.net] ゲーム作ってますと何百個のクラス作ってますがどうしたらいいでしょうか はワンセットになりつつある
822 名前:デフォルトの名無しさん [2015/11/14(土) 19:22:29.23 ID:OxpghztZ.net] >>792 >>793 ファイルに出すというのはテキストファイルを別に作って読み込むという方法でしょうか? それも考えたんですけどそれだとテキストファイルを作る時引数の入力補完が効かなくなって かえって間違えやすくなると思うんですけど >>794 入力補完を利かすため引数のデータをデータ型通りの形で並べたいんですけどどうしたらいいですかね
823 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:35:41.52 ID:zC8KxVmn.net] >>791 var aa = new [] { new Aa( 10 , "aaa" ) , new Aa( 20 , "bbb" ) };
824 名前:デフォルトの名無しさん [2015/11/14(土) 19:39:17.01 ID:OxpghztZ.net] >>797 外側減らしたって意味無いすよw 中が圧倒的に多いんだから
825 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:44:59.12 ID:zC8KxVmn.net] 外部にテキストファイル、例えばcsvなんかを用意して読み込むようにするか、 もしくは、partial class を作って別ファイルにメソッドを隔離しておくか。
826 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 20:08:15.99 ID:nPG81Nq1.net] >>796 入力補完? 入力候補が決まってるなら、EXCEL でも使ってセルの入力規則のリストでも利用すればすむ事じゃん。 こっちの方が列で管理出来るから引数の順番とか間違えなくて(その意味では)便利だろ。 別にお前に限ったことじゃないけど、条件の後出しはよせ。正直ムカつく。
827 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 20:10:22.93 ID:FGqqqIfB.net] >>798 テキストファイル読み込んで作るか、もしくはnewをいっぱい書くのが普通だと思うけど それでも無理やり減らそうと考えるならこれかな。 var aa = new List<Aa>(); var elements1 = new[] { 10, 20, 30 }; var elements2 = new[] { "aaa", "bbb", "ccc" }; for(int i = 0; i < elements1.Length; i++) { aa.Add(new Aa(elements1[i], elements2[i])); } これだとタプルを分解して書かないといけないから不満が残るけど (10, "aaa")のような形でインスタンスを作れない以上どうしようもない気がする。 最近C#触っていないからもっといい方法があるかもしれないが。
828 名前:デフォルトの名無しさん [2015/11/14(土) 20:18:02.62 ID:OxpghztZ.net] >>800 基本的にunityのmonodevelopで完結させたいんだよね monodevelopは使い方も知ってるし >>801 それだと例えば1番目なら1番目の項目の書いてる場所がバラバラになってしまって とても管理出来そうにない みなさんありがとうございました 自分が今まで致命的な勘違いをしてた訳じゃないとわかっただけでも収穫でした newとクラス名連打で作りたいと思います
829 名前:デフォルトの名無しさん [2015/11/14(土) 20:23:51.44 ID:vsCbl3R/.net] テキストファイル作る時の引数って意味がわからん。 オブジェクト作成時に値チェックかけて、 整合性が保証されてる状態で書き出せばいいだろ。
830 名前:デフォルトの名無しさん [2015/11/14(土) 20:27:37.98 ID:OxpghztZ.net] >>803 それだと実行させなきゃエラーを出せない unityのmonodevelopは初期化の時引数の型が間違ってたら書いたその場でインフォメーションしてくれる
831 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 20:57:41.24 ID:Qc99f8i6.net] >>804 単体テスト書けば良いんじゃないの。書いたその場で、とは行かないが。
832 名前:デフォルトの名無しさん [2015/11/14(土) 21:00:39.59 ID:vsCbl3R/.net] >>804 モデルのオブジェクト(メンバの型)を経由するのにどう引数間違える可能性あるんだよ?
833 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 00:43:58.51 ID:PNJd8cmY.net] >>791 var bullets=Enumerable.Range(0,100).Select(i=> new {Id=i,Num=10,Str="100" });
834 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 01:30:33.23 ID:8pwk8L+v.net] it.srad.jp/story/15/11/13/210208/ 混迷極まってるな、MS工作員にはモバイル用は別OSにするって発想はでないのかね? 別に、コアコードは変わる訳じゃなかろうに、上っ面の部分だけモバイル向きに作り替えて アップデートのタイミングをそれぞれに調整すれば良いだけ モバイルで流行らないのは、単にWindows8に商品力が無いだけだ デスクトップ向きはWindows7に戻しちまえばいいのに Windows10とか誰も欲しがらないだろ・・・
835 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 01:31:54.15 ID:PNJd8cmY.net] static void Main(string[] args){ //AaValues.txt //10,aaa //20,bbb AaFct(File.ReadLines("AaValues.txt").Select(l=>l.Split(',')));} private static void AaFct(IEnumerable<string[]> values){ using (var f = File.AppendText("Aa.cs")){ foreach (var v in values){ f.WriteLine($"new Aa({v[0]},\"{v[1]})\",");}}}
836 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 02:56:43.32 ID:m6nrC5L1.net] やっぱりLINQ最高
837 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 06:35:48.77 ID:Ro5/nML1.net] Formをある程度デザインし終わった時に、ウィンドウそのもののフォントをUIゴシックからメイリオに切り替えると サイズや配置が変わって一気に崩れるんだけどなんで? そもそも個別のコントロールにフォントを設定していたらウィンドウのフォントって触る必要がないもの? みなさんフォントは何使ってるんだろう モリサワとか入れてるんだろうか
838 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 07:24:16.58 ID:m7boHCrI.net] テキストの幅がちょっと変わっただけで崩れるようなデリケートなデザインを作らないのが基本 業務アプリとかでクソ細かい要求を受け入れなきゃいけないなら全部MS Pゴシック
839 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 07:33:24.90 ID:wjlQu+Ap.net] >>811 まずFontはアンビエントプロパティ。特に設定してない子コントロールは親のフォントを使う よってFormのフォント変えると、子コントロールのフォントも変わる。 さらにFormのAutoScaleModeはFontがデフォ。 フォントによってAutoScaleDimentionの値が変わる よって各コントロールの大きさが変わる。以上。 AutoScaleModeはDPIにしとこう
840 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 13:44:16.69 ID:Ro5/nML1.net] >>813 具体的なご指導に感謝いたします 独学でやってるとなかなかそうしたものまで及ば
841 名前:ネいので本とありがたい [] [ここ壊れてます]
842 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 14:45:22.59 ID:s1AdXoMj.net] dbプログラミングで検索するとentity framreorkと言うのが出て来るがこれは何よ?使わ無くてもいいのか?使うといいの?
843 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 14:54:00.71 ID:giTGvBPC.net] >>815 DBを扱うためのフレームワークの一つ。 何をどれぐらいの規模で作りたいかによる。 小規模なのは、適当なDBで十分、FEは、機能が多すぎてちょっとしたものに適応するには重すぎるだろう。 サーバーを必要としないようなクライアントアプリならSQLiteあたり使っておけばいい。 ORMがやりたいならDapperあたり使えばいい。
844 名前:デフォルトの名無しさん [2015/11/15(日) 15:00:11.33 ID:19LeITHM.net] 質問です enum Syurui{ a,b,c } string moji=“a”; Syurui syurui=/この部分 この部分と書いたところに変数mojiの中身を列挙型のSyurui.aに変換して syuruiに入れる処理はどう書いたらいいでしょうか?
845 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:04:30.20 ID:giTGvBPC.net] >>817 Syurui hoge = (Syurui)Enum.Parse( typeof( Syurui ) , moji ); もしくは、 Syurui hoge; Enum.TryParse<Syurui>( moji , out hoge );
846 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:04:59.41 ID:s1AdXoMj.net] >>816 詳しい説明有難うございました。 windows vpsサーバーにmysqlいれていてdbプログラミングの勉強中です。月間ページビュー1000万くらいの規模のdbアプリを目指したいです。そういう場合はEFが良いですか?
847 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:05:44.14 ID:XKYu6RGQ.net] Enum.Parseを使う
848 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:06:56.73 ID:giTGvBPC.net] >>819 その規模になると、SQLiteとかじゃ耐えれないだろうから、EF使うと良いと思う。
849 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:11:31.11 ID:s1AdXoMj.net] >>821 有難うございました。 早速やってみます。1000万pv達成出来たら報告します。
850 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:12:13.39 ID:SModPTsN.net] >>819 アクセス数よりDBの構造の規模で。 どの程度学習してるか、これから学習するのかわからないけど とりあえず簡単なものを両方のやり方で試してみるのがいいと思うよ。
851 名前:デフォルトの名無しさん [2015/11/15(日) 15:26:03.20 ID:19LeITHM.net] >>818 できました〜 ありがとうございます ちゃんと列挙型の変数に格納されて違う値入れたらエラーも出ました
852 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:06:04.89 ID:bBffLHE3.net] Dapper使うとして、SQL文字列を組み立てるじゃん。 stringbuilderで組み立てていったとき、 なんちゃらフラグのときは〜みたいな条件がたくさんあると if,elseとかのネストがきったなくなるんだけど、どうしたらいいんだろ?
853 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:38:51.59 ID:kqjPbh/t.net] SQLをシンプルにして、LINQでごにょごにょする。 かなり綺麗になる。でも、巨大なデータをメモリ上に置くことになるので これが最適かどうかはわからない。 どうしたらいいんだろう…。
854 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:44:09.23 ID:hXzxGHNH.net] 遅延ローディングできないんですかね
855 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:06:33.10 ID:kqjPbh/t.net] ユーザー情報がID、名前、年齢、パスワード、メールアドレスで管理されているとする。 IDが4バイト、名前が255バイト、年齢1バイト、パスワード255バイト、メールアドレス255バイト だとすると、1レコードで770バイト。1万人を管理するとして、7,700,000バイトつまり7MB。 メモリ数が4GBだとすると、1/600くらいをメモリが占めることになる。思ったより巨大。 例えば年齢が25歳以下のユーザーだけを取り出したいとする。 そのために、.Where(u => u.age <= 25) というLINQ式を追加する。 7MBのデータを一つずつ見ていかなければならないとすると、一つのメソッドでどれくらいの時間がかかるだろうか?
856 名前:完全に適当だが、1レコードで100万分の1秒くらいと予想。 1万人で0.01秒。つまりメソッド一つで0.01秒しかかからない。 メモリもすぐに解放される。1/600と聞くと意外と大きな割合のように思えるが、存在しているのはほんの0.01秒である。 さて、メソッドが連なっている場合はどうなるか。 一つ目のメソッドでWbereメソッドを使っているとすると、二つ目以降のメソッドでは、処理対象のレコードが少なくなる。 それは例えば1万→5000といったように。 すると当然、処理時間も減少する。上の例では0.005秒と半分になる。 対象レコード数が1万程度なら何も問題はなさそうだ。 だから僕は、効率よりもソースコードの綺麗さを取ることにする。 これが100万行とかになると、1メソッドで1秒かかることになる。流石にそれはまずいので、 SQL分にWHERE句を追加して、RDBMSに条件の絞り込みの処理を任せる。 if,elseなどを使う必要がある場合はLINQを、最初から決まっている絞り込み条件の場合はそのままWHERE句を 使用する。そうすることにより、早さを維持しながらソースコードを綺麗にすることができる。 [] [ここ壊れてます]
857 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:24:45.76 ID:SModPTsN.net] まあif文とこ別関数にしてメソッドチェーンみたいにしてもいいしね DBは別のサーバにあることが多いから通信も考慮しないとね
858 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:25:22.41 ID:giTGvBPC.net] 100万件レコードがあったとして、何も100万件全部読み出す必要はないし、そんなことするなら設計を見直すべきだろう。 WHERE句とLIMIT句を指定してレコード数を制限して必要な分だけ読み込めばいい。
859 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 19:36:39.93 ID:CvRB/UR5.net] メソッドチェーンの使い所ってどんな時?
860 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 19:55:51.71 ID:5wcT3tcL.net] >>831 使いたい時に使えばいい LINQがいい例 >>819 本当にパフォーマンスが必要ならEFなんてやめとけ EFは文字列でSQLを作りたくない時に導入するもの
861 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 20:12:14.42 ID:s1AdXoMj.net] >>832 そういう事ですか! 文字列で select 文を書く普通のやり方で十分なのでef使うのは中止します。
862 名前:デフォルトの名無しさん [2015/11/16(月) 12:51:54.53 ID:Ffgt4uY8.net] 質問です 文字列を変数名として扱う方法はありませんでしょうか? 例 int a=0; string amoji=“a”; kansu(ref ここ); void kansu(ref int a){ Debug.Log(a); } 「ここ」と書いた場所にstring型の変数amojiの内容である”a”から変数aを用いる ためのコードの書き方はどうしたらいいでしょうか 変数のリストをテキストファイルで管理しようと思っているのでこういうのが 必要になりました
863 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 12:55:17.48 ID:AqzFwWr1.net] まっ、その気になればやってやれん事はないのだが、やめろ
864 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 12:58:11.19 ID:Eod8iMW6.net] >>834 これじゃダメ? int Kansu(string amoji){ return "a"→aの処理; } テキストファイルから読み込んで変数リストの管理を行うなら別のやり方になりそうだけど
865 名前:デフォルトの名無しさん [2015/11/16(月) 13:01:18.51 ID:Ffgt4uY8.net] >>836 その「"a"→aの処理」っていうのはどうやるんでしょうかね?
866 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 13:05:25.95 ID:mRFC3bAE.net] 何故そんなことをしたいのかわからないが… やめとけ。 ろくなことにならないからw
867 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 13:14:01.22 ID:6H4dK92G.net] >>834 javascriptなら出来るんじゃないか?
868 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 13:29:25.05 ID:RuGtzWomJ] mapを使えばできる
869 名前:デフォルトの名無しさん [2015/11/16(月) 13:16:03.85 ID:Ffgt4uY8.net] >>838 そんなダメですかw 誰もやってない方法ならやめときます >>839 c#では一般的なやり方じゃないようですね 別の方法を考えます
870 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 13:35:59.43 ID:htc6fDTL.net] C#関係なしに一般的ではないと
871 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 13:36:29.71 ID:vMsjPxDw.net] ev
872 名前:alが使いたいという話でもないのか [] [ここ壊れてます]
873 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 13:50:11.34 ID:p+PVyYp5.net] ダーティーハックが尊ばれる下痢便言語ではよくある手だろ
874 名前:デフォルトの名無しさん [2015/11/16(月) 14:39:35.24 ID:Ffgt4uY8.net] じゃあこういうのはどうですか? public delegate void Aa(); Aa a; string kansuu=“Bb”; public void Bb(){ Debug.Log(“Bb”); } a=//ここにaに文字列kansuuの中身の”Bb”を関数Bbに変換するコードを入れる a();//ここでBb()を呼び出す
875 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 14:49:16.58 ID:mRFC3bAE.net] やろうとしていることが根本的にズレているんだよ
876 名前:デフォルトの名無しさん [2015/11/16(月) 14:52:29.58 ID:Ffgt4uY8.net] >>846 要するに文字列から関数や変数にアクセスしたいって事なんですけど そんなにおかしいですか 文字列から直接アクセスできないとなれば変数や関数を列挙型でリストアップして 使うときはswitch文で分岐なんていう情けないコードにしかならないと思うのですが
877 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 15:01:52.67 ID:mRFC3bAE.net] private readonly Dictionary<string,Func<object>> values = new Dictionary<string,Func<object>>(); Hoge(){ string x = 100; this.values[nameof(x)] = () = x; int ans = this.GetValue<int>( nameof( x ) ) * 2; Console.WriteLine( ans ); } T GetValue<T>( string name ) => (T)this.values[name]?.Invoke(); みたいなことをやれば辛うじてできなくはないが、保守性も効率も最悪なので普通はやらない。
878 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 15:03:36.05 ID:vMsjPxDw.net] Dictionary に入れといて呼ぶとかでいいじゃん、、 まあReflection使えばできる public static void Bb() { Debug.WriteLine("Bb"); } void test() { Type thisType = GetType(); string kansuu = "Bb"; MethodInfo mi = thisType.GetMethod(kansuu); mi.Invoke(null, null); } とか、、、delegateでもいけるかな
879 名前:デフォルトの名無しさん [2015/11/16(月) 15:13:31.76 ID:Ffgt4uY8.net] >>848 >>849 Invokeというメソッドを今初めて知ってよくわからないんですけど どうもかなり遅いらしいですね ゲームを作っているのでそれでは都合が悪いです やっぱりずらずらとリストアップする方法でやりたいと思います ありがとうございました
880 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 15:14:46.20 ID:Eod8iMW6.net] これID:OxpghztZだろw
881 名前:デフォルトの名無しさん [2015/11/16(月) 15:21:13.63 ID:Ffgt4uY8.net] >>851 バレちゃったw 結局テキストファイルを読み込んでやる事にしたんです それでテキストファイルに変数名や関数名を書きたいなぁと思って質問しました
882 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 15:39:44.62 ID:mRFC3bAE.net] ActionとかFuncのInvoke自体は、普通のデリゲートコールなので遅くない。 Action a => () => { } ; a(); と a.Invoke() は、同じことをやっている。 null伝播使うとき、 ?.() という書き方ができないので、?.Invoke() にしてあるだけだ。 もちろん、普通のメソッドに比べれば、インライン化されないなどの僅かな差はあるだろうが、気にするほどではない。 遅いのは、>>849 がやってるようなリフレクションだ。 こいつは、桁違いで遅い。ExpressionTreeで実行時にデリゲートを構築してやれば、速度の問題はある程度解消できるだろう。 あとは細かいところで変数のキャプチャ、ボックス化が生じてパフォーマンス低下につながることになる。
883 名前:デフォルトの名無しさん [2015/11/16(月) 15:46:42.66 ID:Ffgt4uY8.net] >>853 正直初心者なのでその区別もつかないです dictionaryとかならわかる範囲なのでそれでも使おうかなと思ってます 多少コードが冗
884 名前:長になっても [] [ここ壊れてます]
885 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 16:12:09.04 ID:4iBaA+8B.net] 関数と文字列が予め決まっているなら、switch文で分岐して関数呼ぶのが早いだろうが
886 名前:デフォルトの名無しさん [2015/11/16(月) 16:42:18.72 ID:Ffgt4uY8.net] >>855 やっぱりそれが一般的なんですかね 別のゲームにも再利用しやすい仕組みにできないかなと色気を出してしまったのも 今回こういう質問をした理由なんですけども
887 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 16:46:44.96 ID:mRFC3bAE.net] よくわかっていないうちは、今後再利用しようなんてやめとけ。。 再利用しようとしたときには、(誰だ、この糞設計したのは!糞コード書いたやつ死ねよ?…自分か…)ってなってゴミと化すだけだから。
888 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 18:04:07.44 ID:/wMXw7Lm.net] 型が決まってて値取り出したいだけならシリアライズで十分とも思うけども。
889 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 18:40:32.23 ID:LDaVIeza.net] >>858 「変数のリストをテキストファイルで管理しようと思っている」って>>834 で書いてるから、変数の値は保存してないんじゃねえの? 全く意味不明だけど
890 名前:デフォルトの名無しさん [2015/11/16(月) 19:19:50.00 ID:Ffgt4uY8.net] >>858 シリアライズとはどういう機能なんでしょうか? ググってもイマイチわからなかったのでこの件とどういう関係があるのか教えてもらえませんでしょうか
891 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 19:19:59.69 ID:/wMXw7Lm.net] >>859 あ、そうか、外してたな
892 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 19:37:02.75 ID:mRFC3bAE.net] シリアライズというか、設定値なりパラメータをソースコードじゃなく外部で管理したいだけなら、XMLとかJSONとかで読み込めば良いだけだろう。
893 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 19:38:00.43 ID:diuJbJ+U.net] >>860 シリアライズはオブジェクトを通信で送るのに使う ローカルファイルへの保存に使うのはドツボにはまるのでやってはいけない XmlSerializerみたいなスキーマありきの奴ならいいけどね
894 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 19:42:53.32 ID:mRFC3bAE.net] >>863 設定データの保存用にBinaryFormatter使ってたら、古いデータとの互換性取れなくなってドツボにはまったことあるわ。
895 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 20:34:38.26 ID:HIZPDz5u.net] クソみたいなゲーム作ってないで宿題やってクソして寝ろ
896 名前:デフォルトの名無しさん [2015/11/16(月) 20:45:10.02 ID:Ffgt4uY8.net] >>865 うるせーなw 大きなお世話だw
897 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:21:51.30 ID:bfEVOxks.net] >>ID:Ffgt4uY8 こういう人って必要な分だけネットで覚えたから知識に穴だらけ 基礎もままならない状態だから、ある目的のためにダメな手段を 思いつきでやろうとするから>>834 のようなことになる newを100回書こうとしたりね 目的を自分の中で明確にして質問すればいいのにな ここにいる人も気づいているのに からかい半分に間違った手段のために律儀に答えようとしてるし みんなもわかっているんだろ、本当に彼がしたいことを 焦る気持ちはわかるけど、まずは基礎だよ 基礎がしっかりしてないと、コピパーになるよ
898 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:27:42.07 ID:LDaVIeza.net] 変数のリストをテキストファイルで管理ってのが理解不能すぎて解決策が出せないんだよな 変数名しか管理しないんならソースコードに直接書けばいいとしか思えないんだけど、多分深い理由があるんだろうからテキストファイルから変数を取得する方法を教えるしかない
899 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:41:27.09 ID:p+PVyYp5.net] 別に間違ってる奴は間違ってるまま突っ走ってくれて構わんだろ 垂れ流しのウンコを擦り付けてくるなよってだけ
900 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:43:40.13 ID:p+PVyYp5.net] DSLを設計するのが好きな奴と関わりあいになりたくない
901 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:48:59.73 ID:Eod8iMW6.net] 皆律儀に構ってやるから居ついちゃうんだよな
902 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:50:19.96 ID:mRFC3bAE.net] たぶん設計とか何も考えてないと思う… おそらく、変数というものを最近知ったんだろう。 だが、クラスを自分で定義したり、Dictionaryを使ったりする方法は知らないと思われる。
903 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 23:01:20.17 ID:AqzFwWr1.net] どうしても必要不可欠になったとか これができなきゃプロジェクト崩壊、ヤバイ死ぬとか そういう話なら、答えてやらんでもないがね >文字列を変数名 最初から使用を前提にするとか有り得ない
904 名前:デフォルトの名無しさん [2015/11/16(月) 23:41:45.35 ID:Ffgt4uY8.net] ボロクソ言ってくれるよなぁw 俺のやりたい事はアドベンチャーゲームに近いんだけどゲームを「シナリオ単位」 に分けてそのシナリオを遷移させる事で ゲームを進めるという仕組みにしたかったんだよ で、最初はシナリオクラスをたくさんnewして並べようと思ったんだけどそれはやめて テキストファイルから読み込んでやる事にした それでそのシナリオの中には○○関数を呼び出したいとか○○変数を使いたいみたいなのも 含まれる それでテキストファイルの中にaaaaと書いてあって それを読みだしてaaaa変数が使えたら便利なんじゃないか? というのが今回の質問の趣旨
905 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 23:46:31.65 ID:diuJbJ+U.net] 「シナリオプレイヤーを作る」と割り切って考えてシナリオとプレイヤーの仕様を明確にすれば、 変数を文字列で選ぶようなメタな仕組みは必要ないと分かるはず 初心者はそこをごっちゃにするからおかしくなる
906 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 23:59:23.74 ID:bfEVOxks.net] >>874 わかるよーADV用のスクリプト言語開発したいんでしょ 吉里吉里みたいなもんでしょ UnityだとJokerScriptというのがあるみたいだね 自作のゲーム用フレームワークを作って開発効率あげようってことでしょ ゲーム制作は専門外なのでぼくは答えられませんけど がんばってね!
907 名前:デフォルトの名無しさん [2015/11/17(火) 00:06:19.08 ID:R+1w9ien.net] >>875 設計がおかしいというのは薄々わかってました 今回おかしいと言われてようやく明確な自覚を持てました それがわかっただけで有意義な質問だったと思います ありがとうございました >>876 そういう事なんですよ スクリプトというほど高等な物じゃなくて簡易的なものなんですけど
908 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 00:10:46.96 ID:0HyN1ztj.net] はじめからどういう目的があるのかを質問に含めないから厄介なことになるんだ。 BASICみたいな感じで簡易スクリプト言語を組んでしまえばいい。 MSG 何かのメッセージ MSGEND SET A=100 GET B,A みたいなやつを決めて、C#側での変数管理は、Dictionary<string,object> values;のようなディクショナリでまとめておいて、 SET命令が出てきたら、values["A"] = 100。 GET B,Aなら、values["B"] = values["A"] って感じで実行するように組んでおけばいい。
909 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 00:16:26.67 ID:WTj4x1Uo.net] >>877 アスペなのかもしれないから教えておくけど、875はそういうスクリプトを使えってことを嫌味を込めて言ってるんだと思うぞ 車輪の再発明は無駄だからな
910 名前:デフォルトの名無しさん [2015/11/17(火) 00:19:58.23 ID:R+1w9ien.net] >>878 その考えで根本的に作り直したいと思います まだ準備段階なのでやり直しが効きますので >>879 自分で作るというのはすでに決まってます だから小規模でまとめようと思ってます
911 名前:デフォルトの名無しさん [2015/11/17(火) 00:37:33.94 ID:3fiu8XQQ.net] ハッキングして遠隔操作みたいのをしてみたいんですけど、どうすればいいんですか? 学校でC言語とJavaは習いました。
912 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 01:07:53.71 ID:lYlDUfoh.net] まず自殺します
913 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 01:09:58.66 ID:+UlWRHgW.net] >>874 C#でやるべき方法じゃないと思う 動的言語rubyとかでやったほうがたぶん早い
914 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 01:12:35.98 ID:MdYEWsJu.net] アスペに「アスペなのかもしれないから教えておくけど」と言ったところで アスペなんだから伝わるわけないわな 無駄無駄ァ
915 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 01:13:29.87 ID:slq8dUH/.net] >>880 できたよ class Player{
916 名前:public void Say(object str){ Console.WriteLine(str); } public void Dance(object d){}} class Game{ List<Action<object>> scenario = new List<Action<object>>(); public void Init_Scenario() { var akane = new Player(); var player = new Player(); scenario.AddRange(new Action<object>[] { o=>akane.Say("おはよう"), o=>player.Say("おはよう"), o=>akane.Dance(1), o=>player.Say("いきなり踊るな!"), });}} [] [ここ壊れてます]
917 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 01:14:37.99 ID:lYlDUfoh.net] IronPythonでも組み込んどけばいい 自作する価値はない シベリア超特急エンドレスで見た方がマシ
918 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 01:20:05.47 ID:0HyN1ztj.net] c# 6.0ならRoslyn for Scriptingが使えるのでスクリプト機能を簡単に組み込めるだろう。
919 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/17(火) 13:02:45.67 ID:+c9tLHNn.net] >>878 そんな作りで効率上がると思ってんの?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
920 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 13:12:19.65 ID:0HyN1ztj.net] 何このアスペwww
921 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/17(火) 13:26:31.53 ID:+c9tLHNn.net] やりたい事の最終目標はそのシナリオごとに単体で開発して起動テストが出来て、そのままゲームに組み込める形だろ HTMLを書いてブラウザで表示させるようなものをゲームプログラミングで行う つまりブラウザ開発
922 名前:uy ◆Qawu9.2l1E [2015/11/17(火) 13:33:24.71 ID:+c9tLHNn.net] > >877 :デフォルトの名無しさん:2015/11/17(火) 00:10:46.96 ID:0HyN1ztj >はじめからどういう目的があるのかを質問に含めないから厄介なことになるんだ。 >BASICみたいな感じで簡易スクリプト言語を組んでしまえばいい。 > >MSG >何かのメッセージ >MSGEND > >SET A=100 >GET B,A > >みたいなやつを決めて、C#側での変数管理は、Dictionary<string,object> values;のようなディクショナリでまとめておいて、 >SET命令が出てきたら、values["A"] = 100。 >GET B,Aなら、values["B"] = values["A"] って感じで実行するように組んでおけばいい。 低能晒しあげ
923 名前:デフォルトの名無しさん [2015/11/17(火) 13:43:42.85 ID:R+1w9ien.net] >>891 俺はこの方法でやろうと思う テキストファイルを読み込む時に個々の命令はクラスの配列に全部入れてしまう だからゲーム中に命令解釈のなんていうのかオーバーヘッドみたいなのは発生しない それでちゃんと動くと思うよ
924 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 14:37:25.22 ID:lYlDUfoh.net] ぐだぐだ言ってないで手を動かした方がいい その方が挫折が早くなって時間を有意義に使える
925 名前:uy ◆Qawu9.2l1E [2015/11/17(火) 15:03:15.83 ID:+c9tLHNn.net] >>892 動くと思うけど動かせないと思うよ 技術力的に
926 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 16:22:29.57 ID:slq8dUH/.net] >>892 >>885 シカトすんな
927 名前:デフォルトの名無しさん [2015/11/17(火) 16:58:51.42 ID:R+1w9ien.net] >>895 回答遅れてすいません それはキャラクターの動作をリストで持ってるだけですよね 俺としてはシナリオにそのシナリオのラベルや分岐情報などをつけたいと思ってるんです
928 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 17:00:51.13 ID:7LzXRzXH.net] >>896 それ、やるにしてもXMLで管理すればよくない?
929 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 17:11:59.62 ID:CRnDMuhn.net] >>896 全部書かなきゃわからんのか! あれを応用すれば言ってること全部できるだろ! 分岐するなら新しいリスト作ればいいだろ! テキストから読むこともない 何が不満なんだよ!アホ!
930 名前:デフォルトの名無しさん [2015/11/17(火) 17:16:13.59 ID:R+1w9ien.net] >>898 やってくれなんて言ってませんw どう回答したものかと困ってこういう書き方になってしまいました スンマセン 当然自分でやります
931 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 17:18:33.49 ID:kJodvt3B.net] それなら普通にコード書いたほうが良くないか?
932 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 18:34:42.67 ID:3nwXwekt.net] シナリオを人間が書きやすくする必要がないならコードで書いたほうが早いな どうせクソゲームなんだろうから誰もシナリオなんて書いてくれないわけで 自分でひりだすんだろうからコードで書いたほうが時間の節約になるな
933 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 18:37:45.69 ID:kJodvt3B.net] ノベルゲーとかなら、わざわざゲームエンジンから作らなくても、既に実績のある吉里吉里とか使った方がいいしな
934 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 19:05:22.52 ID:sj29+6cn.net] あんまりレスの内容見てないけど、ゲームできたら見せてくれよ
935 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 19:20:52.79 ID:A3FVmbuJ.net] どんなゲーム? c#を
936 名前:覚えるまでみたいなゲームだと面白いな ああああはレベルが上がった! if文を覚えた!条件分岐ができるようなった! [] [ここ壊れてます]
937 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 21:30:57.69 ID:lYlDUfoh.net] それはどこかがやってたような?
938 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 22:16:03.94 ID:jwVZTkmN.net] プレイヤーが作った虫同士をネットで対戦させるようなゲームがやりたいな
939 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 22:16:57.43 ID:SR74YNAG.net] >>887 roslynのc#scriptingはまだプレリリースだし、仕様が安定してないところがあるので、 luaとかの組み込み用言語使った方がいいと思うなぁ。 c#scriptingはなかなか魅力的だけど。
940 名前:uy ◆Qawu9.2l1E [2015/11/17(火) 22:19:04.52 ID:H8TlhYuF.net] リアルタイムで自機のショットアルゴリズム記述して 進んでいくSTG作ろうとした事あったけど色々無理があってやめた
941 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 00:33:12.41 ID:SNPtSU1p.net] 面白そうではあるな 近い趣向のものでは、NPCに戦略支持を出してくものがあるけど ビジュアルスクリプトにするにせよ、テンポ調整が難しそうだな むむむ…
942 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 07:37:45.36 ID:by9GKQSy.net] ファミコン時代の記憶が蘇ったわ ブリーダー (ディスクシステム) https://youtu.be/xz3N-d-e-RQ
943 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 08:05:33.01 ID:G8OYuYmR.net] Dispose()を呼び出さないといけないクラスがありますが Formアプリを強制終了したり、Dispose()を呼び出さないでFormを終了した場合 何か問題になったりしますか?
944 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 10:21:52.47 ID:4O1y0zjC.net] >>911 そんなこと気にせずにドンドン必死でプログラム書けばいつか答えが見つかるよ。
945 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 12:46:54.84 ID:/pyqs2gq.net] >>911 using使いなさいよ
946 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 14:35:01.75 ID:8OGiKQJm.net] Formにusingなんか使えないだろw ShowDialogで表示してるなら別として…
947 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 16:00:50.19 ID:1FcAcZvq.net] Formに使う話にいつ変わったの?
948 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 20:35:15.11 ID:by9GKQSy.net] >>911 参照が切れればいつかはGCされる プロセスが終了すればOSに回収される
949 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 22:21:51.16 ID:LvRn/Spf.net] >>914 いつもusingしてるが お前は何を言っているんだ低能
950 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 22:53:39.77 ID:XBTkD2/m.net] Usingもわからな・・・あ、ここ初心者スレかw
951 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 22:55:58.03 ID:s071DD2K.net] 単芝は余裕ぶりたい心の見栄
952 名前:デフォルトの名無しさん [2015/11/19(木) 01:22:50.82 ID:6x5+bHoL.net] んんんんっwwwwwwwwww
953 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 05:51:38.88 ID:cNWt69lk.net] クラスを作る時 インターフェースから書いていきます? 実装から書いていきます?
954 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 06:08:49.37 ID:yq8an3Lp.net] インターフェイス前提のクラスなら実装から書かないでしょ
955 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 06:18:09.35 ID:cNWt69lk.net] あ、違った アプリ作る時 インターフェースから作っていきます? 実装から作っていきますか? 今インターフェースを勉強しているんだけど インターフェースから作った方が綺麗なコードが 書けるんじゃないかなって思ったんですけど
956 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 07:14:47.20 ID:my8rYb+Z.net] 先にインターフェイスを作るのなら、その前に設計書を書かなければならない 最初に全体の完璧な設計が出来上がってるのであれば当然インターフェイスから作るのが後戻りがないわな それができないんなら汚くていいから実装→リファクタ
957 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 07:43:41.76 ID:YneMFXa5.net] C#のTextBoxコントロールで MultiLineプロパティをtrueにセット複数入力が出来る場合で 入力エリアの一番下の位置に空白が出来るのを何とかしたいのですが 何か方法はありませんでしょうか? 現状 /=入力スペース ----------------------------- 1233333/////////////////////スクロールバー 1233333/////////////////////↑ 1233333///////////////////// 1233333/////////////////////↓ ←ここに余白が出来る。エンターを押すと更に下に移動する ------------------------------ 希望 /=入力スペース ----------------------------- 1233333/////////////////////スクロールバー 1233333/////////////////////↑ 1233333///////////////////// 1233333/////////////////////↓ ------------------------------ よろしくお願いします。
958 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 07:51:55.38 ID:cNWt69lk.net] >>924 インターフェイスの抽出なんて機能があったんだ 設計書は書けないから実装からのほうが良さそうですね
959 名前:デフォルトの名無しさん [2015/11/19(木) 08:59:06.47 ID:jS0xGfYR.net] ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。 現代の歴史家は2人が失読症ではないかと疑っている。 https://twitter.com/okdshin/status/666903312151613440
960 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 10:30:02.98 ID:A33ByGDA.net] test
961 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 10:39:22.99 ID:A33ByGDA.net] interfaceはセマンティクスの定義なんだよ。 チーム開発においてクラスメンバのシグネチャを強制すれば振る舞いを誰が実装しても大きな問題おきないでしょ。 実装なんてブラックボックスでいいんだよ、利用者はシグネチャさえわかればいいんだから。 数百、数千億規模のプロジェクトでもまともにinterface作ってない場合多いからレベル低すぎるね。 上流がコーディングできなんじゃ設計なんてできるわけないんだよ。
962 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 12:49:16.71 ID:G20bfr3g.net] >>925 自力でやるしかないんじゃね?
963 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 12:58:52.05 ID:h0D34cF3.net] >>925 何を言ってるのかよく分からない。 そんなこと起こらんけど。 >>927 気付いてないのかもしれないが、コピペマンのお前さんこそ統合失調の疑いが濃厚だよ 馬鹿じゃないの。
964 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 13:16:57.34 ID:WApHXGH2.net] >>925 TextBoxのHeightを小さくして入力スペースぴったりになるようにすれば?
965 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 13:46:03.31 ID:7AHNe+Hm.net] >>929 本当それ 基礎中の基礎なのにinterfaceの使い方もしらないオレオレ設計者しかいないわ、うちの会社 1.1 ボタン押下時イベント みたいなExcel方眼紙にオレオレ詳細設計書書くのが普通になってるし
966 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 14:36:23.31 ID:j6gYHvV7.net] >>925 最後の改行を消せ
967 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 14:42:03.70 ID:gXUiymqK.net] 3行以上書く奴はキチガイ←せいかい
968 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:07:03.92 ID:h0D34cF3.net] >>935 唐突に意味不明なこと書くお前がキチガイなんだ馬鹿。
969 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:13:15.38 ID:f/FwklKJ.net] >>925 若いもんはそういう些細な事が気になるもんじゃ。
970 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:28:03.26 ID:A33ByGDA.net] 極論すると要件を理解してる前提であればInterfaceあれば仕様書や手順書なくたってコーディングできるんだよ。 運用の問題はアトリビュート、共通化したい機能はトレイト・ミックスインで対応可能。 いい加減、ドキュメント作成より実装に工数かけようぜ。
971 名前:デフォルトの名無しさん [2015/11/19(木) 16:07:33.31 ID:PQiMaMHb.net] security.srad.jp/story/15/11/18/0610220/security.srad.jp/story/15/11/18/0610220/ 昨今のマイクロソフトは日々おかしな事しでかすな もう、めんど臭いし、全員でLINUX移ろうぜ
972 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 16:26:04.89 ID:h0D34cF3.net] >>938 誰と戦ってるの?w
973 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 00:05:26.71 ID:U2PcGSVo.net] xmlやjsonをファイルで扱いたいのですが、\などをエスケー
974 名前:vしないようにreadwriteするにはどうすればいいでしょうか? [] [ここ壊れてます]
975 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 06:50:13.45 ID:0b9D5XOx.net] もともとエスケープなんかされない ソースコード上にリテラルとして文字列書く場合だけ\\か@使う
976 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 15:56:07.37 ID:JvKaxnpE.net] >>925の人気に嫉妬
977 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 16:58:48.84 ID:IfcC+Den.net] GraphicsPathのAddStringで文字列の先頭に空白があると削除されてしまいます。 これを回避する方法はありますでしょうか。
978 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 17:21:44.96 ID:hR7d38wi.net] foreach(x,,,) { foreach(y,,,) { yield return x==y } } foreachが入れ子になっているのは ラムダで表現するのは無理だよね?
979 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 17:25:46.50 ID:JFj+7Wuj.net] >>945 SelectMany
980 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 17:50:16.36 ID:w45vfkw8.net] string str = "ああ123.45abc678"; の時にstrを数値に変換するとして、変換出来る最初の部分文字列 "123.45" を数値化したいのですが、そういう関数ありますか? さらに、 string str = "ああ1.2E3abc678"; なら、 1200 が得られるといいのですが。 つまり全角半角どちらでも良くて、かつ指数表示にも対応している。 標準の関数でありますか?
981 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 23:22:04.67 ID:lPfCyIV+.net] 列挙型の要素を動的に追加したり削除したりってできる?
982 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 23:23:57.45 ID:GdR6w5S8.net] 通常の手法ではできません
983 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 00:27:01.45 ID:iT1tZCI1.net] >>948 目的は?
984 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 03:00:05.12 ID:JSdSEHUd.net] >>950 Unityのエディタとスクリプトが依存しあってる環境でエディタ上での変更に柔軟に対応したい(つまり一々コードを手作業で書き換えず楽したい)のと、 文字列を引数にして検索するメソッドを使う際にできれば列挙型か文字列定数で安全に取り扱いたい というのが目的だったけど列挙型のスクリプトを生成するスクリプトを書くのが現実的なのかな
985 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 03:03:06.28 ID:o24m0lwv.net] またID:OxpghztZかよ
986 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 03:06:45.63 ID:u++Mym7W.net] ばれてやんのwww お前もうコテハン名乗れよwww お前ぐらいだよ。そんな変な質問するのwwww
987 名前:デフォルトの名無しさん [2015/11/22(日) 05:54:12.53 ID:c83Tb2v8.net] もう馬鹿なんじゃないかっていうくらい基本の質問で恥ずかしいんですが・・・ 実際の開発でメンバー修飾子(public intenal etc..)ってどういう基準でつけてるもんなんですか? データベースと連携した業務アプリケーションをちまちま作ってるんですが、 privateにしなきゃというところは、何となく考えながらつけてるんですが、 そうでないところで(他クラスからアクセスさせたいプロパティとか) publicでいいのか、せめてinternalをつけた方がいいのかどうも明確に意識して設計できないのです 開発チームとかあるわけでなく、一人で作っていて使い分けの事例なんか見ててもピンとこないというか
988 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 06:06:55.82 ID:zwZfG106.net] >>954 パッケージとして独立させてAPI公開する気がないんだったら 迷うところはpublicでいいだろ つか一人で作ってるなら全く気にする必要ないような…
989 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 07:37:23.55 ID:PowSWGiN.net] >>947 全角/半角変換、日本語を扱うのは、Linuxでは、 nkf ライブラリを使うけど、C#には無いの? それか最初に、全角を半角に変換してから、正規表現を使えば?
990 名前:デフォルトの名無しさん [2015/11/22(日) 13:10:53.96 ID:eHZxB5Wh.net] >>952 別人だよw ID:OxpghztZは俺だからw
991 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 13:21:21.34 ID:YBzI3bTB.net] ゲーム作ろうとしてる奴なんか十把一絡げでいい 総じて低レベルだから
992 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 16:34:36.06 ID:2L1cven6.net] プログラミングでゲームを作ろうというというのは、 誰にでも思いつく発想だからな 殆どは挫折する
993 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 17:26:57.27 ID:KDgQ57Ye.net] だがベーマガ時代はそうはならなかった。 日本中の少年少女がゲームプログラミングに熱中し、 作成したゲームのソースをベーマガという雑誌に投稿し掲載されたものだ。 今、日本のIT業界を支えてるのは高スキルな彼らである。
994 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 17:52:36.89 ID:Z+udvk0o.net] >>960 前も書いた気がするけど、ベーマガなんてお子様向けの子供だましの雑誌だよw まあ評価は世代にもよるだろうけどね。 少なくとも俺の評価はそう。 まあそれはどうでもいいけど、そういうネトウヨ的自己陶酔は傍目に気色悪い。 それが自己陶酔だって気が付いてないんだろうけど。 ついでに言うと、ベーマガの時代(って言っても20年あるから一口には言えないが)はゲームも PCのハードも素朴な物だったから低スキルでもそれなりに評価されるものが作れたが、 今の時代WindowsにしろAndroidにしろそもそもゲーム向きじゃない上に ユーザーの目も肥えてるから、はっきり言って今の時代ゲームを作る方が何十倍も大変だと思う。 実際問題今時のゲームプログラマってプログラマ全体の中でも地頭がよくないと出来ないんじゃないの?
995 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:06:41.65 ID:YBzI3bTB.net] ゲーム作ろうとしてる奴とゲームプログラマを同列に扱った覚えはない ゲーム作ろうとしてる奴はゲームプログラマではない
996 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:31:41.01 ID:GP1Qn5OD.net] ベーマガのプログラムを今のゲーム制作と比較するのは低能のすること。 企画 + ゲームデザイン + プログラミングをすべて一人でやってたのをお子様とか言っちゃうのはゆとりかな?
997 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:34:49.04 ID:fPUy/JrI.net] >>961 × 実際問題今時のゲームプログラマってプログラマ全体の中でも地頭がよくないと出来ないんじゃないの? ○ プログラマって本当は地頭がよくないと出来ない 本来の問題は日本では頭が悪い奴がプログラマになって無駄なデスマーチ&生産性が上がらないための低給料 というデフレスパイラル的なものに陥っていることだろ。(アメリカではこれを回避できているらしい) ゲームプログラマだけが特に頭がいい必要があるとは思えない、というか、 本来はどの方面のプログラマも頭がよくないと駄目なんだよ。 ただ、プログラミングなんて手段でしかないんだから、 ゲーム好きがゲームを作ろうとするのは自然なことだと思うし、いいことだと思うよ。 とはいえ、今ここでやろうとしている2人は両方とももう少し基本を押さえるべきではあるが。 C#は軽量言語ではない。ほぼ全てのケースに対して対応できる記述能力/ライブラリは既にある。 逆に言えば、初心者が先人が全く想定していなかったケースにいきなり当たる確率はほぼ無い。 今お前らがやろうとしていることが出来ないのは、やり方が間違っているからだ。 (普通は違うやり方で実装し、その方がいい/それで問題ないからその実装手段が提供されていない)
998 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:42:55.24 ID:NW0PnoYA.net] >>948 文脈わからんし動的に追加、削除の含意も知らんが それってDictinary<string,int>の仕事じゃないのって、アドバイスしとくね あとは列挙型の内部実装がどうなってるかしらないけどどうせクラスか構造体かでしょ 他にあるとすればリフレクション使ったりで列挙型クラスを動的構築するとかになるのか? まあやりたくないよね、そんなこと
999 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:47:35.92 ID:j30Wwuuw.net] List<int,string,double>みたいなのは 将来使えるようになる?
1000 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:51:26.08 ID:NW0PnoYA.net] >>966 なにそれ?どうやって使うの?
1001 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:03:27.41 ID:Z+udvk0o.net] >>964 本質的にプログラマに向かない奴がプログラマになってる(それで2chとかでブラックがどうのとか自分の無能を棚上げして 被害妄想全開)って現状認識はその通りだと思うが、プログラマって一口に言っても要求される能力は全然違うわけで、 例えばC#で特定企業向けの業務ソフトを作ってる人間とゲームプログラマじゃ、恐らく後者の方が圧倒的に 高い能力が要求されるのはまあ事実だと思うよ。 そのくせ社会的な評価はあんまり高いように思えんから何か損な仕事だな。 俺はゲームプログラマじゃないけどね。
1002 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:03:55.53 ID:DtMt13r7.net] Tupleの事でしょ 今でもプロパティ名がItem1~って固定な簡易Tupleならある でもプロパティ名もその場で付けれるちゃんとしたTupleの実装予定はあるよ
1003 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:06:02.36 ID:KDgQ57Ye.net] >>961 ゆとりの言い分はよく分った。
1004 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:08:06.34 ID:+71DZHa4.net] 技術を磨くだけだったら好きなら誰にでもできる 社会的に成功するのはその上ビジネスが分かってる奴で、これは稀
1005 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:12:42.09 ID:Z+udvk0o.net] >>970 俺から見たらベーマガ世代こそどっぷりゆとり世代なんだけど。
1006 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:15:10.11 ID:fPUy/JrI.net] >>969 ちょっと脱線するが、Tupleって結局何がいいんだ? 構造体やクラスで問題なく実装できるよね? ただ流行っているみたいだから、何か利点があると思うのだが、、、
1007 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:21:08.24 ID:+71DZHa4.net] >>973 タプルがじゃなくて関数型プログラミングが(意識高い系の連中の中で)流行ってる 関数型プログラミングでは複数の値を一つにまとめて扱いたいことが多いのでタプルが必要 オブジェクト指向プログラミングならフィールド書き換えればいいので本来不要
1008 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:30:38.64 ID:KDgQ57Ye.net] >>972 中高生が一種や二種を取るんだ。そして当時の試験範囲は大学レベルの英語や数学、そして商業、工業も含まれてる。 おれも余裕で合格したけどね。今みたいに簡単じゃないよ?選択マークじゃなく筆記だし。
1009 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:37:26.35 ID:fPUy/JrI.net] >>968 ゲーム:チューニングゴリゴリ、ただし基本的に1発出して終わり 特定企業向け業務ソフト:動けばいいが、長期的メンテナンスが求められる ゲームプログラミングの方が単品では難しいのは事実だけど、 業務ソフトには長期メンテを考慮した構成が求められる。(難しさの方向が違う) ただ、チームとしては、ゲームは10人中10人バリバリでないと駄目なのに対し、 業務ソフトなら、トップ1人が美しい構成を考え、残り9人は並みでいい。 だからゲームチームを作る方が難しいし、 一般論としてゲームプログラミングの方が難しいというのもその通りだろう。
1010 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:55:16.96 ID:NW0PnoYA.net] ゲームはオクルージョンカリングとか空間分割木とか意味不明なまでに難しい世界があるからな 単純な2Dゲーなら今はマシンパワーもあるし、複雑怪奇な最適化はしなくてもいいと思うけど マルチスレッドとか、メモリアクセスやファイルアクセスのタイミングとかやりだすと 複雑そうな感じは受ける
1011 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 20:19:08.43 ID:fPUy/JrI.net] >>974 さらに脱線して申し訳ないのだが、関数型プログラミングは何で流行っているの? 正直、余りメリットを感じないのだが
1012 名前:B(なお使っているのはJavaScript) HaskellかLispやらないと理解不能かな? 言っちゃ悪いが、Lispなんて昔からあっても誰も使ってなかった=実用レベルに達していないゴミ だと考えている。それとは別に、内部状態を持たないとか、カリー化とかで検証がし易くなるのは事実だけど、 今その手の言語を使っている奴らがそこまでの検証レベルを要求されているとは到底思えない。 (言語いじって遊んでいるだけのように見える) JavaScriptとかでも(俺は本業ではないが) ・ローレベルコードは書かない(キリッ (for文を絶対に使わず、map(匿名関数)で処理) ・内部状態を持たない(キリッ (途中一部分だけで済む場合も頭から全部処理) も多くて、確かにこの方法ならバグりにくいが糞遅い。実感としては大半がこんな感じ。 お前ら明らかに方向を間違ってるよなーとしか思えないのだが。 (問題ない場合はこの手の超富豪プログラミングもありだが、問題あっても対策しない感じがある。 宗教がかった聖域というか。) [] [ここ壊れてます]
1013 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 20:38:22.50 ID:xDxhP+Cq.net] 流行ってねえよ 声がでかい奴が拡声器でわめいてるからそう感じるだけだ
1014 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 20:45:30.67 ID:NW0PnoYA.net] Lispが使われないのは、JavaやC#のように熱心な営業攻勢が無かったからだよ 関数型を学ぶメリットはドキュメントが営業的観点で腐っていないということ コミュニティがそれによって質の高い状態が保たれている 一番のメリットは「ユーザーにバカが少ない」ということこれに尽きる LispやHaskellなんて、それこそ熱心な勉強家でなければ手に取らないということ 純粋関数はマルチスレッドに良い影響をもたらす というかGUIとかスレッドとかどう見ても関数が主役でオブジェクトがシンタックスの邪魔をしている 最近勢力を誇っているwebサービスもほとんどが関数型指向でかかれているし Javascriptが今隆盛を誇っているのも結局はそういうことなんだよな まあHadoopやMapReduceとか必要になるようなアプリケーション書くような企業は限られてるけど マルチコアが前提となってくると結局関数の純粋性が常に問われてくる 幸いまだC#はLINQやTaskで関数型やマルチスレッドをサポートしてるので生存の余地はあるけどね というかC#にLINQが導入されたのは、どう考えてもSQLではなく関数型の影響だしな 内部状態を極力持たずにというのはweb(HTTP)の考え方だし JsonやXMLや(S式)で非同期処理するということを考えると関数型は流行らざるをえない 関数型が流行っているというよりwebベンチャーが流行ってるというのが正しいな まあJavascriptがそのポテンシャルを見いだされるまでに10年近くかかったわけだし Javascriptが微妙なのは同意するよ
1015 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:03:03.77 ID:T8hXZH4x.net] 関数型は、スクリプト等の言語を作りたい人とか、高度な文字列処理が必要不可欠な人とか 科学計算駆使しなきゃならない人とかが使うんだよ そういった領域では実用的というより必須になる 最近話題にのぼりやすい言語では、R言語とかがあるが関数型になっている C#は汎用言語なので色々な領域の処理をする人が居て、こういった処理をしたいと望む人には欲しい機能なんだ 最近は、ビッグデータとか取り扱う人も多いでしょうし、例えば金融関係とかトレーディング等でHaskellの採用があったりする そういう意味では地味に流行ってはいるかもしれない、ビッグデータもバズワードになる程
1016 名前:度には流行ってるからね タプルは自分も欲しいと思っている機能、オブジェクト指向が不向きな領域の処理多いが ユーザーインターフェイスと別けて別言語でというのも煩わしいので >声がでかい奴が拡声器でわめいてる ラムダ式の人とかうざいよね、これだけは同感w 昨日の要求はしたいが、声高々に流行っている言う程のもんかよwww [] [ここ壊れてます]
1017 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:07:02.69 ID:o24m0lwv.net] なにこれ、自演祭り?
1018 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:09:34.06 ID:T8hXZH4x.net] あぁ、また自演なのかな、例のヤツの自演なのかもしれん >>981 だけは違いますんでw
1019 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:31:52.46 ID:GP1Qn5OD.net] 「スレチ」という便利な言葉がある
1020 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:35:46.49 ID:T8hXZH4x.net] 自演してでも自分の話したい話題に流れを変えたい酷いかまってちゃんが居るだけですよw 彼にとって、スレチとか関係ないのです、誰もお前とは話したないから、さっさと自殺すればいいのに
1021 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:54:59.54 ID:fPUy/JrI.net] >>980 > 純粋関数はマルチスレッドに良い影響をもたらす これは確かにその通りなのだが、同じ事はオブジェクト指向でも言われていたはず。 OOPも1オブジェクトに対して1スレッドを割り当てれば干渉しない。 関数型で自動マルチスレッドを期待するのなら、結果的に完全に同じものになる。 > 内部状態を極力持たずにというのはweb(HTTP)の考え方だし JavaScriptに関してはこれは多少弁解の余地があって、 実際やっていると503エラーとかで内部状態がずれる時がよくあるので、 最初から管理しないというのも一つの方法にはなる。(ただし糞遅い) > JsonやXMLや(S式)で非同期処理するということを考えると関数型は流行らざるをえない これはよく分からない。関数型の方が綺麗に書けるか? ちなみにPromiseとか欲しいとも思わない。主に手続き型で書いているからというのもあるとは思うが。 JavaScriptはPromiseを採用、async/awaitも検討中だ。 C#はPromiseなし、async/awaitありだ。俺はこっちの方が理解しやすいのだが、これもスタイルの違いなのか?
1022 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:09:26.92 ID:xDxhP+Cq.net] 口から下痢たれ流すの止めてくんない
1023 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:09:50.22 ID:fPUy/JrI.net] >>981 > 例えば金融関係とかトレーディング等でHaskellの採用があったりする これは知っているが、結局のところ、今Haskellが出来る=それなりの頭である事がある程度期待できる だけであって、>>980 の指摘通りで、別にHaskellが適しているわけではない気がするのだが。 > C#は汎用言語なので色々な領域の処理をする人が居て、こういった処理をしたいと望む人には欲しい機能なんだ 俺はJavaScriptをやって初めてクロージャを知り、確かに便利だと実感した。 ただもっと驚いたのは、C#も2.0からクロージャを普通に使えたことだ。 とはいえC#がクロージャをガンガン使っているイメージはない。 逆に言えば、C#のスタイルなら大して恩恵がないのだと思う。で、以下なのだが、 > タプルは自分も欲しいと思っている機能 これ何がうれしいんだ? 既に書いたが、普通に構造体やクラスでやるのと同じとしか思えない。 関数型風に書いたらタプルの方が綺麗に書けるって事?(それでも変わらない気がするが、、、、)
1024 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:12:50.69 ID:rVLRuBGq.net] 3行以上書く奴はキチガイって嘘じゃなかったね ゴメンね(ゝω・)v キャピ
1025 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:24:15.75 ID:yPUHF/WV.net] >>981 > そういった領域では実用的というより必須になる たかが言語で必須とか… 関数型言語がない時代は、 > スクリプト等の言語作成 > 高度な文字列処理 > 科学計算を駆使 する奴は居なかったのかよ
1026 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:29:28.42 ID:fPUy/JrI.net] 誰と勘違いしているのかは知らんが、スレを変えたい場合は俺は問題ない。 誰かが俺に対して他のスレでレスを付けた場合、俺がレスを返すのならそこで返す。 だからレスをくれる奴がいるのなら、スレを選んでくれていい。(テストスレでも可)
1027 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:41:52.29 ID:iT1tZCI1.net] Tupleは複数値リターンのために導入されたものと思っていたが、複数値リターンが未だ導入されない
1028 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:50:34.89 ID:fPUy/JrI.net] >>992 てか問題なくね? www.atmarkit.co.jp/fdotnet/dotnettips/1024tuple/tuple.html
1029 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:57:18.42 ID:T8hXZH4x.net] そんなタプルは問題ありありだよw
1030 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:59:26.10 ID:Bfhlr/Lz.net] Item1,Item2とかソースに出てくる時点で失格 多重代入と引数リストへの展開ができない限りは使うべきでない
1031 名前:デフォルトの名無しさん [2015/11/22(日) 23:58:35.59 ID:SVdGikuE.net] >>974 まぁ、そのためだけに構造体とか作るの面倒くさいしな
1032 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 00:24:30.36 ID:NS56NU1F.net] >>981 , ID:T8hXZH4x 自分がついていけない話になるとすぐスレチだと言い出すクソガキはどこのスレにもいる。 お前が嘘を嘘と見抜けない池沼でいるのはお前の自由だが、 荒らしでないつもりなら>>1 読んでスレ立てろ。
1033 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 00:51:40.63 ID:2bvpc+pi.net] 説教怖〜い
1034 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 00:55:30.12 ID:d/p1Vajd.net] 埋まりそうだったので宣言無しで建てました、失礼 ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1448207673/
1035 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 01:36:08.01 ID:5/8mbdQh.net] ついていけるとかついていけないとか関係ない、キモすぎ、触りたくない
1036 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 02:03:44.01 ID:V0PiNkF/.net] おれが神
1037 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
1038 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています