- 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/
- 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]
- //と///の違いってなんですの?
|

|