C#, C♯, C#相談室 Part95 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
17/10/17 04:02:10.51 /jJUZ/t7.net
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
URLリンク(www.visualstudio.com)
■コードを貼る場合はこちら
URLリンク(ideone.com)
■前スレ
C#, C♯, C#相談室 Part94
スレリンク(tech板)
■次スレは>>970が建てる事
建てられない場合は他を指定する事。

2:デフォルトの名無しさん
17/10/17 04:02:54.33 /jJUZ/t7.net
■過去スレ
C#, C♯, C#相談室 Part90
スレリンク(tech板)
C#, C♯, C#相談室 Part91
スレリンク(tech板)
C#, C♯, C#相談室 Part91 (実質Part92)
スレリンク(tech板)
C#, C♯, C#相談室 Part92 (実質Part93)
スレリンク(tech板)
C#, C♯, C#相談室 Part94
スレリンク(tech板)

3:デフォルトの名無しさん
17/10/17 04:03:20.42 /jJUZ/t7.net
■関連スレ
初心者の質問向けはこちら
ふらっと C#,C♯,C#(初心者用) Part132
スレリンク(tech板)

4:デフォルトの名無しさん
17/10/17 04:13:22.04 Lf2Q7Nk8.net
Dictionary.TryGetValueってどんなシーンで使う?

5:デフォルトの名無しさん
17/10/17 04:42:48.76 sfm4oXzm.net
キーの存在チェックと値の取得を1行でできるやん?

6:デフォルトの名無しさん
17/10/18 05:27:55.54 U3iNCF28.net
.NET Core 2ってどうなん?

7:デフォルトの名無しさん
17/10/18 06:17:40.71 x50wQsAO.net
>>6
どうって?

8:デフォルトの名無しさん
17/10/18 09:53:11.38 vI9phIcR.net
小さいwebアプリをサクッと作ってライセンス料のいらんlinux鯖に置けるのはいいな>core
大規模プロジェクトで使う人は居ないだろうけど

9:デフォルトの名無しさん
17/10/18 09:55:51.07 J6ohalwU.net
C#でjQueryみたいにhtmlの中の要素を部分的に取り出すなどするのに
お勧めの方法おしえてちょ

10:デフォルトの名無しさん
17/10/18 10:34:59.49 xKDWMG8M.net
>>9
jQueryでやれば?

11:デフォルトの名無しさん
17/10/18 11:47:59.17 J6ohalwU.net
>>10
C#でお願いします。

12:デフォルトの名無しさん
17/10/18 12:04:26.85 jdxxBaxx.net
PythonのBeautifulSoupとかRubyのNokogiriとか使えば?
C#はスクレイピングには向いてない

13:デフォルトの名無しさん
17/10/18 12:08:45.42 qeVi1K01.net
HTMLアジリティパック?があるけど使いにくい
最近はSelenium2使ってるけどまあこれも本当のやり方じゃないね

14:デフォルトの名無しさん
17/10/18 12:23:00.35 aFTu0X+r.net
HTMLAgilityPack、あとSGMLReaderって昔なかったっけ?
今もあるのかは知らないが
そもそもC#を勧めないってのは同意

15:デフォルトの名無しさん
17/10/18 12:28:07.94 qeVi1K01.net
>>14
あるけどJqueryのようなアクセスしやすさじゃない
Xpath指定しないといけないので困る

16:デフォルトの名無しさん
17/10/19 10:57:41.27 gEfvUhSv.net
個人的にはCSSセレクタよりXPathのほうがむしろ好きなんだけど
むりやりXMLとして読む系は終了タグがない要素があるとツリーが無茶苦茶になるのが

17:デフォルトの名無しさん
17/10/20 11:48:27.53 szXZJW6I.net
Proj1とProj2があります。
1は2を参照して2のメソッドを使います。
1の中でClass Aを定義しています。
2の中でデータをList<A>に入れるメソッドを作り、結果を1に返したいのですが、
その為に2から1を参照してClass Aの定義を使おうとしたら循環参照でエラーしました。
こう言う場合、どうすれば良いですか?

18:デフォルトの名無しさん
17/10/20 12:08:16.22 p6j5lSQw.net
>>17
何のためにプロジェクトを分けたいの?
まずはそこを明確にしないと始まらない。
循環参照してるってことは相互に切り離せないってことだから、現状ではプロジェクトを分ける意味は全く無い。
分けたい理由があるのなら、その理由次第で適切な方法は違ってくる。

19:デフォルトの名無しさん
17/10/20 12:33:59.93 0XL7LZDf.net
>>17
>2の中でデータをList<A>に入れるメソッドを作り、結果を1に返したいのですが
この処理をFunc<T,TResult>で定義するのが常套手段
使い方はググればわかると思うが、わからないならプロジェクトを分けるの諦めるしか無いね

20:デフォルトの名無しさん
17/10/20 12:55:07.59 c9z3JUrc.net
>>17
どうしてもやりたいなら、ClassAを定義したプロジェクトを作ってProj1,2両方から参照すればいいじゃん
発想の切り替えできないとこの先相当辛いよ

21:デフォルトの名無しさん
17/10/20 15:02:23.60 yLtxI7rs.net
>>9
AngleSharp
URLリンク(anglesharp.github.io)

22:デフォルトの名無しさん
17/10/20 16:04:35.93 szXZJW6I.net
>>19
ありがとうございました。
Func<T,TResult>で上手く行きました。

23:デフォルトの名無しさん
17/10/20 23:28:48.97 tVzPx1a9.net
Roslynってどうやって使うの?
ソースから仕様書を生成したいんだが可能か?

24:デフォルトの名無しさん
17/10/20 23:29:40.95 nJAQhV5j.net
普通に逆だろ

25:デフォルトの名無しさん
17/10/21 09:37:58.52 3o9beEeJ.net
自分のコード見返してどういう動きなのかはわかるが何を思ってそうしたのか思い出せない時があるなw
こういうときに仕様書書いておけばよかったと思い、そして3分経つと面倒で忘れるw
イベントの依存関係まで考えたら他人のコードの解析なんかやる気にもならない

26:デフォルトの名無しさん
17/10/21 10:09:37.14 VmqPmNn/.net
後で自分のコード見返して分からないってよく言われる話だけど俺はほとんど無いわ
コメントじゃなくてメソッド名や変数名でもいいけど、なるべくコード上に意図を残すように心掛けるのがコツだな
読めないコードを書く奴は大抵コードを製造作業による生成物と考えてる

27:デフォルトの名無しさん
17/10/21 10:10:03.66 fkuXV6f/.net
>>25
Doxygenとかじゃダメなの?
処理フローの方は スレリンク(tech板:360番) が作るらしいから待っててね w

28:デフォルトの名無しさん
17/10/21 10:22:21.14 3o9beEeJ.net
>>27
俺はやる気にもならないって書いているんだし>>23に言ってやれよw
そのリンク先のやつは書く内容がおかしいやつだからどうでもいいが

29:デフォルトの名無しさん
17/10/21 10:29:48.18 fkuXV6f/.net
>>28
だからツール使えよって言う話も理解できないバカ乙 w

30:デフォルトの名無しさん
17/10/21 10:38:55.22 3o9beEeJ.net
>>29
せっかく教えてやったのにってことか
ありがとうございました

31:デフォルトの名無しさん
17/10/21 10:45:37.95 ut7aXw9f.net
>>26
説明的なプログラムは誰にでも書けるものではない
書ける人にとっては当たり前と思うけどそうではないらしい
自社のコードが汚い人になぜ汚いコードを書くのかと聞いて回ったことがある
彼らは動くものを作るので精一杯なんだ

32:デフォルトの名無しさん
17/10/21 11:15:21.71 J3/Oov/o.net
設計書も書かずいきなり書き始めたコードを綺麗も汚いもねぇよ
精々メソッドあたりの行数ぐらいしか評価のポイントがねぇ
書いた設計書に対してのソースがどうよ?って話になって初めて評価が下せる
俺はね

33:デフォルトの名無しさん
17/10/21 11:15:53.60 VmqPmNn/.net
>>31
それは確かに感じるね
彼らに共通して言えるのは、思考の抽象度を上げられないんだよな
話してると「そんな細かいことはどうでもいい」と感じることが多いけど、
その「どうでもいい」という感覚を理解させるのが非常に難しい

34:デフォルトの名無しさん
17/10/21 11:22:08.17 J3/Oov/o.net
>>33
抽象度とソースの綺麗さになんの関連があるのか説明できるの?

35:デフォルトの名無しさん
17/10/21 11:25:49.18 ut7aXw9f.net
>>33
その傾向はあるね
彼らに設計書を書かせると決まって日本語で手続きを書き始める

36:デフォルトの名無しさん
17/10/21 11:27:08.65 J3/Oov/o.net
そうやって風が吹けば桶屋が儲かる的なくだんないことを囀ってる限りモノなんか作れないよお前等w

37:デフォルトの名無しさん
17/10/21 11:46:58.45 VmqPmNn/.net
>>36
設計書が無いとソースは理解できないと考えるのなら、
君はプログラミングにおける抽象的思考(設計)の重要性を認めてるわけだよね
それなのになぜソースコード自体の抽象度が理解のしやすさに寄与するとは考えないの?

38:デフォルトの名無しさん
17/10/21 11:47:01.09 YB7WCv0f.net
>>33
それは言えてる
思考の抽象度
現代的プログラミングのキーワードだよなあ

39:デフォルトの名無しさん
17/10/21 11:53:24.38 J3/Oov/o.net
>>37
いや、設計書通りに組んであればええよ
何もなければ評価できん

40:デフォルトの名無しさん
17/10/21 12:08:23.05 Qn61yzAP.net
設計書に従った上で説明的な(ある意味冗長な)コードを保守性のために書くと思ったが違うのかな

41:デフォルトの名無しさん
17/10/21 12:29:31.12 Lfp6S+wn.net
>>40
それだと設計書に書いてない事は書くなって怒られるんだよね
設計書に書いてないことを書かないとビルドすらできないから無視するしかないんだけど

42:デフォルトの名無しさん
17/10/21 13:42:12.48 J3/Oov/o.net
>>37
そもそもなんで設計が抽象的なの?
お前の書いてる設計書漏れてるだけだろ

43:デフォルトの名無しさん
17/10/21 13:50:37.19 VmqPmNn/.net
>>42
君の言ってる設計書ってコーディングシートのことじゃないかな

44:デフォルトの名無しさん
17/10/21 14:11:32.97 imNN7PV1.net
まず仕様書と設計書とコーディングシートの定義からやらないとだめな予感

45:デフォルトの名無しさん
17/10/21 15:05:14.83 J3/Oov/o.net
>>43
は?脳みそ腐ってんだろお前

46:デフォルトの名無しさん
17/10/21 18:24:51.50 DqhfXWIR.net
最近のC#スレはマ板行くか首吊って死ね系の話題が多いですね
何かあったの?

47:デフォルトの名無しさん
17/10/21 22:38:08.54 T6ojywn7.net
大島てるに載るような終焉を迎えて下され

48:デフォルトの名無しさん
17/11/02 21:06:02.86 wBPFsAX5.net
db操作するならef使うべきですか?

49:デフォルトの名無しさん
17/11/02 21:12:22.89 ScvYxhm1.net
>>48
用途による
まあEntityFrameworkかDapperだろうけど

50:デフォルトの名無しさん
17/11/02 21:23:59.71 wBPFsAX5.net
>>49
linq to sqlってのは今は使わないんですか?

51:デフォルトの名無しさん
17/11/02 21:37:52.62 2ic6qUdy.net
今も昔も使われていない

52:デフォルトの名無しさん
17/11/02 22:32:29.05 ScvYxhm1.net
>>50
やめときな

53:デフォルトの名無しさん
17/11/03 00:10:48.35 dRQDJRm6.net
>>50
開発が終了してEFが後を継いだ

54:デフォルトの名無しさん
17/11/03 00:27:25.86 z1slN08A.net
>>53
efはmysqlでも使えるの?

55:デフォルトの名無しさん
17/11/03 04:33:13.63 xnvXDnsB.net
>>54
使えるよ

56:デフォルトの名無しさん
17/11/03 05:13:23.57 dmbucyNJ.net
>>55
その場合、例えばsql server向けに作ったC#プロジェクトで
DBをmysqlに変更しても大きな変更無く動かせるの?

57:デフォルトの名無しさん
17/11/03 09:17:51.48 BJmK7MtV.net
現実的にはSQLやスキーマの互換性の問題で無理
確実にデスマーチです

58:デフォルトの名無しさん
17/11/03 09:34:45.04 xnvXDnsB.net
>>56
ものによる

59:デフォルトの名無しさん
17/11/03 09:48:45.12 Ifv/vU0b.net
今もmysql使ってる人は少ないと思うけど知らない人がいるのかな
時代は変わりました

60:デフォルトの名無しさん
17/11/03 15:01:36.50 z1slN08A.net
>>57
sqlserverを使うある程度大きなプロジェクトだとefを使うのが一般的ですか?
全く使わないなんてのも有るんでしょうか?

61:デフォルトの名無しさん
17/11/03 16:05:45.83 xnvXDnsB.net
>>60
基本的にはEntityFramework、パフォーマンスを求められる箇所はDapper

62:デフォルトの名無しさん
17/11/03 19:12:47.52 QKSUaUtV.net
>>61
生のSQLを実行するのは一般的ではないのですか?

63:デフォルトの名無しさん
17/11/03 19:16:11.94 +cvTX3N5.net
>>62
普通はストアド作っといて、指示するんじゃね?

64:デフォルトの名無しさん
17/11/03 20:20:48.15 tw8puOLs.net
>>62
Dapperは生SQLだよ
DataReaderやクエリパラメータとオブジェクトの間のマッピングの単純作業を自動でやってくれるだけ

65:デフォルトの名無しさん
17/11/03 21:11:34.22 xnvXDnsB.net
>>62
EntityFrameworkでも生のSQLは書ける。書かなくてもパフォーマンスに(考慮しなくちゃいけないほどの)遅延がなければ書かない


66:。



67:デフォルトの名無しさん
17/11/03 21:38:29.15 Ro85MhDs.net
>>63
それは生の一種だろ

68:デフォルトの名無しさん
17/11/04 03:09:26.28 bSw/g7Kd.net
WebRequestを続けて二回同じサーバーに別のオブジェクトで通信したら変なエラーが出るんだがわかる奴いる?
これじゃ情報不足ならそのうち再質問するが。

69:デフォルトの名無しさん
17/11/04 04:12:32.15 m6ZusNHm.net
「変」って何だよ具体的に言えよ
なんで相談室でまでこんな所から始めなければいけないんだ

70:デフォルトの名無しさん
17/11/04 12:22:27.57 d/IRXg6v.net
>>65
最近efを覚えて試しているんだけど、
efでusingしてdbに何か書き込むだけでも、なんかレスポンスが悪い気がするんだけど。
気のせい?

71:デフォルトの名無しさん
17/11/04 12:26:33.85 tv+raRR6.net
HTTPレンスポンスの生文字列データを取得する方法ある?レンスポンスにSet-Cookieが何箇所行かにあるやつをWebResponseでSet-Cookieヘッダを取得しても1番始めのしか取得出来ない

72:デフォルトの名無しさん
17/11/04 12:26:47.53 FXv0ObyH.net
>>69
何に比べてレスポンスが悪いの?
初回が遅いのはどうしようもない

73:デフォルトの名無しさん
17/11/04 12:28:02.53 /qI+U4k3.net
>>69
EFはサーバーで長時間にわたって大量のメモリ食わせて使うもんだ

74:デフォルトの名無しさん
17/11/04 12:30:33.34 FXv0ObyH.net
>>70
URLリンク(msdn.microsoft.com)(v=vs.95).aspx

75:デフォルトの名無しさん
17/11/04 12:32:08.79 tv+raRR6.net
>>73
こんなのあったのかよ
センクス

76:デフォルトの名無しさん
17/11/04 12:40:00.34 d/IRXg6v.net
>>71
生と比べて

77:デフォルトの名無しさん
17/11/04 13:59:23.92 FXv0ObyH.net
>>75
???

78:デフォルトの名無しさん
17/11/04 14:02:54.09 gVOMythZ.net
efはコンドームだった説

79:デフォルトの名無しさん
17/11/04 14:30:16.19 m6ZusNHm.net
DB女の子説はやめろ

80:デフォルトの名無しさん
17/11/04 20:58:01.18 bSw/g7Kd.net
>>73でクッキー取得しても空なんだが?

81:デフォルトの名無しさん
17/11/04 22:05:43.00 bSw/g7Kd.net
解決した

82:デフォルトの名無しさん
17/11/04 22:41:27.51 FXv0ObyH.net
>>80
とれなかった原因は?

83:デフォルトの名無しさん
17/11/04 22:42:33.61 bSw/g7Kd.net
>>81
リクエストオブジェクトにCookieContextオブジェクト入れる&リダイレクトをオフで取れた

84:デフォルトの名無しさん
17/11/08 19:29:16.27 7+AqNTkf.net
ASP.NET MVCでControllerの中のソースコードが増えて来て混乱気味なのだが、
どうやって整理すればいいのかな?

85:デフォルトの名無しさん
17/11/08 19:59:44.18 AtvWoVld.net
モデルに実装する

86:デフォルトの名無しさん
17/11/08 20:04:15.29 7+AqNTkf.net
>>84
モデルって言うのは本来は何を入れるところなの?
細々とした色んな処理を書いてもいいの?

87:デフォルトの名無しさん
17/11/08 20:09:34.86 N6XqY60q.net
>>83
インプットを基にして処理を振り分けて、得た結果をViewに返すだけじゃないの?

88:デフォルトの名無しさん
17/11/08 20:38:56.54 AtvWoVld.net
>>85
モデルにはすべてのロジックを実装するのが正しい
コントローラの役割はリクエストの内容を受け取りモデルに投げて結果をVMに入れて返すだけ

89:デフォルトの名無しさん
17/11/08 21:16:06.13 vGP4g6Va.net
ASPって出番ある?みんな仕事の案件でやってるの?

90:デフォルトの名無しさん
17/11/08 21:46:20.39 Yt5neKtg.net
WebFormsの案件はドカタだとWinFormsより多いだろ
うちはMVCでSaaSやってる

91:デフォルトの名無しさん
17/11/08 22:10:09.31 rbcWTqbu.net
(実はMS案件には全く縁がない)

92:デフォルトの名無しさん
17/11/10 10:27:07.08 EEZieTzn.net
クラスのメンバのプロパティを小文字で始めると
メッセージ IDE1006 名前指定の規則違反: これらの単語は、大文字で始まらなければなりません:
と出るのだが、なんで小文字だとエラーなの?
世の中では、大文字で始める習慣があるの?

93:デフォルトの名無しさん
17/11/10 10:39:35.19 GXd92sM9.net
だからそういうメッセージが出るんだろ

94:デフォルトの名無しさん
17/11/10 13:41:07.91 Hx4QOm/G.net
VS2017ならデフォルトで提案事項になっているがエラーになるのは自分で設定したせいでは

95:デフォルトの名無しさん
17/11/10 13:55:50.82 DPfs8yVZ.net
>>93
自分ではしてない

96:デフォルトの名無しさん
17/11/10 14:22:22.24 Hx4QOm/G.net
ここに書かずに設定したやつに聞けばいいのに

97:デフォルトの名無しさん
17/11/10 15:46:12.86 dHTokmn8.net
で、それはエラーなの?
メッセージが出たら警告だろうが何だろうが全部エラーって言う人も多いけど

98:デフォルトの名無しさん
17/11/10 17:18:52.60 EEZieTzn.net
>>95
誰だよそれ?

99:デフォルトの名無しさん
17/11/10 17:22:41.93 VxFWEUmd.net
>>97
自分でいじってないなら初期設定決めたMSの人では

100:デフォルトの名無しさん
17/11/10 18:12:13.90 MvAM88wE.net
コンパイルエラーとは別にコード分析のエラー欄に出るんじゃないか?
>>91
命名ルールはこれ
URLリンク(msdn.microsoft.com)

101:デフォルトの名無しさん
17/11/11 00:13:18.80 VQqkIwVV.net
class A{
class B{
class C{
}
}
}
みたいに三重くらいになると、自分でもわけ分からなくなって来るんですが、
世間では三重くらいは普通ですか?

102:デフォルトの名無しさん
17/11/11 00:28:57.43 FsCJcvbF.net
>>100
内部クラスって表記しやすいだけでそれ以外のメリットあるのかね?

103:デフォルトの名無しさん
17/11/11 00:33:23.96 BH43IN+9.net
javaの人は良く使うけど
スコープの問題だけだから本来は使わないでもよさそう

104:デフォルトの名無しさん
17/11/11 00:59:17.39 kkrHimLP.net
内部クラスはたまーーーに使うけど3重なんて一度もしたことないな

105:デフォルトの名無しさん
17/11/11 01:19:20.69 3ysLENMg.net
何重までいけるん?

106:デフォルトの名無しさん
17/11/11 11:11:58.59 f6zZSvYO.net
>>104
プログラムやる人の発想じゃないな

107:デフォルトの名無しさん
17/11/12 08:56:15.86 LXGneVsA.net
>>100
static classだとよくやるけど
static class My{
static class Hoge{
static class Config{
}
}
}
My.Hoge.Configのように使える
でも3重は使わないな

108:デフォルトの名無しさん
17/11/12 10:27:34.46 j0JK3XOe.net
Javaだと1クラス1ファイル
客先の規約で配置できるファイルに制限があると内部クラスを使わざるをえない

109:デフォルトの名無しさん
17/11/12 10:36:20.99 3BzbD7Br.net
enum使いにくいから代わりにstatic class乱用してるわ

110:デフォルトの名無しさん
17/11/12 10:46:19.17 kmdFzMTF.net
>>108
enumのどのあたりがダメなん?

111:デフォルトの名無しさん
17/11/12 11:11:16.62 3BzbD7Br.net
>>109
後で要素増えたら参照先全部ビルドし直さなきゃならんあたり

112:デフォルトの名無しさん
17/11/12 11:19:21.94 kmdFzMTF.net
>>110
ビルドなんて一瞬じゃん?

113:デフォルトの名無しさん
17/11/12 11:28:22.38 PNAmYcb6.net
.Net Core 2.0では、だいぶん.NetFrameworkの実装がカバーされたと聞きました。
URLリンク(raw.githubusercontent.com)
これを見る限りでは、System.IO.StreamやSystem.IO.FileInfo、ISerializableなど
もあります。これらをUWPやASP.NET Coreでも使えるようになるという理解でいいでしょうか。

114:デフォルトの名無しさん
17/11/12 11:44:42.71 j0JK3XOe.net
C#のenumはメソッド定義できないから役立たず

115:デフォルトの名無しさん
17/11/12 12:19:41.85 pNqEHb8d.net
>>113
javaとは思想が違うからな
どうしてもメソッド使いたけりゃ拡張メソッド書けばいいだけのこと

116:デフォルトの名無しさん
17/11/12 12:24:54.60 zaPGzGOT.net
enumは型安全性をぶち壊すから…

117:デフォルトの名無しさん
17/11/12 12:39:52.61 j0JK3XOe.net
enumにメソッドを定義できないとenumスイッチがあちこちに書かれてシステムが汚染される
そんなことになるぐらいならenumは言語機能から追放したほうがいい

118:デフォルトの名無しさん
17/11/12 12:51:07.42 kmdFzMTF.net
>>116
メソッドが使えるとスッキリ書けるの?
例を教えて

119:デフォルトの名無しさん
17/11/12 13:21:53.63 WcVSvCUs.net
読み方はエナメラブルでいいのかね

120:デフォルトの名無しさん
17/11/12 13:26:58.08 hG4wTZ8S.net
>>112
逆に聞きたいんだけど、どういう理解があると思ったの?

121:デフォルトの名無しさん
17/11/12 13:29:17.49 j0JK3XOe.net
>>117
Javaのenumのメソッドはポリモーフィック
なのでステートやストラテジーなど様々な応用が利く

122:デフォルトの名無しさん
17/11/12 14:44:05.96 IOmcFQTN.net
enumはどうせ定数に置き換えられるんだから、最初から定数で書いとけばいいな

123:デフォルトの名無しさん
17/11/12 15:30:46.03 Lnuis1wP.net
>>107
javaって、内部クラスも1ファイルとして出力されるんじゃなかったっけ?

124:デフォルトの名無しさん
17/11/12 16:08:56.10 kmdFzMTF.net
class A,B,C,...が有って
void func<T>(...){...}
みたいな関数を
func<A>(...);
func<B>(...);
func<C>(...);
みたいに順番に実行したい場合、
forループ使って書ける?

125:デフォルトの名無しさん
17/11/12 16:11:43.25 MOg5phwx.net
>>122
>>107はソースの話やで?
オブジェクトはまとめたらいいだけだし

126:デフォルトの名無しさん
17/11/12 16:17:52.85 j0JK3XOe.net
>>123
var list = new dynamic[] { a, b, c };
foreach (var x in list)
func(x);
引数もインスタンスも無いならreflection

127:デフォルトの名無しさん
17/11/12 16:33:07.06 kmdFzMTF.net
>>125
なるほど。
dnamic使うしか無いんですね?

128:デフォルトの名無しさん
17/11/12 16:58:32.42 RZNIwvSq.net
reflectionが目に入らぬか

129:デフォルトの名無しさん
17/11/12 17:39:19.11 UFCv5vw0.net
>>127
reflectionと言うのでやる方法を教えて下さい

130:デフォルトの名無しさん
17/11/12 17:39:26.99 5vVJXllV.net
partical いいよなぁ

131:デフォルトの名無しさん
17/11/12 18:01:29.09 PNAmYcb6.net
>>119
APIはあっても、実際は例外投げるんじゃないかとか。
StreamやISerializableなど今まで散々レガシー扱いされてたのに、
すんなり実装されたのだったら、今までは何だったのかと思ってしまって。

132:デフォルトの名無しさん
17/11/12 18:02:25.44 Lnuis1wP.net
>>124
「配置できるファイルに〜」のところもソースファイルの話だったか、失礼した

133:デフォルトの名無しさん
17/11/12 18:42:10.04 WcVSvCUs.net
>>118
読み方はあっているのかい?

134:デフォルトの名無しさん
17/11/12 18:55:18.48 52C+Ep3W.net
>>132
えにゅめらぶる

135:デフォルトの名無しさん
17/11/12 19:11:35.21 Ti9eVPN+.net
>>133
いい難いなw

136:デフォルトの名無しさん
17/11/12 19:31:01.04 WbI57bEd.net
あいえにゅめらぼー

137:デフォルトの名無しさん
17/11/12 19:38:58.15 RZNIwvSq.net
れっきょ

138:デフォルトの名無しさん
17/11/13 01:47:33.98 v8HXsfBj.net
>>126
リフレクション
そもそも用途がわからんけど

139:デフォルトの名無しさん
17/11/13 01:55:32.64 v8HXsfBj.net
>>130
最初のリンクがそもそも.NETStandardの話なんだけど、.NETStandardとは何か知ってれば(最低限ググれば)前者は迷う余地がない
後者は経緯知らないけどレガシーが実装されたらだめという理由がない
…と考える人が大多数だと思う

140:デフォルトの名無しさん
17/11/23 11:44:32.89 3aIXz7vh.net
C#でちょっとした文字列の連結を行う場合、+がいいのかFormatがいいのかReplaceがいいのかStringBuilderを使うのがいいのか悩んでます
どれが一番いいのでしょうか?
1. string value = A + "-" + B;
2. string value = string.Format({0}-{1}, A, B);
3. string value = "{A}-{B}".Replace("{A}", A).Replace("{B}, B);
4. StringBuilder sb = new StringBuilder();
  sb.Append(A);
  sb.Append("-");
  sb.Append(B);

141:デフォルトの名無しさん
17/11/23 11:50:10.15 nWWLjgB9.net
こんな細かいことで悩んでいたら禿げるわ
それぞれにどれだけの差が出てくるか考えろよ

142:デフォルトの名無しさん
17/11/23 12:00:55.88 +AsqqoLD.net
$"{A}-{B}" でしょ

143:デフォルトの名無しさん
17/11/23 12:03:56.69 3aIXz7vh.net
>>141
なるほど

144:デフォルトの名無しさん
17/11/23 12:04:14.40 11MjDn+U.net
とりあえず、環境が許すなら141、駄目なら139の1

145:デフォルトの名無しさん
17/11/23 12:13:05.14 1XchAmld.net
連結ならいつもは分かりやすさ優先で+
実際に扱うデータで使ってみて遅いと感じたらStringBuilderに変えてるわ
置き換えは置き換えの時だし、フォーマット形式が必要と感じたらそれ使うし
悩むのかこれ…コーディング終わらんやろ…

146:デフォルトの名無しさん
17/11/23 12:20:49.75 Go3NcBxu.net
最初はくだらない事に悩むからしょうがない。直に、開き直るからそれまでとことん悩め。

147:デフォルトの名無しさん
17/11/23 12:24:20.12 nWWLjgB9.net
>>145
こういうので悩みだすのはスキルが伸びず閉塞感に陥って逃げ道探しているときだw

148:デフォルトの名無しさん
17/11/23 12:28:18.93 kBi82nCb.net
4とか使うのは連結回数がクソ多いぐらいだな

149:デフォルトの名無しさん
17/11/23 14:17:08.77 U/QtJVxM.net
StringBuilder必要なのはループで回す時くらいやろ
固定回数なら最適化されるんちゃうか
しらんけど

150:デフォルトの名無しさん
17/11/23 15:17:10.10 JqKYKF6h.net
改行したい時はsb.AppendLine使う
var s = $@"hello
{A}
world";
別にこれでもいいけど、インデントが気持ち悪い

151:デフォルトの名無しさん
17/11/23 18:08:06.61 w+OP7Z8m.net
数個程度の定数個の結合にStringBuilderは無いね
@""で改行入れたときの改行コードってソースコードの改行コードに依存するんかな

152:デフォルトの名無しさん
17/11/23 18:25:49.20 Go3NcBxu.net
StringBuilder使うのは基本、ループ内で文字列結合するときだけだな

153:デフォルトの名無しさん
17/11/23 18:28:19.08 zj6W6oGG.net
スレがボケジジイの繰り言みたいになってる

154:デフォルトの名無しさん
17/11/23 18:29:25.95 Go3NcBxu.net
と書くと、問題あるな。あるメソッド内でループしてないから普通に文字列結合してても、
そのメソッドを使う方でループしてメソッド呼び出されたら・・
ということでなんでもない。

155:デフォルトの名無しさん
17/11/23 19:44:15.73 NThPFj2G.net
パフォーマンスは大差ないので可読性で選ぶ
となると
定数個なら+
動的ならlinqとJoin

156:デフォルトの名無しさん
17/11/24 08:32:28.20 LQb8e4yU.net
public override と
override public とでは、どっちが普通ですか?

157:デフォルトの名無しさん
17/11/24 08:40:21.61 GsVE4oKd.net
アクセス修飾子が先

158:デフォルトの名無しさん
17/11/24 09:49:06.09 LQb8e4yU.net
>>156
じゃあstatic使う場合は
どこに入れるべきですか?

159:デフォルトの名無しさん
17/11/24 11:32:34.25 GsVE4oKd.net
アクセス修飾子が先

160:デフォルトの名無しさん
17/11/28 20:01:33.21 uo9ygS2y.net
EF Core + MariaDBで行ロックをするにはどうしたらいいですか?

161:デフォルトの名無しさん
17/11/29 11:56:45.71 /OzCwr8n.net
>>159
行ロックって何よ?

162:デフォルトの名無しさん
17/11/29 12:25:04.50 rN1pofYI.net
>>159
EFに明示的なロックは要らん
保存するときに他の変更があれば保存は失敗する

163:デフォルトの名無しさん
17/11/29 15:02:54.88 LyP2QHxX.net
EFは基本、楽観ロックだからね。
自分が更新するデータは誰も変更しないだろうということで楽観的に考えて行ロックを取得しない。
で、実際の更新時に、保存しておいたタイムスタンプ列や全列を比較して更新するUpdate文を
発行して誰も変更してなきゃ成功する。

164:デフォルトの名無しさん
17/11/29 15:08:27.80 LyP2QHxX.net
対して、悲観的ロックは誰か変更するんじゃないかと悲観的に考え前もって行ロックする。
行ロック取得したければ、トランザクションの分離レベル変更して、間接的に取得すればいいんじゃねぇかな。
例えば、トランザクションをロックを使って実装してるデータベース使ってるなら、
トランザクションの分離レベルをREPEATABLE READにして読めば、読み込んレコードには
行ロックがかかる。

165:デフォルトの名無しさん
17/11/29 15:52:26.83 x/indGo0.net
>>161
楽観的排他制御ってやつか!?

166:デフォルトの名無しさん
17/11/29 21:11:58.94 fgyKG67K.net
リトライだらけになる

167:デフォルトの名無しさん
17/12/02 10:37:02.24 OECpFj6Y.net
Consoleアプリの関数Aから別のスレッドで関数Bをを実行。
Bが終わるまで数分かかるので、その間はAの処理を引き続きやる。
Bが終わったら何らかの通知をA(あるいはアプリ)で受けとる。
そんな処理をしたいのですが、どんな手法がお勧めですか?

168:デフォルトの名無しさん
17/12/02 11:20:32.34 qE46CGT4.net
>>166
Hangfire

169:デフォルトの名無しさん
17/12/02 12:07:47.28 pzCW2tCE.net
書き捨てならポーリング

170:デフォルトの名無しさん
17/12/02 12:18:43.47 dIIqSudI.net
>>166
普通にTaskとasync-await

171:デフォルトの名無しさん
17/12/02 13:31:40.26 OECpFj6Y.net
>>167
情報ありがとうございました。調べてみます。
>>168
それは何ですか?
>>169
関数Aの中で関数Bの終了をawaitするとそこでAの処理が停止しますよね?
それでは困るんです。

172:デフォルトの名無しさん
17/12/02 13:38:50.65 /lrBlva0.net
通知を受け取って何をするの?
Aが実行中に通知を受け取った場合は?
Aが終わったあとに通知を受け取った場合は?

173:デフォルトの名無しさん
17/12/02 13:44:11.82 M5ek0NUJ.net
>>171
終わったってフラグでも作っておけばいい
何のためにそんなこと聞くの?

174:デフォルトの名無しさん
17/12/02 14:11:31.35 kxO6m70V.net
>>172
実際にコードに起こすこと考えたら>>171の疑問出てこない?
ポーリングの有無とかB終了の通知はA以外で受けたほうがいいのかみたいな

175:デフォルトの名無しさん
17/12/02 14:21:45.96 /lrBlva0.net
void A() {
...
Task.Run(() => B());
...
...
}
void B() {
...
...
SetSomeFlag();
}
こういうこと?
何をしたいのかハッキリしないな

176:デフォルトの名無しさん
17/12/02 14:22:18.75 T9uGCJHM.net
>>170
関数BをTaskで実行しておいて、たまにTask.Wait(0)がtrueを返すか確認する

177:デフォルトの名無しさん
17/12/02 14:22:55.12 M5ek0NUJ.net
>>173
何で目の前の問題置いて次の実装考えるの
やり方が一つ決まったらそれでやり通す必要もないし
質問者の要件わからないのにそんなこと聞きだす必要はない

178:デフォルトの名無しさん
17/12/02 15:15:48.94 XMkOweAB.net
多分処理AはUIスレッドなんだろ
処理B実行中にUIは止めたくない
そして処理B完了でUIを更新したい
そんな要件だと想像した

179:デフォルトの名無しさん
17/12/02 15:34:29.65 kxO6m70V.net
>>177
それだとInvokeやDispatcherの話にも広がりそうだね

180:デフォルトの名無しさん
17/12/02 16:57:04.20 ax4ftaEq.net
>>177
consoleアプリって書いてあるやん

181:デフォルトの名無しさん
17/12/02 17:27:35.43 2zJJAtZS.net
10レスそこらも遡れないとかヤバすぎて草

182:デフォルトの名無しさん
17/12/02 18:20:58.48 M5ek0NUJ.net
元の話が設計で根本的におかしいか思い付きで質問しているかどっちか
後半に100ペリカ

183:デフォルトの名無しさん
17/12/02 20:31:53.15 XMkOweAB.net
コンソールアプリなら
EventWaitHandle使うのが楽そう

184:デフォルトの名無しさん
17/12/02 21:02:27.32 8UWC/wK0.net
WaitHandleは完了を待つ側のスレッドをブロックするから、
それでいいんだったら普通にasync-awaitでいい

185:デフォルトの名無しさん
17/12/02 21:06:19.33 pzCW2tCE.net
せやね

186:デフォルトの名無しさん
17/12/02 22:01:19.49 hEzEqaaq.net
Aで何したいかだけどコールバックでいいんじゃないの

187:デフォルトの名無しさん
17/12/02 22:11:03.11 8UWC/wK0.net
だったらTask.ContinueWithでいいだろ

188:デフォルトの名無しさん
17/12/03 01:24:35.88 R5bnWQiD.net
つかそもそも別スレッドで実行する必要があるのか
別プロセスで良いんじゃねえのか

189:デフォルトの名無しさん
17/12/03 10:20:17.77 8EUneh2f.net
>>187
プロセス間のデータ受渡はsoket通信する感じ?

190:デフォルトの名無しさん
17/12/03 10:32:03.87 eMfWVF0k.net
>>188
勝手に要件作る気なのかw
しかも中身まで要エスパーとか

191:166
17/12/03 10:48:55.10 fYwJfoN4.net
皆さんレスありがとうございました。
>Aが実行中に通知を受け取った場合は?
関数Cを別スレッドで実行したいです。例えばこんなふうに。
void C(){
 Console.WriteLine("Bが終わった");
}
>Aが終わったあとに通知を受け取った場合は?
Aは終わらないと言う前提でお願いします。

192:デフォルトの名無しさん
17/12/03 10:52:57.14 eMfWVF0k.net
>>190
>>186に出ているだろ
というかTaskメソッドをMSDNで調べろよ

193:デフォルトの名無しさん
17/12/03 11:54:26.84 dO3du7bJ.net
ふらっと案件

194:デフォルトの名無しさん
17/12/03 12:01:59.74 mrNMXEOK.net
フラット案件どころかこれだけレスとキーワード出ていて自分で解決できないのならプログラムやめるべき

195:デフォルトの名無しさん
17/12/03 12:09:59.71 S5PX0FVt.net
勘違いレスした奴もふらっと行きの刑で

196:デフォルトの名無しさん
17/12/03 12:14:39.54 WBs9Zv02.net
何でもいいけどすぐ動く完動品が出てくるまでこの調子だと思うぜ
どうせソースないんだろ、出てきたものを見ていじって作ろうとしてるんだろ

197:デフォルトの名無しさん
17/12/03 14:16:09.36 VfzmjXdH.net
>>190
BとCについてはよく分かった
Aが現状どういう処理をしているかによって
解決の仕方が違ってくると思うな

198:デフォルトの名無しさん
17/12/03 21:08:04.26 Or+Mlh4N.net
Aは終わらないという前提でちょっと笑った

199:デフォルトの名無しさん
17/12/04 17:37:29.30 KH9vP8EW.net
コンソールアプリで関連性のない2つの動作を同居させるシチュエーションがわからん
マルチスレッドにしたら効率が良くなるってだけの頭の悪い発想じゃね
>>187が当てはまらないのならぜひ教えてほしいくらい

200:デフォルトの名無しさん
17/12/06 04:39:39.43 PV/6ekcb.net
>>188
コンソールアプリ同士なんだから、まず標準入出力でダメか考えるべきじゃね
ソケット通信が必要ならまあやればいいけど、それだとそもそも


201:コンソールアプリなのが正しいのか疑問だ



202:デフォルトの名無しさん
17/12/06 07:38:42.71 7eNsiGhQ.net
>>199
ASP.NET Coreなんてもろコンソールアプリだけどな

203:デフォルトの名無しさん
17/12/07 01:34:47.15 f4DoJP6b.net
>>199
GUIが必要ないからCUIってプログラムは幾らでもあるが。

204:デフォルトの名無しさん
17/12/07 12:33:06.20 NfkoL/Di.net
>>201
それはGUIが基本なのかCUIが基本なのかの違いであって
コンソールアプリである必要性とは関係ないよね
別にGUIを基本にしろって主張じゃないよ
ただCUI=コンソールアプリってわけでもないだろうと

205:デフォルトの名無しさん
17/12/15 07:32:48.50 fJhEByrM.net
Task<string>型からstream型に変換するにはどうしたらいいでしょうか?
調べてもよく分からず詰まっています

206:デフォルトの名無しさん
17/12/15 08:44:02.62 tLAi6Ik2.net
よく分からんけどstringを取り出してからTextReaderかなんかに渡す

207:デフォルトの名無しさん
17/12/15 10:24:35.41 nTa8GCuy.net
>>203
何がしたいん?

208:デフォルトの名無しさん
17/12/15 22:48:43.84 Io6GZfPK.net
>>205
URLリンク(ideone.com)
こんな感じでurlを投げて返ってきたものをstreamに入れたい

209:デフォルトの名無しさん
17/12/15 23:04:26.66 Io6GZfPK.net
// HTTPアクセス
var req = WebRequest.Create(url);
var res = req.GetResponse();
// レスポンスをオブジェクトに変換
Stream s = res.GetResponseStream();
StreamReader sr = new StreamReader(s);
string str = sr.ReadToEnd();
もともとConsoleAppでこう書いて動いてたんだがGUIベースのにしようとしたらGetResponseが使えなかった
代わりにGetResponseAsyncにしたらエラーが出てもっとわからなくなった

210:デフォルトの名無しさん
17/12/15 23:08:46.23 TZIV/XXh.net
ナウなヤングはHttpClient.GetStreamAsync

211:デフォルトの名無しさん
17/12/15 23:50:34.14 aqOMh7+X.net
低水準言語からC#に戻ってくるとlinqが有能すぎて困る困らない
ienumなんとかいうヤツにforeachないのはなんでなの?魔女のバァさんの呪いか?

212:デフォルトの名無しさん
17/12/16 00:22:04.98 IGcNQYtz.net
List<T>.ForEach(Action<T> action) みたいなやつのことかな?
はい副作用ドーン!はLINQとしてどうなのってことで入らなかった

213:デフォルトの名無しさん
17/12/16 00:24:11.12 ArLhqftT.net
console では処理を止めても良いから、同期処理でも良い
でも、GUI では処理を止めると、アプリが動かなくなるから、
50ms 以上掛かるものは、非同期処理が推奨

214:デフォルトの名無しさん
17/12/16 22:25:24.29 GhzhJYge.net
もっと非同期処理について学んでみます

215:デフォルトの名無しさん
17/12/18 22:23:42.36 5DMorLlq.net
Int32へのIntPtrを渡さなければいけないのですが、unsafeコードしか方法はないのでしょうか?
現状、
Int32 int32;
IntPtr intPtr;
unsafe { intPtr = new IntPtr(&int32) }
someObject.someMethod(intPtr);
みたいな感じです。

216:デフォルトの名無しさん
17/12/18 22:42:24.23 7zt8qegi.net
>>213
無さそう
URLリンク(docs.microsoft.com)
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
そもそもどう使うか思いつかない。
アンマネージで必要ならrefで渡すし

217:デフォルトの名無しさん
17/12/18 23:03:00.80 5DMorLlq.net
System.Runtime.InteropServices.ComTypesで用意されてるインターフェース使うと、
IntPtrで宣言されてるんですよね・・
まぁ、自前でrefで宣言しなおしてもいいんですけど。
うーん。どうしよう。

218:デフォルトの名無しさん
17/12/18 23:05:43.88 5DMorLlq.net
まぁ、out,ref使わずにIntPtrで宣言すると、null渡せるっての1つの利点ですかね・・
COMインターフェースでオプショナルな引数もあって、そん時はnull渡してくれみたいのもあるんで。
>>213みたくunsafeしなければいけなならデメリットの方が大きそうですけど。

219:デフォルトの名無しさん
17/12/19 07:23:44.08 FokzMHrG.net
Marshal.AllocCoTaskMemするとか
new int[1]してGCHandle.AllocでPinnedしてAddrOfPinnedObjectするとか

220:デフォルトの名無しさん
17/12/19 13:37:53.98 IhvApffy.net
直接アンマネージにポインタだけ渡すってどうなんだろ
Marshal.AllocHGlobalとかしなくていいのか?

221:デフォルトの名無しさん
18/01/06 23:07:58.15 RVXlFPlL.net
いまだにどこまで.Pinnedしなきゃならないのかわからないw
趣味グラマだからわからないままでも問題はないんだけども
C#始めたころはいちいち書いていたが最近はずっと省いているな

222:デフォルトの名無しさん
18/01/07 00:09:48.08 X58Odkk6.net
変数がスタックにあるなら要らん
それ以外は必須
GCHandle.Allocは解放漏れでメモリリーク起こす可能性があるしパフォーマンスも悪いからなるべくfixed使った方がいい

223:デフォルトの名無しさん
18/01/07 00:21:49.73 gMArQtmD.net
ここはC#アンセーフコードスレですか?

224:デフォルトの名無しさん
18/01/07 00:44:39.18 Fl8YPIHO.net
>>220
サンクス
だけどアンマネージ側に渡すのにいちいちunsafeにはしたくないな

225:デフォルトの名無しさん
18/01/07 00:52:39.44 MTMRs8S5.net
IntPtrってvoid*相当で型安全もクソもないし
AllocHGlobalもmallocを生で使うのと変わらん
unsafeよりよっぽどunsafe

226:デフォルトの名無しさん
18/01/07 03:57:43.36 BXo/eClR.net
C#のスクリプト実行がVSなしでも動かせて、Pythonとかの代わりに使える未来はないかな?

227:デフォルトの名無しさん
18/01/07 10:21:20.72 EnYFx2jS.net
>>224
>C#のスクリプト実行がVSなしでも動かせて
これはもうできるやろ

228:デフォルトの名無しさん
18/01/07 13:30:19.23 6UmxljW6.net
今のままだとpythonの代わりにはならんわ
pythonは標準のモジュールにスクリプト用やOS周りの便利な機能が組み込まれてる

229:デフォルトの名無しさん
18/01/07 13:43:21.05 6UmxljW6.net
pyhtonだと他のコマンドの出力をワンライナーで処理とかあるけど
C#はまあ無理だな
そういう所ですみわけされてる
適材適所

230:デフォルトの名無しさん
18/01/07 14:44:36.87 wnez5vhA.net
python だと標準でできて .net だとできないことって何かあるかな?

231:デフォルトの名無しさん
18/01/07 15:14:37.45 PIbW29V+.net
jsonくらいか?

232:デフォルトの名無しさん
18/01/07 15:24:00.25 EnYFx2jS.net
>>226
たとえば?

233:デフォルトの名無しさん
18/01/07 15:34:12.12 pcvnpBsv.net
getoptやargparseのようなものは欲しいと思ったな。その点ではMFCよりも退化してる。

234:デフォルトの名無しさん
18/01/07 20:30:21.44 5XHMA74k.net
ウェブサイトのリプレイスでPHPじゃなくてC#で書きたいので
上司を説得するために、PHPよりC#の方が言語的に優れてる点をまとめた
静的型付け
勝手に文字列、数値、真偽値等のプリミティブ型を変換しない
ジェネリクス
LINQ
名前空間名を指定してusing
非同期メソッド
ラムダ式
拡張メソッド
null条件演算子
逆にPHPの方が言語的に優れてる所ってなんだろう・・・
trait?
引数にタイプヒント付けるとnull安全になる所?

235:デフォルトの名無しさん
18/01/07 20:36:48.21 eDz/bjXs.net
言語だけじゃなく、開発環境、ライブラリなど総合的に決めるべきやね。
結果は自明だが。

236:デフォルトの名無しさん
18/01/07 20:40:46.23 7cGFvSiG.net
>>232
WebならC#は言語云々というよりプラットフォームの制約で選ばれるものだと思うぞ
サーバーがWindowsならC#はMSが強く推奨する第一の選択肢であり、よほどの理由がなければ他を使うべきではない
Linuxなら今では.NET CoreもあるけどPHP使ってるようなところの手に負えるもんじゃない

237:デフォルトの名無しさん
18/01/07 21:06:28.11 5XHMA74k.net
PHP製サイトはフレームワーク使ってるけど
考えなしに機能拡張し過ぎたため
自分が入社した頃には既にコントローラーが大変なことになってて
このままじゃヤバイから書き直す事になった
>>234
なんか難しいのか
今時はDockerですぐ動く環境ができる感じじゃないの?
.NET CoreはDockerで作ったことは無いけど
PHPでテスト用の環境は作った事がある

238:デフォルトの名無しさん
18/01/07 21:13:58.77 5XHMA74k.net
バックエンドだけC#で書いて
Angular等をフロントエンドに使う事を推す人も居るけど
RazorViewより良いの?
AngularやReact、Vueは別にクライアント側でしか使えない訳じゃなくて
node.jsでサーバーサイドでも使えるらしい

239:デフォルトの名無しさん
18/01/07 21:27:07.65 X58Odkk6.net
Linuxでちゃんとした言語使いたいならJavaでいいだろ
言語機能が不満ならKotlin使えば>>232は全部満たしてるぞ
リプレースでやるにはDocker&.NET Core&C#全部新規導入なんてリスクが大きすぎるし、
成長という観点を込みにしてもそれだけのコストをかけるほど価値のある選択とは思えん
DockerってことはAWSかなんかだろ?
どうしてもC#に拘るんなら素直にWin鯖立てとけ

240:デフォルトの名無しさん
18/01/07 21:27:26.11 pcvnpBsv.net
SPAはサーバー負荷を抑えられるのが良いね。
せっかくのSPAフレームワークをわざわざSSRするのはメリットがよくわからん。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

285日前に更新/232 KB
担当:undef