C#, C♯, C#相談室 Part95

■ このスレッドは過去ログ倉庫に格納されています
2017/10/17(火) 04:02:10.51ID:/jJUZ/t7
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/

■次スレは>>970が建てる事
建てられない場合は他を指定する事。
2017/11/03(金) 09:34:45.04ID:xnvXDnsB
>>56
ものによる
2017/11/03(金) 09:48:45.12ID:Ifv/vU0b
今もmysql使ってる人は少ないと思うけど知らない人がいるのかな
時代は変わりました
2017/11/03(金) 15:01:36.50ID:z1slN08A
>>57
sqlserverを使うある程度大きなプロジェクトだとefを使うのが一般的ですか?
全く使わないなんてのも有るんでしょうか?
2017/11/03(金) 16:05:45.83ID:xnvXDnsB
>>60
基本的にはEntityFramework、パフォーマンスを求められる箇所はDapper
2017/11/03(金) 19:12:47.52ID:QKSUaUtV
>>61
生のSQLを実行するのは一般的ではないのですか?
2017/11/03(金) 19:16:11.94ID:+cvTX3N5
>>62
普通はストアド作っといて、指示するんじゃね?
2017/11/03(金) 20:20:48.15ID:tw8puOLs
>>62
Dapperは生SQLだよ
DataReaderやクエリパラメータとオブジェクトの間のマッピングの単純作業を自動でやってくれるだけ
2017/11/03(金) 21:11:34.22ID:xnvXDnsB
>>62
EntityFrameworkでも生のSQLは書ける。書かなくてもパフォーマンスに(考慮しなくちゃいけないほどの)遅延がなければ書かない。
2017/11/03(金) 21:38:29.15ID:Ro85MhDs
>>63
それは生の一種だろ
67デフォルトの名無しさん
垢版 |
2017/11/04(土) 03:09:26.28ID:bSw/g7Kd
WebRequestを続けて二回同じサーバーに別のオブジェクトで通信したら変なエラーが出るんだがわかる奴いる?
これじゃ情報不足ならそのうち再質問するが。
2017/11/04(土) 04:12:32.15ID:m6ZusNHm
「変」って何だよ具体的に言えよ
なんで相談室でまでこんな所から始めなければいけないんだ
2017/11/04(土) 12:22:27.57ID:d/IRXg6v
>>65
最近efを覚えて試しているんだけど、
efでusingしてdbに何か書き込むだけでも、なんかレスポンスが悪い気がするんだけど。
気のせい?
70デフォルトの名無しさん
垢版 |
2017/11/04(土) 12:26:33.85ID:tv+raRR6
HTTPレンスポンスの生文字列データを取得する方法ある?レンスポンスにSet-Cookieが何箇所行かにあるやつをWebResponseでSet-Cookieヘッダを取得しても1番始めのしか取得出来ない
2017/11/04(土) 12:26:47.53ID:FXv0ObyH
>>69
何に比べてレスポンスが悪いの?
初回が遅いのはどうしようもない
2017/11/04(土) 12:28:02.53ID:/qI+U4k3
>>69
EFはサーバーで長時間にわたって大量のメモリ食わせて使うもんだ
2017/11/04(土) 12:30:33.34ID:FXv0ObyH
>>70
https://msdn.microsoft.com/ja-jp/library/system.net.httpwebresponse.cookies(v=vs.95).aspx
74デフォルトの名無しさん
垢版 |
2017/11/04(土) 12:32:08.79ID:tv+raRR6
>>73
こんなのあったのかよ
センクス
2017/11/04(土) 12:40:00.34ID:d/IRXg6v
>>71
生と比べて
2017/11/04(土) 13:59:23.92ID:FXv0ObyH
>>75
???
2017/11/04(土) 14:02:54.09ID:gVOMythZ
efはコンドームだった説
2017/11/04(土) 14:30:16.19ID:m6ZusNHm
DB女の子説はやめろ
79デフォルトの名無しさん
垢版 |
2017/11/04(土) 20:58:01.18ID:bSw/g7Kd
>>73でクッキー取得しても空なんだが?
80デフォルトの名無しさん
垢版 |
2017/11/04(土) 22:05:43.00ID:bSw/g7Kd
解決した
2017/11/04(土) 22:41:27.51ID:FXv0ObyH
>>80
とれなかった原因は?
82デフォルトの名無しさん
垢版 |
2017/11/04(土) 22:42:33.61ID:bSw/g7Kd
>>81
リクエストオブジェクトにCookieContextオブジェクト入れる&リダイレクトをオフで取れた
2017/11/08(水) 19:29:16.27ID:7+AqNTkf
ASP.NET MVCでControllerの中のソースコードが増えて来て混乱気味なのだが、
どうやって整理すればいいのかな?
2017/11/08(水) 19:59:44.18ID:AtvWoVld
モデルに実装する
2017/11/08(水) 20:04:15.29ID:7+AqNTkf
>>84
モデルって言うのは本来は何を入れるところなの?
細々とした色んな処理を書いてもいいの?
2017/11/08(水) 20:09:34.86ID:N6XqY60q
>>83
インプットを基にして処理を振り分けて、得た結果をViewに返すだけじゃないの?
2017/11/08(水) 20:38:56.54ID:AtvWoVld
>>85
モデルにはすべてのロジックを実装するのが正しい
コントローラの役割はリクエストの内容を受け取りモデルに投げて結果をVMに入れて返すだけ
88デフォルトの名無しさん
垢版 |
2017/11/08(水) 21:16:06.13ID:vGP4g6Va
ASPって出番ある?みんな仕事の案件でやってるの?
2017/11/08(水) 21:46:20.39ID:Yt5neKtg
WebFormsの案件はドカタだとWinFormsより多いだろ
うちはMVCでSaaSやってる
2017/11/08(水) 22:10:09.31ID:rbcWTqbu
(実はMS案件には全く縁がない)
91デフォルトの名無しさん
垢版 |
2017/11/10(金) 10:27:07.08ID:EEZieTzn
クラスのメンバのプロパティを小文字で始めると
メッセージ IDE1006 名前指定の規則違反: これらの単語は、大文字で始まらなければなりません:

と出るのだが、なんで小文字だとエラーなの?
世の中では、大文字で始める習慣があるの?
2017/11/10(金) 10:39:35.19ID:GXd92sM9
だからそういうメッセージが出るんだろ
2017/11/10(金) 13:41:07.91ID:Hx4QOm/G
VS2017ならデフォルトで提案事項になっているがエラーになるのは自分で設定したせいでは
2017/11/10(金) 13:55:50.82ID:DPfs8yVZ
>>93
自分ではしてない
2017/11/10(金) 14:22:22.24ID:Hx4QOm/G
ここに書かずに設定したやつに聞けばいいのに
2017/11/10(金) 15:46:12.86ID:dHTokmn8
で、それはエラーなの?
メッセージが出たら警告だろうが何だろうが全部エラーって言う人も多いけど
2017/11/10(金) 17:18:52.60ID:EEZieTzn
>>95
誰だよそれ?
2017/11/10(金) 17:22:41.93ID:VxFWEUmd
>>97
自分でいじってないなら初期設定決めたMSの人では
2017/11/10(金) 18:12:13.90ID:MvAM88wE
コンパイルエラーとは別にコード分析のエラー欄に出るんじゃないか?

>>91
命名ルールはこれ
https://msdn.microsoft.com/ja-jp/library/ms229002.aspx
2017/11/11(土) 00:13:18.80ID:VQqkIwVV
class A{
class B{
class C{
}
}
}
みたいに三重くらいになると、自分でもわけ分からなくなって来るんですが、
世間では三重くらいは普通ですか?
2017/11/11(土) 00:28:57.43ID:FsCJcvbF
>>100
内部クラスって表記しやすいだけでそれ以外のメリットあるのかね?
2017/11/11(土) 00:33:23.96ID:BH43IN+9
javaの人は良く使うけど
スコープの問題だけだから本来は使わないでもよさそう
2017/11/11(土) 00:59:17.39ID:kkrHimLP
内部クラスはたまーーーに使うけど3重なんて一度もしたことないな
2017/11/11(土) 01:19:20.69ID:3ysLENMg
何重までいけるん?
2017/11/11(土) 11:11:58.59ID:f6zZSvYO
>>104
プログラムやる人の発想じゃないな
2017/11/12(日) 08:56:15.86ID:LXGneVsA
>>100
static classだとよくやるけど
static class My{
static class Hoge{
static class Config{
}
}
}
My.Hoge.Configのように使える
でも3重は使わないな
2017/11/12(日) 10:27:34.46ID:j0JK3XOe
Javaだと1クラス1ファイル
客先の規約で配置できるファイルに制限があると内部クラスを使わざるをえない
2017/11/12(日) 10:36:20.99ID:3BzbD7Br
enum使いにくいから代わりにstatic class乱用してるわ
2017/11/12(日) 10:46:19.17ID:kmdFzMTF
>>108
enumのどのあたりがダメなん?
2017/11/12(日) 11:11:16.62ID:3BzbD7Br
>>109
後で要素増えたら参照先全部ビルドし直さなきゃならんあたり
2017/11/12(日) 11:19:21.94ID:kmdFzMTF
>>110
ビルドなんて一瞬じゃん?
112デフォルトの名無しさん
垢版 |
2017/11/12(日) 11:28:22.38ID:PNAmYcb6
.Net Core 2.0では、だいぶん.NetFrameworkの実装がカバーされたと聞きました。
https://raw.githubusercontent.com/dotnet/standard/master/docs/versions/netstandard2.0_ref.md
これを見る限りでは、System.IO.StreamやSystem.IO.FileInfo、ISerializableなど
もあります。これらをUWPやASP.NET Coreでも使えるようになるという理解でいいでしょうか。
2017/11/12(日) 11:44:42.71ID:j0JK3XOe
C#のenumはメソッド定義できないから役立たず
2017/11/12(日) 12:19:41.85ID:pNqEHb8d
>>113
javaとは思想が違うからな
どうしてもメソッド使いたけりゃ拡張メソッド書けばいいだけのこと
2017/11/12(日) 12:24:54.60ID:zaPGzGOT
enumは型安全性をぶち壊すから…
2017/11/12(日) 12:39:52.61ID:j0JK3XOe
enumにメソッドを定義できないとenumスイッチがあちこちに書かれてシステムが汚染される
そんなことになるぐらいならenumは言語機能から追放したほうがいい
2017/11/12(日) 12:51:07.42ID:kmdFzMTF
>>116
メソッドが使えるとスッキリ書けるの?
例を教えて
2017/11/12(日) 13:21:53.63ID:WcVSvCUs
読み方はエナメラブルでいいのかね
119デフォルトの名無しさん
垢版 |
2017/11/12(日) 13:26:58.08ID:hG4wTZ8S
>>112
逆に聞きたいんだけど、どういう理解があると思ったの?
2017/11/12(日) 13:29:17.49ID:j0JK3XOe
>>117
Javaのenumのメソッドはポリモーフィック
なのでステートやストラテジーなど様々な応用が利く
2017/11/12(日) 14:44:05.96ID:IOmcFQTN
enumはどうせ定数に置き換えられるんだから、最初から定数で書いとけばいいな
2017/11/12(日) 15:30:46.03ID:Lnuis1wP
>>107
javaって、内部クラスも1ファイルとして出力されるんじゃなかったっけ?
2017/11/12(日) 16:08:56.10ID:kmdFzMTF
class A,B,C,...が有って
void func<T>(...){...}
みたいな関数を
func<A>(...);
func<B>(...);
func<C>(...);
みたいに順番に実行したい場合、
forループ使って書ける?
2017/11/12(日) 16:11:43.25ID:MOg5phwx
>>122
>>107はソースの話やで?
オブジェクトはまとめたらいいだけだし
2017/11/12(日) 16:17:52.85ID:j0JK3XOe
>>123
var list = new dynamic[] { a, b, c };
foreach (var x in list)
func(x);

引数もインスタンスも無いならreflection
2017/11/12(日) 16:33:07.06ID:kmdFzMTF
>>125
なるほど。
dnamic使うしか無いんですね?
2017/11/12(日) 16:58:32.42ID:RZNIwvSq
reflectionが目に入らぬか
128デフォルトの名無しさん
垢版 |
2017/11/12(日) 17:39:19.11ID:UFCv5vw0
>>127
reflectionと言うのでやる方法を教えて下さい
2017/11/12(日) 17:39:26.99ID:5vVJXllV
partical いいよなぁ
130デフォルトの名無しさん
垢版 |
2017/11/12(日) 18:01:29.09ID:PNAmYcb6
>>119
APIはあっても、実際は例外投げるんじゃないかとか。
StreamやISerializableなど今まで散々レガシー扱いされてたのに、
すんなり実装されたのだったら、今までは何だったのかと思ってしまって。
2017/11/12(日) 18:02:25.44ID:Lnuis1wP
>>124
「配置できるファイルに〜」のところもソースファイルの話だったか、失礼した
2017/11/12(日) 18:42:10.04ID:WcVSvCUs
>>118
読み方はあっているのかい?
2017/11/12(日) 18:55:18.48ID:52C+Ep3W
>>132
えにゅめらぶる
2017/11/12(日) 19:11:35.21ID:Ti9eVPN+
>>133
いい難いなw
2017/11/12(日) 19:31:01.04ID:WbI57bEd
あいえにゅめらぼー
2017/11/12(日) 19:38:58.15ID:RZNIwvSq
れっきょ
137デフォルトの名無しさん
垢版 |
2017/11/13(月) 01:47:33.98ID:v8HXsfBj
>>126
リフレクション
そもそも用途がわからんけど
138デフォルトの名無しさん
垢版 |
2017/11/13(月) 01:55:32.64ID:v8HXsfBj
>>130
最初のリンクがそもそも.NETStandardの話なんだけど、.NETStandardとは何か知ってれば(最低限ググれば)前者は迷う余地がない
後者は経緯知らないけどレガシーが実装されたらだめという理由がない

…と考える人が大多数だと思う
139デフォルトの名無しさん
垢版 |
2017/11/23(木) 11:44:32.89ID:3aIXz7vh
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);
2017/11/23(木) 11:50:10.15ID:nWWLjgB9
こんな細かいことで悩んでいたら禿げるわ
それぞれにどれだけの差が出てくるか考えろよ
2017/11/23(木) 12:00:55.88ID:+AsqqoLD
$"{A}-{B}" でしょ
142デフォルトの名無しさん
垢版 |
2017/11/23(木) 12:03:56.69ID:3aIXz7vh
>>141
なるほど
2017/11/23(木) 12:04:14.40ID:11MjDn+U
とりあえず、環境が許すなら141、駄目なら139の1
2017/11/23(木) 12:13:05.14ID:1XchAmld
連結ならいつもは分かりやすさ優先で+
実際に扱うデータで使ってみて遅いと感じたらStringBuilderに変えてるわ
置き換えは置き換えの時だし、フォーマット形式が必要と感じたらそれ使うし
悩むのかこれ…コーディング終わらんやろ…
2017/11/23(木) 12:20:49.75ID:Go3NcBxu
最初はくだらない事に悩むからしょうがない。直に、開き直るからそれまでとことん悩め。
2017/11/23(木) 12:24:20.12ID:nWWLjgB9
>>145
こういうので悩みだすのはスキルが伸びず閉塞感に陥って逃げ道探しているときだw
2017/11/23(木) 12:28:18.93ID:kBi82nCb
4とか使うのは連結回数がクソ多いぐらいだな
2017/11/23(木) 14:17:08.77ID:U/QtJVxM
StringBuilder必要なのはループで回す時くらいやろ
固定回数なら最適化されるんちゃうか
しらんけど
2017/11/23(木) 15:17:10.10ID:JqKYKF6h
改行したい時はsb.AppendLine使う
var s = $@"hello
{A}
world";
別にこれでもいいけど、インデントが気持ち悪い
2017/11/23(木) 18:08:06.61ID:w+OP7Z8m
数個程度の定数個の結合にStringBuilderは無いね
@""で改行入れたときの改行コードってソースコードの改行コードに依存するんかな
2017/11/23(木) 18:25:49.20ID:Go3NcBxu
StringBuilder使うのは基本、ループ内で文字列結合するときだけだな
2017/11/23(木) 18:28:19.08ID:zj6W6oGG
スレがボケジジイの繰り言みたいになってる
2017/11/23(木) 18:29:25.95ID:Go3NcBxu
と書くと、問題あるな。あるメソッド内でループしてないから普通に文字列結合してても、
そのメソッドを使う方でループしてメソッド呼び出されたら・・
ということでなんでもない。
2017/11/23(木) 19:44:15.73ID:NThPFj2G
パフォーマンスは大差ないので可読性で選ぶ
となると

定数個なら+
動的ならlinqとJoin
155デフォルトの名無しさん
垢版 |
2017/11/24(金) 08:32:28.20ID:LQb8e4yU
public override と
override public とでは、どっちが普通ですか?
2017/11/24(金) 08:40:21.61ID:GsVE4oKd
アクセス修飾子が先
157デフォルトの名無しさん
垢版 |
2017/11/24(金) 09:49:06.09ID:LQb8e4yU
>>156
じゃあstatic使う場合は
どこに入れるべきですか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況