25/02/23 10:49:47.01 RRpMAqvoa.net
てすてす
3:デフォルトの名無しさん (ワッチョイ e977-2mO0)
25/02/23 17:00:06.55 69GNxyEN0.net
フォルダをまるごとコピーして再利用しようとするとだいたい失敗する
新しいプロジェクトを作って一つずつコードをコピペするしかない
4:デフォルトの名無しさん
25/02/23 18:36:31.18 5IrrdZem0.net
丸ごとコピーした後に、csprojをテキストエディタで書き換えとかWinMergeでマージとか普通にやるけど?
5:デフォルトの名無しさん (アウアウウー Sa39-c/TO)
25/02/23 19:53:37.53 CZU86cpwa.net
>csprojをテキストエディタで書き換え
プログラマならスクリプトで是非
6:デフォルトの名無しさん
25/02/23 21:44:24.05 K8mfivgh0.net
ソリューションエクスプローラから登録してけよw
7:デフォルトの名無しさん (ワッチョイ 3de0-WcUe)
25/02/24 01:57:02.09 MrZQLcHx0.net
ver違い作る時コピーするだけで何もトラブったことがない
8:デフォルトの名無しさん
25/02/24 09:17:40.83 QzlwN7S/0.net
プロジェクトを丸コピーで失敗するって、UUID の変更を忘れてる場合じゃないの。
同じソリューションの下に同じ ID を持ったプロジェクトがあるといろいろと不都合があった気がする。
ソリューションとかプロジェクト名を変える目的で丸コピー後にテキストエディタで修正はわりとよくやるな。
9:デフォルトの名無しさん
25/02/24 16:56:48.08 qXEt7oPpr.net
git使おうよ…
10:デフォルトの名無しさん
25/02/24 18:04:49.50 6Uht1bH5M.net
ファイル単位で摘むことはあるが
丸ごとコピって再利用したことない
11:デフォルトの名無しさん
25/02/24 18:07:33.98 GZhUnClz0.net
クラスの再利用とかしないの?
12:デフォルトの名無しさん
25/02/25 00:26:58.76 qlq16AkJ0.net
普通クラス単位=ファイル単位だと思うが
フォルダ丸ごとってのが、どのぐらいの範囲で言ってるのかわからんが
ソリューションやプロジェクトファイルごとってんならそりゃ修正必要にきまってる
13:デフォルトの名無しさん
25/02/25 08:55:25.54 0IQvWwoZ0.net
クラスの再利用にプロジェクトフォルダの丸コピーは要らんしな
14:デフォルトの名無しさん
25/02/25 13:37:09.22 /vtPIyqp0.net
クラスの再利用にプロジェクトフォルダの丸コピーは要らんのですか?
15:デフォルトの名無しさん
25/02/25 16:22:53.50 LE8TO+SBr.net
俺氏Equalsのオーバーライドに挫折し同値比較メソッドを別途実装する
GetHashCodeとかもうわけ分からん
下手に触らんのが一番いい気がしてきた
16:デフォルトの名無しさん
25/02/25 19:57:31.81 knCfbka80.net
ラムダ式をデリゲートに代入する事無く、即値のまま関数として呼び出すにはどう書けば良いのでしょうか?
サンプルの1~2行目のように一旦デリゲートに代入してから関数呼び出しするのでなく、3行目のような雰囲気で直接関数として呼び出したいのです。
Func<double, double> func = x => Math.Sin(x);
double ret1 = func(2 * 3.14 * 0.5 * 0.5 * 1.73 * 1.73);
double ret2 = (x => Math.Sin(x))(2 * 3.14 * 0.5 * 0.5 * 1.73 * 1.73);
これだけですとラムダ式・匿名メソッドを使う意味がないのですが、? : の三項条件演算子やswitch式などで選ばれたラムダ式・匿名メソッドを呼び出したい場面がありました。
17:16
25/02/25 20:29:30.95 knCfbka80.net
半歩前進しました。デリーゲトへの代入式(の戻り値)を使用すれば呼び出せました。
Func<double, double> func;
double ret3 = (func = x => Math.Sin(x))(2 * 3.14 * 0.5 * 0.5 * 1.73 * 1.73);
ここからデリゲートを消せればシンプルに記述できそうです。
18:デフォルトの名無しさん
25/02/25 21:00:29.61 PDSzmXarM.net
>>15
vs codeではなくvisual studioでコーディングしたらいいよ
19:16
25/02/25 21:00:58.69 knCfbka80.net
いくつか書き忘れました。
double型の戻り値を重視したように見えるサンプルですが、実際はvoid型で副作用を持つ関数呼び出しです。
また、複数の関数が並ぶ中で、同じ引数を何度も何度も書きたくない/コピーしたくないというのが動機の一つです。
20:デフォルトの名無しさん
25/02/25 21:13:00.71 PDSzmXarM.net
ラムダ式はオブジェクトではない 式はオブジェクトではない
ラムダ式、メソッド自体はデリゲートに変換できるだけでオブジェクトそのものではないので他の言語のような使い方は出来ない
デリゲートに変換するとオブジェクトとして使えるだけ
21:デフォルトの名無しさん
25/02/25 21:16:40.70 PDSzmXarM.net
他の言語で言うファーストクラスオブジェクトではない
22:デフォルトの名無しさん
25/02/25 21:43:17.30 PDSzmXarM.net
でもその場でキャストしてデリゲートにキャストしたら使えると言えば使える
((Func<int, int>)(x => x + 1))(5);
果たしてこれがシンプルで美しいと思うかどうか
23:デフォルトの名無しさん
25/02/25 21:57:21.38 cYj9WpB+0.net
クラス再利用ならDLLにでもしとけ
24:16
25/02/25 22:08:31.81 knCfbka80.net
>>22
キャストを使う事でデリゲート変数を排除できる事を確認しました。オブジェクトでないラムダ式をオブジェクト化?するところがキモなんですね。
美しさはともかくとして、文字数・タイプ数が減りシンプルになりました。
本当に助かりました。ありがとうございます。
25:デフォルトの名無しさん
25/02/25 22:40:17.81 PDSzmXarM.net
多分間違ってたので訂正
ラムダ式自体はただの式の構文
でも内部的にはdelegeteのインスタンスでdelegeteとして扱われる
条件によっては推論が上手くいき何もせず変換できる場合もあるけどキャストで型指定しないといけない場合もある
26:デフォルトの名無しさん
25/02/26 06:21:11.46 eFEsNFcD0.net
ソースコード上の変数を排除したところで、人間が見る変数が居ないだけでデリゲートオブジェクトが生成されてることに何も変わりはないし全くの無意味
27:デフォルトの名無しさん
25/02/26 06:53:56.31 GJFyEYy90.net
FuncやActionの変数を用意して使った場合とキャストで直接使用した場合で
何が違うかって、変数宣言が無いのとIL状態でstlocとldlocが1回少ないだけ
28:デフォルトの名無しさん
25/02/26 07:33:10.91 cYj9WpB+0.net
1回って1サイクル分の1やん
気にすることねーわ
29:デフォルトの名無しさん
25/02/26 08:48:42.23 0IQvWwoZ0.net
だからまぁそんな無意味な事やめとけってみんな言ってる
誤差だしコードが美しいわけでも無いし見辛いし無駄な拘り
30:デフォルトの名無しさん
25/02/26 08:50:17.83 0IQvWwoZ0.net
あれ?日付変更でID変わってない?
31:デフォルトの名無しさん
25/02/26 08:53:53.57 2BrOjab30.net
オプティマイズされたらまるっきり違うコードになってるから気にすんな
可読性にだけ気を遣え
32:デフォルトの名無しさん
25/02/26 10:26:19.36 JZM7Z9v00.net
なんかできてるのに凝ろうとする人が多い
33:デフォルトの名無しさん
25/02/26 13:38:57.23 auV1odXy0.net
ちゃんと動いてるforループを何とかLINQに書き換えようとしてみたりとか
34:デフォルトの名無しさん
25/02/27 13:11:13.24 JEIBcNTp0.net
最近はCopilot にお願いしてコード書いてもらってる
これってどっちが速いん?とか問い合わせたり
35:デフォルトの名無しさん
25/02/27 13:18:45.39 VQNvJTxha.net
自分で描くのが一番速い
36:デフォルトの名無しさん
25/02/27 20:02:50.88 27t7Hgkh0.net
JSONデコードのサンプルがあるでしょ
定型の不毛な作業に自動化を使う
昔は正規表現
ちょっと前はAutoHotKeyマクロ
今はCopilot free
道具は賢く使う
37:デフォルトの名無しさん (オッペケ Sr85-ctMQ)
25/03/13 14:29:49.04 f4u7QkTor.net
厳密にはC#じゃなくてフレームワーク側のことかもだけど、C#の勉強しててのことなので
Windows11に乗ってる.NET Frameworkに含まれてるEFって、バージョン何のEF? どこみたらわかる?
延々と進化してるものなので、ここはひとつ、OSに抱き合わせになってるバージョンを基準に勉強してみたいのです
38:デフォルトの名無しさん
25/03/13 15:27:50.48 FkUIsblP0.net
そのままgrokに聞いたらEFは入ってないって言われたぞ
39:デフォルトの名無しさん
25/03/13 17:12:26.32 UZM60pXP0.net
一応、DLLはあるんだよ
> System.Data.Entity.dll
> System.Data.Entity.Design.dll
WUしたりはするものの、なにか追加インスコしたりとかはしてない
一応、System.Data.EntityClient.EntityCommandとか入ってるのが見える
そういや、オンゲの関係で、まだ22621で止めてるWin11だったけど
小出しですまんが、24H2でもそれは同じだと信じたい
40:デフォルトの名無しさん
25/03/13 19:00:57.26 UgxF9FgUM.net
一番疑問なのは何をしたいのかがわからないところ
それらが入っていて追加インストールなしで何ができるのか?
41:デフォルトの名無しさん
25/03/13 19:16:04.09 UZM60pXP0.net
OSに載ってる分だけで、何ができて、何ができないのか勉強したい
もちろん、?.はないし、タプルも面倒だし、Span<T>はない
でも、ないから、何かわかった気がするんだ そういう勉強法が好きなんだよ
一切何もインストールできない縛りってのが時々ある そんなときにも役立つ
C#5を使い倒そうっていう酔狂が社内にいるとはだれも思ってないからねw
42:デフォルトの名無しさん
25/03/13 19:20:23.41 suyt1LRW0.net
バージョン何もなにも、.NET Frameworkのバージョンだろ
43:デフォルトの名無しさん
25/03/13 19:28:35.46 UgxF9FgUM.net
EFが何かわかってないんだな…
44:デフォルトの名無しさん
25/03/13 23:01:15.86 5dkH7chP0.net
DLLがあるならそのファイルのバージョンみればわからんか?
45:デフォルトの名無しさん
25/03/13 23:14:22.55 LQBGtVU/r.net
ちなこんな感じです
> [assembly: AssemblyVersion("4.0.0.0")]
> [assembly: SatelliteContractVersion("4.0.0.0")]
> [assembly: AssemblyFileVersion("4.8.9032.0")]
> [assembly: AssemblyInformationalVersion("4.8.9032.0")]
> [assembly: ComCompatibleVersion(1, 0, 3300, 0)]
46:デフォルトの名無しさん
25/03/13 23:55:03.72 LZAxQ+M20.net
>>38
嘘吐きw
>>37
URLリンク(learn.microsoft.com)
EF4で作っとけば
47:デフォルトの名無しさん
25/03/14 06:56:24.12 dskBCbVIr.net
おお、そんなところに書いてあった ぐぐっても辿り着きませんでした
DbContext ないんですね、(物足りなくなったら)nugetすればいいんですけど
atmarkit の ef4basic の記事読んで、まずはObjectContext で遊んでみます
いったん持ち帰ります ありがとうございました
48:デフォルトの名無しさん
25/03/16 22:00:36.53 lAApXzJR0.net
Dapper使ってる人いる?
便利でコーディング量減るんだけど遅い気がしないでもない…
そしてバグの元になりそうで怖いが大丈夫かな?
49:デフォルトの名無しさん
25/03/16 22:11:25.14 0fK8nOYZ0.net
Dapperより早くしたいのならDataReaderを生で使うしか無いな
50:デフォルトの名無しさん
25/03/16 22:13:01.36 lAApXzJR0.net
やっぱりそうなりますよね
遅いの嫌いだからやはり生書きします
51:デフォルトの名無しさん
25/03/16 22:43:54.55 /E2Neb+f0.net
CoPilot楽だな
先にコメントで何をしたいか書いたら
それっぽいコードを吐き出して来るw
52:デフォルトの名無しさん (ワッチョイ eb10-9PhM)
25/03/17 06:22:38.05 Owpv93Lf0.net
それっぽいだけではなぁ
53:デフォルトの名無しさん
25/03/17 08:34:57.39 W2D0KaNm0.net
書きたいコードのヒントにはなるから楽だぞ
54:デフォルトの名無しさん
25/03/17 08:35:54.32 w05vvqYC0.net
むしろプログラム初心者には混乱の素だったりw
55:デフォルトの名無しさん
25/03/17 18:07:38.63 2BanPNnj0.net
>>50
Dapperの方が早いぞ
56:デフォルトの名無しさん
25/03/19 09:01:46.30 pHlffSMJ0.net
今って変数に日本語使えたんだね
始めて知った…
57:デフォルトの名無しさん
25/03/19 09:29:29.10 bRZmXh740.net
>>56
基本的には最初から使えたのでは?
もっとも、積極的に使いたいとは思わんけど
58:デフォルトの名無しさん
25/03/19 09:30:56.50 SELrOmOx0.net
多バイト文字は文字コードの関係で上手くいかないだろ
59:デフォルトの名無しさん
25/03/19 12:13:04.74 WDKEEomI0.net
日本語入力モードに切り替える手間がね
60:デフォルトの名無しさん
25/03/19 12:52:49.19 TY+wcugD0.net
ユニコード……
61:デフォルトの名無しさん
25/03/19 17:29:36.49 QmEI0sUo0.net
配列の添え字にlong型を使えるようにしてほしいけど、無理だろうな
62:デフォルトの名無しさん
25/03/22 09:21:30.83 cNmtMr2B0.net
webview2でYouTube表示するとライブのチャット欄表示されないのなんで?
63:デフォルトの名無しさん
25/03/28 09:05:16.94 DZWtyvAm0.net
変数に漢字使えばめっちゃ楽だぞ
64:デフォルトの名無しさん
25/03/28 10:39:23.04 TQUEI/k9H.net
そう、ASPNETCoreとかででドメな業務システム作ってるけど
テーブル名・カラム名(DBのモデルクラス)、画面項目(VMクラス)を日本語で命名すると最高に楽になる
いままで英語物理名のうえに日本語論理名をわざわさドキュメントコメントしてたのがアホらしく思えるし、何よりソースコードが格段に読みやすくなる
65:デフォルトの名無しさん
25/03/28 10:39:59.82 STJ+zarcH.net
そう、ASPNETCoreとかででドメな業務システム作ってるけど
テーブル名・カラム名(DBのモデルクラス)、画面項目(VMクラス)を日本語で命名すると最高に楽になる
いままで英語物理名のうえに日本語論理名をわざわさドキュメントコメントしてたのがアホらしく思えるし、何よりソースコードが格段に読みやすくなる
66:デフォルトの名無しさん
25/03/28 10:57:39.69 3LII/z7y0.net
大昔.NET FRAMEWORK2.0の頃にMSとの協業でC#のサンプルコード作った時、変数には日本語使って下さいとMS担当者からお願いされた思い出
67:デフォルトの名無しさん
25/03/28 12:51:01.18 Q148Yzqv0.net
なんで連続書き込みでID変わってんのw
68:デフォルトの名無しさん
25/03/28 12:57:49.98 5u0+0QNa0.net
移動中(電車とか)とかならそういうこともあるんじゃねーの?
69:デフォルトの名無しさん
25/03/28 17:01:18.25 pDuEGOrO0.net
JPはじまりは匿名化サービスの串経由じゃね?
70:デフォルトの名無しさん
25/03/28 17:28:10.49 8eNM17rzM.net
知り合いは楽天モバイルだとJPになったと言ってたけど
71:デフォルトの名無しさん (ラクッペペ MM26-Qz4C)
25/03/28 17:34:05.06 9yLVdxrVM.net
どれどれ
72:デフォルトの名無しさん
25/03/28 21:36:25.60 8eNM17rzM.net
試してくれたのか
全然違うなw
73:デフォルトの名無しさん
25/03/28 22:06:03.44 2XDBVlxC0.net
Hはなんかモバイルがなる時があるとか
VPNのヤツだとか
そんな話を聞いたことがある
74:デフォルトの名無しさん
25/03/28 22:06:33.95 2XDBVlxC0.net
あ、HってIDの末尾のことね
ワッチョイのJPの方は良く分からないw
75:デフォルトの名無しさん
25/06/08 12:47:20.85 7kVUhAhp0.net
C#で2つの文字列即値を結合するには + 演算子を使うのでしょうか?
Cだと
"abc" "def"
のように空白や改行で文字列即値を結合した記憶があるのですが。
76:デフォルトの名無しさん
25/06/08 17:41:08.38 ta5/nFKb0.net
+を使う
77:デフォルトの名無しさん
25/06/08 17:47:09.11 ta5/nFKb0.net
printf_s("StringA"
"StringB");
みたいなことがしたいなら、改行と+を使って頑張って
今のC#だと@""を使ってもいいかもしれないけど
78:デフォルトの名無しさん
25/06/08 18:10:15.45 7kVUhAhp0.net
>>76
それで行きます。ありがとうございます!
79:デフォルトの名無しさん
25/10/06 17:05:17.29 FfR5KHc3p.net
コードベタ書きで分けてる状況が分からない
80:デフォルトの名無しさん
25/10/06 17:41:36.39 QEznrZXm0.net
1文が長い時に横スクロールを避けるために改行する事はある
どうせコンパイル時に一つにまとめられるし
81:デフォルトの名無しさん
25/10/06 17:45:57.69 y7mtXu8V0.net
つーか4ヶ月も前の話題に何を今更おかしな噛みつきしとるのだ?
82:デフォルトの名無しさん
25/10/06 23:12:43.27 kioGxXsV0.net
てかもう4か月も経ってたか