ふらっと C#,C♯,C#(初心者用) Part161 (78レス)
1-

1: (ワッチョイ 0f10-cd+Z) 02/19(水)22:09 ID:U6FgMrZU0(1) AAS
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part160
2chスレ:tech
省20
2: (アウアウウー Sa39-c/TO) 02/23(日)10:49 ID:RRpMAqvoa(1) AAS
てすてす
3: (ワッチョイ e977-2mO0) 02/23(日)17:00 ID:69GNxyEN0(1) AAS
フォルダをまるごとコピーして再利用しようとするとだいたい失敗する
新しいプロジェクトを作って一つずつコードをコピペするしかない
4: (ワッチョイ aabd-8jxH) 02/23(日)18:36 ID:5IrrdZem0(1) AAS
丸ごとコピーした後に、csprojをテキストエディタで書き換えとかWinMergeでマージとか普通にやるけど?
5: (アウアウウー Sa39-c/TO) 02/23(日)19:53 ID:CZU86cpwa(1) AAS
>csprojをテキストエディタで書き換え

プログラマならスクリプトで是非
6: (ワッチョイ 094f-/70v) 02/23(日)21:44 ID:K8mfivgh0(1) AAS
ソリューションエクスプローラから登録してけよw
7: (ワッチョイ 3de0-WcUe) 02/24(月)01:57 ID:MrZQLcHx0(1) AAS
ver違い作る時コピーするだけで何もトラブったことがない
8: (ワッチョイ eebc-WNII) 02/24(月)09:17 ID:QzlwN7S/0(1) AAS
プロジェクトを丸コピーで失敗するって、UUID の変更を忘れてる場合じゃないの。
同じソリューションの下に同じ ID を持ったプロジェクトがあるといろいろと不都合があった気がする。

ソリューションとかプロジェクト名を変える目的で丸コピー後にテキストエディタで修正はわりとよくやるな。
9: (オッペケ Sr75-rIvZ) 02/24(月)16:56 ID:qXEt7oPpr(1) AAS
git使おうよ…
10: (ワンミングク MM5d-YLlH) 02/24(月)18:04 ID:6Uht1bH5M(1) AAS
ファイル単位で摘むことはあるが
丸ごとコピって再利用したことない
11: (ワッチョイ 094f-/70v) 02/24(月)18:07 ID:GZhUnClz0(1) AAS
クラスの再利用とかしないの?
12: (ワッチョイ ee2f-xozf) 02/25(火)00:26 ID:qlq16AkJ0(1) AAS
普通クラス単位=ファイル単位だと思うが
フォルダ丸ごとってのが、どのぐらいの範囲で言ってるのかわからんが
ソリューションやプロジェクトファイルごとってんならそりゃ修正必要にきまってる
13: (ワッチョイ b1d7-WNII) 02/25(火)08:55 ID:0IQvWwoZ0(1/3) AAS
クラスの再利用にプロジェクトフォルダの丸コピーは要らんしな
14: (ワッチョイ 7d49-dwch) 02/25(火)13:37 ID:/vtPIyqp0(1) AAS
クラスの再利用にプロジェクトフォルダの丸コピーは要らんのですか?
15
(1): (オッペケ Sr75-rIvZ) 02/25(火)16:22 ID:LE8TO+SBr(1) AAS
俺氏Equalsのオーバーライドに挫折し同値比較メソッドを別途実装する
GetHashCodeとかもうわけ分からん
下手に触らんのが一番いい気がしてきた
16: (ワッチョイ 752d-jpvh) 02/25(火)19:57 ID:knCfbka80(1/4) AAS
ラムダ式をデリゲートに代入する事無く、即値のまま関数として呼び出すにはどう書けば良いのでしょうか?
サンプルの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 (ワッチョイ 752d-jpvh) 02/25(火)20:29 ID:knCfbka80(2/4) AAS
半歩前進しました。デリーゲトへの代入式(の戻り値)を使用すれば呼び出せました。

Func<double, double> func;
double ret3 = (func = x => Math.Sin(x))(2 * 3.14 * 0.5 * 0.5 * 1.73 * 1.73);

ここからデリゲートを消せればシンプルに記述できそうです。
18: (オイコラミネオ MM09-WNII) 02/25(火)21:00 ID:PDSzmXarM(1/5) AAS
>>15
vs codeではなくvisual studioでコーディングしたらいいよ
19: 16 (ワッチョイ 752d-jpvh) 02/25(火)21:00 ID:knCfbka80(3/4) AAS
いくつか書き忘れました。

double型の戻り値を重視したように見えるサンプルですが、実際はvoid型で副作用を持つ関数呼び出しです。
また、複数の関数が並ぶ中で、同じ引数を何度も何度も書きたくない/コピーしたくないというのが動機の一つです。
20: (オイコラミネオ MM09-WNII) 02/25(火)21:13 ID:PDSzmXarM(2/5) AAS
ラムダ式はオブジェクトではない 式はオブジェクトではない
ラムダ式、メソッド自体はデリゲートに変換できるだけでオブジェクトそのものではないので他の言語のような使い方は出来ない

デリゲートに変換するとオブジェクトとして使えるだけ
21: (オイコラミネオ MM09-WNII) 02/25(火)21:16 ID:PDSzmXarM(3/5) AAS
他の言語で言うファーストクラスオブジェクトではない
22
(1): (オイコラミネオ MM09-WNII) 02/25(火)21:43 ID:PDSzmXarM(4/5) AAS
でもその場でキャストしてデリゲートにキャストしたら使えると言えば使える
((Func<int, int>)(x => x + 1))(5);

果たしてこれがシンプルで美しいと思うかどうか
23: (ワッチョイ 31e5-oQzS) 02/25(火)21:57 ID:cYj9WpB+0(1/2) AAS
クラス再利用ならDLLにでもしとけ
24: 16 (ワッチョイ 752d-jpvh) 02/25(火)22:08 ID:knCfbka80(4/4) AAS
>>22
キャストを使う事でデリゲート変数を排除できる事を確認しました。オブジェクトでないラムダ式をオブジェクト化?するところがキモなんですね。
美しさはともかくとして、文字数・タイプ数が減りシンプルになりました。

本当に助かりました。ありがとうございます。
25: (オイコラミネオ MM09-WNII) 02/25(火)22:40 ID:PDSzmXarM(5/5) AAS
多分間違ってたので訂正

ラムダ式自体はただの式の構文
でも内部的にはdelegeteのインスタンスでdelegeteとして扱われる
条件によっては推論が上手くいき何もせず変換できる場合もあるけどキャストで型指定しないといけない場合もある
26: (ワッチョイ 7ac2-8jxH) 02/26(水)06:21 ID:eFEsNFcD0(1) AAS
ソースコード上の変数を排除したところで、人間が見る変数が居ないだけでデリゲートオブジェクトが生成されてることに何も変わりはないし全くの無意味
27: (ワッチョイ 7610-WNII) 02/26(水)06:53 ID:GJFyEYy90(1) AAS
FuncやActionの変数を用意して使った場合とキャストで直接使用した場合で
何が違うかって、変数宣言が無いのとIL状態でstlocとldlocが1回少ないだけ
28: (ワッチョイ 31e5-oQzS) 02/26(水)07:33 ID:cYj9WpB+0(2/2) AAS
1回って1サイクル分の1やん
気にすることねーわ
29: (ワッチョイ b1d7-WNII) 02/26(水)08:48 ID:0IQvWwoZ0(2/3) AAS
だからまぁそんな無意味な事やめとけってみんな言ってる
誤差だしコードが美しいわけでも無いし見辛いし無駄な拘り
30: (ワッチョイ b1d7-WNII) 02/26(水)08:50 ID:0IQvWwoZ0(3/3) AAS
あれ?日付変更でID変わってない?
31: (ワッチョイ 615f-/AOM) 02/26(水)08:53 ID:2BrOjab30(1) AAS
オプティマイズされたらまるっきり違うコードになってるから気にすんな
可読性にだけ気を遣え
32: (ワッチョイ 3194-33b3) 02/26(水)10:26 ID:JZM7Z9v00(1) AAS
なんかできてるのに凝ろうとする人が多い
33: (ワッチョイ 8546-rIvZ) 02/26(水)13:38 ID:auV1odXy0(1) AAS
ちゃんと動いてるforループを何とかLINQに書き換えようとしてみたりとか
34: (ワッチョイ b6b7-2mO0) 02/27(木)13:11 ID:JEIBcNTp0(1) AAS
最近はCopilot にお願いしてコード書いてもらってる
これってどっちが速いん?とか問い合わせたり
35: (アウアウウー Sa39-c/TO) 02/27(木)13:18 ID:VQNvJTxha(1) AAS
自分で描くのが一番速い
36: (ワッチョイ ee10-AQuL) 02/27(木)20:02 ID:27t7Hgkh0(1) AAS
JSONデコードのサンプルがあるでしょ
定型の不毛な作業に自動化を使う
昔は正規表現
ちょっと前はAutoHotKeyマクロ
今はCopilot free
道具は賢く使う
37
(1): (オッペケ Sr85-ctMQ) 03/13(木)14:29 ID:f4u7QkTor(1) AAS
厳密にはC#じゃなくてフレームワーク側のことかもだけど、C#の勉強しててのことなので
Windows11に乗ってる.NET Frameworkに含まれてるEFって、バージョン何のEF? どこみたらわかる?

延々と進化してるものなので、ここはひとつ、OSに抱き合わせになってるバージョンを基準に勉強してみたいのです
38
(1): (ワッチョイ 16c0-L87b) 03/13(木)15:27 ID:FkUIsblP0(1) AAS
そのままgrokに聞いたらEFは入ってないって言われたぞ
39: (ワッチョイ 3d07-ctMQ) 03/13(木)17:12 ID:UZM60pXP0(1/2) AAS
一応、DLLはあるんだよ
> System.Data.Entity.dll
> System.Data.Entity.Design.dll
WUしたりはするものの、なにか追加インスコしたりとかはしてない
一応、System.Data.EntityClient.EntityCommandとか入ってるのが見える

そういや、オンゲの関係で、まだ22621で止めてるWin11だったけど
小出しですまんが、24H2でもそれは同じだと信じたい
40: (オイコラミネオ MM59-Lz9M) 03/13(木)19:00 ID:UgxF9FgUM(1/2) AAS
一番疑問なのは何をしたいのかがわからないところ
それらが入っていて追加インストールなしで何ができるのか?
41: (ワッチョイ 3d07-ctMQ) 03/13(木)19:16 ID:UZM60pXP0(2/2) AAS
OSに載ってる分だけで、何ができて、何ができないのか勉強したい
もちろん、?.はないし、タプルも面倒だし、Span<T>はない
でも、ないから、何かわかった気がするんだ そういう勉強法が好きなんだよ

一切何もインストールできない縛りってのが時々ある そんなときにも役立つ
C#5を使い倒そうっていう酔狂が社内にいるとはだれも思ってないからねw
42: (ワッチョイ 1a82-3WDN) 03/13(木)19:20 ID:suyt1LRW0(1) AAS
バージョン何もなにも、.NET Frameworkのバージョンだろ
43: (オイコラミネオ MM59-Lz9M) 03/13(木)19:28 ID:UgxF9FgUM(2/2) AAS
EFが何かわかってないんだな…
44: (ワッチョイ f92f-z5RJ) 03/13(木)23:01 ID:5dkH7chP0(1) AAS
DLLがあるならそのファイルのバージョンみればわからんか?
45: (オッペケ Sr85-ctMQ) 03/13(木)23:14 ID:LQBGtVU/r(1) AAS
ちなこんな感じです

> [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: (ワッチョイ aa9b-EoI7) 03/13(木)23:55 ID:LZAxQ+M20(1) AAS
>>38
嘘吐きw

>>37
外部リンク:learn.microsoft.com
EF4で作っとけば
47: (オッペケ Sr85-ctMQ) 03/14(金)06:56 ID:dskBCbVIr(1) AAS
おお、そんなところに書いてあった ぐぐっても辿り着きませんでした
DbContext ないんですね、(物足りなくなったら)nugetすればいいんですけど
atmarkit の ef4basic の記事読んで、まずはObjectContext で遊んでみます
いったん持ち帰ります ありがとうございました
48: (ワッチョイ 71db-9NHH) 03/16(日)22:00 ID:lAApXzJR0(1/2) AAS
Dapper使ってる人いる?
便利でコーディング量減るんだけど遅い気がしないでもない…
そしてバグの元になりそうで怖いが大丈夫かな?
49: (ワッチョイ 4978-avMV) 03/16(日)22:11 ID:0fK8nOYZ0(1) AAS
Dapperより早くしたいのならDataReaderを生で使うしか無いな
50
(1): (ワッチョイ 71db-9NHH) 03/16(日)22:13 ID:lAApXzJR0(2/2) AAS
やっぱりそうなりますよね
遅いの嫌いだからやはり生書きします
51: (ワッチョイ c95f-H5Hv) 03/16(日)22:43 ID:/E2Neb+f0(1) AAS
CoPilot楽だな
先にコメントで何をしたいか書いたら
それっぽいコードを吐き出して来るw
52: (ワッチョイ eb10-9PhM) 03/17(月)06:22 ID:Owpv93Lf0(1) AAS
それっぽいだけではなぁ
53: (ワッチョイ c95f-H5Hv) 03/17(月)08:34 ID:W2D0KaNm0(1) AAS
書きたいコードのヒントにはなるから楽だぞ
54: (ワッチョイ d941-H5Hv) 03/17(月)08:35 ID:w05vvqYC0(1) AAS
むしろプログラム初心者には混乱の素だったりw
55: (ワッチョイ d97c-7EP+) 03/17(月)18:07 ID:2BanPNnj0(1) AAS
>>50
Dapperの方が早いぞ
56
(1): (ワッチョイ 9b81-9NHH) 03/19(水)09:01 ID:pHlffSMJ0(1) AAS
今って変数に日本語使えたんだね
始めて知った…
57: (ワッチョイ e933-Zuge) 03/19(水)09:29 ID:bRZmXh740(1) AAS
>>56
基本的には最初から使えたのでは?
もっとも、積極的に使いたいとは思わんけど
58: (ワッチョイ c95f-H5Hv) 03/19(水)09:30 ID:SELrOmOx0(1) AAS
多バイト文字は文字コードの関係で上手くいかないだろ
59: (ワッチョイ a1b3-Cuhd) 03/19(水)12:13 ID:WDKEEomI0(1) AAS
日本語入力モードに切り替える手間がね
60: (ワッチョイ e9d7-9PhM) 03/19(水)12:52 ID:TY+wcugD0(1) AAS
ユニコード……
61: (ワッチョイ e921-D2PX) 03/19(水)17:29 ID:QmEI0sUo0(1) AAS
配列の添え字にlong型を使えるようにしてほしいけど、無理だろうな
62: (ワッチョイ 218a-jnJ9) 03/22(土)09:21 ID:cNmtMr2B0(1) AAS
webview2でYouTube表示するとライブのチャット欄表示されないのなんで?
63: (ワッチョイ 6234-mqBt) 03/28(金)09:05 ID:DZWtyvAm0(1) AAS
変数に漢字使えばめっちゃ楽だぞ
64: (JP 0H8a-PXxh) 03/28(金)10:39 ID:TQUEI/k9H(1) AAS
そう、ASPNETCoreとかででドメな業務システム作ってるけど
テーブル名・カラム名(DBのモデルクラス)、画面項目(VMクラス)を日本語で命名すると最高に楽になる
いままで英語物理名のうえに日本語論理名をわざわさドキュメントコメントしてたのがアホらしく思えるし、何よりソースコードが格段に読みやすくなる
65: (JP 0He2-PXxh) 03/28(金)10:39 ID:STJ+zarcH(1) AAS
そう、ASPNETCoreとかででドメな業務システム作ってるけど
テーブル名・カラム名(DBのモデルクラス)、画面項目(VMクラス)を日本語で命名すると最高に楽になる
いままで英語物理名のうえに日本語論理名をわざわさドキュメントコメントしてたのがアホらしく思えるし、何よりソースコードが格段に読みやすくなる
66: (ワッチョイ 6d97-0OXw) 03/28(金)10:57 ID:3LII/z7y0(1) AAS
大昔.NET FRAMEWORK2.0の頃にMSとの協業でC#のサンプルコード作った時、変数には日本語使って下さいとMS担当者からお願いされた思い出
67: (ワッチョイ edd7-wwqZ) 03/28(金)12:51 ID:Q148Yzqv0(1) AAS
なんで連続書き込みでID変わってんのw
68: (ワッチョイ ed33-Zw1Z) 03/28(金)12:57 ID:5u0+0QNa0(1) AAS
移動中(電車とか)とかならそういうこともあるんじゃねーの?
69: (ワッチョイ 0677-vrLo) 03/28(金)17:01 ID:pDuEGOrO0(1) AAS
JPはじまりは匿名化サービスの串経由じゃね?
70: (オイコラミネオ MM35-wwqZ) 03/28(金)17:28 ID:8eNM17rzM(1/2) AAS
知り合いは楽天モバイルだとJPになったと言ってたけど
71: (ラクッペペ MM26-Qz4C) 03/28(金)17:34 ID:9yLVdxrVM(1) AAS
どれどれ
72: (オイコラミネオ MM35-wwqZ) 03/28(金)21:36 ID:8eNM17rzM(2/2) AAS
試してくれたのか
全然違うなw
73: (ワッチョイ 2e10-wwqZ) 03/28(金)22:06 ID:2XDBVlxC0(1/2) AAS
Hはなんかモバイルがなる時があるとか
VPNのヤツだとか
そんな話を聞いたことがある
74: (ワッチョイ 2e10-wwqZ) 03/28(金)22:06 ID:2XDBVlxC0(2/2) AAS
あ、HってIDの末尾のことね
ワッチョイのJPの方は良く分からないw
75: (ワッチョイ 192d-gi55) 06/08(日)12:47 ID:7kVUhAhp0(1/2) AAS
C#で2つの文字列即値を結合するには + 演算子を使うのでしょうか?
Cだと
"abc" "def"
のように空白や改行で文字列即値を結合した記憶があるのですが。
76
(1): (ワッチョイ 8b10-Nbmp) 06/08(日)17:41 ID:ta5/nFKb0(1/2) AAS
+を使う
77: (ワッチョイ 8b10-Nbmp) 06/08(日)17:47 ID:ta5/nFKb0(2/2) AAS
printf_s("StringA"
     "StringB");

みたいなことがしたいなら、改行と+を使って頑張って
今のC#だと@""を使ってもいいかもしれないけど
78: (ワッチョイ 192d-gi55) 06/08(日)18:10 ID:7kVUhAhp0(2/2) AAS
>>76
それで行きます。ありがとうございます!
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.563s*