- 1 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 00:54:33.10 ID:d/p1Vajd.net]
- 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part117 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1443786608/ ■関連スレ C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1443271409/ ■コードを貼る場合は↓を使いましょう。 ideone.com/
- 2 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 12:09:09.65 ID:blqHyLLr.net]
- >>1乙
- 3 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 12:15:55.82 ID:/RGpvc/8.net]
- >>1
乙です 今@ITでADO.NET Entity Framework入門っていう記事読んでるけど、むずかしいぜ。 前スレでちょっと出てきたDB関連の話でまったく知らなかったから参考に読んでるだけど これ仕事ででてきたら果たして使えるようになるのか心配だ・・・今すぐ使うわけじゃないのが救い。
- 4 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 03:47:30.32 ID:VpIXdAyb.net]
- C#で簡単にVSYNC待つ方法ないですか?
今Windows FormでVSYNC待つだけのためにDxLibを使っています CPUパワーを食わずに、コードもあまり書かずに簡単にVSYNCだけ待てれば DxLibに頼らずに済むのですが 2010Expressを使っています
- 5 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 03:52:32.72 ID:A+DiyrlM.net]
- Windowsで使ったソフトの順序を取得する命令ってありますか?
Alt+Tabを押すと使った順に並んだ小窓が出るのでどこかに記録されているのではないかと思っているのですが 探し方が悪いようで見つからないです。
- 6 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 22:40:12.84 ID:ZWYoQ/Cr.net]
- 教えてください。
【やりたいこと】 既存のクラスのメソッドの一部の機能を拡張したい。 具体的にはクラス(インターフェイス)AをクラスBのメソッドCに引数として渡す。 メソッドCはインターフェイスAのメソッドからデータを受け取り、データがなくなるまで処理を続ける。 このクラスAとクラスBは既成の物で、オブジェクトファイルの形式で提供されていて、ソースコードレベルでの改造は出来ない。 具体的にはデータ量が多い場合に備えて、メソッドCを実行中に外部からキャンセルを受け付けるように改造したい。 【対策案1】 メソッドCに準じたメソッドDを自作する。 →メソッドC内ではクラスBの private なメンバ変数等を使用しているため、外部に機能拡張版のメソッドを用意するのは容易でない。 【対策案2】 インターフェイス(クラス)Aを包含するクラスA’を用意して、これをメソッドCに渡す。 具体的にはインターフェイスAを継承したクラスA’を用意し、コンストラクタ等でクラスAのインスタンスを渡す。 クラスA’ではインターフェイスAで定義された全てのメソッドやプロパティにクラスAのインスタンスの同じメソッドやプロパティを呼び出すように実装する。 →インターフェイスAに定義されているメソッド等が多いのでとても面倒。と言うか、後のメンテナンス性が悪すぎる気がする。 【対策案3】 クラスBに相当するクラスを自作する。 →技術的にはやってやれないことはないが、時間的には無理。 【質問】 こういうときに有効な対策を教えてください。
- 7 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 22:53:14.22 ID:5wB+dJF6.net]
- 上長に聞きたまえ
- 8 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 23:16:59.10 ID:jVhYVUAo.net]
- 自分で作り直すのが無理なら
クラスBを作った人に修正をお願いするしかないんじゃない
- 9 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 10:56:36.07 ID:uhVdTG0g.net]
- Has AなクラスA'を作ってインターフェイス(A?)を実装
各メンバーではAに委譲する Bがデータを要求するところだけキャンセルならデータ供給を止めるみたいな
- 10 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 12:39:25.48 ID:wLo/SUaP.net]
- 細部は違うけど要するに案2だろ
面倒くさいから嫌だってw
- 11 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 20:04:37.19 ID:cJiE/pnV.net]
- ある集合の中から条件に一致するものだけ、値を変更して、
その集合を返すみたいな処理ってLINQでどう書けばいいんだろ? 1〜5の数字のうち偶数は!をつけて出力みたいな 1 2! 3 4! 5 whereしてからselectすると偶数だけのリストになっちゃうし、selectの中でwhere??
- 12 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 20:39:44.72 ID:QqGRNt0R.net]
- >>11
ideone.com/PD7B5Z こんな風に馬鹿正直に書いたら駄目なん?
- 13 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 20:50:40.56 ID:XPm6ny2d.net]
- >>12
自分もそういう書き方しか思いつかなかったんですが、もう少しスマートに書けないかなと。 ↑であげたのは簡略化した内容ですが、実際には class Item{ bool Checked; string KeyWord; } このクラスのリスト List<Item> に対して あるキーワード文字列に一致する場合は、Checkedをtrueにして そのリスト全体を返す。みたいなことがやりたいんだよね。
- 14 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 20:56:13.07 ID:QqGRNt0R.net]
- んならそういう働きをする拡張メソッドを書くしかないな
条件はFuncで与えるとして Where()は条件に一致する集合しか返さない そうではなく結果を{source, bool}みたいな感じでFuncに当てはまるか匿名型で返すような
- 15 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:03:24.02 ID:sUIZ4Kkh.net]
- >>12 見にくいので転載ボランティア
int[] sample = new int[] { 1, 2, 3, 4, 5 }; var res = sample.Select(i => { return i.ToString() + ((i % 2 == 0) ? "!" : ""); }); foreach (var v in res) Console.Write(v + " ");
- 16 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:08:46.61 ID:wLo/SUaP.net]
- 手段と目的の逆転
- 17 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:15:13.31 ID:XPm6ny2d.net]
- >>14
やっぱ拡張メソッド定義するしかないんですね。 こういうパターンって結構ありそうな気もするんですが...
- 18 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:20:59.72 ID:96CZ8S8K.net]
- LINQは副作用に否定的だから
- 19 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:23:12.42 ID:zfiVTGcd.net]
- >>1
.Select((item) => new Item { KeyWord = item.KeyWord, IsChecked = (item.KeyWord == "a") });
- 20 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:27:28.22 ID:KfvI2hmZ.net]
- 副作用が出るのはIxのForEach使えばいい
- 21 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:28:06.60 ID:nO6kdv8X.net]
- すげぇ変なことしてんな
普通にSelectでやればいいかと思うのだが
- 22 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:29:56.77 ID:Vv+caMcJ.net]
- >>17
気持ちがわからないんだよな。 >>11と>>13の要望まとめるとこんな感じ? ideone.com/TWOSN4 最後に元の集合返すLINQがこんな感じに作れるけど ideone.com/gYYg48 これでいいじゃんってなる。
- 23 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:33:39.93 ID:Vv+caMcJ.net]
- ああ元の集合から作った新しい集合がほしいのか。
>>22は無しね! でもそうだとしても>>21でいいじゃんね!
- 24 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:41:44.00 ID:QqGRNt0R.net]
- あ、やっぱり拡張メソッドを使うと変だね
無理にメソッドチェーンをする必要ない気がする
- 25 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 22:40:51.15 ID:sUIZ4Kkh.net]
- >>11 >>13
static void Main() { int[] source = new int[] { 1, 2, 3, 4, 5 }; var result = source.Join(new bool[]{true, false}, o=>true, i=>true, (o, i) => new Item(o, i)) .Where(p => { var r = p.Value % 2; return r == 0 && p.Checked || r == 1 && !p.Checked; }); result.ToList().ForEach(i => Console.Write("{0}{1} ", i.Value, i.Checked ? "!" : "")); // => 1 2! 3 4! 5 } class Item { public readonly bool Checked; public readonly int Value; public Item(int value, bool _checked) { Value = value; Checked = _checked; } } SQLっぽい雰囲気
- 26 名前:25 mailto:sage [2015/11/26(木) 22:52:39.19 ID:sUIZ4Kkh.net]
- >>11
int[] source = new int[] { 1, 2, 3, 4, 5 }; var result = source.Join(new bool[]{true, false}, o=>true, i=>true, (v, c) => new {Value = v, Checked = c}) .Where(p => { var r = p.Value % 2; return r == 0 && p.Checked || r == 1 && !p.Checked; }); result.ToList().ForEach(i => Console.Write("{0}{1} ", i.Value, i.Checked ? "!" : "")); // => 1 2! 3 4! 5 匿名型なんてのがあるのか
- 27 名前:6 mailto:sage [2015/11/27(金) 00:00:23.02 ID:V/UxGV6O.net]
- >>8-10
ありがとう。 やっぱり 案2 というか has a しかないかな。 でもよく考えたら特定用途にしか使わないことが明確ならインターフェイスの全メソッドを 真面目書く必要もないかも知れないと気がついた。 いやインターフェイスに定義されてるメソッド等の実装はしなきゃならないのは変わらないんだけども。
- 28 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 01:58:20.80 ID:iofAV5op.net]
- >>6
Interface IV Cancel(); Interface IA:IV V v=objectA;
- 29 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 14:48:27.88 ID:dnKF4fhx.net]
- データベースの内容を画面に表示、編集する方法で悩んでいます
・具体的にはデータベースの内容をDataGridViewに表示して 編集した内容をデータベースに反映したい ・テキストボックスに検索文字を入力してデータの絞込をしたい 調べたらこういう記事がありました 新グリッド・コントロールの豊富な機能と高い表現力 − @IT www.atmarkit.co.jp/fdotnet/special/win20review02/win20review02_02.html 実際やってみたら、編集可にしているのにセルの値の編集が全く出来ない (このやり方は表示するだけ?) それに10年前の記事でとても古い 今だとどういう方法で実現すればいいでしょうか?
- 30 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 16:34:28.63 ID:N2qWmI2+.net]
- >>29
SQLiteなら dangoya.jp/?p=116 こんなのとかたくさんあるみたい
- 31 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 17:03:27.66 ID:X+9lGRnl.net]
- >>30
それGUIの設計というより、DBからデータを取得する方法じゃないですか しかも結果はデバッグ出力だし 全く参考にならない
- 32 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 17:09:40.67 ID:N2qWmI2+.net]
- park.geocities.jp/gdfsm000/cs/cs603.html
こんなのだったらいいのか それにGUIなら c-loft.com/blog/?p=1844 こういう奴とか?いくらでもあるんだが
- 33 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 17:15:59.89 ID:CPGEE3Eu.net]
- このバカが
コピペで要求満たせるサンプル持って来いってんだよ すべて説明しないと察せないのか? ガキか素人か?
- 34 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 17:24:52.80 ID:N2qWmI2+.net]
- お前教えてクレクレ君の癖に随分横柄な態度だな
自分で探せやアホ
- 35 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 17:26:09.88 ID:CPGEE3Eu.net]
- 代弁してあげただけですよ〜
- 36 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 21:57:42.37 ID:QbwUMUmL.net]
- まあ>>29レベルの質問は
>教えてクレクレ君と言われてもしかないだろうな 初学者としても勉強不足だし ググレカス以外のの返答は期待できない
- 37 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 23:18:13.48 ID:ExUydw0X.net]
- gridviewよりlistviewのがいいんだっけ?
てかこういうコントロール系って サーバ側で取得するとき 全行ループしてFindControllでコントロール取得するんだよね? MVC勉強してると、こういうの面倒くさいなと思う
- 38 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 23:42:17.02 ID:dnKF4fhx.net]
- SQLite→EF(or dapper)
まではようやく出来たのですが、いざDataGridViewに表示しようとすると ソートができない、値の変更ができないなどがあって躓いてしまいました 調べると、データテーブルを使えばコードレスで表示する方法を見つけたのですが DataGridViewでの変更をデータベースに反映する方法までは乗っておらず 一体どの方法でするのが一番いいのかわからなくなって質問しました @SQLite→EF(or dapper)→BindingListView→DataGridView この方法だとLINQも使えて、値の変更も反映されるようですが ソートやジェネリックに対応しようとするとBindingListViewや BindingNavigatorの実装を自前で書かないといけなくて難しい でもこれが完成するとほとんどFormにコードを書かなくて済むみたい ASQLite→TableAdapter→DataTable→データソース→DataGridView 表示するまでは簡単だけど、変更をデータベースに反映するのが大変? EFやdapperを勉強したのは無駄だった? 比較的簡単なのはこの2つなのかなと思ったのですが どのやり方が一般的というか簡単というか、そこのところが知りたいです 今後WEBシステムや業務用の顧客管理システムを作る予定は全くありません ちょっとした自分用の動画や音楽のデータベースを作りたいだけです
- 39 名前:デフォルトの名無しさん [2015/11/28(土) 23:47:13.87 ID:3Q3OpRos.net]
- >>38
EFなんか使わないのがベスト (EFがターゲットとする)業務システムってとんでもなく複雑なんだぜ それに比べりゃたかが動画や音楽のDBごときにEFなんか要らん
- 40 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 23:49:15.85 ID:kPVc8Ylo.net]
- >>38
ネットの情報見ながらならAが楽かと
- 41 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 00:05:54.22 ID:aZc4OEnQ.net]
- LINQ勉強したならEFは使わないで、dapperとDBテーブルに対応するクラス作ってマッピングさせたほうがいい。
検索と更新、ソートが画面上からできればいいんでしょ?
- 42 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 00:32:17.14 ID:9octMKBL.net]
- >>39
EFを使わない方がいい理由は 三輪車にV6エンジン搭載するような感じですか? ダメな理由があまり見つからないもので 重いからかな?確かにdapperと比べると遅いですけど >>40 Aの場合、DataGridViewの変更がDataTableに反映されて それをTableAdapterでデータベースにUpdateという感じでよろしいですか? >>41 マッピングまではやってみました それをDataGridViewで検索、更新、ソートできるようにする方法が 調べた感じだとBindingSourceの自作しかなさそうだったのですが 他に方法はあるのでしょうか? レスありがとうございます。それと質問ばかりですみません 一つのことを実現するのに方法が無数にありすぎて混乱してます
- 43 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 10:31:35.90 ID:BA+ijUMq.net]
- IEnumerableがいまいちぴんとこなくて初心者から抜け出せない・・・
List<>とDictionary<>にデータ保持とかの自作のクラスを入れてしまうと だいたいやりたいことができているんだけど あえて自分でIEnumerableを扱う利点ってどんなものなの?
- 44 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 10:40:55.72 ID:ejXKaOWL.net]
- 引数や戻り値を介した受け渡しに使うんだよ
なんでもいいから複数の値を引数で受けたいとか返したいとかよくあるだろ? そういうとき具体的なコレクションの型を指定してしまうと不要な厳しい制限を設けることになってしまう
- 45 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 10:53:25.06 ID:7SVdQgBN.net]
- インターフェースを引数にすれば抽象度が上がって重複コードが減るよってだけ
System.Linq.Enumerableの実装見るのが手っ取り早い
- 46 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 12:28:51.61 ID:j4qD5yiX.net]
- あとは遅延リストや無限リストが欲しいときにも使えるね
- 47 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 12:32:01.69 ID:ejXKaOWL.net]
- 遅延リストや無限リストが欲しいだけなら別にIEnumerableを使う必要はないけどね
遅延リストや無限リストのようなものもList<T>も配列も同じ「要素のシーケンス」として 共通のインターフェースで扱えることに意味がある
- 48 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 12:41:33.12 ID:MHU1lz94.net]
- C#でTaskにて別スレッドを実行中にXマークでデバックを落とすと
破棄されたオブジェクトにアクセスできませんとエラーが出るんです 出ないようにするにはどうすればいいでしょうか?
- 49 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 16:15:06.84 ID:vuzu98VN.net]
- >>48
cancelとwait
- 50 名前:デフォルトの名無しさん [2015/11/29(日) 16:32:17.55 ID:yHrLnXF5.net]
- >>49
ありがとうございます。 無事に出来ました!!
- 51 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 17:02:57.67 ID:sqPcAEkv.net]
- たぶんコイツがキチガイ回答者 >>33
ここまでほとんど自演なんだろうな
- 52 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 18:29:07.30 ID:djg7Qs12.net]
- みんな既に理解してるから、
くだらないことでドヤらないで。
- 53 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 21:49:18.21 ID:y4EB3thr.net]
- >>48
>>49 個人的にはこれがすごいと思う エスパー的な意味で
- 54 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 23:42:04.32 ID:X6CLD+vb.net]
- 17分後に完了できたのは凄技だとは思うw
- 55 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 17:10:07.41 ID:wM8ePfaT.net]
- ブラゲーの画面をぴったり画像保存するようなプログラム作りたいんですけど
ブラウザの中のフラッシュやHTML5の画面の左上座標ってどうすればとれますか? 画像認識で強引に認識するしかないでしょうか?
- 56 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 17:37:19.12 ID:NvF8UIfD.net]
- OSによるのでは?
- 57 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 17:42:27.07 ID:pbgvhCW9.net]
- ブラウザコントロール使う話ではなくて?
- 58 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 19:54:38.66 ID:wM8ePfaT.net]
- >>56
Windows 7 です >>57 よくわからなかったので軽く調べてみましたけど 自作のUIがジェットの中にブラウザ表示させるみたいな感じなんでしょうか そうではなくて chrome や firefox なんかに表示されてる フラッシュの画面部分だけぴったりスクリーンキャプチャするようなプログラム作りたいんですけど 無理ですかね…
- 59 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 20:07:34.72 ID:4TtrR1iM.net]
- ブラウザの枠含めて大きめにキャプって、後で画像処理ソフトで切り出せばいいだけじゃないの?
自分で作らなくても、両方とも既にあると思うけど。
- 60 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 20:17:18.03 ID:NvF8UIfD.net]
- >>59に1票。
- 61 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 23:07:13.04 ID:wM8ePfaT.net]
- いままでそうしてたんですけど
1日何枚もとってブログにはったりするので それを自動できれいにやるようにしたかっただけです まあ内側のフラッシュのプロセスつかんで その表示位置取得したりできるかなと思ったんですけど無理なんでしょうか… あきらめます 回答していただいた方ありがとうございました
- 62 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 02:01:07.71 ID:XoX/fDF5.net]
- ブラウザのサイズを固定(キャプを取るときは全画面にするとか)したらあとはそれに合わせて切り抜く範囲を決めるだけじゃん
- 63 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 02:10:57.73 ID:fBpqlrz3.net]
- 艦これの専ブラとかそれやってるから、ソース見るといい
- 64 名前:デフォルトの名無しさん [2015/12/01(火) 20:17:01.67 ID:sAwax9ox.net]
- >>53
>>48です。 closingイベントでcancel要求を出して それが受けつるまで待機するという意味での waitだと思いました。
- 65 名前:デフォルトの名無しさん [2015/12/03(木) 00:33:41.52 ID:lhYNgz5S.net]
- 質問です
変数aとbがあるとします aの内容をbから参照する事は出来るでしょうか? a=1; //bに対してaを参照できる何らかの処理 print(b);//1 a=5; print(b);//5 という結果を出したいのですが
- 66 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 01:12:22.92 ID:lfpcI0/L.net]
- ここはC#のスレです。
- 67 名前:デフォルトの名無しさん [2015/12/03(木) 02:09:53.61 ID:F5OD5ya2.net]
- a=bにすりゃいいんじゃないの?
レベル高すぎてやりたいことがわかんない
- 68 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 03:29:17.07 ID:KH3XuQZQ.net]
- 参照だろ。
同じオブジェクトIDを持つ、同一オブジェクト でも、intのようなprimitive型では、 値(参照ではなく内容)がコピーされるため、 参照のようなことは出来ないかも (C#にも、Javaのようなprimitive型があればの話だが)
- 69 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 10:58:04.62 ID:lhYNgz5S.net]
- >>68
やっぱり無理なんですか ありがとうございました これができないと余分なコードを書かないといけない状況に陥ってたんですが 仕方ありません
- 70 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 12:10:31.86 ID:r4QYskO6.net]
- >>69
そんな状況ありえんと思うけどねw 何か思いっきり勘違いしてそう思い込んでるだけだと思う。 あと一応値型でもunsafeでポインタは取れるよ。
- 71 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 12:52:27.54 ID:zCQ/Nhg2.net]
- >>69
何をしたいのかよくわからんけど、やりたいことを関数に切り出して、int 変数を参照渡しにすればいいんじゃね?
- 72 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 13:04:34.35 ID:IgpEN7lw.net]
- そういうことをしたくなっちゃダメよ
- 73 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 13:11:21.98 ID:zCQ/Nhg2.net]
- >>69
もしくは1要素の配列にするとか var a = new int[1]; a[0] = 1; var b = a; print(b[0]); //1 a[0] = 5; print(b[0]); //5
- 74 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 13:18:55.92 ID:jUS2N3R7.net]
- intなプロパティもつクラス定義すれば良いだけだと思うんだが
- 75 名前:デフォルトの名無しさん [2015/12/03(木) 14:10:48.22 ID:lhYNgz5S.net]
- お騒がせしました〜
delegateを使ってなんとか実現できました〜 回答ありがとうございます
- 76 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 20:17:12.68 ID:zCQ/Nhg2.net]
- >>74
配列を提案した俺が言うのもなんだが、クラスはなんか負けた気がする…
- 77 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 20:43:19.72 ID:/6SEhgDG.net]
- valueプロパティだけのインターフェースって便利だよね
極限まで行っちゃうとなんらかの値オブジェクトをどこかから取得する事となんらかの値オブジェクトをどこかに転送する事 この2つの連鎖でほぼ全てのシステムが組める つまりinterface IValue<T> { T Value { get; set; } }はプログラムの全てを抽象化すると言ってよい
- 78 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 20:46:05.45 ID:IgpEN7lw.net]
- 何の値か分からんし誰もそんなことやらん
- 79 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 05:49:43.54 ID:CuO9UgGb.net]
- >>75
どう書いたのかコードみせて!
- 80 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 08:23:18.98 ID:UQYmj2IV.net]
- SQL Builderのようなライブラリ使ってる?
EF使えないと、SQL自前で組み立て、Dapperでアクセスでやってるんだけど SQL作る部分を綺麗に書きたい
- 81 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 08:30:25.10 ID:N8pVjmap.net]
- DapperならDapper.Rainbowっていう簡易クエリビルダが付いてる
- 82 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 12:05:23.03 ID:ciEp6cCK.net]
- >>79
まず俺のやりたい事というのはアドベンチャーゲームのようなものを作っててこういう風にセリフを持ってます Serihu[] serihu=new Serihu[]{ new Serihu("こんにちは"), new Serihu("ご機嫌どうですか"), new Serihu("さようなら"), }; ここで問題になったのはこのテキストの中に変数を入れたい時どうするかというものでした 例えば「僕は○○をつかった」とか「僕は○○のダメージを受けた」などです そこで new Serihu("僕は",○○,"を使った")と○○に参照を入れる事を考えあれこれ試行錯誤しました で、解決法として○○にdelegateの関数ポインタを入れてやってみたら上手く行きました Serihuクラスの中で public delegate string Watasi(); public Watasi watasi;と宣言して コンストラクタを public Serihu(string m1,Watasi w,string m2){ moji1=m1; watasi=w; moji2=m2; } と書きます それでserihu配列の保持クラスに public string GetItemumei(){ return itemmei.Tostring();//itemmeiには使いたい変数を何でも使えます } と書いて 最初の配列に new Serihu("僕は",GetItemumei,"を使った") と入れると変数をそのまま使えるというわけです
- 83 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 12:28:30.63 ID:4FwXmqLX.net]
- こんな回りくどいコード初めて見た
- 84 名前:デフォルトの名無しさん [2015/12/04(金) 12:36:37.37 ID:ciEp6cCK.net]
- >>83
やっぱり他人から見ればそう見えるのかw 自分でもそうなんじゃないかなぁとw まぁ何度も書いてくうちに効率的な書き方わかるようになるでしょ
- 85 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 12:37:39.48 ID:NrPmzULQ.net]
- ただのString.Format案件に見えるのだが
- 86 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 12:38:19.14 ID:uOiBxvHU.net]
- 何がしたいんだろう。
全然理解できない。
- 87 名前:デフォルトの名無しさん [2015/12/04(金) 12:54:34.09 ID:ciEp6cCK.net]
- >>86
平たく言うと まず最初にセリフを配列で持ちたい そしてそのセリフの中に動的に変数を入れたいということです
- 88 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 12:55:52.79 ID:6PuXTYFV.net]
- やっぱりstring.Fopmatだろ
- 89 名前:デフォルトの名無しさん [2015/12/04(金) 13:12:02.93 ID:ciEp6cCK.net]
- >>85
>>88 ちょっと俺無知ゆえになにか凄い勘違いをしてたのかもしれません ちょっとそれ調べて試してみます 上手く行ったら報告します
- 90 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 13:42:05.60 ID:uOiBxvHU.net]
- いやいやメッセージの内容の一部を委譲で決めたいって話はよく分かるし、
だとしたら勘違いしてるのは>>85の方。 そこはいいけど、疑問なのは本当に委譲が必用なのそれってところ。
- 91 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 13:44:54.36 ID:/QKGOPGQ.net]
- >>89
何も勘違いしてないよ 知識が根本的に足りてないだけ
- 92 名前:デフォルトの名無しさん [2015/12/04(金) 13:46:59.55 ID:ciEp6cCK.net]
- 試してみましたが上手く行きませんでした
string.Formatメソッドというのはstringを作るメソッドなのでセリフを表示する 時に使わないといけないと思います で、俺のプログラムでは最初にserihu配列を作る時にどの変数を参照するかも決定されるので 配列を作った時とセリフを表示されるまで間があります その間string.Formatで使う変数の参照を結局は持っておかないといけません
- 93 名前:デフォルトの名無しさん [2015/12/04(金) 14:00:21.98 ID:ciEp6cCK.net]
- >>90
確かにデリゲートを使うのは俺も疑問でした 何しろ変数一個につき余計な関数が一つ増えますし明らかに冗長です でも他に思い付かなかったんですよ なんかあるんですかね
- 94 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 14:09:54.37 ID:FKEfoH7y.net]
- >>92
>その間string.Formatで使う変数の参照を結局は持っておかないといけません 持ってればいいだろアホか >>82でpublic Watasi watasi;なんて余計な参照持ってるくせにobjectの参照持つのは気に喰わないのかよ
- 95 名前:デフォルトの名無しさん [2015/12/04(金) 14:19:31.55 ID:ciEp6cCK.net]
- >>94
それでC#における参照とはなんなのかなぁと思って>>65の質問になったわけです 条件としてはある変数aをある変数bでも利用できるようにしたいというものなんですけど
- 96 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 14:22:04.36 ID:FKEfoH7y.net]
- ダメージを決定するんだったらダメージ変数を持ってるクラスがあるんだろ?
それの参照渡せばいいだけだろ
- 97 名前:デフォルトの名無しさん [2015/12/04(金) 14:29:10.18 ID:ciEp6cCK.net]
- >>96
それだとserihuクラス配列に渡す変数はすべてクラスで包まなければならないと 言う事になりませんか? 実はまだどの変数をセリフに渡すかとかは決めてないんです 恐らくゲームを作っていくうちに増えていくと思います それで変数をクラスで包むという手法には抵抗がありまして
- 98 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 14:35:53.45 ID:FKEfoH7y.net]
- わかった
C#使うのやめろ
- 99 名前:デフォルトの名無しさん [2015/12/04(金) 14:42:25.47 ID:ciEp6cCK.net]
- なんか怒らせちゃったみたいでこの辺にしておきます
みなさん薄々気付いてるかもしれませんが前スレラストでちょっと荒れ気味になった件の あの者です 俺が来たらどこもああなります 何か人を苛つかせる能力でもあるのでしょうかw すいません この件は上手く行ったのでこれはこれでいいです ありがとうございました
- 100 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 15:13:45.01 ID:+NxYXL3O.net]
- スタンド能力でも持ってんのか
- 101 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 15:31:48.75 ID:L/LPhIAT.net]
- Regex等でセリフ中の特定文字列を置き換える
自前string.Formatみたいなの作った方がいいんじゃねえの と思ったり。 例えば、"僕は%damage%のダメージを受けた"という文字列を渡すと "僕は69のダメージを受けた"みたいにするようなの。
- 102 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 15:45:23.46 ID:Bww8jXfy.net]
- メッセージインターフェースを実装するダメージを受けたメッセージクラスにダメージ取得インターフェースを注入すればよいのでは?
- 103 名前:デフォルトの名無しさん [2015/12/04(金) 16:00:56.65 ID:0orRsGxe.net]
- 1.問題を解決し次へ進むこと
2.解決手段をを見直すこと お前らは2を後回しにしないからいつまでも停滞してるんだぞ? 2なんてまた同様のケースに直面したときに見直せばいいんだ。
- 104 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 16:53:55.77 ID:Wl0CweWM.net]
- >>94
煽るなよ低能
- 105 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 17:19:05.00 ID:Xp0LGpIk.net]
- >>82
だから俺が教えた通り前スレで教えたとおりにセリフを全部デリゲートにしとけばよかっただろ string配列なんて柔軟性全くないだろカス
- 106 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 17:42:09.24 ID:Xp0LGpIk.net]
- SerifuAction(IPlayer player,IItem item)
{ var pname=player.Name; var iname=item.Name; Say($"{pname}は{iname}を使った!"); }
- 107 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 17:45:28.32 ID:teE1ArcJ.net]
- それだと拡張性がいまいちかな
- 108 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 18:33:00.85 ID:fudonlIp.net]
- これでどう?
public class Serihu { private readonly Func<string> factory; public Serihu(Func<string> text) { factory = text; } public Serihu(string text) : this(() => text) {} public Serihu(string pre, Func<string> text, string post) : this(() => pre + text() + post) {} public override string ToString() { return factory(); } } var serihu = new[] { new Serihu("こんにちは"), new Serihu("僕は", GetItemumei, "を使った"), new Serihu(() => $"僕は{itemmei}を使った") };
- 109 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 19:12:20.49 ID:dRNqkMm3.net]
- >>103
「を」がダブってるぞ見直せ
- 110 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 19:25:29.22 ID:T2FA2tQ2.net]
- ぱっと考えてみたが>>101のやり方がベターだと思うな。
実装も楽だろうし。
- 111 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 22:37:56.15 ID:j2Cod+yK.net]
- >>99
全スレラスト近辺の ID:fPUy/JrI は俺なんだがな。 そして荒れ気味になったのは君のせいではない。 (それ以前の時も君だけの問題ではない) ただ君のやり方はとにかく普通じゃないんだ。 だからみんなが突っ込みたくなるのも分かる。 delegateってのはそういう時に使うものではない。 その場合は String.Format で全く問題なく実装できるはずだ。(>>85) 多分オブジェクト指向を勘違いしているのだと思うが、データ構造が意味不明になっている。 セリフを一つの配列に保持するのは何故?普通はフラグで切り分ける。 ただしこれだとコードがばらけてしまうので、フラグが立ったら落ちることがないのであれば、 今君がやっているように上書きしてif文を除去してもいい。ただこれも一つの配列に無理に押し込む必要はない。 具体的に言えば、普通は>>82なら、最後は以下になる。(記述箇所が違うのがミソ) × new Serihu("僕は",GetItemumei,"を使った"); // Serifu配列に保持 ○ String.Format("僕は {0} を使った",GetItemumei()); // item.useメソッド内に記述 丁度>>103に書かれているが、俺は逆で、君はもっとデータ構造を練ってからコーディングするべきだと思う。 君はとにかく一通りは実装できる実力があるようだ。 つまり初心者→中級者に脱皮中なのだから、もっと簡単に記述する方法を練るようにした方がいい。 結果的に、その方がデバッグ時間が少なくなって早く仕上がることが分かるはずだ。 一通りすら実装できない奴らが御託を並べてコーディングしないのもよくあることで、その場合は>>103はその通りだ。 ただ君はもうそのレベルは超えているのだから、もっと練ってからコーディングする癖を付けるべきだ。
- 112 名前:デフォルトの名無しさん [2015/12/04(金) 23:18:07.68 ID:ciEp6cCK.net]
- >>111
セリフを配列にしたのはですね 正確には作ってるクラスはSerihuじゃなくてSinarioなんです Sinarioクラスの中にシナリオの情報が入ってるんですけどそれはセリフだけじゃなくて yes,noの選択肢、ゾーンの移動、音楽再生、分岐などに分類されてます それが順送りに進んだり分岐で別のラベルに飛んだりして遷移する訳です 遷移の制御の関数はゾーンごとに作る予定です それをわかりやすく記述するには初期化の所で配列に入れてしまうのが良いんじゃないかと 思ったんですけど
- 113 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 23:26:44.86 ID:7dL2y26W.net]
- 俺だったら外部データにして、読み込んで、変数使うところは表示するときに変換するように設計しちゃうなあ
- 114 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 23:29:51.50 ID:9UEpldgC.net]
- >>113
localDBとかデータとして格納すべきものだよな
- 115 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 23:54:24.22 ID:vTZpFPk/.net]
- >>112
だから言ってるだろ 音楽再生もセリフも全部デリゲートにしておけば解決だろ 後でいくらでも変更できる 初心者や初めから完璧なデータ設計ができるわけがない 手探りでやるならデリゲートが万能 say("こんにつわ"); play("嗚咽.wav"); これらをシナリオデリゲートリストにでも突っ込んどけばいい
- 116 名前:デフォルトの名無しさん [2015/12/05(土) 00:00:03.45 ID:0DSpQ91W.net]
- >>115
はぁ 次作で検討します 今作はもう今のままで上手くいっててテストデータをいくつか放り込んでも 実に正確に動いてますので
- 117 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 00:08:05.88 ID:0om6DbSR.net]
- 初めてC#を勉強しているのですが、構文についてよくわからない部分があり教えていただけないでしょうか
this.abc.jkl(); こういう感じで「.」が複数並んだものはどういう意味があるのでしょうか? 初めのthisが自分自身のオブジェクトを指し、最後のjkl()がメソッドを指しているのだと思うのですが・・・・間のabcの部分は何者なのでしょうか?
- 118 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 00:34:13.84 ID:5SHMDYrP.net]
- >>112
考えて作っているのならそれでいい。 こちらも仕様を見ないと正確には最適な構造かどうかは判断できないし、それは他の人もそうだ。 今後とも俺含めて外野がごちゃごちゃ言うだろうが、結局のところ責任者は君なのだから、 良いアイデアはもらって、どうでも良い意見は無視すればいい。(これは今の君は出来ている) それは持ち物の全てを常に自由に使えるというタイプではなくて、 あるアイテムはあるシチュエーションでしか使えないというタイプか? (アイテムが有効な時にだけ選択肢の中に「使う」が出てくる) その場合はその構造の方がいいのかもしれない。(全てがシナリオに紐付けされるから) シナリオ部分だけ分離して作るのは良い戦略だ。 ただそれはハードコードではなく、前言われたように連想配列を使った方がいい。 あと、配列に入れること(オンメモリ)にこだわっているようだが、 その都度ファイルをスキャンしてもPCなら全く問題ないはずだ。 またこれも既に言われていたが、吉里吉里とか使った方が楽だと思うが、 それでも作りたければ作ればいいと思う。少なくともやらない奴よりは100倍マシだ。 ただなあ、君は多分戦えるつもりなのだろうが、今君が持っている武器はナイフでしかない。 C#には電動ノコギリなりチェーンソーなりあるんだから、色々もっと楽に出来る。 だからもうちょっと.NETのライブラリを確認した方がいい。 (多すぎて実体が見えてこないというのはその通りだが)
- 119 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 00:41:50.04 ID:9Cod3yWN.net]
- >>117
abcという変数がオブジェクトのインスタンスを持っていて、それがjklというメソッドを持っている。
- 120 名前:デフォルトの名無しさん [2015/12/05(土) 00:56:32.34 ID:0DSpQ91W.net]
- >>118
実はゲームの詳しい仕様はまだ決めてないんですよね 取り敢えずジャンルとしては昔のcsゲームのセレクションみたいなのをイメージしてます 予定としてはアイテムを自由に使うシーンもありますしシナリオ紐付けのシーンも あるんじゃないかと予想してます
- 121 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 01:00:32.13 ID:8OetstfL.net]
- その、abc に飛んで、定義を見れば?
- 122 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 01:12:59.50 ID:8OetstfL.net]
- 製作現場では、プログラマーとノンプログラマーが、
分業して、お互いに干渉しないようにする シナリオライターは、プログラムを触らないようにするから、 Lua, Squirrel(スクワール)などを使う JSPもそう。 HTMLコーダーはJavaを触らず、アクションタグ・EL式を使う
- 123 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 01:27:49.91 ID:5SHMDYrP.net]
- >>120
まず仕様を確定させてから始めた方がいい。 アイテムがシチュエーションに依らず使用可能なら、 シナリオ側に「僕は○○を使った」があるのはナンセンスだろ。 それはアイテム側に無いと参照しづらい。(またはコピーが大量に必要になる) 両対応なら、普通は上記セリフはアイテム側にもって、 シナリオ側には有効アイテムかどうかのフラグを持つ。 (そうすれば、「僕は○○を使った」「何も起こらなかった」or「△△になった」と作りやすい) まあ色々試せばいいが、多分一旦吉里吉里の仕様を確認して、 何でそういうことになっているのか考えた方がいいと思うぞ。 上記の通り、仕様が異なればそれに対する最適解も異なってくる。 とはいえ、正直やってみないと分からないところもあるだろうし、 それ含めて勉強だというのなら一度痛い目に遭ってみるのもいいかもしれない。 ただ確実に言えることは、仕様を確定させてから組む方が確実に早いんだよ。 それは面倒な作業に思えるかもしれないが、多分今の君は試したこともないだろ? ウォーターフォールは成功すれば一番効率がいいんだ。 ただし現実にはそう簡単には行かない。とはいえ、目指さないことには始まらない。 だから今回でなくともいいけど、一回仕様をキッチリ確定させてから組むということを試した方がいい。
- 124 名前:デフォルトの名無しさん [2015/12/05(土) 01:40:20.53 ID:0DSpQ91W.net]
- >>123
ゲームに実際何が必要かは初心者なので作りながらでしかわからないんですよね 前に一作作って今のは二作目なのですが多少は掴めてきました 次作からはちゃんと仕様を決めて作りたいと思います
- 125 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 01:49:48.33 ID:5SHMDYrP.net]
- >>124
ちなみに、先にシナリオをほぼ書き上げることは可能か? その場合は8割方仕様が確定するから、その状態で組んでしまえばいい。 どうやっても多少の仕様変更は免れ得ないものだろうし、 その最中に「どういう構造にすれば仕様変更しやすいか」が分かるだろう。 これは学習方法としてはまあまあだ。
- 126 名前:デフォルトの名無しさん [2015/12/05(土) 01:56:56.33 ID:0DSpQ91W.net]
- >>125
シナリオを先に書く事は可能です そろそろ取り掛かろうと思ってました 明日から始めたいと思います
- 127 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 02:26:38.84 ID:F7H2FODJ.net]
- 横槍なんだけど
仕様って具体的にどこまで固めるものなの? こういう機能のクラスが必要とかUML図で作成したりすること? 独学でやってるから実践的な設計がわからない だから行き当たりばったりで最初から作り直したりすることがよくある 上の方でもあるけど、データ構造は重要でここがしっかりしてないと 後で変更することになった場合、もう一から作ったほうがいいわってなる
- 128 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 06:32:05.25 ID:poGBdUW6.net]
- データ構造重視はわかるが
最初に固める考えは古いんじゃね
- 129 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 16:58:57.43 ID:nvqV1tdn.net]
- プロトタイプ作ってから実装しなおすって考え方どこ行ったの
- 130 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 17:06:48.44 ID:TUTr6vYI.net]
- プロトタイプは客に見せて完成品のイメージを共有するのに使うんだよ
極端な話、手描きの紙芝居でいい 決して設計能力の無さを補うためのものではない 個人で作ってるなら完成品のイメージは最初から頭の中にあるはずだから、設計は最初からできる
- 131 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 17:13:26.24 ID:KdBqlpoa.net]
- まずはDDDを学ぶ事
仕様なんて後回しでいいよ
- 132 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 17:23:12.50 ID:OQdpR4PG.net]
- 横だけどDomain-Driven Design知らなかった
勉強してみよ
- 133 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 17:37:59.43 ID:7d38zssS.net]
- いい加減なこと言ってるなw
仕様変更や拡張に対する柔軟性はコードのシンプルさや可読性に反比例するし、 そもそも対応できる仕様変更の範囲なんてたかが知れてるから、程度問題ではあるが 結局は最初に仕様をある程度きちんと確定した方が効率がいいし、精神衛生上もいい。 急がば回れ、だろ。 っていうか、マ板的な話題になっちゃうけど、日本のITにデスマが多い理由の一つは 最初に仕様を確定することの重要性をクライアントに理解させることに失敗してるから。
- 134 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 17:43:34.13 ID:TUTr6vYI.net]
- そう
仕様がはっきり決まってるのにその範囲をきっちり設計できないのは単なる能力不足であり非効率 流行りのアジャイルはその一度にはっきり決める範囲をなるべく小さくして方向修正をしやすくしようというものだ いずれにせよ、「はっきり決まってる範囲」についてはきっちり設計できるのが前提だ そこを履き違えてはいけない
- 135 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 17:48:23.96 ID:KdBqlpoa.net]
- >>133
現代的な開発手法とは真逆の結論だね なぜそうなったのか興味深い
- 136 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 18:06:09.35 ID:7d38zssS.net]
- >>135
現代も糞もないから。 本気でそう思ってるんならお前さんオモチャみたいなプログラムしか作ったことないんだろ。 建築でも造船でも何でもそうだけど、犬小屋レベルなら思いつきでスクラップ&ビルドで何も問題ないけど ある程度の規模と複雑性を超えたら気軽にそんなことできない。
- 137 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 18:16:09.67 ID:TUTr6vYI.net]
- 視点の違う話であり、どっちも正しい
仕様のはっきり決まっていないものを作るのも後で大きな変更をするのも不可能 でも最初に全部確定させるのは(客がビジネス上の目標を達成することを開発の目的とするなら)難しい じゃあどうするか?→少しずつ確定させてその都度作ろう というのが現代的な結論
- 138 名前:デフォルトの名無しさん [2015/12/05(土) 18:31:12.60 ID:bOfmuCEI.net]
- ソシャゲと据え置きゲーと業務系と制御系で同列に語れないだろ
いや、客の下請けになるのと自社製品のほうがデカイか
- 139 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 19:24:10.39 ID:KdBqlpoa.net]
- >>136
大規模であるほどステークホルダが増え開発者の発言力は相対的に弱まりビジネスは複雑化しその変化は速くなる 最初からステークホルダ全員の納得する仕様を作る事など誰にもできない 最初に決めた仕様を顧客を無視して貫き通すなんてどんなに強大な開発会社だってできない 最初に仕様をがっちり固めてそれに執着する事ほど愚かな行いは無い 仕様は流動的で全体を見通す事は出来ないものであるという当たり前の事実を認める 変化に強く拡張性の高い柔軟でしなやかな設計と管理可能な規模に制限されたイテレーティブな設計開発プロセスでもって顧客の要求に応えさらには顧客の気付かなかったビジネス上の提案を行う これが先進的な現代のシステム開発の姿だ そして変更に対して柔軟で拡張性の高い設計は自然とSOLIDなどといった良い習慣を実践するシンプルで可読性の高いプロダクトを生産する事はいまや周知の事実である
- 140 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 19:35:08.76 ID:HGRqjVZT.net]
- 方法論はその手のスレで語りたまえ
- 141 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 20:56:33.71 ID:0om6DbSR.net]
- >>119
入れ子構造になっていたわけですね なかなか理解できなかったので助かりました ありがとうございます
- 142 名前:デフォルトの名無しさん [2015/12/05(土) 22:36:44.86 ID:EmMdnWJI.net]
- 仕様なんてすぐ変更可能だろ。
きちんと設計していれば
- 143 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 23:17:34.13 ID:XLAN3beo.net]
- string str = "アヘアヘ";
byte[] data = Encoding.UTF8.GetBytes(str); をループで100回くらい実行すると何十秒も掛かるのは何故? 速くする方法を教えてケロ
- 144 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 23:22:25.35 ID:Pp+uAKFK.net]
- >>143
問題はそこだけじゃ無いと思うんだが ソース全体見ないとなんとも
- 145 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 00:23:16.50 ID:z5tP4Enx.net]
- >>144
調査してみます。ありがとうございました。 もう一つ教えて下さい。 string の配列 strが有るときに、その全ての要素の末尾の '\n' をトリム したいのですがLINQで書く方法を教えて下さい。
- 146 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 01:42:11.95 ID:wT98bk2q.net]
- 全ての要素に対して特定の射影操作を行った結果を返す→Enumerable.Where
末尾の連続する指定文字を削除→String.TrimEnd 後はこれらを組み合わせるだけ
- 147 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 02:14:26.24 ID:Iw0HekNi.net]
- >>146
WhereじゃなくSelectな
- 148 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 02:15:30.88 ID:oN/DZACa.net]
- >>143
そんなもん速くすることに何の意味があるのか教えてケロ
- 149 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 02:29:23.41 ID:z5tP4Enx.net]
- >>145 >>146
出来ました。有難うございました。
- 150 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 02:36:25.51 ID:WQnzekof.net]
- 最近はこいつ専用の質問スレになっているな
- 151 名前:デフォルトの名無しさん [2015/12/06(日) 02:53:04.29 ID:3F5n1eU+.net]
- >>150
別人ですよw 前も間違えられましたw
- 152 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 03:36:35.64 ID:z5tP4Enx.net]
- >>150
こいつって言うなよ。お前はドイツだ?
- 153 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 11:14:49.31 ID:AT77pBch.net]
- オランダ
- 154 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 17:12:11.55 ID:W+p7bgVb.net]
- >>42について誰か教えて下さい
ずっと調べてたのですがよくわかりません お願いします
- 155 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 17:26:29.52 ID:W+p7bgVb.net]
- >>40にかんしてはわかりました
しかしデータテーブルだとデータ取得などでキャストがものすごく多く扱いづらかったので他の方法はないかなと
- 156 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 18:13:57.64 ID:Iw0HekNi.net]
- >>154
>>42の何についてだよ
- 157 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 20:09:51.90 ID:C3DS1n+h.net]
- 開発環境について質問です。
win7だとVisual Studio以外だと現在どのような環境があるのでしょうか?
- 158 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 20:30:13.83 ID:q8EgO26J.net]
- Visual Studio Code
- 159 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 22:25:05.46 ID:PCHXXrmx.net]
- 小規模だとEFを使わないほうがいい理由と
自作クラスをDGVでソートする場合に bindinglistの自作以外に方法があるのかについてです 同じDBを複数のプロジェクトで使うため、ライブラリ化して簡単にDGVに表示する方法を模索中です
- 160 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 23:16:02.61 ID:wT98bk2q.net]
- まだやってたのか
設計を低いレベルで考えすぎ 難しいこと考えずにDB使いまわしたいんならリポジトリパターンでも使ってラップしてしまえ DGVとの受渡くらい手で書いても大したことじゃない こういうのはきちんと守るべき大枠とくだらない実装の詳細を分けて考えるのが大事
- 161 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 01:26:06.62 ID:2NgeMT2J.net]
- リポジトリパターンは既に作ってます
ただ、それをDGVでソートできるように どう受け渡すかがわからなくて悩んでるところなんです
- 162 名前:デフォルトの名無しさん [2015/12/07(月) 07:04:12.11 ID:H/Y7gwjC.net]
- グーグル対オラクルのJava訴訟、米最高裁がグーグルの上告を棄却--Reuters
japan.cnet.com/news/business/35066650/ Javaがオラクルの所有物に過ぎないとばれた今、 C#がマイクロソフトの所有物でも普及に支障はなくなりましたか? やっぱりオラクルvsマイクロソフトならマイクロソフトが勝つに決まってるし、 JavaよりC#の方が将来有望ですか?
- 163 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 09:32:41.12 ID:yCfuxHba.net]
- グリッドビューのヘッダーにクリックイベントでもいれればいいじゃん
クリックされたら指定のソートで帰ってきたデータをDataSourceにbind
- 164 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 11:46:23.80 ID:2NgeMT2J.net]
- クリックされたらLINQでデータソートは考えたけど
DGV作るたびにその処理を書かないといけないので諦めました DALを参照したら、あとはソースをDGV.DataSourceに突っ込むだけで ソートも編集もできるようにお膳立てしたいんです 既存の複数のプロジェクト、今後作るプロジェクトで 参照するだけでさくっとやれるようにしたいんです で、それをするには自作BindingListViewってとこにたどりついたんですが 他に方法はあるのか知りたいという段階です DataTableは一旦DBから全データ取り出して実体化したものだから せっかくのデータベースも台無しだし あととにかく記述が面倒なのと フォーム上にテーブルごとにアダプターやらなんやら大量に作ることになるのが 目障りなんですよね じゃあ、コードで生成するとなると Rows["ほげ"]ということをしないといけなくなるのでそれも色々面倒
- 165 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 11:55:40.97 ID:2NgeMT2J.net]
- >こういうのはきちんと守るべき大枠とくだらない実装の詳細を分けて考えるのが大事
やっぱこれにつきますかねぇ なんかゴリ押しでやってた時のほうが目的のものがすぐ作れてた どうでもいいこと考えすぎかな
- 166 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 20:06:56.84 ID:Alz7fRso.net]
- 結局プロトタイプはゴリ押しのほうがいいんだよな
- 167 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 18:30:32.51 ID:pLN3UA33.net]
- LockBitsを使ってBitmapのRGB値を取得しようとするなら
unsafeは使ったほうが良いのでしょうか?
- 168 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:40:53.22 ID:tm5OKDCJ.net]
- Marshal.Copyで丸ごと(orストライド単位で)配列にコピーでいい
もし「アプリとして一通り動作するようになった段階で」許容できないほど遅かったらポインタにすればいい
- 169 名前:167 mailto:sage [2015/12/08(火) 21:57:14.02 ID:Knxj4/bI.net]
- >>168
ありがとうございます そうします
- 170 名前:デフォルトの名無しさん [2015/12/09(水) 19:28:35.96 ID:M0xrPV16.net]
- 下記のようなListから、Aの要素がいくつあるか調べる方法は
ありますでしょうか? List<string> data = new List<string>(); data.Add("A"); data.Add("B"); data.Add("A"); for文で地道に処理すれば数えることはできますが、 今のご時世、ラムダ式などで短く書けるのではと思い。 よろしくお願いします。
- 171 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 19:37:40.54 ID:svoVX7AQ.net]
- >>170
data.Count(str => str == "A")
- 172 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 19:45:54.70 ID:rknXDi2e.net]
- data.FindAll( [条件判定のデリゲート] ).Count
でも行けるけど(たぶん)、Linq の方が好みだな。
- 173 名前:170 [2015/12/09(水) 19:51:16.06 ID:M0xrPV16.net]
- やはりスマートな書き方があったのですね。
参考にさせて頂きます。 ありがとうございます。
- 174 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 19:44:47.35 ID:/nCMdU4k.net]
- 下記ページのTCPサーバーのサンプルソースで、下に書かれているように
Listenを閉じずに継続させたいのですが、具体的にどこをループさせればいいかわかりません。 よろしくお願いします dobon.net/vb/dotnet/internet/tcpclientserver.html >>もし終了させずにListenを継続する場合は、リスナを閉じずに、 >>再びAcceptTcpClientメソッドを呼び出してください(ループさせることになるでしょう)。
- 175 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 20:57:53.52 ID:x7zD0EOz.net]
- using の行を1行目として、33-91 行じゃねーの?
いくら何でもこれは自分で理解出来るようにならないと、ソケットプログラムなんて無理だぞ。
- 176 名前:423 mailto:sage [2015/12/10(木) 20:58:57.17 ID:t7TUm6W9.net]
- >>174
閉じる ⇒ 接続要求があったら受け入れる に戻ればいいだけ
- 177 名前:デフォルトの名無しさん [2015/12/10(木) 21:03:05.35 ID:zy2e4Bxw.net]
- データベースと接続するクラスを作ったのですが、
オブジェクト指向的には、 インスタンスを作って呼び出す方が良いのでしょうか? 使用するクラスで継承させる方が良いのでしょうか? 趣味グラマーなので、専業の方が どうしているのか気になりまして。。。
- 178 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 23:37:47.90 ID:hl2uxfTr.net]
- クラスは一つしか継承できんのだぞ
そんなどうでもいいもの継承すんなボケェ
- 179 名前:423 mailto:sage [2015/12/11(金) 06:49:57.63 ID:7DodXpQ6.net]
- >>177
マルチうざい peace.2ch.net/test/read.cgi/tech/1445609364/438
- 180 名前:174 mailto:sage [2015/12/11(金) 10:47:54.83 ID:8ztrqOW8.net]
- >>175-176
Loopさせると期待通りの動作はするのですが、フォームが固まってしまうんですよね
- 181 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 12:06:53.25 ID:lQa1iSl4.net]
- どんなフォームアプリケーションだろうとイベントハンドラで処理戻さなけりゃ固まる
いくらなんでもこれは自分で理解できるようにならないと、フォームプログラミングなんて以下略
- 182 名前:423 mailto:sage [2015/12/11(金) 12:45:33.07 ID:7DodXpQ6.net]
- >>180
それはフォームの処理をする奴がいなくなるから 今まではメインスレッドがフォームの処理をやってたけど、メインスレッドはクライアントからの接続待ちとクライアントとの通信しかしてない C# フォーム 固まる とかで検索すれば対処法とか載ってるから見てみて
- 183 名前:デフォルトの名無しさん [2015/12/12(土) 16:30:55.13 ID:Tj9TliY5.net]
- Visual C++ / C++/cliのHTTPクライアントを作成しているが、
うまくいかないURLがあります。 ■概要 「a.com」へアクセスしてレスポンスbodyを見ると、 文字化けした文字が1文字のみ(�)入っていて、正常にHTMLを取得できません。 なお「b.com」「c.com」などの他サイトの場合、正常にHTMLを取得できます。 ■質問事項 上記が発生する原因と対策をご教授下さい。 ■環境 Microsoft Visual Studio Community 2013 Update 4 Visual C++ / C++/cli Windows8.1 ■ソースコード ideone.com/5nTej7 大変困ってます。先輩方ご教授のほどお願い致します。
- 184 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 17:37:40.14 ID:V9rSzP+i.net]
- ♩はじめて〜のa.com
- 185 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 23:59:25.81 ID:k5LGN9PP.net]
- Hogeクラスをahoge,bhoge,choge・・・・と20回インスタンス化し、20すべてのインスタンスに対しHogeのメソッドFooを呼び出したいと思っています
この場合、次のように20行書くしかないのでしょうか? ahoge.Foo(); bhoge.Foo(); choge.Foo(); ・ ・ ・ 素人感覚としてもう少し楽な方法があるのではないかと感じてしまいますがどうなのでしょうか、よろしくお願いします
- 186 名前:デフォルトの名無しさん [2015/12/13(日) 00:03:26.38 ID:Wcw8JgGx.net]
- 誰かわかりませんでしょうか
- 187 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:24:37.34 ID:pukhMxdP.net]
- foreach (var hoge in Enumerable.Range(0, 20).Select(_ => new Hoge())) hoge.Foo();
- 188 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:39:11.92 ID:5FRgwNtE.net]
- 流石にfor文のほうが好きだなw
2文になっちゃってるし
- 189 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:40:37.73 ID:Be8+1Kca.net]
- Androidでは、メインスレッド・UI(描画)スレッドの2つあって、
各スレッドで、出来ることが厳密に分けられている 通信アプリでは、同期・非同期の2つある。 同期では返信が来るまで待つが、 非同期では待たずに、関数がすぐにリターンして、 後から登録しておいた、ハンドラを呼び出してもらう サーバーではListenしておいても、接続要求が来たら、 そのソケットではなく、その場でコピーしたソケットを使って、 元のソケットはそのまま、Listenを続ける
- 190 名前:デフォルトの名無しさん [2015/12/13(日) 00:42:24.59 ID:dHM9DT2y.net]
- C#を使ってチャットに入室したいのですができるでしょうか?
- 191 名前:デフォルトの名無しさん [2015/12/13(日) 00:45:16.72 ID:Wcw8JgGx.net]
- >>183
どなたかご教授お願いします。難易度高いでしょうか・・
- 192 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:47:06.91 ID:Z/gGXySu.net]
- >>185
var hoge[] = { new Hoge(), new Hoge(), ... }; foreach( var item in hoge ) item.Foo() の方が好みだな。
- 193 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:52:59.06 ID:Z/gGXySu.net]
- >>191
これってそもそも C++/CLR じゃないの? (ここは C# のスレ) a.com が、きちんと応答を返しているかを確認してる? このコードが何をしているのかを説明出来る?
- 194 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:59:25.75 ID:wcpRGnCg.net]
- >>187
ありがとうございます オブジェクト名に変数を使うのですね ただSelect(_ => new Hoge()の部分が私には難しく、なぜオブジェクト名が返ってくるのか不思議に思えてしまいます 特に_から始まるラムダ式を初めて見たため_が何を意味しているのか分からず、またここに出てくるnewが何を意味しているのかよくわからないのです できれば少し教えていただけないでしょうか
- 195 名前:デフォルトの名無しさん [2015/12/13(日) 01:06:33.93 ID:Wcw8JgGx.net]
- >>193
はい、HTTPレスポンスヘッダーとステータスコード=200は通常ですが、 中身だけ一文字文字化けで異常なのです。 原因と解決方法をご教授お願いします。 sssp://o.8ch.net/1mns.png
- 196 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:25:24.42 ID:qqdlpJsw.net]
- >>185
素朴さと効率の面での着地点はおそらくこれ for (int i = 0; i < 20; i++) { new Hoge().Foo(); // 20回呼ばれる }
- 197 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:33:58.65 ID:nACJdPad.net]
- これ20回Fooを呼び出すのが目的なのか、20個のインスタンスからそれぞれFooを呼び出すのが目的かによって違うよね
- 198 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:39:36.45 ID:wcpRGnCg.net]
- ああ、そういうことか
なぜこれで動くのか?なぜnewが挟まってるのかなあ・・・?と思ったら
- 199 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:41:04.49 ID:qqdlpJsw.net]
- > 20回インスタンス化し、
> 20すべてのインスタンスに対しHogeのメソッドFooを呼び出したい とモロに書いてあるけど? 一個のインスタンスに20回Foo呼び出すなら>>185の不満は出ないはず
- 200 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:42:11.81 ID:qqdlpJsw.net]
- あ、>>199は>>197へのレスね
- 201 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:44:22.13 ID:nACJdPad.net]
- >>199
その20個のインスタンスを使いまわすなら>>196みたいな書き方にはならないんじゃね? まあ質問者が例の子だからこれ以上はレスやめとくけど
- 202 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:53:34.04 ID:Be8+1Kca.net]
- >>194
以下のように、ラムダ式の引数を使うなら、 x => x * x; 使わないなら、_ を使う。 _ => new Hoge() 単に20回、Hoge インスタンスを作りたいのだろう
- 203 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 01:57:52.55 ID:wcpRGnCg.net]
- ごめん、質問の書き方がほんと悪かった
- 204 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 05:58:27.26 ID:cRCiNpbO.net]
- 俺も>>192のが柔軟さもあるから好みだなあ
- 205 名前:デフォルトの名無しさん [2015/12/13(日) 09:30:13.43 ID:Wcw8JgGx.net]
- >>183
どなたかご教授お願いします。
- 206 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 09:51:50.02 ID:sFQuc/mb.net]
- >>205
Visual C++ / C++/cliのHTTPクライアント [無断転載禁止]c2ch.net peace.2ch.net/test/read.cgi/tech/1449902256/
- 207 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 10:06:49.10 ID:cRCiNpbO.net]
- >>205
このスレC#のスレなんだよね…そのくらいはスレタイトル見れば普通わかるよな 途中で指摘までもらってるのに謝罪もなく続ける神経ってどうなのか マルチポストという最低行為までしてるし恥を知れと言わせてもらうわ 回答求めるなら人として最低限のルールやマナーくらい守ろうや
- 208 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 12:28:09.88 ID:Z/gGXySu.net]
- そうなんだよね。
低姿勢に見えるけど、実はそうじゃないし。教えてあげる側にも必要な情報があるって事を理解してないし。 そもそも日本語もおかしいしな。
- 209 名前:デフォルトの名無しさん [2015/12/13(日) 13:02:04.59 ID:Wcw8JgGx.net]
- >>207
>>208 自力で解決しました。ありがとうございます。
- 210 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 13:40:22.11 ID:yq3eT/D1.net]
- ゆとりは敬語=低姿勢だと勘違いしてるんだろ。
それはそうと、他スレでもそうだが、ここ数週間でこの手の輩 --掲示板に書けばデバッグしてもらえると思っている池沼ゆとり--が急に増えたよな。 何があったのかは分からんが。 マルチしているのなら、マルチ先にも取り下げを明示するのが義務。 質問をした以上、自己解決した場合もあらましは説明するのが筋。 ID:Wcw8JgGx は死ね。
- 211 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 14:50:18.19 ID:jSlwiwGB.net]
- >>210
2ch脳全開だなお宅w しかし、>>210みたいに相手(他人)にばかり義務を負わせて テメエは文句を付けるだけで何も義務を負わないことに何の疑問も感じないどころか 正論ぶってるつもりになって自己陶酔してる馬鹿ってどういう神経してるのかね。
- 212 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 15:05:43.34 ID:S5USnmm8.net]
- Unity君はunityスレでやってくれないかとだけ思う
- 213 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 15:25:01.50 ID:EcvSK0Uh.net]
- 呆れ返って無視を決め込んでる大多数の人に比べたら
ちゃんと書いてくれてる>>210は親切な人だよ
- 214 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 17:00:34.08 ID:XIYdqDB0.net]
- まあここまで酷いと何言っても無駄だろうけどなぁ
- 215 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 18:31:41.06 ID:ATkL4mrR.net]
- あるフォームアプリケーションを作成しています。開始ボタン、停止ボタン、表示部で構成され、開始を押すとある相手先に要求コマンドを投げてデータを返してもらいます。
- 216 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 18:32:20.53 ID:ATkL4mrR.net]
- 停止を押すまではこの要求コマンドを投げてデータを受け取り、表示部に代入する処理をループで回し続けたいのですがどうすればよいでしょうか?
- 217 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 18:35:10.91 ID:ATkL4mrR.net]
- マルチスレッドを調べたのですが難しくて…また、別スレッドで表示部に代入しようとすると怒られるし…。具体的な解決法があれば教えていただけないでしょうか?
- 218 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 18:39:41.21 ID:+vfdgVrV.net]
- 通常はThreading.TimerとBeginInvokeを使いますね
- 219 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 19:02:55.61 ID:7+L9FXPQ.net]
- 初心者じゃないならawait使った方が楽です
- 220 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 19:20:44.74 ID:yq3eT/D1.net]
- >>211
この手の馬鹿に答えること自体が迷惑だということが分からないのなら2ch止めるべきだな。 お前だけ意見が浮いているのは、お前が回答したことがないクレクレ君だからだよ。 ID:jSlwiwGB も死ね。(= ID:Wcw8JgGx かもしれんが) お前は答えることが義務だと勘違いしている馬鹿か、そういうことにしたいアフィモドキだと思うが、 お前らteratailから来てるキチガイなの?マジで最近多いんだけど。他スレでも。
- 221 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 19:28:09.17 ID:Z/gGXySu.net]
- お前も落ち着け。
>>215 初心者なら、タイマーイベントで、要求投げる、受ける、表示をやってみればいいんじゃね。 投げる→受けるの時間が長いと画面が固まる(時間が長くなる)けれど。 最近なら Task とか使うんだっけ?
- 222 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:03:41.07 ID:l4YWW2h+.net]
- >>220
2ch脳全開だな。 しかし、こういう馬鹿の「この俺様が答えてやるのだからお前は俺様に礼儀を尽くせ」って 思考回路って何様のつもりかね。 馬鹿じゃないの。 誰もお前に回答して下さい、なんて頼んでねえだろ馬鹿。 テメエがテメエの欲求を満たすために頼まれもしないのにテメエの意思で書いてるに過ぎないのに それを忘れて自分が開いてに対して何かを要求する権利を持ってるかのように錯覚する>>220みたいな エゴイストって馬鹿だと思うし理解できんわ。
- 223 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:06:05.15 ID:1MCMp/1v.net]
- webformで、
例えばlistviewやgridviewを使ってtableを作ったとして、javascriptでtableエレメントに行追加等の操作しても それをサーバ側で拾う方法って無いですよね? 行追加自体をサーバ側でやって、レンダリングするしか無いですかね。 逆に.net MVCだとバインディングはname属性の規則性でバインドされるんで name属性を指定して、javascriptで追加してあげれば、コントローラーで取得できるんですかね
- 224 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:15:10.40 ID:RL8ekZoR.net]
- >>217
Rx勉強しろ とっかかりはむずいけど慣れたら超便利
- 225 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:31:31.33 ID:yq3eT/D1.net]
- >>222
理解できなくていい。ただお前は去るべきだ。 2chが嫌いで他サイトが好きなのなら、他サイトで質問するべきだ。 2chで質問している以上、2ch流の対応をされても文句を言える筋はない。 そしてお前自身2chが嫌いなようだから、お前は2chを止めるべきだ。
- 226 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:37:38.58 ID:l4YWW2h+.net]
- >>225
よく分からん独りよがりの理屈。 >>225みたいな奴っていかにも今時の一人っ子のわがまま坊主って感じ。 ゆとり? それお前のことだろ馬鹿。
- 227 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:43:58.56 ID:+vfdgVrV.net]
- Rxとかいう失敗作
- 228 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:48:09.66 ID:l4YWW2h+.net]
- しかし、お前は自分が何か特権を持ってると錯覚してるぞと言ってるそばから
>>225みたいな勘違いした特権意識丸出しのレスができるって病膏肓に入る馬鹿ってこういうのを言うんだね。
- 229 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 20:50:08.86 ID:cRCiNpbO.net]
- あちゃあ…
自己解決したのに解決した方法も書かずに去るというコンボまで決めちまったのか マジで恥を知れって
- 230 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 22:01:20.19 ID:CAQs6xCh.net]
- >>222
> この俺様が答えてやるのだからお前は俺様に礼儀を尽くせ」 横からすまん 何か知らんがこの場合は回答者と質問者の関係だろ? だったら質問者は回答者に敬意払っていいんじゃないの?w 乞食が偉そうにしても何ももらえないぞw
- 231 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 22:47:07.40 ID:yq3eT/D1.net]
- 発狂具合からして、本人としかw
ちなみに、他スレを見てないと気づかないと思うが、正直言ってC#のスレはかなりマトモだ。 だからこの手のキチガイ逆ギレクレクレ君は今後とも来る。気を付けた方がいい。 以下参考。最近おかしな奴が急に増えた。居着かれても困るだろ。 【JavaScript】1から10まで足せません peace.2ch.net/test/read.cgi/hp/1444186237/883-888 【JavaScript】if文は難しくて書けません peace.2ch.net/test/read.cgi/hp/1448293871/162-169 【Java】キャストできません peace.2ch.net/test/read.cgi/tech/1445609364/458-460 【Java】エラーが取れません peace.2ch.net/test/read.cgi/tech/1445609364/489-493
- 232 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 22:55:20.15 ID:S5USnmm8.net]
- pythonとapiにもここのところ妙なの湧いてんだよな
何だろう一体
- 233 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 23:47:03.54 ID:yq3eT/D1.net]
- APIのキチガイ、驚きのハイレベラーだった、、、
> 私は、このスレ民が誰も持ってないVS2015を購入する財力があるんですよ? > 再三に渡り申し上げていますように、私のコードにはバグが入り込む余地など皆無ですから peace.2ch.net/test/read.cgi/tech/1438695290/765 状況からして、組織的に2chスレを毀損しに来ているとしか思えない。 冬休みに見せかけたひろゆき流というか。 おそらくム板を潰して住民の移動を促したいのだろう。 で、以前teratailの名前を出したら状況が変わった気がしたから、今回も試してみたw しかし夏休みでもここまで酷くならないのに、(というか夏休みでも大して変わらないのに) やりすぎでバレバレだろ。 どこか他にム板潰して得する連中っている?
- 234 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 23:48:47.66 ID:l4YWW2h+.net]
- >>230
質問者が回答者に謝意(敬意wは大げさ)を表すのは人として当たり前だと俺も思うが、 自分で答えたくて答えてるにすぎないことを忘れて回答者が謝礼を当然視したり、 >>210みたいに相手に自分の価値観を一方的に押し付けるのは 不遜で勘違いも甚だしいって言ってるんだよ。 神戸でも福島でも誰に頼まれるでもなく自分で好き好んで出かけて行っておいて、 見返りを求めたり被災者のための救援物資を飲み食いする勘違いしたボランティアがいたそうだけど、 そういう馬鹿と同類だな>>210みたいのは。
- 235 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:11:01.67 ID:nsHRL9eA.net]
- ものすげえめんどい流れ既に感じるんで全部は答えないよ
> 質問者が回答者に謝意(敬意wは大げさ)を表すのは人として当たり前だと俺も思う 人として当たり前なんて思わない そんな道徳を押し付けようとしてるんじゃない そーじゃない みんなが言っているのはね 君にとっては義務じゃなくて権利だ こうすればこうしてもらえるよ、というだけ そうしなければ? おそらく今後は単に無視され続けるだろう
- 236 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:15:56.28 ID:nsHRL9eA.net]
- いや、今読むと>>210さんは「義務。筋。死ね」っていう言葉を使っているねw
だから>>235の「みんなが言ってるのは」部分は取り下げるわ 個人的な感想とだけにしとく
- 237 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:17:17.95 ID:8e/RtXYS.net]
- C#の話なんですが
arrayとArrayList型とList型と、 HashtableクラスとDictionaryクラスと なんで似たようなのがこんなにいっぱいあるんでしょうか 調べた限りでは、 array: 要素数変更の際には再定義してまるごとコピーし無くてはならない。× ArrayList: 非ジェネリッククラスなので使うべきではない× List: おすすめ○ Hashtable: 非ジェネリッククラスなので〜× Dictionary: おすすめ○ こんな認識なんですが 例えばarrayが活躍するような状況ってあるんでしょうか。 単にレガシーなだけですか?
- 238 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:39:56.06 ID:18/fwc/d.net]
- >>237
ArrayListやHashtableはレガシー。 arrayはC#の配列の基本クラス。
- 239 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:41:29.03 ID:XssrJ5Dg.net]
- 215-217です。
様々なアドバイス有難うございます。要求コマンドは相手先の返答が変わる可能性を考えて1秒ごとにポーリングする形を取りたいと思っています。
- 240 名前:デフォルトの名無しさん [2015/12/14(月) 01:42:28.38 ID:yG0ytcqD.net]
- >>237
ジェネリック版が存在する型の非ジェネリック版はレガシーだから使う必要なし arrayはいわゆる[]で定義する配列のこと? だったら要素数が固定でコレクション型に存在するメソッド(挿入とか)を使う必要がなければ 簡潔だし速いからまだま使うでしょう。 座標とかの添字アクセスが必要な場合は配列のほうが見やすい 3次元配列でList<List<List>>とかしたくない。 あと今のところListの内部実装は配列だったはず
- 241 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:43:40.41 ID:8e/RtXYS.net]
- >>238
arrayはListのベースクラスになっている感じでしょうか。 ともあれ○つけたので間違いないということで安心しました ありがとうございます!
- 242 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:44:56.55 ID:XssrJ5Dg.net]
- そこで開始ボタンを押したというイベントで、無限ループのポーリング要求状態を維持。ボタン操作は固まらせずに停止ボタンイベントでループ脱出としたいです。
- 243 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:47:01.19 ID:8e/RtXYS.net]
- >>240
なるほど… enum使いようなものにはarrayの方があっているという感じでしょうか。 ありがとうございます!
- 244 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:48:32.61 ID:XssrJ5Dg.net]
- threadやtask、invoke、delegateなどを徹底的に調べたのですが無限ループを片タスクに任せつつ、返答が変わったらすぐに表示部に反映というのが実現できません。
- 245 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:50:09.83 ID:XssrJ5Dg.net]
- 開始ボタンイベントの中に無限ループがある状態です。具体的な書き方をご教授くださいm(_ _)m
- 246 名前:デフォルトの名無しさん [2015/12/14(月) 01:55:50.98 ID:yG0ytcqD.net]
- まず自分が書いたコードを出しなさいよ。
質問の直後に218さんがBeginInvokeのヒントをくれてるのになにが徹底的に調べただ
- 247 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 01:58:37.94 ID:pR0q+hJa.net]
- 掛け算などを徹底的に調べたのですが
6*7が分かりません 具体的な正解をご教授くださいm(_ _)m
- 248 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 02:02:17.35 ID:18/fwc/d.net]
- >>243
予め配列の長さが固定で分かってる単純な配列の場合はarray(int[]とか)。 後からデータを足すとか、長さが不定の場合はList<>。
- 249 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 02:04:34.11 ID:30h96I3U.net]
- >>245
ここはチャットじゃないんだから書き込みもうちょっとまとめような
- 250 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 03:21:55.90 ID:ccU2pCxg.net]
- 変なのが湧いてるなあ全く
- 251 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 05:49:23.31 ID:V5qe/+59.net]
- >>217
深く考えず ・async/await ・dispacherメソッド定型呼び出し ・astask ・非asyncからasyncやtaskなどをawait呼び出ししない ・同様にtask.waitなどしない。async/awaitで強引に並列処理を実装しようとしない ・コンソールアプリとGUIではawaitの挙動が違う(語弊あり) ・むしろ全部非同期にする を守ってasync/awaitすれば、優しい世界が待ってるよ。 こいつらの動作原理を知識0から真面目に知ろうとするとガチでで20時間ぐらいかかるから、あまり深く考えなくて良い
- 252 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:10:44.05 ID:daRnSbpo.net]
- public readonly static string FieldName =
- 253 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:12:44.43 ID:daRnSbpo.net]
- public readonly static string FieldName = " ssss" ;
と public static string PropertyName {get;} = " ssss" ; の挙動上の違いがわかりません 上がフィールドで下がプロパティ以外であること以外の違いについて教えて下さい
- 254 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:29:03.79 ID:AA+Gl2Rs.net]
- >>253
フィールドとプロパティの違いに起因する挙動の違いとしか言いようがない 中でリフレクションを使っていて、プロパティじゃないと反応してくれないライブラリはよくある
- 255 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:34:44.70 ID:daRnSbpo.net]
- >>254
なるほど 有難うございます
- 256 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:42:53.30 ID:XssrJ5Dg.net]
- 説教くさいやつなんなの
答える気ないなら書き込むなよな
- 257 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 22:54:55.73 ID:1ewiA+as.net]
- >>253
CLS準拠してるかしてないか
- 258 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:00:14.32 ID:dPco7zPj.net]
- >>257
文盲は去れ
- 259 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:03:21.08 ID:4hBSCyDp.net]
- 先日のキチガイ ID:Wcw8JgGx = ID:jSlwiwGB = ID:l4YWW2h+
本日のキチガイ ID:ATkL4mrR = ID:XssrJ5Dg
- 260 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:11:35.90 ID:30h96I3U.net]
- 説教のつもりはなかったんだが…気を悪くしたならすまんかった
- 261 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:33:34.30 ID:+VeChPZq.net]
- ↓ID変え忘れちゃったのかな?w キミは回答者にリスペクトなさ杉だょ
256 :デフォルトの名無しさん:2015/12/14(月) 22:42:53.30 ID:XssrJ5Dg 説教くさいやつなんなの 答える気ないなら書き込むなよな
- 262 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:51:17.16 ID:ccU2pCxg.net]
- 頭の方も少しは進歩させてくださいよォーーーーッ
- 263 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 10:33:52.75 ID:DB3m4Koh.net]
- ちゃんと話を聞いてまとめれば答える気になる奴も少しは出てくるだろうにな
今は「知ってるが、お前の態度が気に入らない」の心境だよなみんなw
- 264 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 12:04:31.56 ID:sIyUSg96.net]
- 可愛い女の子が言ってるなら許す
- 265 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 12:01:18.73 ID:yfneKelH.net]
- どっぷりVBだったのですが、もともとC++が書けるのでC#を勉強し始めました。
んで、さっそく超初歩的なところで恐縮なのですが・・・ フォームにボタンを置いて、Clickイベントの中身を書こうと言うとき VBだったら、コードウィンドウの最上段の左コンボでボタンオブジェクトを選択し 右コンボでイベント名を選択すると、勝手にスケルトンが作られました。 C#のとき、どうしたらスケルトンが出来ますか? フォームデザインのプロパティのイベントで、イベント名をダブルクリックする以外に コードウィンドウでラクチンにイベント書きたいのですが。
- 266 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 12:19:16.73 ID:St9ccaht.net]
- >>265
無理 どうしてもエディタでやりたいならコンストラクタで button.Click += [Tab] と入力する
- 267 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 13:05:18.33 ID:15RxssU8.net]
- デザイナでフォームにボタンを置いたならダブルクリックの方が早いし
コードでボタンを追加したならそのまま.Click +=って入れた方が早いし なので一々ドロップダウンから云々ってのの便利さが分からない
- 268 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:06:44.43 ID:yfneKelH.net]
- デザイナに移りたくないし
コンボの中でイベント一覧が見れて便利なんだが・・・ (確かにオブジェクト名の次にドットを打てば出てくるが、メソッドやプロパティもごっちゃだし) なんとなくVBよりもコードが冗長になるのは、明確化との引き替えなのかなぁ メソッドであるのかプロパティであるのか意識しないといけないのは面倒だなぁ → 末の () が必要かどうかはオブジェクトの素性を知らないと分からない int i; <中略> if(!i) 〜 も通用しないんだな、boolでないと叱られて。C++の派生のくせに あと DataGridView の Cell 型の Value のように、オブジェクト型で出てくるのも ラフに比較できなくて不便だな。== は叱られるし、かといって equals 使うと型判定が厳密すぎるし
- 269 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:09:30.44 ID:yEzHguVk.net]
- >なんとなくVBよりもコードが冗長になる
はっはっは お冗談がお上手だ
- 270 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:37:57.82 ID:a0Y6Pfc6.net]
- >>269
そこは本当。 VBにはHandles付の変数ってのがある。 そのくせイベントやデリゲートに+=、-=が定義されてなかったりして何がしたいんだかよく分からんけど。
- 271 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:47:37.27 ID:a0Y6Pfc6.net]
- 間違えたHandlesじゃなくてWithEventsだw
- 272 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:31:29.96 ID:usEKDPLn.net]
- デザイナに移りたく無かったら、全部自分で記述すれば良いだけかと
インテリセンスで出てくるし
- 273 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:42:17.51 ID:yfneKelH.net]
- VBだと
Dim c As New MyClass と出来るところ、C#だと MyClass c = new MyClass(); と「MyClass」を二度もタイプしないといけないの? あと、「(」が物凄いネストになりやすいな キャストした結果のメソッドを使いたいときは、キャストの外側を () で括らないといけないあたりも微妙に不便 (VBのCtypeのほうがマシな気も) if の{} は C++ 同様に相変わらず省略可で、一瞬ヒヤっとしたり
- 274 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:44:16.48 ID:yfneKelH.net]
- >>270
AddHandler だね、VBでは。 いちいち += しないといけないのも微妙に不便だし いったん書いたイベントコードを削除するとき、 += の部分もセットで手で消さないといけない。 フォーム側でイベント作ったときは、+= があっち側のコードにあるし
- 275 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:52:22.24 ID:s50ZsdUA.net]
- >>273
new入れたら候補出るだろ 嫌ならvar使え
- 276 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 17:53:38.00 ID:++aKhWi5.net]
- C#6.0 が出てることを今知った
プロパティ周りが改善されてるっぽくて期待 あとはメモリ管理(特に Bitmap のリソースリーク(?))と 64bit 版でポトペタできるようになることと CLI 上で動くスクリプト言語が充実してくれればいうことはない どうでもいいけど C++ と簡単に連携できるスクリプト言語を教えておくれ 正規表現/文字列処理とかファイル処理がちょっとしんどい かと言って python や ruby だとちょっと規模が大きい scheme 系はそれそのもので使うのはいいけど 組み込みだとシンタックスが違いすぎて違和感がある
- 277 名前:276 mailto:sage [2015/12/16(水) 17:56:57.27 ID:++aKhWi5.net]
- あばばスレ違いだった
>>276 の下半分は無視してください
- 278 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 17:57:57.55 ID:Aaq31spz.net]
- C#はマルチロールな言語だから、特定のフレームワークやIDEに強く依存するような機能は控えられてるんだよ
今や主力は完全にASP.NETに移ってるし
- 279 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 21:27:02.80 ID:B4+Sd+fc.net]
- 嫌ならVB使えよ
いや、ドカタそんな権限は無かったな 失礼した
- 280 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 21:31:06.49 ID:sgXyEvFI.net]
- >>273
ただの慣れと知識不足だな 素早く書きたければReSharperでもいれとけ
- 281 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 21:48:22.50 ID:6hxUKU2I.net]
- WithEvents Handlesはいいよね
C#にも同等の構文を導入すべきだ
- 282 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 22:07:18.91 ID:yEzHguVk.net]
- つーかVBってそれだけだよな
- 283 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 22:15:49.12 ID:D+5z8iwV.net]
- 職場で皆VS使っているはずなのにvarは好ましくないと言われるんだが、テキストエディタからでも見ているんだろうか
- 284 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 22:46:15.22 ID:GLEYjupT.net]
- 運悪くjavaやってるけどvar使えないのがストレス溜まる
Handlesは参照検索に引っかからないのがちょっと不便
- 285 名前:デフォルトの名無しさん [2015/12/17(木) 01:20:42.25 ID:uAOfrDRi.net]
- Handelsはオブジェクト名変更のリファクタかけたときにメソッド名が追従しないからめんどい
- 286 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 08:19:30.62 ID:wWt+W3PI.net]
- >>283
IT業界では開発の現場は最先端のプラクティスから10〜15年遅れるって研究がどっかにあった varが推奨されだしてから何年たったかな そのうち普及するでしょ
- 287 名前:デフォルトの名無しさん [2015/12/17(木) 08:20:16.53 ID:zuQvdIGp.net]
- eclipseが使いにく過ぎ
インテリセンスうんこ
- 288 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 08:36:44.13 ID:IGH7+3HM.net]
- >>281
With 〜 End With も VB便利
- 289 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 09:12:26.24 ID:wazgEvjt.net]
- varは使ってみると合理的だよね
そもそも型の確認は、宣言見るか右の式見て確認するかなんだから、宣言も右見て確認するのは違和感ないし。 現場で使える自分は幸運か
- 290 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 09:44:23.39 ID:RxywOKqd.net]
- 宣言システムやめてほしい
コード上じゃなく、プロパティで設定させればいいだろ
- 291 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 10:08:20.34 ID:1RX3gDoP.net]
- C# 風の文法で native binary を吐くらしい Vala がちょっと気になる
使ってみた人いる?
- 292 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 11:18:29.88 ID:YaXbQbPq.net]
- Goでいいだろそんなもん
- 293 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 12:12:58.46 ID:VaFnwyV1.net]
- >>288
それはないわ
- 294 名前:デフォルトの名無しさん [2015/12/17(木) 23:00:07.56 ID:uAOfrDRi.net]
- >>288
Withはコードを横長にしたくないときに 一時オブジェクト作らないで出来るからほかの言語にも入れてほしい
- 295 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:44:00.53 ID:nE3SkfcG.net]
- withは検討の結果「要望が少ない」ということで却下された経緯がある
つまりお前はマイノリティ
- 296 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:45:34.55 ID:wKzIyU7U.net]
- まるでマイノリティが悪いみたいな物言いだな
- 297 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:48:28.58 ID:dKLnlHXg.net]
- C++からの流れではあるが、際限なく長い名前が良しとされていたからな
あのノリは未だについていけない
- 298 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:49:49.06 ID:S8YW+Ehf.net]
- 略しまくったのよりは、意味が分かる名前のがいいなぁ
あとはセンスっていういやーな言葉になるが
- 299 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:51:46.87 ID:i1r3U0+U.net]
- >>297
つってもメジャーなスクリプト言語にもwithなんか無いからな JavaScriptにはあるけど完全に黒歴史扱いでほとんど使われてないし
- 300 名前:デフォルトの名無しさん [2015/12/17(木) 23:55:41.04 ID:8YX8F0Hj.net]
- ブロックで囲むのめんどいから
withはインテントで頼む
- 301 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 00:17:25.15 ID:GSoM/4PI.net]
- >>297
> C++からの流れではあるが、際限なく長い名前が良しとされていたからな なのにimportしまくって、どのオブジェクトの派生なのか分からなくなるんだよな
- 302 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 07:49:51.32 ID:Pn8g8BvN.net]
- コンテキストを理解してればそんな長い名前にならないよ
- 303 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 09:42:03.30 ID:sT9ZaHDR.net]
- 馬鹿は一つ覚えで限度を知らないからな
- 304 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 19:43:35.84 ID:aPFZSVCF.net]
- MVCの勉強してから
WebFormやると、コントロールのvisibleやenableみたいなプロパティを一つ一つ弄るのが面倒で なるべくもModelをバインドするような作りにしようとしてますが、後々まずくなったりしますかね?
- 305 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 22:09:04.97 ID:gk961EIG.net]
- 先生、質問がございます。
小粒なクラスを200万個近くインスタンス化するシチュエーションで途中でgc.collectが走ってしまい400msほどビクンビクンしてしまうんですが、俺がいいと言うまでgcするな命令みたいなものってあります?
- 306 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 22:19:36.70 ID:4VAnTop2.net]
- 先にやっとくとか。
それでもなるのはしょうがないかも
- 307 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 22:30:19.05 ID:gk961EIG.net]
- ありがとうございます。先に作ってインスタンスをプールしとく感じですか。
試してみます!
- 308 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 22:37:13.38 ID:bT2qV2qZ.net]
- 光る砂漠でロール〜
- 309 名前:デフォルトの名無しさん [2015/12/18(金) 23:16:54.63 ID:XVLPEWds.net]
- プログラマはMacを使ってるってマジ?
hayabusa3.2ch.net/test/read.cgi/news/1450395043/
- 310 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 23:19:27.65 ID:bkeqB6RS.net]
- 今の現場がMacだわ
最初は勘弁してくれと思ってたけど、慣れると割と使いやすい まあWindowsも使いやすいけど Macが特別使いにくいってことはなかった
- 311 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 00:20:11.15 ID:y4ZISOlF.net]
- マルチポストにマジレスするカス
- 312 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 00:27:23.99 ID:xp+k7OcH.net]
- × マルチポスト
○ コピペマン
- 313 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:49:42.01 ID:kS2EmNXf.net]
- 程よい規模のMVCのサンプルプロジェクトなにかありませんかね?
実際に自分で作ってると 複雑なモデルのバインドパターンとか色々でてきて、ネットにもあまり載ってないパターンもでてくるので...
- 314 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:55:44.27 ID:U3hF6CjN.net]
- >>313
RailsのOSSプロジェクトとか読めばいい
- 315 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:38:07.95 ID:N+jvPVY9.net]
- >>314
それはasp.net MVCですか? MVCのアーキテクチャを勉強したいのではなくて、asp.net MVでつくられたシステムが見たいです。 サンプルに出てるのって、本当に単純なCRUDシステムしかなくて、困ってます
- 316 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:58:44.97 ID:xw4vh+oL.net]
- わかったわかった
そのくせえ頭ごと腐り落ちて死ね
- 317 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:36:13.74 ID:kS2EmNXf.net]
- >>316
チンパンジーはお呼びでない
- 318 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:05:31.92 ID:bPnNcr23.net]
- >>315
いや、Webってマジでそれだけなんだよ パラメータを元にDBへクエリ投げる→結果が返ってくる→結果を元に画面を作る 終わり 大きなシステムはただ単に画面の数やクエリの数が多いだけ
- 319 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:07:13.47 ID:gVgBUI5g.net]
- 何言ってんだこいつ
- 320 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:29:26.05 ID:XlnWv6G/.net]
- ストレートに言えば「失せろ」だろ
- 321 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:35:04.56 ID:U3hF6CjN.net]
- 初心者はフレームワークに惑わされがちだけど、Webってマジで>>318で全てなんだよな
ORMだのバインディングだのというのはユーティリティに過ぎない そこを理解してないなら最初はNode.jsみたいなシンプルなのから入ったほうがいい
- 322 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:56:36.37 ID:kS2EmNXf.net]
- name属性使ってバインディングされるとか、.NETMVC特有のものじゃん
複雑なモデル構造のリストとかになると、TextForでなくTextBoxヘルパー使ってname属性にlist[0].のような文字列付けたりとか そういうフレームワーク独自のものが色々あるでしょう
- 323 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 22:08:30.44 ID:kS2EmNXf.net]
- >>318
その、パラメーターを受け取るって一言で片付けてるけど .net MVCなら viewbagやtempdataやmodelがありますよね? modelだって複雑な場合はカスタムバインダー使わないといけないし
- 324 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 22:08:34.68 ID:AKR6rQ1b.net]
- HTTPはTCP上の、TCPはIPの上のプロトコルに過ぎない、からといって
IPだけ理解してりゃいいってわけじゃないわな。
- 325 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 22:20:56.47 ID:kS2EmNXf.net]
- >>321
webの仕組みが単純なのを分かってるからって.net MVCが分かるというわけにはならないでしょ? webの仕組みを包み込んで、関心ごとの分離やテスタビリティを高めるためにフレームワークを使うのであって そのフレームワーク自体のことを学ぶためには、本読んだり実際のコードを沢山読むじゃん。 MVCの概念を学ぶなら他のフレームワークでもいいけど、その先は独自のフレームワーク学ぶしかないでしょ。
- 326 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 22:21:29.08 ID:LGmH8Vm3.net]
- ViewBag=低能の証
- 327 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 22:33:39.02 ID:u9+EAVY3.net]
- >>325
MVC固有のことはこっちで訊いた方が良いのでは。 ASP.NET MVC tamae.2ch.net/test/read.cgi/php/1331013877/
- 328 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 23:30:21.24 ID:v4VU6uUx.net]
- 何ですか?厄介払いしようってんですか?
- 329 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 01:57:02.79 ID:PrFisxRg.net]
- ここより適した場所があるってだけ。
若干スレ違いなここで訊いてもまともな返答は期待できないよ。
- 330 名前:デフォルトの名無しさん mailto:age [2015/12/22(火) 02:05:42.41 ID:EpD71riO.net]
- private void timer1_Tick(object sender, EventArgs e)
{ i++; string url = "tamae.2ch.net/test/bbs.cgi?guid=ON"; System.Net.WebClient wc = new System.Net.WebClient(); wc.Headers.Add("Accept", "text/html, application/xhtml+xml"); wc.Headers.Add("Referer", "tamae.2ch.net/test/read.cgi/ana/1450521890/"); wc.Headers.Add("Accept-Language", "ja-JP"); wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"); wc.Headers.Add("Accept-Encoding", "gzip, deflate"); wc.Headers.Add("Host", "tamae.2ch.net"); wc.Headers.Add("Pragma", "no-cache"); wc.Headers.Add("Cookie", "NAME=\"\"; MAIL=\"\"; __cfduid=000217b92175216f95382b146abc764221450557291; yuki=akari; PREN=%83%89%83C%83u%81E%83A%83i%81%5b%83L%81%5b%82%b3%82%f1"); //NameValueCollectionの作成 System.Collections.Specialized.NameValueCollection ps = new System.Collections.Specialized.NameValueCollection(); //送信するデータ(フィールド名と値の組み合わせ)を追加 ps.Add("submit", "a"); ps.Add("MESSAGE", System.Web.Security.Membership.GeneratePassword(128, 0)); ps.Add("bbs", "ana"); ps.Add("key", "1450521890"); ps.Add("submit", "a"); ps.Add("mail", "age"); ps.Add("time", "1450616060"); //データを送信し、また受信する byte[] resData = wc.UploadValues(url, ps); wc.Dispose(); //受信したデータを表示する string resText = System.Text.Encoding.GetEncoding("Shift-JIS").GetString(resData); Console.WriteLine(resText); }
- 331 名前:デフォルトの名無しさん mailto:age [2015/12/22(火) 02:07:07.58 ID:EpD71riO.net]
- ↑これで2chに書き込めるんだけど
レスポンスをコマンドラインに表示したいけど?とか・とかにしかならないんですけどなぜですか?
- 332 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 04:36:56.37 ID:U2GagDf5.net]
- WebはUTF-8で、コマンドラインはShift-jis系のCP932
- 333 名前:デフォルトの名無しさん mailto:age [2015/12/22(火) 04:46:34.78 ID:EpD71riO.net]
- >>332
string resText = System.Text.Encoding.GetEncoding("Shift-JIS").GetString(resData); とところでconvertですか?
- 334 名前:デフォルトの名無しさん [2015/12/23(水) 01:35:40.37 ID:mLLLpett.net]
- 最近 Visual Studio Standard Collector Service とかいうサービスプロセスが馬鹿みたいにメモリー浪費してくれるんだけど
何か変なアップデートあったっけ? これ、何をしてるんだろうな
- 335 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:18:14.36 ID:Ouk9W9pK.net]
- >>334
ツール - オプション - デバッグ - 全般 の下の方にある 「デバッグ中に診断ツールを有効にします」のチェックの有無が影響するみたい。 診断ツールが何だかは知らない
- 336 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:19:46.70 ID:Ouk9W9pK.net]
- まあでもデバッグ走らせると出るCPUのグラフとかじゃないかな
- 337 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:41:52.67 ID:JaeaaX8T.net]
- デバッグビルドしたのにデバッガで変数ウォッチできない事が時々あるんだけど何故なの
最適化はされてないしデバッグ情報はフルで付いてる もちろんソースコードはビルドに使用したものと同じファイル
- 338 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:44:18.71 ID:uP6j/Iq7.net]
- 匿名ラムダの中だったりするんだろ
- 339 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:45:17.66 ID:sUZCBNnf.net]
- お前が変数の中身を知らないとデバッグできないように、
俺たちはお前のコードやプロジェクトの設定を知らないと何も解決できない
- 340 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:47:29.06 ID:DcpaLEXp.net]
- メインフォームとは別に定期的に関数を実行をさせたい場合、
各種TimerやBackgoundworkerより、Taskとasynk/awaitがいいのかな?
- 341 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 12:43:20.12 ID:9lRKIrWz.net]
- スレタイのC#のパターン対策ww
- 342 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 12:47:01.78 ID:ZolTmMoK.net]
- >>340
System.Timers.Timerでいいよ Taskは単発の処理に使うもので、Task使うならタイマから毎回起動させるのが筋
- 343 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:01:08.67 ID:ZZxQfTix.net]
- >>342
TaskCreationOptions.LongRunningってのもあるし、単発処理に限らないのでは。 このオプション指定するとスレッドプールとは別の専用スレッドが作成されるから、別スレッドを作ってるのと同じ。
- 344 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:39:15.27 ID:ZZxQfTix.net]
- >>305
.Net4.6からの機能だけど、GC.TryStartNoGCRegionとEndNoGCRegionは使えないかな
- 345 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 14:00:39.69 ID:DcpaLEXp.net]
- >>342
ありがとうございます System.Timers.Timerでキッチリ回して、 その中からTaskを使って別スレッドで動かすのが安定そうですね >>343 LongRunningは知らなかったですが、こちらも使いこなせば安定して動きそうですね 勉強して比較してみます
- 346 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 17:59:55.08 ID:+gIeTCQg.net]
- システムで使うメッセージを外部リソースで管理するとして
メッセージを管理するMessageクラスはstaticで、インスタンス生成の時に外部リソースからメッセージリストを読み込む みたいな作りって悪いでしょうか?
- 347 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:05:10.56 ID:fiBTvI7H.net]
- C#のstatic classはインスタンス化できないのにインスタンス生成もくそもないだろ
それともstatic constructorのことを指してるか?
- 348 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:17:23.15 ID:+gIeTCQg.net]
- >>347
static コンストラクタです。 間違えました
- 349 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:26:36.74 ID:BrzFNCu8.net]
- 使い終わった後もずっとプロセスに居座ってメモリやシステムリソースを圧迫するからリソースをstaticにはしない
- 350 名前:デフォルトの名無しさん [2015/12/23(水) 18:40:10.66 ID:YaELbVXU.net]
- メッセージとかならプロセス生きてる間は使う可能性があるからいいんじゃね
- 351 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:40:14.14 ID:FrDQkBPX.net]
- Messageクラスに依存してるクラスは単体テストが困難になるけど、それでもよければ
- 352 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:40:24.41 ID:F7FK9/Ld.net]
- ctor でリソースの生成/破棄まで行う(行える)なら問題はない
xml ファイルを読み込んでパースまでしてしまう(もちろんファイルは close する)とか メモリ圧迫を理由にするのは…… まあアプリケーションの仕様によると思う
- 353 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:05:42.55 ID:BrzFNCu8.net]
- メモリだけじゃなくGCにも悪影響
サーバーでは避けたほうが良いね
- 354 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 21:38:31.09 ID:+gIeTCQg.net]
- 逆にメッセージの管理はどうやるのが理想ですか?
- 355 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:04:33.08 ID:w6yNQewc.net]
- 普通にVSで編集できるリソースでいいでしょ。
あえて自前で用意する必要があるの? 文字列ぐらいでメモリだのリソースだのっていつの時代だよw 80年代かよw 今は2015年だよw
- 356 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:11:50.15 ID:fiBTvI7H.net]
- 球形の牛の逆みたいな話になってるな
- 357 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 02:05:35.25 ID:ta6MMntY.net]
- メッセージって単なる表示する文字列の話なのか?
- 358 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 08:35:04.97 ID:KQkP520X.net]
- マルチリンガル対応じゃね?
- 359 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 09:19:44.01 ID:NEwYqcPU.net]
- そんなもんサテライトアセンブリでいい
- 360 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 10:14:50.05 ID:6sd2Vm8U.net]
- 月は出ているか
- 361 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 10:56:47.42 ID:844ZWqQO.net]
- フィールド宣言のコメントにおいて
/// <summary> /// テストフィールド /// </summary> private int tes; と /// <summary>テストフィールド</summary> private int tes; はどっちの書き方にするのがいいですか?
- 362 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 11:03:55.90 ID:1wWNjS7A.net]
- >>361
VSのデフォルトは上だから何も気にして無かったわ 下は2行書くとき面倒そう
- 363 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 11:24:50.32 ID:844ZWqQO.net]
- 上の書き方にするとコメントごときに行数を取られすぎる、下ので書けと言われました
でも下の形式にするにはデフォルトからわざわざ形を変えないといけないので 正直、超面倒臭いです
- 364 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 11:49:07.88 ID:gvn2o1E3.net]
- コードスニペット作ればいい
- 365 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 12:33:53.44 ID:tTrPmLEb.net]
- >>363
自分は上の書き方だなぁ デフォルトだし "コメントごときに"超めんどくさいことする必要ないんでない? もし言ってる人が簡単にその書き方できる方法知ってるんだったら 教えてもらえば?
- 366 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 13:07:21.60 ID:ZIvzfH3j.net]
- VSだと書いても折りたたんじゃうからな
- 367 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 14:45:51.48 ID:OvoDVxQ7.net]
- コメントは沢山書くほうが正義とされているけど、本当は程度問題だよな
とは言えなかなかソレで押しきれない
- 368 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 14:57:09.77 ID:dcUdhHTO.net]
- var helloMsgText = manager.GetText(ResourceId.Hello);
var helloMsgText = manager.GetTextHello(); みんな上のように書くけど別に下でよくね?
- 369 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 16:24:50.35 ID:logTvbmn.net]
- vbのコードをc#に完全な形で変換してくれるツールもしくはサイトない?
- 370 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 17:21:54.23 ID:Y8pSRiNc.net]
- >>369
ILSpy
- 371 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:34:20.26 ID:eIL8ov29.net]
- リソースでメッセージ等の文字列を管理する場合、クライアント側のみの処理で表示するようなメッセージはどう管理します?
リソースをJSONに変換して返すWebServiceを作って ajaxでメッセージ取得して表示する感じでしょうか?
- 372 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:40:09.79 ID:7/G2aj/P.net]
- 無駄に複雑にして工数を増やしたい病気でも患っているのか?
- 373 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:47:53.79 ID:1wWNjS7A.net]
- >>368
GetTextByeとかGetTextHogeとか増えていくの? それはなんだか・・・
- 374 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:57:28.37 ID:h3yCwgPm.net]
- >>373
VSが自動生成するマネージドリソースにアクセスするコード(Properties)も>>368方式。 もっともあっちは静的クラスのプロパティだけど。
- 375 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 21:40:23.96 ID:Y8pSRiNc.net]
- >>371
クライアントを更新するときに一緒に更新すればいいだろ それともお前のアプリはクライアントの機能の更新がないのにメッセージばかり頻繁に更新するトチ狂ったアプリなのか?
- 376 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 21:50:39.61 ID:S0+P+Hy7.net]
- そもそもこういうリソースって一括管理するものなのか
特定の画面だけで使うメッセージを集めて一括管理って逆にわかりにくいだろ ある画面で使うリソースを1つのまとまりで管理 別の画面で使うリソースはまた別のまとまりで管理 としたほうがわかりやすいし実行時のコスパも良い
- 377 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 00:49:48.26 ID:Nwjnyecm.net]
- >>376
とにかくメッセージは一括管理しろって要求みたいなんですよ。 クライアント側での入力チェック等のメッセージまで管理となると、どういう方法がよいのかと気になったので
- 378 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 01:00:42.04 ID:wX928DHg.net]
- だったらメッセージ専用のDLLを作って共有すればいい
- 379 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 01:02:54.78 ID:Nwjnyecm.net]
- すみません、クライアント側というのはWebシステムの話です。
- 380 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 01:19:15.30 ID:GzgJ+pjK.net]
- //と///の違いってなんですの?
|

|