1 名前:デフォルトの名無しさん (ワッチョイ f201-IwB9) mailto:sage [2022/11/25(金) 13:16:08.91 ID:HZEumDr50.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980 を踏んだ人は新スレを建てて下さい。>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part156 https://mevius.5ch.net/test/read.cgi/tech/1663479569/ ■関連スレ C#, C♯, C#相談室 Part96 https://mevius.5ch.net/test/read.cgi/tech/1639965805/ ■コードを貼る場合は↓を使いましょう。 https://ideone.com/ https://dotnetfiddle.net/ ■情報源 https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/ https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/ https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/ https://referencesource.microsoft.com/ https://source.dot.net/ ・Insider.NET > .NET TIPS - @IT https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html ・DOBON.NET .NET Tips https://dobon.net/vb/dotnet/index.html VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
237 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 21:52:10.63 ID:PmW37SD40.net] それはPythonに限らんよReactもFlutterもViteもなんでもそうだ ちゃんとパッケージを管理できてないお前のスキルが低いだけ
238 名前:デフォルトの名無しさん [2023/01/08(日) 22:19:24.54 ID:vR0OTCC7d.net] >>234 そういうレベルじゃない ライブラリ同士の整合性問題がC#の比較じゃない そもそも比較がC#なのに何で他のを持ち出すんだ? 頭悪そう
239 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 22:37:24.96 ID:fqXaATjG0.net] >>235 ここのスレタイ確認しろよ Pythonを例に挙げている時点でお前も頭悪いよ
240 名前:デフォルトの名無しさん [2023/01/08(日) 22:51:16.76 ID:Qur7Wt30M.net] >>235 わかる あれひどいよな ものすごくメジャーライブラリでもPythonのバージョン上がると動かなくなって修正に半年とか普通にかかる リリースされて半年~1年は実質ベータ期間
241 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 00:01:38.16 ID:2yNmR2Eh0.net] 他人に期待しても無駄だから安定してるの使えばいいのよ 俺もC#はpowershellとも連携させるから基本OS標準に入ってるバージョンの機能しか使わないし
242 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 16:28:59.82 ID:CwlhWpkE0.net] ライセンス気にせずにExcel操作ライブラリ使うなら、読み取りはExcelDataReader、書き込みはClosedXMLがいいのかね? EPPlusは商用ライセンス高すぎて使えないわ
243 名前:デフォルトの名無しさん [2023/01/09(月) 17:37:32.83 ID:vMc2E6cN0.net] SpreadsheetLightってのもある あと知ってるかもしれんがEPPlusはv4系までは商用でもフリーだぞ net standard2.0だから今後しばらくは問題ないと思う
244 名前:デフォルトの名無しさん [2023/01/11(水) 11:19:45.11 ID:6xJiw1N1a.net] 単純な真理 馬鹿でも使えるようにすると馬鹿しか使わなくなる
245 名前:デフォルトの名無しさん (ワッチョイ 99a7-DWwd) mailto:sage [2023/01/11(水) 12:26:53.93 ID:mTSuB4YT0.net] >>241 HTML はい論破
246 名前:デフォルトの名無しさん (ササクッテロリ Sp4d-1ccR) mailto:sage [2023/01/11(水) 12:30:24.34 ID:9UsnsdsEp.net] あれ言語? レイアウト用のスクリプトじゃね?
247 名前:デフォルトの名無しさん (ワッチョイ 2bbb-Jp3v) mailto:sage [2023/01/11(水) 12:31:26.63 ID:xxqhJq0+0.net] >>241 5chのことかぁぁぁ!
248 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 00:35:27.24 ID:1+V28XvP0.net] winformsってみんな普通に使ってるし自分も時々使ってるけどこれといったテキスト売ってないよね みんななんとなくで習得してる それでもなんとかなるほど学習コストが低いってことなのかな
249 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 00:39:53.96 ID:Ae6OSc1r0.net] visualstudio使えば、割と簡単とは思うけど GUI的な考えが分からない奴は結局ちょっと複雑になると作れないんだよなぁ UI thread的な考えが理解出来ないとUI thread以外でUI操作しようとしたりするしw
250 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 01:42:03.27 ID:9BD/EtRG0.net] >>245 比較対象がWPFなら簡単過ぎるぐらいだな
251 名前:デフォルトの名無しさん [2023/01/13(金) 04:09:28.41 ID:i9/MSi6dM.net] まあアレは直感的にわかりますし…… WPFの方が調べても全然出てこなくて困る、書籍も少ないし
252 名前:デフォルトの名無しさん [2023/01/13(金) 06:37:45.03 ID:CqT5d+dn0.net] @ if ((choice == 2 && player == 2) || (choice == 3 && player == 1)) A if (0 <= xpos && xpos < XMAX && num[xpos] < YMAX) B board[xpos][num[xpos]++] = player; C for (x = 0, y = ypos, n = 0; x < XMAX; x++) D for (x = xpos, y = 0, n = 0; y <= ypos; y++) E for (x = 0, y = ypos - xpos, n = 0; y < YMAX; x++, y++) F for (x = xpos - ypos, y = 0, n = 0; x < XMAX; x++, y++) G for (x = 0, y = xpos + ypos, n = 0; y >= 0; x++, y--) H for (x = xpos + ypos - YMAX + 1, y = YMAX - 1, n = 0; x < XMAX; x++, y--) の各条件文内でどーゆー計算、アルゴリズムがされてるか教えてくださる人いますか??
253 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 06:54:01.37 ID:QZjdOIAl0.net] 何がわからんのかわからん 課題なら先生に聞け あーChatGPTなら教えてくれるかもな
254 名前:デフォルトの名無しさん [2023/01/13(金) 09:13:03.94 ID:CqT5d+dn0.net] 例えば@だと、&&が論理積、||が論理和ということだと思うんですけど、演算子が分かってもその条件文内で何が行われているかとかが分からないので知りたい状態なんです。。
255 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 09:19:57.40 ID:ohfi5XtE0.net] ベン図でも描けば?
256 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 09:21:26.34 ID:r1OLO4Qgp.net] マジックナンバーイクナイ
257 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 09:25:11.90 ID:QZjdOIAl0.net] >>251 それなら俺らもそれ以上はわからんぞ 変数名をちゃんと意味あるものにしてやって >>253 が言うようにマジックナンバーをなくすと読めるようになる
258 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 10:43:33.37 ID:g8ppNh/ZM.net] >>249 いますかの答えとしてはいない 書いてるコード断片にはアルゴリズムもなにもない それにこれ多分Cだろ ここは C#と言う別言語のスレなのですれ違い これは多分オセロみたいなゲームのコードだろ 縦ラインループ横ラインループと斜めラインループしてる player1 と player2が対戦して boardが合ってXMAXとYAMXのボード幅ではみ出し判定してる 計算もアルゴリズムも何も感じられない その前にさあIDEの使い方覚えて一行ずつ動かして何が起こってるか見てみたらいい 初心者の間は状態などを紙にでも書かないと多分わからないよ
259 名前:デフォルトの名無しさん [2023/01/13(金) 10:54:17.50 ID:+TkXA4uqa.net] マルチで Google Drive のリンクまで晒してるけど 学校名も個人名もばれるから落第だな 下手したら退学
260 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 11:24:47.04 ID:2CVvZRFNd.net] ちゃんと対象言語のスレで聞いてりゃまだ可愛げがあるけど 他言語やVSCodeのスレとかにまでマルチポストだからげんなりするわ
261 名前:デフォルトの名無しさん (ブーイモ MM4b-mEot) [2023/01/13(金) 11:42:28.12 ID:Qkt7plGTM.net] 半期やってこれがわからないような学生に今どきCを教える大学って終わってるな
262 名前:デフォルトの名無しさん (ワッチョイ b101-tb1I) [2023/01/13(金) 12:02:36.51 ID:CqT5d+dn0.net] >>255 ありがとうございます、スレ違いで申し訳ありません。 >>"これは多分オセロみたいなゲームのコードだろ 縦ラインループ横ラインループと斜めラインループしてる" 例えばどの条件文、関数からこれを読み取れたのですか?
263 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 12:09:39.59 ID:g8ppNh/ZM.net] マルチなのか相手して損した にしてもやる気がない人にはこのレベルはちょっと難しいんだろうなとも思う 二次元配列とボードがイメージとして直結してなくてx、yで盤面の位置を指してることが理解できれば変わるだろうけど
264 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 12:10:56.40 ID:g8ppNh/ZM.net] リロードしてなかったから書き込みが見えてなかったけど スレ違いなのでもうレスしない
265 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 12:11:52.99 ID:w4pCcfcAM.net] わかんない人をわからせるのは 短文投稿サイトでは難儀なので 元々の問題文を貼ってくれれば 正確な回答をもらえると思いま す
266 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 12:13:53.39 ID:g8ppNh/ZM.net] >>262 こら! スレ違いなので答えてはいけないしどうも他のスレでは張ってあるらしし
267 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 12:42:09.38 ID:2CVvZRFNd.net] 5スレマルチポスト 他所でも警告してやって hissi.org/read.php/tech/20230113/Q3FUNWQrZG4w.html hissi.org/read.php/tech/20230113/Q3FUNWQrZG4.html
268 名前:デフォルトの名無しさん (ブーイモ MM4b-IdlF) [2023/01/13(金) 22:44:16.91 ID:UM8Nby1DM.net] データテーブルの列名が日本語になってるデータベースと、C#コードを連携します。 データテーブルのデータを保持するクラスを定義する際、同じようにして日本語を使ってフィールドを定義すれば対応関係がよくわかるのですが、英語やローマ字で定義したほうが良いでしょうか。
269 名前:デフォルトの名無しさん (ワッチョイ b101-fx7m) mailto:sage [2023/01/13(金) 22:59:24.65 ID:QrXHZOLk0.net] 今開発してるのがまさ
270 名前:に日本語カラムばかりなんだけどめっちゃ楽だぞ ソースコード内でもカラムを示す箇所が視覚的にわかりやすいしインテリセンスでも埋もれない カルチャー的に受け付けない人はいるだろうけど使ってみると考えも変わる [] [ここ壊れてます]
271 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 23:52:57.11 ID:N2c+mgjH0.net] 過去に行政の税システムのソースを見たら変数名が日本語だった。メーカーのPMに「日本語なんすね」と言ったら「間違いを無くすにはもうこれしかないんです」と言っていた。 税の用語は難しく数が多くて計算は複雑で、もし間違えたら記者会見して新聞記事になる。こういう対象にはそれに適した手段を用いるのが肝要だと思った。
272 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 00:37:39.38 ID:ISrlGbh20.net] nameof使えるし日本語フィールド名で良いんじゃない
273 名前:デフォルトの名無しさん [2023/01/14(土) 03:37:58.98 ID:xHYJkNGt0.net] >>266 レスありがとうございます。 >インテリセンスでも埋もれない インスタンス名に続けて、ドットを打ったらインテリセンスで日本語名フィールドが表示されるのですね。 row_日本語の列名 みたいにしてなにか最初にアルファベットで列名に関与していることを示してみようかと思っています。 フィールドでは無意味かな。 でも、クラス名が日本語の場合は、model_日本語名 みたいな感じで最初にアルファベットをつけておくと、 インスタンス化のときにnewによるコンストラクタの呼び出しが便利かもと思っています。 >>267 たしかに。間違いはなくなりそう。日本語から英語に訳すのに時間がとられるし、それで対応関係がわからなくなってしまったら、 まったく無意味ですよね。 私も、日本語でやってみたいと思います。 >>268 https://atmarkit.itmedia.co.jp/ait/articles/1607/20/news026.html によると、 >nameof演算子を使うと、名前空間/型/メソッド/プロパティ/変数などの単純な名前(=名前空間やクラス名などで修飾されていない名前)の文字列が取得できる。 でも、何の役に立つのかピンとこない。 日本語フィールドとどう関係があるの?
274 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 05:06:37.76 ID:XX64qgVXH.net] ひょっとしていまだにDataTable/DataSetを使ってるとか、生のDataReaderでレコードを取り出して1項目ずつフィールドに転記するつもりなんだろうか EntityFrameworkなりDapperなり使わなきゃだめだよ DapperでSQLを手書きする前提なら、nameofを使ってこんな感じ public class T_テーブル1 { public string カラム1 { get; set; } public string カラム2 { get; set; } public string カラム3 { get; set; } } var sql1 = $"SELECT * FROM {nameof(T_テーブル1)} WHERE {nameof(T_テーブル1.カラム1)}=@val"; T_テーブル1? rec = connection.QueryFirstOrDefault<T_テーブル1>(sql, new { val = "aaa" }); string sql2 = $"INSERT INTO {nameof(T_テーブル1)}" + $"({nameof(T_テーブル1.カラム1)}, {nameof(T_テーブル1.カラム2)},{nameof(T_テーブル1.カラム3)})" + $"VALUES(@{nameof(T_テーブル1.カラム1)}, @{nameof(T_テーブル1.カラム2)}, @{nameof(T_テーブル1.カラム3)})" connection.Execute(sql2, rec); 個人的にはクラス名(テーブル名)・プロパティ名(カラム名)については たとえC#の命名規約に反しようと全角半角・英大文字小文字含めDB定義通りにして SQL文組み立てにフル活用できるようにする
275 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 08:03:33.86 ID:YVgT972+0.net] テーブル1とテーブル2で同じカラム名があるとダルそうですね
276 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 11:14:54.89 ID:1tybvzL1d.net] テーブル名やカラム名そのままならたぶん大丈夫だとは思うけど カッコ系や「・」なんかの全角記号がほとんど使えないのは一応注意を
277 名前:デフォルトの名無しさん (ワッチョイ fd7f-fQuj) [2023/01/14(土) 14:27:07.61 ID:xHYJkNGt0.net] >>270 レスありがとうございます。 お察しの通り、datareaderをforでぐるぐる回しながら、エンティティにデータ格納しようとしています。 ほとんどストアドプロシジャによる処理手順があり、これを実行した結果をC#で扱いたいんです。 ストアドプロシジャがあるのにEFを使う話は書籍にも見られません。 Dapperは全く勉強したことないので全然知りませんでした。 でも、そうやってnameofを使うわけなのですね。 優位性や適応についても知りたくなりました。
278 名前:デフォルトの名無しさん (ワッチョイ fd7f-fQuj) [2023/01/14(土) 14:30:25.35 ID:xHYJkNGt0.net] >>271 同じ名前のフィールドができるからですか? でも異なるタイプのエンティティなら問題ないのかなと思います。 >>272 ありがとうございます。 気をつけます。
279 名前:デフォルトの名無しさん (ワッチョイ fd7f-fQuj) [2023/01/14(土) 14:40:51.64 ID:xHYJkNGt0.net] >>273 >でも、そうやってnameofを使うわけなのですね。 文字列内(今回はSQL文)に、クラスのフィールド名を組み込みたいときに使うと良いということがよくわかりました。 すると、その場合、クラス名、フィールド名は、データベースの列名に一致させておくことが必須ですね。 どうもありがとうございます。
280 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 21:37:09.12 ID:JGEy8Mb7H.net] ちょっとまって、フィールド名とカラム名を一致させるのはnameofのためじゃなくて EFやDapperでもって取得したレコードや更新値を全レコード/全カラム自動マッピングさせるためだよ いまどき手動でDataReaderから1項目ずつ値転記したりDbCommand/DbParameterをいちいち指定したりなんて もはや許されない前時代的老害コーディングだからやっちゃだめ あとEFでのストアド実行ならふつうにSqlQuery()とかの生クエリで出来ると思う
281 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 23:34:32.45 ID:v+aDVA7Ga.net] SQL 文を組み立てるのは、数十年前のやり方 Ruby on Rails では、1対1・1対多・多対多など、表同士の関連を定義する
282 名前:デフォルトの名無しさん (ワッチョイ cd35-5Koo) mailto:sage [2023/01/15(日) 00:10:03.35 ID:GqZOBUMQ0.net] HttpClientでPostAsyncするときにユーザーエージェントを指定したい時はDefaultHeadersをいじるしかないのでしょうか。 それをするとマルチスレッドで同時に別のユーザーエージェントで送りたいときに独自で排他制御しないといけない気がします。 かと言ってSendAsyncを使うと今度はContent-Typeをapplication/x-www-form-urlencodedにしたくても勝手に後ろに文字コードの;uft-8などが付いてきて困っています。
283 名前:デフォルトの名無しさん (ワッチョイ cd35-5Koo) mailto:sage [2023/01/15(日) 00:11:09.01 ID:GqZOBUMQ0.net] 記載し忘れましたがHttpClientはひとつのオブジェクトを用意して同時に使います。
284 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 00:44:00.15 ID:pBiKKGenM.net] WebRequest、WebClient、ServicePoint は廃止されている [アーティクル] 2023/01/05 https://learn.microsoft.com/ja-jp/dotnet/core/compatibility/networking/6.0/webrequest-deprecated > WebRequest、WebClient、ServicePoint の各クラスは古い形式としてマークされており、コンパイル時に SYSLIB0014 警告が生成されます。
285 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 00:45:46.03 ID:pBiKKGenM.net] 勘違いして全然違うのを投入した
286 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 00:56:53.85 ID:AxXMsEIz0.net] FormUrlEncodedContentを持ったHttpRequestMessageをSendAsyncでPOSTしても Content-Type: application/x-www-form-urlencoded だけだったけど .NET7, .NET Fx 4.8両方で
287 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 01:00:32.76 ID:GqZOBUMQ0.net] すみません、また記載し忘れていましたがFormUrlEncodedConentを使用すると文字コードをShiftJISにしたいのですができず困っています。 あとはまだ試してしないのですがスペースが%20になってしまうとのことでそちらについても都合が悪いです。
288 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 01:01:36.57 ID:GqZOBUMQ0.net] %20ではなく+です
289 名前:デフォルトの名無しさん [2023/01/15(日) 01:08:45.78 ID:GqZOBUMQ0.net] HttpContentというクラスを独自にはせいさせるとできるかもしれないです 明日ためしてみます
290 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 01:18:15.52 ID:AxXMsEIz0.net] https://stackoverflow.com/questions/12390511/httpclient-formurlencodedcontent-encoding HttpContentから派生じゃなくてByteArrayContentを直に使えばいいらしいよ
291 名前:デフォルトの名無しさん [2023/01/15(日) 01:20:48.86 ID:GqZOBUMQ0.net] ByteArrayも試したのですが何かしらの問題があったような気が… すみません、明日さいど確認してみます
292 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 01:23:56.33 ID:R4vpna1L0.net] 仕事かな
293 名前:デフォルトの名無しさん (オイコラミネオ MMe5-7DGa) mailto:sage [2023/01/15(日) 01:41:17.79 ID:pBiKKGenM.net] HttpClientのサードパーティー製をNugetで探すと上位の方にかなりパンチの効いたのが出てくる
294 名前:デフォルトの名無しさん [2023/01/15(日) 02:02:46.64 ID:C2q54ZnWd.net] >>277 業務を知らないRuby馬鹿
295 名前:デフォルトの名無しさん [2023/01/15(日) 05:17:18.02 ID:14wHoUoo0.net] >>276 ありがとうございます。 EFもかなり発展しているということなのですね。 以前はまだ未完成みたいな感じだったので、利用を躊躇しておりました。 ストアドの実行もEFでやってみたいと思います。 ただEFについては勉強が必要なので、少し時間がかかりそうです。 DataReaderはVBのときからやっているので、やっぱりいじり方がわかりやすいんですね。 >>277 表同士の結合は、ストアドプロシージャでやっては今の時代はダメなんですかね。
296 名前:デフォルトの名無しさん [2023/01/15(日) 05:21:23.11 ID:14wHoUoo0.net] >>291 いちおう、ドメイン駆動設計なども学びはしました。 リポジトリ、モデル、アプリケーション、プレゼンに分けて構築しています。 でも、効率が良さそうなのはわかりますが、EFとかはどうも苦手意識があって。 いつか、慣れていく必要がありそうだとは思っています。
297 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 05:25:16.63 ID:I1C/y1wm0.net] DB畑なら特定の環境に依存する中途半端なことするより普通にSQL文使うのを選ぶと思うけど
298 名前:277 mailto:sage [2023/01/15(日) 05:54:23.73 ID:r5uLxMWea.net] Ruby on Rails では、各データベース(DB)の方言に依存しないように、 O/R マッパーで、3大DB のSQLite, PostgreSQL, MySQL を使う 多くはPostgreSQLだから、AWS Aurora とも互換性ある O/R マッパーを使わないと、各列の型も異なる
299 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 09:53:02.70 ID:BFqmBeHGd.net] >>291 いきなりRailsを持ち出す奴は構ってはいけない この板の鉄則
300 名前:デフォルトの名無しさん [2023/01/15(日) 11:50:48.71 ID:AgwxnFRxM.net] >>292 リポジトリのインターフェースがきちんと定義されててDBの実装に依存する部分が全てリポジトリの実装クラス側に隠蔽されてるなら中身は好きにすりゃ良い 後でリファクタリングするのも大した手間じゃない リポジトリから返される型の名前を変更したらSQL文も動かなくなるみたいな実装は依存性を分離できてないから基本的には良くない設計 (良くない設計だけど開発効率を重視して採用することはある)
301 名前:デフォルトの名無しさん [2023/01/15(日) 13:38:07.36 ID:GqZOBUMQ0.net] ByteArrayContentの件ですが、ほかのヘッダーと同様にHttpRequestMessage.Headers プロパティでContent-Typeを設定していましたが、これではContent-Typeだけリクエスト文に現れませんでした。 しかし、ByteArrayContentのHttpContentHeaders.ContentType プロパティに設定することで無事、目的のContent-Typeが送信されるようになりました。 ご協力ありがとうございました。
302 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 17:02:40.66 ID:pBiKKGenM.net] おもしろhttpclient代替ライブラリの出番はなかったと 残念
303 名前:デフォルトの名無しさん [2023/01/15(日) 17:03:22.46 ID:i8CV0envM.net] >>296 >リポジトリのインターフェースがきちんと定義されてて データベースなどの入れ替えに対応させるためですね。 >リポジトリから返される型の名前を変更したらSQL文も動かなくなるみたいな実装 これはいまいちピンとこないです。 どういう問題を持っているのですか。
304 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 17:27:16.78 ID:pBiKKGenM.net] 動かない時点で問題だろ 依存を切ってるはずなのに
305 名前:デフォルトの名無しさん (ブーイモ MMde-fQuj) [2023/01/15(日) 18:01:55.48 ID:i8CV0envM.net] >>299 について、>>300 さんへ 言い方がまずかったです。 >リポジトリから返される型の名前を変更したらSQL文も動かなくなるみたいな実装 これがどういう実装になってるのかなと。 リポジトリから返される型とは、モデルクラスでしょう。エンティティのことだと思います。 この型の名前を変えるとは、モデルクラスの名を変えるということですかね。 単純にかんがえると、コンパイル段階でエラーになると思います。 SQL文も動かなくなるとは、リポジトリがエンティティを受け入れる段階をいうのかな。 でも、リポジトリの永続化メソッドの引数の型と、エンティティの型が合わないという話なら、やはりコンパイルでエラーになる。 こういう話ではないのかな?
306 名前:デフォルトの名無しさん (ブーイモ MMde-laSj) [2023/01/15(日) 18:44:05.72 ID:Tpvfm3sDM.net] >>299 ここにEF使ったリポジトリとSqlCommandやDataReaderを使ったリポジトリの両方を実装してるサンプルであるから見てみるといい https://www.shoeisha.co.jp/book/download/9784798150727/detail >>270 が動かなくなる実装の一例
307 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 19:07:02.30 ID:pBiKKGenM.net] >>301 なんで段落じゃなくて毎回改行してんの?
308 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 19:07:55.22 ID:IyrCQBsgr.net] >>270 が動かなくなるって具体的にどういうこと? カラムnを実際のテーブルの列名と違う名前にしようとしたとかそういうこと?
309 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 20:23:54.22 ID:k2EAOSQD0.net] 正直、不必要なレベルの過剰な依存性の排除だと思うけどな もしやるならDBを使わない選択が必要な程の
310 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 07:18:54.98 ID:3crLqciiM.net] >>276 うーん? どこかでやらなきゃいけないのを 先延ばしにしただけのような? 俺はその構造になんの意味も感じなかった なぜなら絶対にどこかで指定する必要があってその場所が変わるだけだから 間に一つ挟んだら取り決めが増えるだけで何も変わらんよ
311 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 09:06:23.76 ID:15MDnu2bd.net] >>302 >>270 はDapperを使ったコードだけどEFやSqlCommandの例とどんな関係が?
312 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 03:21:23.70 ID:Pa/g9qeO0.net] ASP.NETの勉強を始めました。具体的にはASP.NET MVC5 実践プログラミングって本を使っています。 その中でentity frameworkを使ってdbcontextをうにゃうにゃしてデバッグ実行時にデータベースが制作されるようにしてページに表示して…みたいなことをやりました。 それでmdfファイルってのが出来あがってたのですがそれについて質問です。 これが出来上がったデータベースであって、sqlserverがデータを保存する形式ってのは分かりました。 これつまりC#(entity framework?)サイドからするとsqlserverは別に起動してなくてもデータベース本体だけあれば読み込めるということなんでしょうか。 それとも起動時に勝手に裏でsqlserverが立ち上がってたりするのでしょうか。 一応本の流れにそってSQL Express LocalDB edition 11.0なるものはインストールしています。 すいませんこれまでの開発でmanagement studio経由でいじるとかそれくらいしか経験無いんでよく分かってないです。 厳密にはC#の質問じゃないと思うんですけどよろしくお願いします。
313 名前:デフォルトの名無しさん [2023/01/17(火) 03:46:50.51 ID:g2NvLQQ30.net] >>308 すでに立ち上がってるSQLServerと通信する形となります SQLServerが動いてなかったらもちろん意味を成しません アプリから処理を呼び出し→SQLServerに接続→SQLServerがmdfファイルを編集 という感じだと思います
314 名前:デフォルトの名無しさん [2023/01/17(火) 03:48:48.44 ID:g2NvLQQ30.net] SQLServerは起動しっぱなしですね 応答により電源がついたり消えたりするという形ではないです
315 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 07:20:20.73 ID:s3m6BVtYM.net] LANケーブル抜けたら?
316 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 09:30:13.79 ID:mymdZu3lM.net] >>311 差し直しましょう
317 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 09:37:04.80 ID:FlIYwx2Q0.net] 神に祈れば掃除のおばちゃんがエアコンを切らない
318 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:28:25.23 ID:Pa/g9qeO0.net] >>309 ありがとうございました。sqlserverちゃんと起動してるかとか確認しないとだめですね
319 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 00:09:04.38 ID:hk0QW4ON0.net] あの紫の本かな 現状MVCのテキストってあれくらいしかないよね ちょこっと読んで放置してたけど読み直すか
320 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 00:28:03.93 ID:3sYvYO2/0.net] >>314 CompactとかLocalDBとかは常にインスタンスが上がってるような形じゃないけどな
321 名前:デフォルトの名無しさん (ワッチョイ 1579-iekx) mailto:sage [2023/01/18(水) 08:28:02.80 ID:rq0JYZ+R0.net] >>312 再接続するプログラムになってるかな?
322 名前:デフォルトの名無しさん (ワッチョイ ca01-FIs7) [2023/01/18(水) 08:53:04.91 ID:vYh8JMIk0.net] >>314 ( ̄ー ̄)bグッ!
323 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 11:14:23.74 ID:2vbdQEqi0.net] LANケーブルを指しなおすプログラム?
324 名前:デフォルトの名無しさん [2023/01/18(水) 12:06:41.51 ID:wDe6wdJea.net] 掃除のおばちゃんを制御するプログラムを弄れ
325 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 12:18:27.54 ID:LLGrNdcqa.net] 再接続というのは物理的に切断されたものが復旧した時に再度コネクションすることだぞここでは
326 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 12:39:01.52 ID:3lDNp2YJa.net] >>316 そいつらはインプロセスだからある意味呼び出し側が起動してたらLocalDBのプロセスも上がってるってことだが それ以前にCompactはもう忘れたけどLocalDBはSQL-Serverと同じでDBMSの起動とインスタンスの起動は違うぞ SqlLocalDB.exe start / stop でインスタンスを起動/停止できる https://learn.microsoft.com/ja-jp/sql/relational-databases/express-localdb-instance-apis/command-line-management-tool-sqllocaldb-exe?view=sql-server-ver16
327 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 13:27:16.30 ID:igIZvBCZ0.net] >応答により電源がついたり消えたりするという形ではないです ここが分からんw 鯖が物理的に別にあるってことかな
328 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 14:36:35.17 ID:3sYvYO2/0.net] >>322 LocalDBはインプロセスじゃない インスタンス事前に起動させて複数プロセスからアクセスとかできなくはない まあ大概は自動でインスタンス上がるんだが、手動でもできるってだけ つかその文脈、DBMS(の起動)とインスタンス(の起動)ってどういう使い分けなの?
329 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 15:18:33.28 ID:UiCoGtZYd.net] selenium webdriverのC#版の話題ってここでいいですか? 操作対象のdriverオブジェクトから、 Winformsで言う普通のウィンドウハンドル(NativeWindowHandle)を取得したいんですが、driver.CurrentWindowHandleプロパティで得られる値はselenium専用のウィンドウ識別用の文字列のようで使えませんでした。 stackoverflowとか見てもプロセスからタイトル名で探索する、みたいないまいち冴えない方法しか何故か見つかりませんでした。 ブラウザを操作してるのに一意なハンドル情報を得る方法が無いなんて考え難いので、何か方法はあると踏んでるのですが、たどり着きませんでした。上の冴えない方法より洗練された方法があれば教えて下さい。
330 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 15:20:53.55 ID:Hg1RmCSYa.net] >>324 > LocalDBはインプロセスじゃない すまん、ボケてたわ 単にリモート接続できないSQL-Serverだったな > つかその文脈、DBMS(の起動)とインスタンス(の起動)ってどういう使い分けなの? DBMSはSQL Server VSS Writerサービス(sqlwriter.exe)の話 インスタンスはリンク先読めばわかる 複数インスタンスとか使ったことないのかな?
331 名前:デフォルトの名無しさん (ワッチョイ 954f-wtyD) mailto:sage [2023/01/18(水) 16:15:25.52 ID:/+rmiMsB0.net] >>325 Seleniumはマルチプラットフォームなんで Windowsローカルの話なんて知らんというのはごく当たり前のように思うが
332 名前:デフォルトの名無しさん (オッペケ Sr6d-2lig) mailto:sage [2023/01/18(水) 16:36:04.45 ID:oNP58X/Tr.net] >>325 以前に探して見つからなかった記憶 そのときはやりたいことがウィンドウの最小化ぐらいだったんで RemoteWebDriver.Manage().Window.Minimize() を探し出して解決
333 名前:デフォルトの名無しさん (スップ Sdea-dnaz) mailto:sage [2023/01/18(水) 20:05:06.38 ID:UiCoGtZYd.net] >>327 >>328 ありがとうございます。参考になりました。 switchto~で何か出来そうな気もしましたが、 いまいち動きが読めないので今回は大人しく冴えない方法を使う事にします。
334 名前:デフォルトの名無しさん (ワッチョイ 292f-EsBK) mailto:sage [2023/01/18(水) 20:57:22.30 ID:3sYvYO2/0.net] >>326 WriterをしてDBMSとか言うやつは初めて見たわ 通常の文脈であればDBMSはDBエンジンをメインとした一式で SQL Serverにおいてはまさにインスタンスなんだが つかSQL ServerのVSS Writerって、べつに必須じゃなかった気がするけど シャドウコピーできなくなるからオンラインバックアップ取れないだけで いわゆるlazy writerみたいなDB Writerと勘違いしてるのかね
335 名前:デフォルトの名無しさん (ワッチョイ a501-ue0x) mailto:sage [2023/01/18(水) 21:17:36.32 ID:q1S59c8f0.net] >>330 > つかSQL ServerのVSS Writerって、べつに必須じゃなかった気がするけど SQL-Server VSS Writer とシャドーコピーサービスは別物だぞ あとSQL-Serverのインスタンスはプロセスとは関係ない sqllocaldb create\|c "instance name" [version-number] [-s] とかで増やすこともできるけど増やしてもプロセスやスレッドは増えないよ ちなみにOracleでもインスタンスの用語はデータベースファイルセットの意味で使われてる https://docs.oracle.com/cd/F32587_01/cncpt/oracle-database-instance.html#GUID-67247052-CE3F-44D2-BA3E-7067DEF4B6D5
336 名前:デフォルトの名無しさん (ワッチョイ 292f-EsBK) mailto:sage [2023/01/18(水) 22:36:22.92 ID:3sYvYO2/0.net] >>331 シャドウコピーはOSが提供してる機能のことで、VSS WriterはSQL Serverがそれを使うためのサービスな >SQL-Serverのインスタンスはプロセスとは関係ない SQL Serverのインスタンスの実態はsqlserver.exeってプロセスだが? ローカルDBでも、インスタンスごとにsqlserver.exeってプロセスが動くんだが?
337 名前:デフォルトの名無しさん mailto:sage [2023/01/25(水) 14:22:50.07 ID:VgR3j9B70.net] C#のexeやdllはILマシン語にコンパイルされるというのを知りました でも例えばCのexeはそのCPUに対応するマシン語になりますよね ですけどC#のexeは一旦JITを通して実行される この一度通すっていうのをどうやって判断しているんでしょうか C#のexeをCのexeみたいに直接実行しようとして実行できねーよってならないのはどういう仕組みなんでしょうか