!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part160
https://mevius.5ch.net/test/read.cgi/tech/1707610640/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.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
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part161
1デフォルトの名無しさん (ワッチョイ 0f10-cd+Z)
2025/02/19(水) 22:09:43.22ID:U6FgMrZU02デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/23(日) 10:49:47.01ID:RRpMAqvoa てすてす
3デフォルトの名無しさん (ワッチョイ e977-2mO0)
2025/02/23(日) 17:00:06.55ID:69GNxyEN0 フォルダをまるごとコピーして再利用しようとするとだいたい失敗する
新しいプロジェクトを作って一つずつコードをコピペするしかない
新しいプロジェクトを作って一つずつコードをコピペするしかない
4デフォルトの名無しさん (ワッチョイ aabd-8jxH)
2025/02/23(日) 18:36:31.18ID:5IrrdZem0 丸ごとコピーした後に、csprojをテキストエディタで書き換えとかWinMergeでマージとか普通にやるけど?
5デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/23(日) 19:53:37.53ID:CZU86cpwa >csprojをテキストエディタで書き換え
プログラマならスクリプトで是非
プログラマならスクリプトで是非
6デフォルトの名無しさん (ワッチョイ 094f-/70v)
2025/02/23(日) 21:44:24.05ID:K8mfivgh0 ソリューションエクスプローラから登録してけよw
7デフォルトの名無しさん (ワッチョイ 3de0-WcUe)
2025/02/24(月) 01:57:02.09ID:MrZQLcHx0 ver違い作る時コピーするだけで何もトラブったことがない
8デフォルトの名無しさん (ワッチョイ eebc-WNII)
2025/02/24(月) 09:17:40.83ID:QzlwN7S/0 プロジェクトを丸コピーで失敗するって、UUID の変更を忘れてる場合じゃないの。
同じソリューションの下に同じ ID を持ったプロジェクトがあるといろいろと不都合があった気がする。
ソリューションとかプロジェクト名を変える目的で丸コピー後にテキストエディタで修正はわりとよくやるな。
同じソリューションの下に同じ ID を持ったプロジェクトがあるといろいろと不都合があった気がする。
ソリューションとかプロジェクト名を変える目的で丸コピー後にテキストエディタで修正はわりとよくやるな。
9デフォルトの名無しさん (オッペケ Sr75-rIvZ)
2025/02/24(月) 16:56:48.08ID:qXEt7oPpr git使おうよ…
10デフォルトの名無しさん (ワンミングク MM5d-YLlH)
2025/02/24(月) 18:04:49.50ID:6Uht1bH5M ファイル単位で摘むことはあるが
丸ごとコピって再利用したことない
丸ごとコピって再利用したことない
11デフォルトの名無しさん (ワッチョイ 094f-/70v)
2025/02/24(月) 18:07:33.98ID:GZhUnClz0 クラスの再利用とかしないの?
12デフォルトの名無しさん (ワッチョイ ee2f-xozf)
2025/02/25(火) 00:26:58.76ID:qlq16AkJ0 普通クラス単位=ファイル単位だと思うが
フォルダ丸ごとってのが、どのぐらいの範囲で言ってるのかわからんが
ソリューションやプロジェクトファイルごとってんならそりゃ修正必要にきまってる
フォルダ丸ごとってのが、どのぐらいの範囲で言ってるのかわからんが
ソリューションやプロジェクトファイルごとってんならそりゃ修正必要にきまってる
13デフォルトの名無しさん (ワッチョイ b1d7-WNII)
2025/02/25(火) 08:55:25.54ID:0IQvWwoZ0 クラスの再利用にプロジェクトフォルダの丸コピーは要らんしな
14デフォルトの名無しさん (ワッチョイ 7d49-dwch)
2025/02/25(火) 13:37:09.22ID:/vtPIyqp0 クラスの再利用にプロジェクトフォルダの丸コピーは要らんのですか?
15デフォルトの名無しさん (オッペケ Sr75-rIvZ)
2025/02/25(火) 16:22:53.50ID:LE8TO+SBr 俺氏Equalsのオーバーライドに挫折し同値比較メソッドを別途実装する
GetHashCodeとかもうわけ分からん
下手に触らんのが一番いい気がしてきた
GetHashCodeとかもうわけ分からん
下手に触らんのが一番いい気がしてきた
16デフォルトの名無しさん (ワッチョイ 752d-jpvh)
2025/02/25(火) 19:57:31.81ID:knCfbka80 ラムダ式をデリゲートに代入する事無く、即値のまま関数として呼び出すにはどう書けば良いのでしょうか?
サンプルの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式などで選ばれたラムダ式・匿名メソッドを呼び出したい場面がありました。
サンプルの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式などで選ばれたラムダ式・匿名メソッドを呼び出したい場面がありました。
1716 (ワッチョイ 752d-jpvh)
2025/02/25(火) 20:29:30.95ID:knCfbka80 半歩前進しました。デリーゲトへの代入式(の戻り値)を使用すれば呼び出せました。
Func<double, double> func;
double ret3 = (func = x => Math.Sin(x))(2 * 3.14 * 0.5 * 0.5 * 1.73 * 1.73);
ここからデリゲートを消せればシンプルに記述できそうです。
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)
2025/02/25(火) 21:00:29.61ID:PDSzmXarM >>15
vs codeではなくvisual studioでコーディングしたらいいよ
vs codeではなくvisual studioでコーディングしたらいいよ
1916 (ワッチョイ 752d-jpvh)
2025/02/25(火) 21:00:58.69ID:knCfbka80 いくつか書き忘れました。
double型の戻り値を重視したように見えるサンプルですが、実際はvoid型で副作用を持つ関数呼び出しです。
また、複数の関数が並ぶ中で、同じ引数を何度も何度も書きたくない/コピーしたくないというのが動機の一つです。
double型の戻り値を重視したように見えるサンプルですが、実際はvoid型で副作用を持つ関数呼び出しです。
また、複数の関数が並ぶ中で、同じ引数を何度も何度も書きたくない/コピーしたくないというのが動機の一つです。
20デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/25(火) 21:13:00.71ID:PDSzmXarM ラムダ式はオブジェクトではない 式はオブジェクトではない
ラムダ式、メソッド自体はデリゲートに変換できるだけでオブジェクトそのものではないので他の言語のような使い方は出来ない
デリゲートに変換するとオブジェクトとして使えるだけ
ラムダ式、メソッド自体はデリゲートに変換できるだけでオブジェクトそのものではないので他の言語のような使い方は出来ない
デリゲートに変換するとオブジェクトとして使えるだけ
21デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/25(火) 21:16:40.70ID:PDSzmXarM 他の言語で言うファーストクラスオブジェクトではない
22デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/25(火) 21:43:17.30ID:PDSzmXarM でもその場でキャストしてデリゲートにキャストしたら使えると言えば使える
((Func<int, int>)(x => x + 1))(5);
果たしてこれがシンプルで美しいと思うかどうか
((Func<int, int>)(x => x + 1))(5);
果たしてこれがシンプルで美しいと思うかどうか
23デフォルトの名無しさん (ワッチョイ 31e5-oQzS)
2025/02/25(火) 21:57:21.38ID:cYj9WpB+0 クラス再利用ならDLLにでもしとけ
2416 (ワッチョイ 752d-jpvh)
2025/02/25(火) 22:08:31.81ID:knCfbka80 >>22
キャストを使う事でデリゲート変数を排除できる事を確認しました。オブジェクトでないラムダ式をオブジェクト化?するところがキモなんですね。
美しさはともかくとして、文字数・タイプ数が減りシンプルになりました。
本当に助かりました。ありがとうございます。
キャストを使う事でデリゲート変数を排除できる事を確認しました。オブジェクトでないラムダ式をオブジェクト化?するところがキモなんですね。
美しさはともかくとして、文字数・タイプ数が減りシンプルになりました。
本当に助かりました。ありがとうございます。
25デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/25(火) 22:40:17.81ID:PDSzmXarM 多分間違ってたので訂正
ラムダ式自体はただの式の構文
でも内部的にはdelegeteのインスタンスでdelegeteとして扱われる
条件によっては推論が上手くいき何もせず変換できる場合もあるけどキャストで型指定しないといけない場合もある
ラムダ式自体はただの式の構文
でも内部的にはdelegeteのインスタンスでdelegeteとして扱われる
条件によっては推論が上手くいき何もせず変換できる場合もあるけどキャストで型指定しないといけない場合もある
26デフォルトの名無しさん (ワッチョイ 7ac2-8jxH)
2025/02/26(水) 06:21:11.46ID:eFEsNFcD0 ソースコード上の変数を排除したところで、人間が見る変数が居ないだけでデリゲートオブジェクトが生成されてることに何も変わりはないし全くの無意味
27デフォルトの名無しさん (ワッチョイ 7610-WNII)
2025/02/26(水) 06:53:56.31ID:GJFyEYy90 FuncやActionの変数を用意して使った場合とキャストで直接使用した場合で
何が違うかって、変数宣言が無いのとIL状態でstlocとldlocが1回少ないだけ
何が違うかって、変数宣言が無いのとIL状態でstlocとldlocが1回少ないだけ
28デフォルトの名無しさん (ワッチョイ 31e5-oQzS)
2025/02/26(水) 07:33:10.91ID:cYj9WpB+0 1回って1サイクル分の1やん
気にすることねーわ
気にすることねーわ
29デフォルトの名無しさん (ワッチョイ b1d7-WNII)
2025/02/26(水) 08:48:42.23ID:0IQvWwoZ0 だからまぁそんな無意味な事やめとけってみんな言ってる
誤差だしコードが美しいわけでも無いし見辛いし無駄な拘り
誤差だしコードが美しいわけでも無いし見辛いし無駄な拘り
30デフォルトの名無しさん (ワッチョイ b1d7-WNII)
2025/02/26(水) 08:50:17.83ID:0IQvWwoZ0 あれ?日付変更でID変わってない?
31デフォルトの名無しさん (ワッチョイ 615f-/AOM)
2025/02/26(水) 08:53:53.57ID:2BrOjab30 オプティマイズされたらまるっきり違うコードになってるから気にすんな
可読性にだけ気を遣え
可読性にだけ気を遣え
32デフォルトの名無しさん (ワッチョイ 3194-33b3)
2025/02/26(水) 10:26:19.36ID:JZM7Z9v00 なんかできてるのに凝ろうとする人が多い
33デフォルトの名無しさん (ワッチョイ 8546-rIvZ)
2025/02/26(水) 13:38:57.23ID:auV1odXy0 ちゃんと動いてるforループを何とかLINQに書き換えようとしてみたりとか
レスを投稿する
ニュース
- 【サッカー】上田綺世が衝撃の4ゴール&PK奪取の大暴れ!驚異のリーグ戦15戦18発、オランダの日本人最多得点記録を更新 [征夷大将軍★]
- 中国海軍の空母艦載機が空自戦闘機に断続的にレーダー照射 空対空の照射は初公表 [七波羅探題★]
- 【地理/鉄道】「桃鉄」最新作で香川県の駅名に誤り…「瀬戸大橋の玄関口の町」は大人の対応 [あずささん★]
- 小林よしのり 日中関係、来年「ますます日本は不利に… 加害者の分際で被害者ぶって、中国が横暴だと毅然と振る舞っても滑稽なだけ」★2 [冬月記者★]
- 働いて働いて働いても生活は…円安に歯止めが掛からず生活は苦しくなるばかり…サナエノミクスの限界で「高市不況」がやってくる ★7 [ぐれ★]
- 【テレビ】家入レオ、勘当同然での上京告白「敷居はもう跨がないでください」 14年の確執語る [湛然★]
- 30歳超えてから、夜は性欲より睡眠欲が増した
- 「増税クソババア」即効で効いてしまい増税撤回www [261472595]
- 男なのに乳首感じないの?
- 弱者男性「カリカリ女は嫌!」女性「カリカリ女性って『韓国人』や『中国人』の美人みたいでかわいいじゃん。理想。君頭ネトウヨなの? [483447288]
- 千晴が書き込んだ数だけ髪の毛が抜けるスレ
- 道路から「丸見え」の露天風呂、公然わいせつ罪では?のぞき見た人の刑事責任は ? [389326466]
