!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2022 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C#, C♯, C#相談室 Part98
1デフォルトの名無しさん (ワッチョイ 7f6a-B4f6)
2024/06/29(土) 19:18:41.95ID:NohAfdfx02デフォルトの名無しさん (アウアウエー Sa82-viZ1)
2024/07/06(土) 09:45:55.57ID:tDR9EaCva もう人居ないねここ
3デフォルトの名無しさん (ワッチョイ 2383-KMba)
2024/07/07(日) 11:10:38.82ID:LxwuJOKK0 C#ってそんな廃れたのか、、、
4デフォルトの名無しさん (オイコラミネオ MM51-g0U6)
2024/07/07(日) 13:30:41.60ID:nRN7u0+PM 星の手紙
スターレター
スターレター
5デフォルトの名無しさん (ワンミングク MM5d-o7Qo)
2024/07/19(金) 08:08:33.90ID:8mtfDqm5M プロパティって、別クラスからprivateなフィールドにアクセスするためのメソッドという理解であってます?
自分のクラス内で完結するのであれば直接フィールドを操作すればいいですよね?
自分のクラス内で完結するのであれば直接フィールドを操作すればいいですよね?
基本的にはそうだけどちょっとした小細工を仕込みたい場合とかにprivateプロパティという選択肢もなくはない
遅延初期化するものとかね(この用途では今はLazy<T>を使うけど)
遅延初期化するものとかね(この用途では今はLazy<T>を使うけど)
7デフォルトの名無しさん (ワッチョイ 2601-4WTN)
2024/07/19(金) 10:35:14.12ID:IMeiXUMG0 フィールドのようにアクセス可能なクラスのインターフェースというかAPIを定義するのがプロパティ
中身は他のメソッド呼び出しの場合もあれば他のプロパティを元にした計算だけ行う場合もある
クラスのユーザーがフィールドにアクセスする必要がなく
継承して拡張する際にもフィールドにアクセスする必要がなく
クラス内からのフィールドアクセス時にも常にチェックすべき事前条件がなければ
privateフィールドを単純にラップするプロパティは基本的に不要
中身は他のメソッド呼び出しの場合もあれば他のプロパティを元にした計算だけ行う場合もある
クラスのユーザーがフィールドにアクセスする必要がなく
継承して拡張する際にもフィールドにアクセスする必要がなく
クラス内からのフィールドアクセス時にも常にチェックすべき事前条件がなければ
privateフィールドを単純にラップするプロパティは基本的に不要
8デフォルトの名無しさん (ワンミングク MM5d-o7Qo)
2024/07/19(金) 22:05:33.66ID:8mtfDqm5M ありがとうございます
もう一点聞きたいんですが、プロパティ自体はアンチパターンではないですよね?
ある本にセッターを使うなら別にメソッド用意しろと書いてありました
理由はクラス外からメンバを操作してはいけないのと、値チェックができなくなるからと
これらは別にプロパティでもできるんで(そもそもプロパティはメソッド)、間違ってますよね?
もう一点聞きたいんですが、プロパティ自体はアンチパターンではないですよね?
ある本にセッターを使うなら別にメソッド用意しろと書いてありました
理由はクラス外からメンバを操作してはいけないのと、値チェックができなくなるからと
これらは別にプロパティでもできるんで(そもそもプロパティはメソッド)、間違ってますよね?
9デフォルトの名無しさん (ワッチョイ cd01-VZYF)
2024/07/19(金) 23:31:48.25ID:QqZ5EOxb010デフォルトの名無しさん (ワッチョイ ae68-o7Qo)
2024/07/20(土) 16:52:32.64ID:euMlvBLf0 ぞもそもそれc#の本なのか?
なぜタイトルをぼかす
なぜタイトルをぼかす
11デフォルトの名無しさん (ワッチョイ 8178-Cq3U)
2024/07/22(月) 06:36:28.74ID:NgZAB9xM0 セッターゲッターとか久しぶりに聞いた気がする
12デフォルトの名無しさん (ワッチョイ 41d7-pVLH)
2024/07/29(月) 14:46:58.61ID:AZP0hoR90 あれ?.NET CoreだとC++/CLIの1次元array使えない?
13デフォルトの名無しさん (ワッチョイ 41d7-pVLH)
2024/07/29(月) 16:17:59.63ID:AZP0hoR90 よくよく考えたらすれ違いだなすまねぇ
14デフォルトの名無しさん (ワッチョイ c2c5-ZlnX)
2024/08/13(火) 12:58:30.17ID:qhmHbPMW0 実行ファイルのあるフォルダを取得しようとぐぐってためしたらカレントディレクトリを返してくるんだが・・なんか変わった?
15デフォルトの名無しさん (ワッチョイ 0655-jY4Y)
2024/08/13(火) 13:03:50.93ID:NwhX+oy+0 取得するコード書いてくれにゃ答えられんよ
あと.NET 5以降なのか.NET Frameworkなのかとか
あと.NET 5以降なのか.NET Frameworkなのかとか
16デフォルトの名無しさん (ワッチョイ edd7-D37a)
2024/08/17(土) 11:34:37.81ID:0uZEK+kK0 テキトーな疑問だけ投げて二度と来ない単発荒らしか>>14は
17デフォルトの名無しさん (ワッチョイ 6d1d-TeHf)
2024/08/17(土) 18:26:07.56ID:7ysjw50y0 それもまたよし
18デフォルトの名無しさん (ワッチョイ 7f68-9uNt)
2024/08/18(日) 14:40:47.88ID:SsGk7ZLr0 >>16
寂しがり屋なの?
来てほしかったの?
反応がない=同じ現象に出くわした人がここにはいない、ってことだからここにきても意味ないじゃん
もう返事もらってんだよ、それくらい理解できないの?なさけない
寂しがり屋なの?
来てほしかったの?
反応がない=同じ現象に出くわした人がここにはいない、ってことだからここにきても意味ないじゃん
もう返事もらってんだよ、それくらい理解できないの?なさけない
19デフォルトの名無しさん (ワッチョイ 1fd7-WLSN)
2024/08/18(日) 16:52:26.07ID:GtHdHJ0K0 見本のような基地外だな
20デフォルトの名無しさん (ワッチョイ 1f78-0iFT)
2024/08/18(日) 19:24:32.75ID:HTF0RcUb0 こいつは「本物」だぁ
21デフォルトの名無しさん (ワンミングク MM8f-e5Ye)
2024/08/18(日) 20:39:07.06ID:zJcx09U/M いつからか
こんな限界集落のマ板なんかに変なの居着いた
こんな限界集落のマ板なんかに変なの居着いた
22デフォルトの名無しさん (ワッチョイ 1f78-WLSN)
2024/08/19(月) 06:26:30.30ID:SGLtwM6z0 ここはム板
23デフォルトの名無しさん (ワッチョイ 9f01-LEyn)
2024/08/19(月) 06:31:58.08ID:QkiVzACw0 >>21
マ板の方はご遠慮いただけますでしょうか
マ板の方はご遠慮いただけますでしょうか
24デフォルトの名無しさん (ワントンキン MMdf-e5Ye)
2024/08/19(月) 07:35:48.04ID:I+C1rt+hM ムやったね……
25デフォルトの名無しさん (ワッチョイ ff4a-F+B+)
2024/08/23(金) 20:08:18.72ID:NK40bFjG0 コンソールアプリで画面を上側へスクロールしたときに文字が表示されません
Console.BufferHeightで行数を増やしているのに、何故か反映されない
Win10では正常に表示されたのに、Win11では表示されない
Console.BufferHeightで行数を増やしているのに、何故か反映されない
Win10では正常に表示されたのに、Win11では表示されない
26デフォルトの名無しさん (ワッチョイ c53c-G6Q9)
2024/08/25(日) 23:22:26.70ID:bGprUffz0 ググっても出ない中々難しめの質問AIにしたらサンプルコードまで答えてくれやがった
正常動作するかは知らんが
仕様諸々精査してできるかどうかの判断を自動でやってくれるのは楽だわ
正常動作するかは知らんが
仕様諸々精査してできるかどうかの判断を自動でやってくれるのは楽だわ
27デフォルトの名無しさん (ワッチョイ 7901-okoy)
2024/08/26(月) 00:14:24.04ID:dB7SOU9G0 回答を検証できる質問でないとハマるよ
それっぽい回答来たから鵜呑みにしてたけど後からハルシネーションだったとわかってガックリ来た
付き合い方を考えないと
それっぽい回答来たから鵜呑みにしてたけど後からハルシネーションだったとわかってガックリ来た
付き合い方を考えないと
28デフォルトの名無しさん (ワッチョイ ff2c-B/u1)
2024/09/01(日) 11:24:48.74ID:LL2O7mfa0 vscodeで作成してます。.NETではなく.NET Framework用でコンパイルしたいのですがcsprojをいじればいいんですか?イマイチぐぐっても分かりませんでした…
29デフォルトの名無しさん (ワッチョイ 8728-7Z3J)
2024/09/01(日) 13:03:18.55ID:Z5xSjoFS0 ターゲットフレームワークを変更する
おそらくNugetの依存関係が壊滅するのでライブラリのバージョン等を頑張って修正
まあ、そのレベルだと素直にVSでプロジェクト作り直した方が確実に早い
おそらくNugetの依存関係が壊滅するのでライブラリのバージョン等を頑張って修正
まあ、そのレベルだと素直にVSでプロジェクト作り直した方が確実に早い
30デフォルトの名無しさん (ワッチョイ ff98-B/u1)
2024/09/02(月) 22:54:25.71ID:h77XuHn2031デフォルトの名無しさん (ワッチョイ ff98-B/u1)
2024/09/02(月) 23:05:06.91ID:h77XuHn20 implicitusingを無効にしたらいけました!
coreCLRの開始イベント使ってねーぞみたいな注意が出ますがとりあえず無視します
coreCLRの開始イベント使ってねーぞみたいな注意が出ますがとりあえず無視します
32デフォルトの名無しさん (ワッチョイ e7d7-D/hx)
2024/09/03(火) 07:44:08.63ID:PDmQOkMO0 だからそんなこともわからんレベルなら
普通のVisualStudio IDE使ってテンプレートから作ってもらえ
.NET Core系用と.NET Framework系用でテンプレート別々にあるぞ
普通のVisualStudio IDE使ってテンプレートから作ってもらえ
.NET Core系用と.NET Framework系用でテンプレート別々にあるぞ
33デフォルトの名無しさん (ワッチョイ e733-wyug)
2024/09/03(火) 08:49:37.91ID:4PaG9Ni+0 .NET Frameworkで作るのならVS Codeにこだわる意味が分からんな
34デフォルトの名無しさん (ワッチョイ df69-Z2/Z)
2024/09/03(火) 09:54:47.33ID:+c3TQ6I00 初心者ならプロジェクト作成以外もVisual Studio使った方が楽じゃないか
35デフォルトの名無しさん (ワッチョイ 7fad-gXPy)
2024/09/03(火) 10:47:54.65ID:zynfI0Xf0 初心者以外でもvisual studioでいいのでは?
VS Codeって何のためにあるの?
VS Codeって何のためにあるの?
36デフォルトの名無しさん (ワッチョイ 7f05-55Je)
2024/09/03(火) 18:52:22.72ID:tn1VFMYP0 >>35
自由度の高い拡張機能が作成可能とか?
メリットいかせずに「他人と違ったことする俺すげぇ」ってバカのほうが多い気はする
そして拗れてcsc.exeへ。勉強効率も悪くろくなもの作れなくなるバカの末路
ちなみにどっちも初心者スレで「やり方わかりません教えて」みたいな質問者見たことある
自由度の高い拡張機能が作成可能とか?
メリットいかせずに「他人と違ったことする俺すげぇ」ってバカのほうが多い気はする
そして拗れてcsc.exeへ。勉強効率も悪くろくなもの作れなくなるバカの末路
ちなみにどっちも初心者スレで「やり方わかりません教えて」みたいな質問者見たことある
37デフォルトの名無しさん (ワッチョイ e7a5-QZ+C)
2024/09/03(火) 20:51:18.41ID:AjfoquOu0 VS CodeはVSがインストール出来ない環境で使うんだよ
38デフォルトの名無しさん (ワッチョイ ff6e-B/u1)
2024/09/03(火) 22:16:15.43ID:KfZ8HCC90 maui、xamlとかモリモリ書かないならvscodeで.netは普通にいけると思う。
39デフォルトの名無しさん (ワッチョイ 0701-WS2K)
2024/09/03(火) 22:57:01.51ID:ySKcrG5T0 他のフレワークだとVSCode前提みたいなところがあるから、基本的にコマンド一発でテンプレートやコンフィグ全生成してくれるのが殆どなんだよなー
自分はC#使うのは2〜3割くらいに減ってるから、一旦VSのテンプレートで生成した後にVSCode持ってって作業してる。
別にVSのまま作業しても良いんだけど、他がずっとVSCode使ってるからそのまま殆どなんとなく。
ビルドの設定追い込む時とかはVSに戻って作業する
自分はC#使うのは2〜3割くらいに減ってるから、一旦VSのテンプレートで生成した後にVSCode持ってって作業してる。
別にVSのまま作業しても良いんだけど、他がずっとVSCode使ってるからそのまま殆どなんとなく。
ビルドの設定追い込む時とかはVSに戻って作業する
40デフォルトの名無しさん (ワッチョイ 2796-0xUn)
2024/09/03(火) 23:52:43.04ID:PSfMpKNk0 .NET8に移行しようとしてSystem.Drawing.Commonをnugetで取得して、参照のパッケージのところにもちゃんと入ってるのにビルドするとアセンブリ追加しろやってエラーが出ます
System.Drawing.Commonに限った話じゃないとは思うんですが、nugetしてるはずなのに使えないケースってあります?なんか対処法とかありますかね
nugetのフォルダのsystem.drawing.common.dllを直接追加してみるとエラーが出るし……
System.Drawing.Commonに限った話じゃないとは思うんですが、nugetしてるはずなのに使えないケースってあります?なんか対処法とかありますかね
nugetのフォルダのsystem.drawing.common.dllを直接追加してみるとエラーが出るし……
41デフォルトの名無しさん (ワッチョイ 2778-D/hx)
2024/09/04(水) 05:59:16.88ID:vTUmaV8z0 依存関係が足りないとか
42デフォルトの名無しさん (ワッチョイ e733-wyug)
2024/09/04(水) 08:45:46.87ID:0YyVWJnw0 >>40
ターゲットOSをWindowsにしなきゃだめになったんじゃなかったっけか
ターゲットOSをWindowsにしなきゃだめになったんじゃなかったっけか
43デフォルトの名無しさん (ワッチョイ 27b3-0xUn)
2024/09/04(水) 21:50:02.76ID:Gc+g798x0 >>41-42
ありがとうございます。解決しました。
プロジェクトじゃなくて、プロジェクトが参照してるライブラリが古くて画像周りがおかしかったことが原因でした……
いやーてっきりプロジェクトに問題があるものだとばかり。
お手数をおかけして申し訳ありませんでした。
ありがとうございます。解決しました。
プロジェクトじゃなくて、プロジェクトが参照してるライブラリが古くて画像周りがおかしかったことが原因でした……
いやーてっきりプロジェクトに問題があるものだとばかり。
お手数をおかけして申し訳ありませんでした。
44デフォルトの名無しさん (ワッチョイ 0701-cMiB)
2024/09/05(木) 22:43:12.04ID:IsSxmn+e0 string のなかに " いれたいんだができるん?
string x=""+"aaaa"+""
string x=""+"aaaa"+""
45デフォルトの名無しさん (ワッチョイ e731-g3wY)
2024/09/05(木) 22:47:08.76ID:oSzSq1tU046デフォルトの名無しさん (ワッチョイ 0701-cMiB)
2024/09/05(木) 23:13:37.12ID:IsSxmn+e0 それでできそうかも。試してみる。
プロセス起動させるとき、引数の変数にパス入れるけどパスの中にスペースがあると
だめなんでそれの回避として " が必要。
プロセス起動させるとき、引数の変数にパス入れるけどパスの中にスペースがあると
だめなんでそれの回避として " が必要。
47デフォルトの名無しさん (ワッチョイ 0701-cMiB)
2024/09/05(木) 23:26:05.02ID:IsSxmn+e0 だめっぽいな。
aaaaはstring の変数でもってきてる。
aaaaはstring の変数でもってきてる。
48デフォルトの名無しさん (ワッチョイ ff01-esRI)
2024/09/06(金) 00:01:44.71ID:fMgfL8Dd0 だめっぽいのは君の書き方じゃないか
49デフォルトの名無しさん (ワッチョイ 5fe2-V0u1)
2024/09/06(金) 00:10:56.19ID:FMgRnbLf0 バックスラッシュの意味理解しよ
50デフォルトの名無しさん (ワッチョイ df61-Z2/Z)
2024/09/06(金) 00:19:55.27ID:4rrS/3cJ0 string s = "aaaa";
string x = $"\"{s}\"";
string x = $"\"{s}\"";
51デフォルトの名無しさん (スププ Sd7f-t43I)
2024/09/06(金) 02:38:09.45ID:kwoFnA2yd System::Diagnostics::Process::Startとかだろ
"\"" + filePath + "\""
"\"" + filePath + "\""
52デフォルトの名無しさん (ワッチョイ 7f11-gXPy)
2024/09/06(金) 03:15:10.46ID:CmuGhD0i0 なんでわざわざ足してんの?
53デフォルトの名無しさん (ワッチョイ 2778-D/hx)
2024/09/06(金) 05:55:59.83ID:c0VNDQG5054デフォルトの名無しさん (ワッチョイ 2778-D/hx)
2024/09/06(金) 05:57:26.94ID:c0VNDQG5055デフォルトの名無しさん (ワッチョイ 0701-cMiB)
2024/09/06(金) 07:11:30.93ID:6dWW3slR0 string x = $"\"{s}\"";
これ採用 TNX!
これ採用 TNX!
56デフォルトの名無しさん (ワッチョイ e7d7-D/hx)
2024/09/06(金) 08:03:43.33ID:atJH5uZ+0 もうちょっとあれこれ繋げるもんがあるならともかく
たったそれだけにString.Format使う意味ある?
たったそれだけにString.Format使う意味ある?
57デフォルトの名無しさん (ブーイモ MM8f-5+wm)
2024/09/06(金) 10:26:55.33ID:q1RifKtNM 2回以上+で結合すると無駄なアロケートとコピーが発生する
ループしないなら気にする必要ないけど、+に拘るメリットも特にないな
ループしないなら気にする必要ないけど、+に拘るメリットも特にないな
58デフォルトの名無しさん (ワッチョイ e7d7-D/hx)
2024/09/06(金) 14:31:56.02ID:atJH5uZ+0 なんかふと気になってILSpyしてみたら
>>55程度だと+連結に置き換えられてて、もう一つ変数増やしたらDefaultInterpolatedStringHandler処理になってたわ
>>55程度だと+連結に置き換えられてて、もう一つ変数増やしたらDefaultInterpolatedStringHandler処理になってたわ
59デフォルトの名無しさん (ワッチョイ dfa7-cMiB)
2024/09/06(金) 22:02:01.77ID:4rrS/3cJ0 >>58
C#10から実装が変わってかなり高速化したらしい
C#10から実装が変わってかなり高速化したらしい
60デフォルトの名無しさん (ワッチョイ 65fd-O0gj)
2024/09/08(日) 14:19:12.90ID:Lcq5kqTI0 https://ufcpp.net/study/csharp/sp_attribute.html
属性付加について質問です
上リンクにバブルソートの途中経過を出力する例がありますが、
/// <summary>
/// SHOW_INTERMEDIATE というシンボルが定義されているときのみ
/// 配列の内容をコンソールに表示する。
/// </summary>
[Conditional("SHOW_INTERMEDIATE")]
がよくわかりません。
このシンボルの定義はどこで誰がするのでしょう?
途中経過を見るかどうかならbool型を渡すだけでできると思うのですが属性を使うメリットは何でしょう?
属性付加について質問です
上リンクにバブルソートの途中経過を出力する例がありますが、
/// <summary>
/// SHOW_INTERMEDIATE というシンボルが定義されているときのみ
/// 配列の内容をコンソールに表示する。
/// </summary>
[Conditional("SHOW_INTERMEDIATE")]
がよくわかりません。
このシンボルの定義はどこで誰がするのでしょう?
途中経過を見るかどうかならbool型を渡すだけでできると思うのですが属性を使うメリットは何でしょう?
61デフォルトの名無しさん (JP 0H92-Jfb+)
2024/09/08(日) 16:40:59.79ID:TkJTVSzCH https://hatsune.hatenablog.jp/entry/2021/12/20/151144
の条件つきコンパイルシンボルに
「SHOW_INTERMEDIATE」も指定して実行したときだけ
IntermediateOutput(array);
が呼ばれる
ソースコードをいじらすともプロジェクト設定だけで動作を切り替えられる
の条件つきコンパイルシンボルに
「SHOW_INTERMEDIATE」も指定して実行したときだけ
IntermediateOutput(array);
が呼ばれる
ソースコードをいじらすともプロジェクト設定だけで動作を切り替えられる
62デフォルトの名無しさん (JP 0H92-Jfb+)
2024/09/08(日) 16:46:45.34ID:TkJTVSzCH https://ufcpp.net/study/csharp/sp_attribute.html
の例だけなら本来ならConditional属性より#ifで動作を切り替えるほうが自然かもしれないけど、メソッドに属性をつけることで「コンパイル時の」動作を切り替えることもできる
の例だけなら本来ならConditional属性より#ifで動作を切り替えるほうが自然かもしれないけど、メソッドに属性をつけることで「コンパイル時の」動作を切り替えることもできる
63デフォルトの名無しさん (ワッチョイ 659f-O0gj)
2024/09/08(日) 16:56:39.71ID:0eGKbJyF0 ありがとうございます!
弄って試してみます
弄って試してみます
64デフォルトの名無しさん (ブーイモ MM0a-bJfQ)
2024/09/08(日) 22:39:41.68ID:QA3NbpCiM #if~#endifだけでこと足りるけど、使いすぎるとコードが見にくくなる。
Conditional属性ならメソッドを呼び出す部分に何も増えないからすっきり。
Conditional属性ならメソッドを呼び出す部分に何も増えないからすっきり。
65デフォルトの名無しさん (ワッチョイ 716f-rTPM)
2024/09/10(火) 18:08:51.32ID:pYXFiK6k0 1年ぶりくらいにC#開発やったらPrismのライセンスが変更されててビックリした
条件があるとはいえ商用で使っていくのは厳しいからどうしようか迷ってる
とりあえずv9.0未満ならMITライセンスのままだから使えないこともないんだけど、このまま使うのもなぁ…
条件があるとはいえ商用で使っていくのは厳しいからどうしようか迷ってる
とりあえずv9.0未満ならMITライセンスのままだから使えないこともないんだけど、このまま使うのもなぁ…
66デフォルトの名無しさん (ワッチョイ b501-jK0n)
2024/09/10(火) 23:39:42.30ID:FmO9o6ji0 c#がニッチになればなるほど有料ライブラリの存在感が増してきて足元見られてる感はある
MAUIとか、何かググるとsyncfusionのボッタクリライブラリの広告ばっか出てきてめちゃくちゃげんなりする
どうしてこうなった・・・
MAUIとか、何かググるとsyncfusionのボッタクリライブラリの広告ばっか出てきてめちゃくちゃげんなりする
どうしてこうなった・・・
67デフォルトの名無しさん (ワッチョイ b501-JQMk)
2024/09/11(水) 10:04:33.53ID:Mwxa/fl+0 c#13来ますね
68デフォルトの名無しさん (スプッッ Sdea-iA/a)
2024/09/11(水) 15:28:02.94ID:NVe6C6lkd C# Dev Kit がゴミすぎてC#13なんてまともに動くはずもないから無視してOK
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit&ssr=false#review-details
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit&ssr=false#review-details
69デフォルトの名無しさん (スプッッ Sdea-iA/a)
2024/09/11(水) 15:32:38.70ID:NVe6C6lkd70デフォルトの名無しさん (スプッッ Sdea-iA/a)
2024/09/11(水) 15:34:46.79ID:NVe6C6lkd MAUI アプリは市場的に iOS 抜きでは考えられず、そうなると「mac上での開発」が大前提なのに
Visual Studio for macが廃止になったからな。
Visual Studio for macが廃止になったからな。
71デフォルトの名無しさん (ワッチョイ b6e4-MWGe)
2024/09/11(水) 18:27:03.65ID:XegoQ2KD0 Expressも更新しないしドケチ弊社はvscodeですよ
72デフォルトの名無しさん (オイコラミネオ MM71-IFMZ)
2024/09/11(水) 21:07:10.19ID:tsOfJ2jSM c#13の恩恵受けるの利用者の1%以下説
73デフォルトの名無しさん (ワッチョイ 65e3-ssB9)
2024/09/12(木) 00:30:07.84ID:tw/IepBM0 結局あと数年は使うデスクトップアプリなら何使えばいいの
74デフォルトの名無しさん (ワッチョイ 39da-IU9Y)
2024/09/12(木) 00:57:04.66ID:abJIVzSD0 Forms
75デフォルトの名無しさん (ワッチョイ 1178-IFMZ)
2024/09/12(木) 06:52:35.11ID:3diDP2dM0 C#13はあんまり惹かれる内容が無くて……
76デフォルトの名無しさん (ワッチョイ 5d2a-iA/a)
2024/09/12(木) 11:07:15.58ID:0rD/09ib0 結局のところMAUIはAdobe FlashやSilverlightの失敗と同じ道を歩んでしまった。
スマホアプリとデスクトップアプリの統合なんてできるわけないのに。
アップルのMac Catalystも壮大にコケただろ。
スマホアプリとデスクトップアプリの統合なんてできるわけないのに。
アップルのMac Catalystも壮大にコケただろ。
77デフォルトの名無しさん (ワッチョイ 651c-+swD)
2024/09/12(木) 11:29:41.24ID:0D4bKRqg0 いやいや、スマホとデスクトップのフレームワーク統合はReact NativeやFlutterで成功してるよ
MAUIが失敗したのは単にそれらの競合を上回るだけの魅力がなかったから
そもそも当のMS自身がMAUIではなくReact Nativeを主力として採用しているわけで、ドッグフーディングすらまともにやられてない冗談みたいなゴミよ
MAUIが失敗したのは単にそれらの競合を上回るだけの魅力がなかったから
そもそも当のMS自身がMAUIではなくReact Nativeを主力として採用しているわけで、ドッグフーディングすらまともにやられてない冗談みたいなゴミよ
78デフォルトの名無しさん (ワッチョイ 71d8-IjGr)
2024/09/12(木) 15:26:52.97ID:aCcjSW4y0 魅力が無いという消極的な話じゃなくバグがありすぎるんだよ
MAUI使うならMAUI Blazor一択
MAUI使うならMAUI Blazor一択
79デフォルトの名無しさん (スププ Sd0a-jK0n)
2024/09/12(木) 17:43:21.90ID:eHy+J5v3d Flutterで作られたデスクトップアプリってあるの?ないこたないんだろうけど、聞いたことがない
80デフォルトの名無しさん (ササクッテロ Spbd-jK0n)
2024/09/12(木) 20:57:36.84ID:XSV6/xEMp ラムダ式だらけで何やってるか分からん
名前付きならその名前でなんとなくやってる事が推測出来るのに
名前付きならその名前でなんとなくやってる事が推測出来るのに
81デフォルトの名無しさん (ワッチョイ b501-JQMk)
2024/09/13(金) 00:37:39.75ID:f6FEBSA20 具体的にどんなコード?
触れたことないからどんなもんか気になる
触れたことないからどんなもんか気になる
82デフォルトの名無しさん (ワッチョイ 9e79-auhz)
2024/09/13(金) 01:46:12.54ID:2J3jv9tY0 ラムダだとか無名なんたらって引数には名前書かせたりするのがイマイチだよな
全部匿名で書かせろや
全部匿名で書かせろや
83デフォルトの名無しさん (ワッチョイ 1178-IFMZ)
2024/09/13(金) 06:49:44.21ID:Xxd/8jpe0 引数に名前無いと式内でどうやってコード書くんだ
84デフォルトの名無しさん (JP 0H92-Jfb+)
2024/09/13(金) 07:04:31.00ID:2PWLnrX2H 最近のC#だと使わない変数/引数は「_」で書けるけどこれのことかな
85デフォルトの名無しさん (ワッチョイ 79d7-IFMZ)
2024/09/13(金) 08:46:26.70ID:67a82NYw0 破棄は呼び出し側だし、_だけで変数名にできるけど、やる意味無いしなぁ
86デフォルトの名無しさん (ササクッテロ Spbd-jK0n)
2024/09/13(金) 09:50:43.10ID:5m8mJFP+p 名前無いと中身コメント書かれて無いと何やってるかますます分からないだろ
おまえら自分の事しか考えて無いのかよ
おまえら自分の事しか考えて無いのかよ
87デフォルトの名無しさん (ワッチョイ 6abf-MWGe)
2024/09/13(金) 10:03:36.58ID:vCoJKF930 可読性がどんどん下がっていく
88デフォルトの名無しさん (ワッチョイ f9d4-tR61)
2024/09/13(金) 10:18:51.22ID:WHSymIlK0 kotlinが単一引数ならitで書けたりするよな
89デフォルトの名無しさん (ワッチョイ 6a91-vlgT)
2024/09/13(金) 11:58:13.17ID:sF2/C+u40 実例出さないとコードを書いたやつの問題なのか読んでるやつの問題なのかわからないな
普通にどっちもありえる
普通にどっちもありえる
90デフォルトの名無しさん (ワッチョイ aaae-voeu)
2024/09/13(金) 14:56:26.94ID:HD5QYSk40 OpenAIが複雑な推論能力をもつAIモデル「OpenAI o1」と「OpenAI o1-mini」を発表、プログラミングや数学で高い能力を発揮
https://gigazine.net/news/20240913-openai-o1/
https://gigazine.net/news/20240913-openai-o1/
91デフォルトの名無しさん (オイコラミネオ MM71-IFMZ)
2024/09/14(土) 00:38:39.43ID:wZXV9Eo9M 宣言してない変数が出てきたらそれに引数割り当てろとかそんなことを言ってるのかな?
92デフォルトの名無しさん (ワッチョイ 1178-IFMZ)
2024/09/14(土) 06:23:25.94ID:f+klQpwH0 JavaScriptかな?
93デフォルトの名無しさん (オイコラミネオ MM71-IFMZ)
2024/09/14(土) 13:19:57.57ID:wZXV9Eo9M new Action<A>(=> Console.WriteLine( s ) );
か
new Action<A>(Console.WriteLine( s ) );
見たいなことなんじゃないかと
か
new Action<A>(Console.WriteLine( s ) );
見たいなことなんじゃないかと
94デフォルトの名無しさん (アウアウエー Sa52-t/33)
2024/09/14(土) 13:48:53.85ID:o3f0Ddoea Rubyのundefined黒魔術のことか
95デフォルトの名無しさん (ワッチョイ 8ae2-eYPa)
2024/09/14(土) 22:08:29.61ID:FSRkRcLf0 それコンパイラーが結局最適化するからええやん
96デフォルトの名無しさん (ワッチョイ 128b-Q+sl)
2024/09/26(木) 17:43:19.96ID:3JTs1+bS0 Unityって.NETに移植される予定あるの?
ここ5年ほどは.NETばかりが進化してUnityは時止まってる感あるけど
ここ5年ほどは.NETばかりが進化してUnityは時止まってる感あるけど
97デフォルトの名無しさん (ワッチョイ f378-92rV)
2024/09/26(木) 18:08:10.54ID:Qc6+rELv0 移植って何だよ
言ってる意味が分らんぞ
言ってる意味が分らんぞ
98デフォルトの名無しさん (アウアウウー Sa43-62zA)
2024/09/26(木) 18:28:01.53ID:CKFT+8KQa エスパーすると…
わからん
わからん
99デフォルトの名無しさん (ワッチョイ 72d1-sm05)
2024/09/26(木) 20:43:41.41ID:78wjS3t+0 Unityスレでやれよ
100デフォルトの名無しさん (ワッチョイ 1610-sUBN)
2024/09/27(金) 06:17:43.36ID:H6GdPqZc0 ライブラリ使うってレベルじゃねぇぞ
101デフォルトの名無しさん (ワッチョイ cbb3-BSAv)
2024/09/28(土) 15:53:03.33ID:Nide2Zz10 あのースレ違いとは重々承知の上なんですが、ASP.NETの求人ってどんな感じですかね
これまでずーっとC#のデスクトップアプリとかまぁローカルなシステム作りばかりやってきたんですが、いくらなんでも未来がないからウェブへの転職狙ってるんですよね
でキャリア活かそうとASPいじりはじめたんですが今はどこもかしこもjavascriptみたいなイメージで
業務でASP使ってるとかASPで転職活動したとかそういう人いたら話聞かせてほしいんです
これまでずーっとC#のデスクトップアプリとかまぁローカルなシステム作りばかりやってきたんですが、いくらなんでも未来がないからウェブへの転職狙ってるんですよね
でキャリア活かそうとASPいじりはじめたんですが今はどこもかしこもjavascriptみたいなイメージで
業務でASP使ってるとかASPで転職活動したとかそういう人いたら話聞かせてほしいんです
102デフォルトの名無しさん (スプープ Sd52-i443)
2024/09/28(土) 17:25:46.96ID:aGtM+jOEd どう考えても普通にJavaScriptやる方がいい。
C#履修者ならTypeScript自体の習得は爆速だよ、本気でやれば多分一週間もかからない。何しろ設計者が同じなので書き味に違和感が無くなるのはすぐのはず
問題はReact、Vue、Nextなどフレームワークやライブラリのスキルだけど、正直ここは常にコロコロ変わって勉強が必要な分野なので途中参加でもあまりハンデはないと思う
転職しても、JavaやC#のお硬い言語のキャリアは重宝されるから決して無駄にはならないはず
ASP.NETやBlazorの需要は限定的だし先行き不透明過ぎる
自分も似たようなことしたので頑張って
C#履修者ならTypeScript自体の習得は爆速だよ、本気でやれば多分一週間もかからない。何しろ設計者が同じなので書き味に違和感が無くなるのはすぐのはず
問題はReact、Vue、Nextなどフレームワークやライブラリのスキルだけど、正直ここは常にコロコロ変わって勉強が必要な分野なので途中参加でもあまりハンデはないと思う
転職しても、JavaやC#のお硬い言語のキャリアは重宝されるから決して無駄にはならないはず
ASP.NETやBlazorの需要は限定的だし先行き不透明過ぎる
自分も似たようなことしたので頑張って
103デフォルトの名無しさん (ササクッテロ Sp47-i443)
2024/09/28(土) 18:03:06.22ID:vky4rjg9p スクリプト言語は糞
104デフォルトの名無しさん (ワッチョイ 72d1-sm05)
2024/09/28(土) 18:12:04.40ID:iFauIOzc0 クソでも使えるやつは優秀
105デフォルトの名無しさん (ワッチョイ cba8-5T06)
2024/09/28(土) 20:12:23.11ID:Dk+INUbR0 業務でASPNETCoreバリバリ使ってはいるけど
ASPNET単体の知見が転職活動で役に立つとは思えない
というか、C#ができてHTML/CSS/JavaScriptが読み書きできる人なら普通に無勉強/経験なしでもASPNETで開発できちゃうからセールスポイントにならないのよね
うちんとこはReactみたいなモダン()なフレームワークは使ってないけど、それでもJS/TSの知識は必須
愚直にWeb系の勉強をするのが先かなと思うよ
ASPNET単体の知見が転職活動で役に立つとは思えない
というか、C#ができてHTML/CSS/JavaScriptが読み書きできる人なら普通に無勉強/経験なしでもASPNETで開発できちゃうからセールスポイントにならないのよね
うちんとこはReactみたいなモダン()なフレームワークは使ってないけど、それでもJS/TSの知識は必須
愚直にWeb系の勉強をするのが先かなと思うよ
106デフォルトの名無しさん (ワッチョイ cbb3-BSAv)
2024/09/28(土) 23:13:28.34ID:Nide2Zz10107デフォルトの名無しさん (オイコラミネオ MMa7-KiE/)
2024/09/29(日) 00:27:31.57ID:5ys4rELsM github見せろよ
108デフォルトの名無しさん (ワッチョイ 8301-8s9Z)
2024/09/29(日) 02:19:57.40ID:xonfxjDO0 むしろプログラミングスクールの経験のほうが誰もまともに受け取らないよ
自走力がないやつと思われる
素人じゃないだろうしわざわざナメられる道を通るのはオススメしない
自走力がないやつと思われる
素人じゃないだろうしわざわざナメられる道を通るのはオススメしない
109デフォルトの名無しさん (ワッチョイ d3ae-D2eP)
2024/10/01(火) 15:20:52.03ID:Ed7m5Yrp0 github見せると、趣味がバレちゃう・・・
110デフォルトの名無しさん (ワッチョイ d3b3-Ffi2)
2024/10/02(水) 00:50:46.59ID:xje2sb9e0 そもそもSVNの現場ばかりでgithubの使い方よくわからないレベルだわ
というか世の中10年前にはSVNなんてオワコン言われてたってのが信じられねぇ
というか世の中10年前にはSVNなんてオワコン言われてたってのが信じられねぇ
111デフォルトの名無しさん (ワッチョイ 8301-8s9Z)
2024/10/02(水) 02:07:15.64ID:PWZ+bQBz0 個人で使って覚えればいいじゃん
112デフォルトの名無しさん (ワッチョイ ff8b-w+mV)
2024/10/02(水) 11:24:45.59ID:1LKJTfPy0 個人で使う限りじゃ4つくらいしかコマンド使わんからなぁ
113デフォルトの名無しさん (ワッチョイ 8fc0-wp/Q)
2024/10/03(木) 20:33:51.33ID:+e3Oo1T60 C#13(.net 9)でfieldキーワードが使えるようになるって聞いたのですが本当ですか?
VisualStudioでプレビュー版の.net9入れてみたけど使えないみたいでした
それともプレビュー版だから使えないのでしょうか?
VisualStudioでプレビュー版の.net9入れてみたけど使えないみたいでした
それともプレビュー版だから使えないのでしょうか?
114デフォルトの名無しさん (ワッチョイ ff6a-71Fj)
2024/10/03(木) 21:05:51.32ID:B9NoCJyO0 予定してたけど今回は見送りなんてことは、ままあるからなぁ
ttps://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13
今のところは入ってないみたいね
ttps://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13
今のところは入ってないみたいね
115デフォルトの名無しさん (ワッチョイ 8301-8s9Z)
2024/10/03(木) 21:29:33.72ID:0TFd8a4L0 え、一番期待してたのに…
c#でググれの人は何て言ってるんだろう
c#でググれの人は何て言ってるんだろう
116デフォルトの名無しさん (ワッチョイ 8fc0-wp/Q)
2024/10/03(木) 21:39:37.41ID:+e3Oo1T60 ありがとうございます
確かに記載が無いので残念ですが今回は見送りっぽいですね、、、
確かに記載が無いので残念ですが今回は見送りっぽいですね、、、
117デフォルトの名無しさん (ワッチョイ ff6a-71Fj)
2024/10/03(木) 22:03:08.87ID:B9NoCJyO0 ttps://github.com/ufcpp-live/UfcppLiveAgenda/issues/94
>たぶんもう C# 13 で入れるもの確定。参考: Language Feature Status
>今入ってないものは入らない。
>field キーワードは「C# 13 GA のタイミングで、 preview で取り込み」みたいな話を https://aka.ms/dotnet-discord で見た。
だそうです
>たぶんもう C# 13 で入れるもの確定。参考: Language Feature Status
>今入ってないものは入らない。
>field キーワードは「C# 13 GA のタイミングで、 preview で取り込み」みたいな話を https://aka.ms/dotnet-discord で見た。
だそうです
118デフォルトの名無しさん (ワッチョイ 8301-8s9Z)
2024/10/04(金) 00:03:36.27ID:GSZ7pDda0 うーん、微妙か
まぁ.net 10では入るだろうし来年に期待
まぁ.net 10では入るだろうし来年に期待
119デフォルトの名無しさん (ワッチョイ b3d7-KiE/)
2024/10/04(金) 08:49:00.52ID:mCOfH6eY0 どうせ奇数番はサポート短くてスルーだし
120デフォルトの名無しさん (ワッチョイ 6fcd-fhRs)
2024/10/04(金) 12:39:45.28ID:jlwDuTCM0 C#追っかけなくなって知識がdotnet4.5辺りでとまっている…
それ以降はrecordとかしかしらん
それ以降はrecordとかしかしらん
121デフォルトの名無しさん (ワッチョイ ffea-Z+xw)
2024/10/04(金) 22:48:00.45ID:Yj1cCLJZ0 メモ帳や日記帳アプリみたいな軽いアプリで、ソースコード公開されてて
コードが初心者にも参考になるようなサイトあるでしょうか?
コードが初心者にも参考になるようなサイトあるでしょうか?
122デフォルトの名無しさん (ワッチョイ 7fd1-mKKC)
2024/10/04(金) 23:53:09.57ID:qaeIDBN+0 こんなのじゃあかんのん?
C#で自分だけのメモ帳を作成してみよう!手順・方法を徹底解説します
https://www.sejuku.net/blog/102177
ググったら一分も掛からないで出たけど
C#で自分だけのメモ帳を作成してみよう!手順・方法を徹底解説します
https://www.sejuku.net/blog/102177
ググったら一分も掛からないで出たけど
123デフォルトの名無しさん (ワッチョイ ffea-Z+xw)
2024/10/05(土) 13:21:11.69ID:AAO+SKFS0 >>122
サンクスです、丁寧に書いてあってわかりやすいのですが
設定項目を変更した時の設定反映のタイミングとか
form2からform1にデータ持っていく場合とか
やり直し機能とか
うまい人はどうやって全体まとめてるのかなって
サンクスです、丁寧に書いてあってわかりやすいのですが
設定項目を変更した時の設定反映のタイミングとか
form2からform1にデータ持っていく場合とか
やり直し機能とか
うまい人はどうやって全体まとめてるのかなって
124デフォルトの名無しさん (オイコラミネオ MMa7-KiE/)
2024/10/05(土) 16:55:01.99ID:WPvPgesDM 必要な部分だけ他人のコードを読むか自分でひたすら考えて実装してトライアンドエラー
どちらも地力が格段に上がるけど中級者は避けがち
どちらも地力が格段に上がるけど中級者は避けがち
125デフォルトの名無しさん (ワッチョイ 6f79-uMZa)
2024/10/05(土) 17:35:53.95ID:iTplU71b0 それメモ帳というかエディタで大変な箇所を全部端折った記事だから
適当な公開されてるソース読んだ方がいいね
適当な公開されてるソース読んだ方がいいね
126デフォルトの名無しさん (ワッチョイ 7fd1-mKKC)
2024/10/05(土) 20:37:56.54ID:fkWv7ZOM0 その適当なのほしいって事やろな
ここの連中は冷たいから教えないんだよね
ここの連中は冷たいから教えないんだよね
127デフォルトの名無しさん (ワッチョイ ffea-Z+xw)
2024/10/05(土) 22:47:10.24ID:AAO+SKFS0 メモ帳とかの作者さんでソース公開されてる人もC++が多かったり
128デフォルトの名無しさん (ワッチョイ 9b1f-uEGg)
2024/10/06(日) 08:44:42.11ID:6ToZA1R70 長大なテキストファイルの先頭から文字数を数えたり
一行の長さを測定して画面右端の折返し位置を決定したり
そういうのって現実的に可能なのか?
一行の長さを測定して画面右端の折返し位置を決定したり
そういうのって現実的に可能なのか?
129デフォルトの名無しさん (ワッチョイ 635f-ohfc)
2024/10/06(日) 09:02:55.59ID:efCavYAy0 >>128
発想がズレてる
発想がズレてる
130デフォルトの名無しさん (ワッチョイ f301-dKGO)
2024/10/06(日) 12:41:06.92ID:RTiROZJD0 >>128
逆になんで不可能だと思うの?
逆になんで不可能だと思うの?
131デフォルトの名無しさん (ワッチョイ 9bfe-ecvX)
2024/10/06(日) 13:11:45.32ID:k/Za2WiE0 普通は穴あきバッファを使う
EZ/VZはlessに編集機能を付けるってユニークな設計をしている
設計自体を知りたいなら 「The Craft of Text Editing: Emacs for the Modern World」が参考になるかと
FINALはdumpすると、MIFESとREDの悪口が書いてある:-p
EZ/VZはlessに編集機能を付けるってユニークな設計をしている
設計自体を知りたいなら 「The Craft of Text Editing: Emacs for the Modern World」が参考になるかと
FINALはdumpすると、MIFESとREDの悪口が書いてある:-p
132デフォルトの名無しさん (ワッチョイ c679-nM05)
2024/10/06(日) 14:14:27.86ID:onWt8ZIM0 「穴あきバッファ」なんて初見なんだけどもしかして誤訳じゃない?
133デフォルトの名無しさん (ワッチョイ f301-DEg1)
2024/10/06(日) 14:18:43.02ID:vkebIpm90 エディタのバッファ管理用のデータ構造は効率的な編集をサポートするためで
文字数カウントや行の折り返しの話はどういうデータ構造を使うかとはほとんど関係ないよね
今はGap Bufferもあまり主流じゃなくてPiece TableかRopeが使われることが多くなってる
文字数カウントや行の折り返しの話はどういうデータ構造を使うかとはほとんど関係ないよね
今はGap Bufferもあまり主流じゃなくてPiece TableかRopeが使われることが多くなってる
134デフォルトの名無しさん (ワッチョイ f301-DEg1)
2024/10/06(日) 14:21:17.70ID:vkebIpm90 興味があれば↓この辺読んでみるといい
TypeScriptだしC++に比べるとわかりやすいはず
https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation
この辺の話はエディタのコアな部分ではあるけど
>>123の知りたいこととはほぼ関係ない
TypeScriptだしC++に比べるとわかりやすいはず
https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation
この辺の話はエディタのコアな部分ではあるけど
>>123の知りたいこととはほぼ関係ない
135デフォルトの名無しさん (ワッチョイ 9b1f-uEGg)
2024/10/06(日) 15:19:51.19ID:6ToZA1R70 なにかの文書を画面に表示したい
← 表示したい部分が何行目に当たるか計算する
← 一行に含まれる文字数を知りたい
← プロポーショナルフォントのときはどうするん?
← 行の長さを測定する関数使え
← 一文字ずつ足したり引いたりしながら測定を繰り返す
← 全部の行についてこれやんなきゃかよ?
← やってられない
← 表示したい部分が何行目に当たるか計算する
← 一行に含まれる文字数を知りたい
← プロポーショナルフォントのときはどうするん?
← 行の長さを測定する関数使え
← 一文字ずつ足したり引いたりしながら測定を繰り返す
← 全部の行についてこれやんなきゃかよ?
← やってられない
136デフォルトの名無しさん (ワッチョイ af78-cSv7)
2024/10/06(日) 18:49:45.21ID:TXz4j2F10 azukiのソースコード見れば?
137デフォルトの名無しさん (ワッチョイ 6701-DEg1)
2024/10/06(日) 18:57:38.47ID:I3D2t/Zs0 >>135
>← 表示したい部分が何行目に当たるか計算する
テキストファイルなら頭から読み込むしかなく改行でカウントアップするだけ
>← 一行に含まれる文字数を知りたい
>← プロポーショナルフォントのときはどうするん?
文字数によって折り返し位置が決まるか
表示幅によって折り返し位置が決まるかのどちらか
両方のルールを同時に適用するというのは一般的ではない
プロポーショナルフォントが関係してくるのは後者の場合のみ
表示幅で折り返す場合は指定したRectangleにフィットするよう
よろしくやってくれる表OS提供のAPIがあるので基本的にはそれを使う
APIの内部的では各文字の表示幅を足し算してるが
とりあえずは画面表示部分だけを計算すればいいので
思ってるほど大した計算量ではない
>← やってられない
んなことたぁない
>← 表示したい部分が何行目に当たるか計算する
テキストファイルなら頭から読み込むしかなく改行でカウントアップするだけ
>← 一行に含まれる文字数を知りたい
>← プロポーショナルフォントのときはどうするん?
文字数によって折り返し位置が決まるか
表示幅によって折り返し位置が決まるかのどちらか
両方のルールを同時に適用するというのは一般的ではない
プロポーショナルフォントが関係してくるのは後者の場合のみ
表示幅で折り返す場合は指定したRectangleにフィットするよう
よろしくやってくれる表OS提供のAPIがあるので基本的にはそれを使う
APIの内部的では各文字の表示幅を足し算してるが
とりあえずは画面表示部分だけを計算すればいいので
思ってるほど大した計算量ではない
>← やってられない
んなことたぁない
138デフォルトの名無しさん (ワッチョイ de10-1ld3)
2024/10/06(日) 20:12:16.90ID:MCn4L0pH0 そもそも公開されてるソースがC++多いからなんだというのか
139デフォルトの名無しさん (ワッチョイ c679-nM05)
2024/10/07(月) 02:48:29.36ID:x7sAaviV0 >←
それより矢印の使い方おかしくね?と思った
それより矢印の使い方おかしくね?と思った
140デフォルトの名無しさん (ワッチョイ dfae-Q8Y9)
2024/10/07(月) 06:41:02.52ID:5XNBqMZ+0 →えっ
141デフォルトの名無しさん (ワッチョイ 4a7b-ohfc)
2024/10/07(月) 07:51:22.02ID:W61JLdXH0 矢印 Unicode(ユニコード)一覧 文字 0g0.org
https://0g0.org/topic/arrows/
https://0g0.org/topic/arrows/
142デフォルトの名無しさん (ワッチョイ aad1-5ZBO)
2024/10/07(月) 08:50:05.33ID:D9AWyaeE0 ↑↑↓↓→→←←
143デフォルトの名無しさん (オイコラミネオ MM1f-1ld3)
2024/10/07(月) 20:30:46.78ID:0ozgkte7M 個人レベルで作るなら別にベストな方法じゃなくても良い
とりあえず作ってみたらいい
そして徐々にブラッシュアップしていけばいい
とりあえず作ってみたらいい
そして徐々にブラッシュアップしていけばいい
144デフォルトの名無しさん (スププ Sdea-YEqV)
2024/10/08(火) 02:42:19.62ID:xQWM8K5Vd どうせTextBoxかRichTextBox使うから
いちいち行の文字数数えて改行とかという発想がでてこなかったわ
毒されてるんだろうか
いちいち行の文字数数えて改行とかという発想がでてこなかったわ
毒されてるんだろうか
145デフォルトの名無しさん (エムゾネ FFea-oLgd)
2024/10/08(火) 09:46:02.12ID:5xpr1xvYF 質問者の作りたい物に行番号やカーソル位置座標とか要らなさそうだから
テキストボックスで十分だと思う
テキストボックスで十分だと思う
146デフォルトの名無しさん (スププ Sdea-YEqV)
2024/10/09(水) 03:08:11.25ID:w53uZCE9d 行列番号、文字数、ファイルサイズ、ドラッグ移動、カラー絵文字、正規表現検索&置換、折り返し
これぐらい欲しい
これぐらい欲しい
147デフォルトの名無しさん (ワッチョイ 5af9-7zav)
2024/10/09(水) 05:37:10.40ID:u99M/+800 こりゃ確かにいろいろと発想がズレてるな
148デフォルトの名無しさん (ワッチョイ 433f-YEqV)
2024/10/10(木) 01:43:13.48ID:9oubSm9f0 カラー絵文字ってどうやるんだろう
149デフォルトの名無しさん (ワッチョイ ca8e-gWHf)
2024/10/10(木) 01:45:48.53ID:l5e/OliZ0 どうとは?
もしかしてわざわざ白黒にしてるのか?
もしかしてわざわざ白黒にしてるのか?
150デフォルトの名無しさん (ワッチョイ dfa4-suLy)
2024/10/10(木) 02:14:45.51ID:To6qDb1x0 くるみぽんちおの刑だ!!
151デフォルトの名無しさん (ワッチョイ 433f-YEqV)
2024/10/10(木) 14:48:43.23ID:9oubSm9f0 まじかテキストボックスがカラー絵文字に対応したのか
週末試してみるわありがと
週末試してみるわありがと
152デフォルトの名無しさん (ワッチョイ b301-duPS)
2024/10/11(金) 00:26:48.51ID:zClzE2L70 win11で作ったformアプリがwin10で盛大にズレてて頭抱えてる
153デフォルトの名無しさん (ワッチョイ 4a7b-ohfc)
2024/10/11(金) 01:05:53.43ID:bny4Xk3b0 >>152
何をもってOSに起因する症状だと判断したの?
何をもってOSに起因する症状だと判断したの?
154デフォルトの名無しさん (ワッチョイ de10-1ld3)
2024/10/11(金) 06:58:29.47ID:tH3T8XD80 OSバージョン毎のフレームサイズの差異とか気にもせずに処理でも書いたか?
155デフォルトの名無しさん (ワッチョイ 9e61-oLgd)
2024/10/11(金) 08:01:38.38ID:v/PLCR+10 OS関係なく単にディスプレイのスケーリングの違いでは
156デフォルトの名無しさん (ワッチョイ 467c-7zav)
2024/10/11(金) 09:18:43.20ID:izME7MQN0 それだな
157デフォルトの名無しさん (ワッチョイ 0671-lt6P)
2024/10/11(金) 09:50:54.30ID:wAOvgD780 フォントとか配置とかやり直しはMacOSのあるあるだと思ってた
158デフォルトの名無しさん (ワッチョイ a913-VR7F)
2024/10/21(月) 02:25:35.38ID:SQ8zGBXh0 ライブラリを使用するために下みたいなコード書いた
ライブラリ内でIHoge.Method();の機能を上書きしたいのとHogeで設定されるさまざまな機能を使いたいがためにIHogeを実装したHogeクラスを継承してMethod();を隠蔽、そのうえでライブラリから呼び出されるようにIHogeをさらに継承?実装させてる
ちょっと無理矢理感強いけどこれはアリですか?
ライブラリの中
~
IHOGE.Method();
~
public interface IHoge
{
public void Method();
}
public class Hoge : IHoge
{
public void Method()
{
元の処理
}
}
自前で作ったクラス
public class NewHage : Hoge,IHoge
{
public new void Method()
{
上書き処理←やりたいこと
}
}
ライブラリ内でIHoge.Method();の機能を上書きしたいのとHogeで設定されるさまざまな機能を使いたいがためにIHogeを実装したHogeクラスを継承してMethod();を隠蔽、そのうえでライブラリから呼び出されるようにIHogeをさらに継承?実装させてる
ちょっと無理矢理感強いけどこれはアリですか?
ライブラリの中
~
IHOGE.Method();
~
public interface IHoge
{
public void Method();
}
public class Hoge : IHoge
{
public void Method()
{
元の処理
}
}
自前で作ったクラス
public class NewHage : Hoge,IHoge
{
public new void Method()
{
上書き処理←やりたいこと
}
}
159デフォルトの名無しさん (ワッチョイ a913-VR7F)
2024/10/21(月) 02:45:34.93ID:SQ8zGBXh0160デフォルトの名無しさん (ワッチョイ 11de-LgwA)
2024/10/21(月) 08:25:43.38ID:451kbP4c0161デフォルトの名無しさん (ワッチョイ 0501-FUd+)
2024/10/21(月) 12:38:44.14ID:1/IbrF450 >>158
それがやりたいことなら別にいいんじゃね?
Hogeの他のメソッドがMethod()を呼ぶとか
Method()がHogeの他のメソッドを呼ぶとかの関係が出てくると
newを使わない場合に比べるとバグるリスクが高くなるような気はする
インターフェース+コンポジションにしておけばバグるリスクは低くなる
その代わりに多少書く手間がかかる
それがやりたいことなら別にいいんじゃね?
Hogeの他のメソッドがMethod()を呼ぶとか
Method()がHogeの他のメソッドを呼ぶとかの関係が出てくると
newを使わない場合に比べるとバグるリスクが高くなるような気はする
インターフェース+コンポジションにしておけばバグるリスクは低くなる
その代わりに多少書く手間がかかる
162デフォルトの名無しさん (ワッチョイ 8d64-VR7F)
2024/10/21(月) 12:53:33.54ID:bUjh45Ks0163デフォルトの名無しさん (ワッチョイ 86cd-yIdu)
2024/10/22(火) 12:35:56.21ID:SqPRTKfI0 newで上書きしたことないな
164デフォルトの名無しさん (ワッチョイ 5166-VR7F)
2024/10/22(火) 19:02:31.64ID:4SydPJoD0 >>163
なんかchatGPTが教えてくれた
なんかchatGPTが教えてくれた
165デフォルトの名無しさん (ワッチョイ 5166-VR7F)
2024/10/22(火) 19:03:43.61ID:4SydPJoD0 てかVisualStudioが教えてくれた
緑波線でnewしてくださいって
public new 戻り値の型 メソッド名
緑波線でnewしてくださいって
public new 戻り値の型 メソッド名
166デフォルトの名無しさん (ワッチョイ 0610-6/Jd)
2024/10/23(水) 20:43:06.26ID:laRxPcH30 ML.NETを試してみたら思いの外お手軽で面白いな
アプリにさくっと組み込めそうだ
アプリにさくっと組み込めそうだ
167デフォルトの名無しさん (ワッチョイ 516d-HdbC)
2024/10/23(水) 21:09:39.51ID:KLvEEO4T0 >>166
薄い本があるので入手お勧め
薄い本があるので入手お勧め
168デフォルトの名無しさん (ワッチョイ a91c-VR7F)
2024/10/24(木) 06:52:54.39ID:OBQWEe3S0 .NET MAUIで試したことあるけどWindowsはいけたがAndroidではトレーニングでエラーはいた記憶
169デフォルトの名無しさん (ワッチョイ 93ea-bV64)
2024/10/27(日) 08:19:05.51ID:9uOX0V+f0170デフォルトの名無しさん (ワッチョイ 138b-/tLw)
2024/11/01(金) 19:03:45.14ID:lJMjrugG0 CookieってSystem.Text.Jsonでシリアライズ・デシリアラズするとDomainKey変わっちゃってSet-Cookieで同じ名前のクッキー来ても違う奴判定されてダブるんだな
正確に言うと先頭ドット有りだと変わらないのと、BinaryFormatterやNewtonsoft.Jsonで非パブリックフィールド含む全フィールドをそっくりそのままストア・ロードさせれば変わらないんだけど
正確に言うと先頭ドット有りだと変わらないのと、BinaryFormatterやNewtonsoft.Jsonで非パブリックフィールド含む全フィールドをそっくりそのままストア・ロードさせれば変わらないんだけど
171デフォルトの名無しさん (ワッチョイ 756b-x+fa)
2024/11/14(木) 09:50:27.66ID:2GoXPHL10 ZipPlaってファイル管理ソフトのソース持ってる人いる?
居たらアップして欲しい
居たらアップして欲しい
172デフォルトの名無しさん (ワッチョイ cd33-Hhir)
2024/11/14(木) 10:20:27.81ID:WaFHXOHg0173デフォルトの名無しさん (ワッチョイ 1d8c-x+fa)
2024/11/16(土) 02:07:13.59ID:h+Fv95x40174デフォルトの名無しさん (ワッチョイ 468b-3HPC)
2024/12/07(土) 11:39:26.82ID:ITlUnsCD0 WinFormsってWindowのクラスネーム決められないの?
Win32のFindWindowのClassNameで探させたいのだけど
Win32のFindWindowのClassNameで探させたいのだけど
175デフォルトの名無しさん (ワッチョイ 3aae-tB/P)
2024/12/07(土) 17:24:39.89ID:8OMGJvUm0 protectedなCreateParamsプロパティをオーバーライドしてClassNameを書き換えることはできる
独自名ならとりあえずRegisterClassは必要だけどそれだけで済むかどうかは知らん
独自名ならとりあえずRegisterClassは必要だけどそれだけで済むかどうかは知らん
176デフォルトの名無しさん (ワッチョイ df8b-GzkI)
2024/12/08(日) 10:13:10.77ID:Rw3oOi650 C#側のプロパティは書き換えられても実際の内部の値はそういうことしないと無理そうか
177デフォルトの名無しさん (ワッチョイ 7f10-InQL)
2024/12/08(日) 11:19:30.20ID:kkfUSfWy0 RegisterClassExしてやろうとしたことあるけど
CreateParamsでRegisterしたClassName指定してもエラーになって
それで良く分からんまま放棄したな昔
CreateParamsでRegisterしたClassName指定してもエラーになって
それで良く分からんまま放棄したな昔
178デフォルトの名無しさん (ワッチョイ 7f12-7Ydj)
2024/12/08(日) 11:24:39.87ID:I292Dtst0 流行りのAIはその辺何か教えてくれんのか?
179デフォルトの名無しさん (ワッチョイ bfe9-31Hx)
2024/12/08(日) 11:42:31.33ID:gLALr0T30 はい
180デフォルトの名無しさん (ワッチョイ 47d7-InQL)
2024/12/08(日) 12:16:51.06ID:9nkQEnF50 人間が垂れ流した知識を混ぜるだけのAIが、人間が知らないことを教えられるわけないだろw
181デフォルトの名無しさん (オイコラミネオ MMab-InQL)
2024/12/08(日) 12:37:03.03ID:cRlpRIfuM 世界中のどこかで語られたかもしれない事実をそこらの人間がすべて知ってると思うのがおかしい気がする
182デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/08(日) 17:47:34.90ID:d7OE/SEZ0 つーかさWin32APIのCreateWindowで作ったウィンドウをC#にAttachする程度基本的な仕組みぐらいあるやろ
あるやろ…
あるやろ…
183デフォルトの名無しさん (ワッチョイ 5f62-oAsD)
2024/12/08(日) 21:09:31.34ID:NIwBIUGx0 CSharp初心者が学習始めるなら何からがおすすめ?
多分IIS?使ったウェブアプリになるんだけども
Javaでのアプリ開発経験はあり
多分IIS?使ったウェブアプリになるんだけども
Javaでのアプリ開発経験はあり
184デフォルトの名無しさん (ワッチョイ 2762-RQnm)
2024/12/08(日) 21:38:41.73ID:Dh5r1ipA0 Paint.netのソースを見たまえ
185デフォルトの名無しさん (ワッチョイ 5f62-oAsD)
2024/12/08(日) 21:46:52.70ID:NIwBIUGx0 これかな、ありがとちょっと見てみるわ
h
ttps://github.com/paintdotnet
h
ttps://github.com/paintdotnet
186デフォルトの名無しさん (アウアウエー Sa9f-zpgV)
2024/12/09(月) 11:14:47.99ID:uh4vUAM3a SetWindowLong
SetWindowLongEx
SetWindowLongEx
187デフォルトの名無しさん (アウアウエー Sa9f-zpgV)
2024/12/09(月) 11:15:02.52ID:uh4vUAM3a GWL_EX_STYLE
188デフォルトの名無しさん (ワッチョイ dff4-tB0+)
2024/12/09(月) 13:22:41.09ID:wWCmXoxS0 科学 + 5ch
【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1733576027/
コメントに面白いことが書かれている
【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1733576027/
コメントに面白いことが書かれている
189185 (ワッチョイ 5f62-oAsD)
2024/12/09(月) 17:56:14.64ID:apYLNmO+0 PaintDotNetをインストールした
190デフォルトの名無しさん (ワッチョイ 47da-InQL)
2024/12/11(水) 06:17:57.42ID:BgUz4+cQ0 varなんて使うな戦争ってもう終結したの?
191デフォルトの名無しさん (オッペケ Sr1b-2ZNr)
2024/12/11(水) 07:27:33.98ID:DZxIsQuWr 言語によりけりだから
192デフォルトの名無しさん (ワッチョイ 47d7-InQL)
2024/12/11(水) 08:36:42.20ID:tumrZkmz0 盲目的にvar使うなとは思うけど、一切使うなはないなぁ
193デフォルトの名無しさん (ワッチョイ df2b-2fXw)
2024/12/11(水) 08:50:12.41ID:AAqkzyDB0 まあマイクロソフトのサンプルにも使ってる例あるしな
194デフォルトの名無しさん (ラクッペペ MM8f-n9Eh)
2024/12/11(水) 10:05:12.70ID:BwkZDwjMM jsのvarと違ってただの便利機能だしな
195デフォルトの名無しさん (ワッチョイ 476d-Ahcx)
2024/12/11(水) 12:36:15.23ID:uq+uLBFl0 varで参照型を扱うとnullableになるのはどうにかしてほしい
196デフォルトの名無しさん (ワッチョイ 87ae-pQ4B)
2024/12/11(水) 13:56:36.44ID:pPQiPOka0 推論型なんだし、必要に応じて使えばいいんじゃね?
objectならともかく
objectならともかく
197デフォルトの名無しさん (ワッチョイ df6c-Fa9A)
2024/12/11(水) 14:39:24.72ID:1I783KxU0 varが絶対必要なのって匿名型使うときだけだから、必要に応じて使う、だとvarはほとんど用無しになっちゃう
戦争に参加するつもりはないが仮にvar使うんなら必要に応じてじゃなく基本varにしないと
戦争に参加するつもりはないが仮にvar使うんなら必要に応じてじゃなく基本varにしないと
198デフォルトの名無しさん (ワッチョイ 6756-2ZNr)
2024/12/11(水) 14:54:27.03ID:9MAiYNgK0 c#は基本varでいいよね
多分大体のc#er?はvarじゃないときにだけ理由を気にするんじゃないかな
多分大体のc#er?はvarじゃないときにだけ理由を気にするんじゃないかな
199デフォルトの名無しさん (オイコラミネオ MMab-InQL)
2024/12/11(水) 18:36:49.06ID:SiVbJLlPM 初期に頭のいい人は一番先に varに飛び移った
その後みんな気が付いて移行した
今でも使わないのはご老人
その後みんな気が付いて移行した
今でも使わないのはご老人
200デフォルトの名無しさん (ワッチョイ 475a-NyP9)
2024/12/11(水) 19:15:48.68ID:Rq12mde/0 varばかりやわ
201デフォルトの名無しさん (ワッチョイ 7f2a-7Ydj)
2024/12/11(水) 20:38:24.59ID:pwnGkEKD0 VBのVariant最強
202デフォルトの名無しさん (オイコラミネオ MMab-InQL)
2024/12/11(水) 20:41:39.44ID:SiVbJLlPM それはないかなw
203デフォルトの名無しさん (ワッチョイ 476d-Ahcx)
2024/12/11(水) 23:21:13.31ID:uq+uLBFl0 インターフェース分離の原則が分からない
「必要のない振る舞いを実装しない」のは適切だと思うんだけど、ポリモーフィズムとの組み合わせが悪いように思う
interface IBird { string Name { get; } }
interface IFlyable { void Fly(); }
// ペンギンは飛べないので IFlyableを実装しない
class Pengin : IBird { ... }
class Eagle : IBird, IFlyable { ... }
のようにした場合に、プログラムが List<IBird> birds のような形でデータを持つと、「飛べる鳥がいる」という情報が型から消える
foreach (IBird bird in birds) {
Console.write(bird.Name);
if (bird is IFlyable flyable) {
flyable.Fly();
}
}
「飛べる鳥なら飛ばす」ようにしたい場合、インターフェースを分離する場合だと上記のように is でキャストするしか無さそう?
IBirdで扱っているのに「インスタンスは IFlyable である可能性がある」という情報に依存してるのに少し違和感があって、より綺麗な解決策があれば知りたい
「必要のない振る舞いを実装しない」のは適切だと思うんだけど、ポリモーフィズムとの組み合わせが悪いように思う
interface IBird { string Name { get; } }
interface IFlyable { void Fly(); }
// ペンギンは飛べないので IFlyableを実装しない
class Pengin : IBird { ... }
class Eagle : IBird, IFlyable { ... }
のようにした場合に、プログラムが List<IBird> birds のような形でデータを持つと、「飛べる鳥がいる」という情報が型から消える
foreach (IBird bird in birds) {
Console.write(bird.Name);
if (bird is IFlyable flyable) {
flyable.Fly();
}
}
「飛べる鳥なら飛ばす」ようにしたい場合、インターフェースを分離する場合だと上記のように is でキャストするしか無さそう?
IBirdで扱っているのに「インスタンスは IFlyable である可能性がある」という情報に依存してるのに少し違和感があって、より綺麗な解決策があれば知りたい
204デフォルトの名無しさん (ワッチョイ e701-5/pq)
2024/12/12(木) 00:16:45.29ID:7oNgfo0K0 c#スレですよ
205デフォルトの名無しさん (ワッチョイ 47d7-InQL)
2024/12/12(木) 08:54:59.88ID:ZQ0BgCqv0 そこを別々のインターフェースとして分離するのが間違ってるだでは
飛べる飛べないも”鳥”の一要素でしょ
飛べる飛べないも”鳥”の一要素でしょ
206デフォルトの名無しさん (ワッチョイ df2b-2fXw)
2024/12/12(木) 08:59:12.98ID:cbjQHW3y0 プロパティで持てば解決
207デフォルトの名無しさん (ワッチョイ 476d-Ahcx)
2024/12/12(木) 09:20:56.04ID:m/Fq7DtI0 >>206
Nullableな IFrayable? をプロパティとして持たせて、飛ぶ鳥の場合はthisを返すようにするということ?
Nullableな IFrayable? をプロパティとして持たせて、飛ぶ鳥の場合はthisを返すようにするということ?
208デフォルトの名無しさん (ワッチョイ 47d7-InQL)
2024/12/12(木) 09:43:51.10ID:ZQ0BgCqv0 そこだけのインターフェース化に拘るなって言ってんだよ
209デフォルトの名無しさん (ワッチョイ 476d-Ahcx)
2024/12/12(木) 10:34:43.14ID:m/Fq7DtI0 鳥とペンギンだと近すぎて例えとして微妙だった
例えば「動物のリスト」のようなデータを持ち、動物には鳥のように飛べるクラス (Flyメソッドを持つ) と、トラやライオンのように走るクラス (Runメソッドを持つ) があるといった場合
動物の一覧を持つには List<IAnimal> のような型を使うと思うけど、これは合ってるよね?
その上で動物によって違うアクションを行わせたいとする
IAnimal側に CanFly のようなメソッドを追加していくと、例えばサルのように「道具を使う動物」が後から追加された場合、IAnimalにメソッド追加が必要になり、それはBirdなどの各クラスにも影響する
Birdクラスは「道具を使う」なんてことは知らないのに、インターフェースのために CanUseTool のようなメソッドを後から追加するのは違う気がする
そうするとやっぱインターフェース分離の形になりそうで、そうなると利用側で is でキャストするのが落としどころなのかと
例えば「動物のリスト」のようなデータを持ち、動物には鳥のように飛べるクラス (Flyメソッドを持つ) と、トラやライオンのように走るクラス (Runメソッドを持つ) があるといった場合
動物の一覧を持つには List<IAnimal> のような型を使うと思うけど、これは合ってるよね?
その上で動物によって違うアクションを行わせたいとする
IAnimal側に CanFly のようなメソッドを追加していくと、例えばサルのように「道具を使う動物」が後から追加された場合、IAnimalにメソッド追加が必要になり、それはBirdなどの各クラスにも影響する
Birdクラスは「道具を使う」なんてことは知らないのに、インターフェースのために CanUseTool のようなメソッドを後から追加するのは違う気がする
そうするとやっぱインターフェース分離の形になりそうで、そうなると利用側で is でキャストするのが落としどころなのかと
210デフォルトの名無しさん (ワッチョイ 47d7-InQL)
2024/12/12(木) 13:06:06.44ID:ZQ0BgCqv0 鳥以外にも飛ぶ(正確には滑空だが滞空することに変わりはない)動物は居るし
鳥だって地面をRunするヤツは居る
鳥にも、猿程でなくてもその辺に落ちてる物を道具的に使うヤツも居る
お前の例題がそもそもめちゃくちゃなんだよ
鳥だって地面をRunするヤツは居る
鳥にも、猿程でなくてもその辺に落ちてる物を道具的に使うヤツも居る
お前の例題がそもそもめちゃくちゃなんだよ
211デフォルトの名無しさん (ワッチョイ 47d7-InQL)
2024/12/12(木) 13:06:59.82ID:ZQ0BgCqv0 あといい加減余所でやれ
C#直接関係ない
C#直接関係ない
212デフォルトの名無しさん (ワッチョイ 4793-Ahcx)
2024/12/12(木) 17:51:32.06ID:pRQ+cocj0 ここの住人はC#を使っていてSOLID原則に悩まされたことなど無いのだろうか
213デフォルトの名無しさん (ガックシ 06eb-7Ydj)
2024/12/12(木) 18:08:37.64ID:A8Z2cdQL6 >>203
ある動物が飛べることと、鳥であることは独立なんだから、
「飛べる鳥がいる」という情報はなくても仕方なくない?
統計的な相関関係はあるかもしれないが、包含関係でないなら仕方ない。
飛べる他の動物を無視するのなら、IBirdを継承したインタフェースでIFlyableBirdを作ればいいのでは?
ある動物が飛べることと、鳥であることは独立なんだから、
「飛べる鳥がいる」という情報はなくても仕方なくない?
統計的な相関関係はあるかもしれないが、包含関係でないなら仕方ない。
飛べる他の動物を無視するのなら、IBirdを継承したインタフェースでIFlyableBirdを作ればいいのでは?
214デフォルトの名無しさん (ワッチョイ 474b-Ahcx)
2024/12/12(木) 18:40:52.28ID:m/Fq7DtI0 ISP自体はC#でよく出てくる問題じゃないの?
これなんかまさにそう
https://dev.to/fabriziobagala/interface-segregation-principle-452m
だけどこういった解説はISP単体の説明になっていて、泳ぐ、走るといった能力の異なるものを Animal として抽象化する方法を教えてくれない
綺麗な方法でなくても「C#ではこうすることが多い」のようなプラクティスがあれば知りたかったんだけど、そういうのは無さそうなんですかね
これなんかまさにそう
https://dev.to/fabriziobagala/interface-segregation-principle-452m
だけどこういった解説はISP単体の説明になっていて、泳ぐ、走るといった能力の異なるものを Animal として抽象化する方法を教えてくれない
綺麗な方法でなくても「C#ではこうすることが多い」のようなプラクティスがあれば知りたかったんだけど、そういうのは無さそうなんですかね
215デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/12(木) 19:18:32.74ID:j5Bpxje00 実装を伴わない抽象化の話ってなんの身にもならないからやめなさい
それとインターネットサービスプロバイダの話は他所でやってくれ
それとインターネットサービスプロバイダの話は他所でやってくれ
216デフォルトの名無しさん (ワッチョイ 7f10-InQL)
2024/12/12(木) 19:18:50.89ID:F/GYmEjD0 求めてそうなプラクティスは見た事ないなぁ
個人的には、飛ぶにしても走るにしても動物という存在の態様のひとつだから
動物IFのプロパティに含めるでいいんじゃないかと思うけどね
個人的には、飛ぶにしても走るにしても動物という存在の態様のひとつだから
動物IFのプロパティに含めるでいいんじゃないかと思うけどね
217デフォルトの名無しさん (ワッチョイ 7f95-AGOF)
2024/12/12(木) 19:36:28.62ID:uARXvv9l0 var unko = new Unko()
より
Unko unko = new()
の方が良くね?
より
Unko unko = new()
の方が良くね?
218デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/12(木) 19:46:48.91ID:j5Bpxje00 もっと地球規模の視野で考えろよ
うんこも地球の一部だろ?つまりうんこは地球とも言える
わかるか?
うんこも地球の一部だろ?つまりうんこは地球とも言える
わかるか?
219デフォルトの名無しさん (ワッチョイ 7f10-InQL)
2024/12/12(木) 19:55:04.36ID:F/GYmEjD0 >>217
まぁ、後者ができるようになったの後になってからだから
まぁ、後者ができるようになったの後になってからだから
220デフォルトの名無しさん (ワッチョイ bf01-aPXN)
2024/12/12(木) 22:38:48.07ID:VQmaeBIU0 >>214
それISP単体の説明にもなってない
class Penguin : IAnimalにNotImplementedExceptionでFly()を実装すれば即ISP違反だというのは間違い
まずは原典にあたってISPを理解してきたほうがいい
謳われてる原則をどう活用するかはその後
それISP単体の説明にもなってない
class Penguin : IAnimalにNotImplementedExceptionでFly()を実装すれば即ISP違反だというのは間違い
まずは原典にあたってISPを理解してきたほうがいい
謳われてる原則をどう活用するかはその後
221デフォルトの名無しさん (ワッチョイ df2b-2fXw)
2024/12/12(木) 22:49:28.08ID:cbjQHW3y0 そもそも
そんな鳥のプログラムなんか一般的じゃねーし
そんな鳥のプログラムなんか一般的じゃねーし
222デフォルトの名無しさん (ワッチョイ 474b-Ahcx)
2024/12/12(木) 22:59:54.30ID:m/Fq7DtI0 >>220
「クライアントが『泳ぐ、飛ぶ、もしくは走る動物』として使うことを想定するのなら、そのインターフェースであるIAnimalにその情報を含めるのは適切」ということですかね
class Penguin としては Fly や Run などのメソッドの実装はノイズに思えるけど、IAnimalとして使われるなら、その契約に従えという感じかな
(それだと後から「道具を使う」がIAnimalに追加された際に Penguine もメソッド追加が必要で、そこがモヤモヤしてる)
こういう場合にアダプタ (ラッパー?) を使うのって適切?
純粋に Penguine としての機能を提供するクラスと、それを IAnimal として使うためのアダプタみたいなの
それだと更に複雑さを増すだけ?
OOP難しい……
「クライアントが『泳ぐ、飛ぶ、もしくは走る動物』として使うことを想定するのなら、そのインターフェースであるIAnimalにその情報を含めるのは適切」ということですかね
class Penguin としては Fly や Run などのメソッドの実装はノイズに思えるけど、IAnimalとして使われるなら、その契約に従えという感じかな
(それだと後から「道具を使う」がIAnimalに追加された際に Penguine もメソッド追加が必要で、そこがモヤモヤしてる)
こういう場合にアダプタ (ラッパー?) を使うのって適切?
純粋に Penguine としての機能を提供するクラスと、それを IAnimal として使うためのアダプタみたいなの
それだと更に複雑さを増すだけ?
OOP難しい……
223デフォルトの名無しさん (ワッチョイ df2b-2fXw)
2024/12/12(木) 23:02:07.06ID:cbjQHW3y0 適切とか
とりあえず作ればよくね?
適切かどうかなんてエグゼにしたら関係なくね?
それとも論点だけ考えて実際のプログラム作らないの?
それ何したいの
とりあえず作ればよくね?
適切かどうかなんてエグゼにしたら関係なくね?
それとも論点だけ考えて実際のプログラム作らないの?
それ何したいの
224デフォルトの名無しさん (ワッチョイ df6a-B4jd)
2024/12/12(木) 23:31:52.39ID:RbZTiiBk0 例が不適切だから混乱してるだけにしか見えないなぁ
225デフォルトの名無しさん (ワッチョイ ff70-Ahcx)
2024/12/12(木) 23:50:28.74ID:cAk5An+50 SOLIDが現実のコードで使われなかったり、「オブジェクト指向は問題を複雑にするだけ」みたいなことを言われる原因
226デフォルトの名無しさん (ワッチョイ 6714-oAsD)
2024/12/13(金) 01:16:53.76ID:sFncMVeV0 >>203
インターフェース分離の原則は「クラスが必要としないメソッドを実装しない」ってだけ
ペンギンのような飛べない鳥が IFlyable を実装しないのは正しい
あとは「飛べる鳥」をインターフェースで分かるようにしてやればいい
isを使う羽目になったのは飛べるかどうかわからない IBirdをListにしてるから
---
interface IBird { string Name { get; } }
interface IFlyable : IBird { void Fly(); }
// ペンギンは飛べない
class Penguin : IBird {
public string Name => "Penguin";
}
// ワシは飛べる
class Eagle : IFlyable {
public string Name => "Eagle";
public void Fly() => Console.WriteLine($"{Name} is flying!");
}
// 飛べる鳥だけを扱うリストを作る
List<IFlyable> flyableBirds = new List<IFlyable> { new Eagle() };
foreach (var bird in flyableBirds) {
bird.Fly(); // 明示的に飛べる鳥しか扱わない
}
インターフェース分離の原則は「クラスが必要としないメソッドを実装しない」ってだけ
ペンギンのような飛べない鳥が IFlyable を実装しないのは正しい
あとは「飛べる鳥」をインターフェースで分かるようにしてやればいい
isを使う羽目になったのは飛べるかどうかわからない IBirdをListにしてるから
---
interface IBird { string Name { get; } }
interface IFlyable : IBird { void Fly(); }
// ペンギンは飛べない
class Penguin : IBird {
public string Name => "Penguin";
}
// ワシは飛べる
class Eagle : IFlyable {
public string Name => "Eagle";
public void Fly() => Console.WriteLine($"{Name} is flying!");
}
// 飛べる鳥だけを扱うリストを作る
List<IFlyable> flyableBirds = new List<IFlyable> { new Eagle() };
foreach (var bird in flyableBirds) {
bird.Fly(); // 明示的に飛べる鳥しか扱わない
}
227デフォルトの名無しさん (ワッチョイ e701-5/pq)
2024/12/13(金) 01:54:21.75ID:aJRVKPMX0 こいつら病気なんか
228デフォルトの名無しさん (ワッチョイ df2b-2fXw)
2024/12/13(金) 01:55:37.37ID:0Vp4NoOf0 だね
229デフォルトの名無しさん (ワッチョイ 7f10-InQL)
2024/12/13(金) 06:18:42.75ID:ooVm180t0 SOLIDにしても所詮理想論であって現場に即してるわけじゃないしなぁ
230デフォルトの名無しさん (ブーイモ MMff-RQnm)
2024/12/13(金) 07:39:08.04ID:WeveN3pQM せやな
231デフォルトの名無しさん (ワッチョイ 27a0-tB0+)
2024/12/13(金) 17:30:15.58ID:LAtQrsJV0 サイコパスの脳の違いを発見。一般の人に比べ線条体が大きいことが判明
karapaia.com/archives/52313287.html
karapaia.com/archives/52313287.html
232デフォルトの名無しさん (スププ Sdff-AHQg)
2024/12/13(金) 20:28:57.37ID:DLDRNjlrd 関数型がいいんだね!
233デフォルトの名無しさん (ワッチョイ 7f6e-VwYf)
2024/12/14(土) 09:23:37.03ID:9hmM95L70 後から増えた「道具を使う」には何かいい感じにデフォルト実装つけとけば既存のクラスには影響しないんじゃない
234デフォルトの名無しさん (ワッチョイ bfe7-AHQg)
2024/12/14(土) 12:26:32.43ID:vNNE6Utb0 それを派生というのでは?
235デフォルトの名無しさん (ワッチョイ 4783-Ahcx)
2024/12/14(土) 12:52:03.62ID:/3oGIJ400 C# 8 からはインターフェースのデフォルト実装が使える
236デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/14(土) 14:27:07.29ID:TQJHLK8K0 Win10や11のOS付属のpowershell5.1でインラインで書けるC#ってバージョンちょっと古くね
できれば新しいRoslynのC#をpowershellから使いたいのだが
なんか昔の記事しか見つからん
できれば新しいRoslynのC#をpowershellから使いたいのだが
なんか昔の記事しか見つからん
237デフォルトの名無しさん (ワッチョイ bf19-xj7L)
2024/12/14(土) 15:05:36.28ID:uE892PPx0 どうせ別に入れる必要があるならPowerShell 7入れれば良くね
238デフォルトの名無しさん (ワッチョイ a78e-4Hmg)
2024/12/14(土) 16:09:38.02ID:SXm2TFHi0 >>236
起動時に出て来るメッセージすら読めないのか
起動時に出て来るメッセージすら読めないのか
239デフォルトの名無しさん (ワッチョイ 2679-qWVo)
2024/12/15(日) 03:52:31.32ID:c6iml+qS0 >>238
お前はこれでも読んどけ
https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.4
Roslyn単体で使うだけならビルドツール拾ってくるだけだが
Powershell上げるとなると仕様も大幅に変わってたりして無理だし俺が出した要件の解にもなってない
お前はこれでも読んどけ
https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.4
Roslyn単体で使うだけならビルドツール拾ってくるだけだが
Powershell上げるとなると仕様も大幅に変わってたりして無理だし俺が出した要件の解にもなってない
240デフォルトの名無しさん (ワッチョイ db8e-Dyog)
2024/12/15(日) 04:43:36.26ID:OuaeEhke0 >>239
馬鹿が必死に調べただけの浅い知識で言い訳してる
馬鹿が必死に調べただけの浅い知識で言い訳してる
241デフォルトの名無しさん (オイコラミネオ MM8f-Xxs2)
2024/12/15(日) 09:22:53.93ID:6s9C3wLNM 今のところ互換性の為に残してあるんだろう
それを変えちゃうと問題が起こる可能性があるしMS側のメンテがめんどうなので
変えたい人は7とセットで入れろということなんだろう
それを変えちゃうと問題が起こる可能性があるしMS側のメンテがめんどうなので
変えたい人は7とセットで入れろということなんだろう
242デフォルトの名無しさん (ワッチョイ fa12-/DxF)
2024/12/15(日) 13:32:12.27ID:1H80RXIX0243デフォルトの名無しさん (ワッチョイ fb50-Nme3)
2024/12/16(月) 00:02:44.03ID:jraeIOUM0 PowerShellは完全に袋小路だからもう諦めた方がいい
6以降は事実上Azure専用
6以降は事実上Azure専用
244デフォルトの名無しさん (ワッチョイ db8e-Dyog)
2024/12/16(月) 03:32:32.19ID:B9vFRMjT0245デフォルトの名無しさん (ワッチョイ 7e90-3k2I)
2024/12/16(月) 04:36:14.08ID:M2IkaScH0 なんで作っては捨ててくスタイルなんかなMicrosoftは
246デフォルトの名無しさん (ワッチョイ 4a2b-bCeE)
2024/12/16(月) 06:57:26.47ID:xj9X4IbW0 作ってないやろ
買収してるだけ
買収してるだけ
247デフォルトの名無しさん (ワッチョイ be10-Xxs2)
2024/12/16(月) 08:17:45.85ID:d6I1DTY60 PSはMSが作ってるが
248デフォルトの名無しさん (ワッチョイ 0bff-iztn)
2024/12/16(月) 09:42:40.38ID:WomMb93i0 Windowsに標準搭載されてる.NET Frameworkと今の.NETの時点で互換性ないのに
なんで.NETアプリであるPowerShellが叩かれるのか
なんで.NETアプリであるPowerShellが叩かれるのか
249デフォルトの名無しさん (ワッチョイ 0fd7-Xxs2)
2024/12/16(月) 12:31:10.08ID:zYOmJNRT0 標準搭載されてるPowerShellは.NETアプリじゃなくて.NET Frameworkアプリだからね
250デフォルトの名無しさん (ワッチョイ 2344-/DxF)
2024/12/16(月) 13:18:44.44ID:ZxGHnTET0251デフォルトの名無しさん (スププ Sd8a-omYb)
2024/12/16(月) 13:27:42.05ID:HTBCdLEid frameworkってなんでまだ存在するの?
252デフォルトの名無しさん (ワッチョイ be10-Xxs2)
2024/12/16(月) 15:54:22.92ID:d6I1DTY60 .NETがFrameworkと互換性無くて捨てられないから
253デフォルトの名無しさん (スププ Sd8a-omYb)
2024/12/16(月) 19:05:15.35ID:HTBCdLEid 互換性ないってことは、.NETとframeworkの2つのアプリを動かしたら、GCもそれぞれで動き始めるの?
254デフォルトの名無しさん (ブーイモ MM8a-1w4P)
2024/12/16(月) 21:44:01.92ID:dTKITl7UM >>253
GCはアプリ(プロセス)毎じゃないの
GCはアプリ(プロセス)毎じゃないの
255デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/19(木) 20:41:55.41ID:KU+lpcLj0 PowerShellはWindowsにシステムワイドにインストールされた .NET Framework が存在するという前提で成立していたのに、
.NETでは.NET自体をアプリにバンドルするか、必要に応じて特定のバージョンを追加で入れるかになって完全に破綻しちゃったんだよね
一般的な.NETアプリならバンドルは可搬性が向上するから好ましいことだけど、
PowerShellの場合はシステムワイドにインストールされたいろんなモジュールと連携しなきゃいけないから.NETバンドルはありえない
完全に詰んでる
.NETでは.NET自体をアプリにバンドルするか、必要に応じて特定のバージョンを追加で入れるかになって完全に破綻しちゃったんだよね
一般的な.NETアプリならバンドルは可搬性が向上するから好ましいことだけど、
PowerShellの場合はシステムワイドにインストールされたいろんなモジュールと連携しなきゃいけないから.NETバンドルはありえない
完全に詰んでる
256デフォルトの名無しさん (ワッチョイ 0fd7-Xxs2)
2024/12/20(金) 08:54:32.70ID:6dsqio680 だからPowerShell Coreは標準装備じゃなくて追加装備
257デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/20(金) 10:14:37.03ID:PANCPXf30 Windowsにそもそも入ってないなら追加インストールでいいんだけどね。問題は5が入っていること。
それによって「なぜ元々入っているのにわざわざ追加するのか」という当然の疑問を解消するコストが生じる。
開発者の好みだけでサポート期間も互換性も劣るゲテモノをゴリ押しするのは極めて困難だし、
そもそもPS書いて飯食ってるタイプのエンジニアでは最新に拘る人はそもそも少ないだろうね
それによって「なぜ元々入っているのにわざわざ追加するのか」という当然の疑問を解消するコストが生じる。
開発者の好みだけでサポート期間も互換性も劣るゲテモノをゴリ押しするのは極めて困難だし、
そもそもPS書いて飯食ってるタイプのエンジニアでは最新に拘る人はそもそも少ないだろうね
258デフォルトの名無しさん (ワッチョイ 4a2b-bCeE)
2024/12/20(金) 13:01:10.12ID:9RxE8mFw0 はいそろそろC#の話題でよろ
259デフォルトの名無しさん (ワッチョイ eb78-RqoG)
2024/12/20(金) 15:29:33.49ID:raronLtC0 JAIST、「並行量子通信プロトコル」の完全な自動形式検証を実現
http://news.mynavi.jp/techplus/article/20241220-3090485/
http://news.mynavi.jp/techplus/article/20241220-3090485/
260デフォルトの名無しさん (ワッチョイ 3365-/DxF)
2024/12/20(金) 17:50:29.82ID:0SGDMmeR0 >>258
なんかある?
なんかある?
261デフォルトの名無しさん (ワッチョイ 6a79-qWVo)
2024/12/20(金) 20:02:54.65ID:7538eGNC0 またペンギンやら飛べない鳥だとかの話がしたいのかい?
それともPowshellの付属物の話がしたいのかい?
どっちなんだい?
それともPowshellの付属物の話がしたいのかい?
どっちなんだい?
262デフォルトの名無しさん (アウアウエー Sae2-N2kD)
2024/12/21(土) 10:56:38.14ID:bIHzWCsda >>257
>それによって「なぜ元々入っているのにわざわざ追加するのか」という当然の疑問を解消するコストが生じる。
>開発者の好みだけでサポート期間も互換性も劣るゲテモノをゴリ押しするのは極めて困難だし、
ほんそれ
5が全部入りにしておくのが正解だっただろうな
>それによって「なぜ元々入っているのにわざわざ追加するのか」という当然の疑問を解消するコストが生じる。
>開発者の好みだけでサポート期間も互換性も劣るゲテモノをゴリ押しするのは極めて困難だし、
ほんそれ
5が全部入りにしておくのが正解だっただろうな
263デフォルトの名無しさん (オイコラミネオ MM8f-Xxs2)
2024/12/21(土) 11:18:40.67ID:gj7hxYFQM PS for sysetmみたいなのを最小セットで入れておけば良かった
264デフォルトの名無しさん (ワッチョイ be10-Xxs2)
2024/12/21(土) 11:42:21.51ID:4NNdAFL10 終わらないPS談義
265デフォルトの名無しさん (ワッチョイ 8f5d-/DxF)
2024/12/21(土) 17:53:08.76ID:BdmznDtW0266デフォルトの名無しさん (ワッチョイ be10-Xxs2)
2024/12/21(土) 18:15:03.35ID:4NNdAFL10 いや知らんがw
俺がC#の話題にしろ言うたわけじゃないしw
俺がC#の話題にしろ言うたわけじゃないしw
267デフォルトの名無しさん (ワッチョイ 177d-N2O4)
2024/12/21(土) 21:57:55.88ID:i5j/m89y0 今関わってるプロジェクトがスペース2つでインデントしててちょっと面食らってしまったんだけどこれ珍しくないもの?
今まで携わってきた中で一件も遭遇したことなかった
今まで携わってきた中で一件も遭遇したことなかった
268デフォルトの名無しさん (ワッチョイ 6a6a-Pm71)
2024/12/21(土) 22:11:41.26ID:lUhayCnC0 過去に深いネストを大量生産する人がエラくなっちゃって、そういうルールになってしまったんじゃないかと妄想しちゃうなw
269デフォルトの名無しさん (ワッチョイ 8f5d-/DxF)
2024/12/21(土) 23:25:41.77ID:BdmznDtW0 今時スペース2個は珍しいな、C#とかではあんまりない気がする
昔々はどの言語でもタブを使っていいかとか、スペースで代用するなら2個か4個かで論争があったらしい
JSは2個が主流だった気がするけど今はどうだろ
昔々はどの言語でもタブを使っていいかとか、スペースで代用するなら2個か4個かで論争があったらしい
JSは2個が主流だった気がするけど今はどうだろ
270デフォルトの名無しさん (ワッチョイ a301-28Ti)
2024/12/21(土) 23:39:03.76ID:L6mtJxlH0 jsonは2だったり4だったりまちまちだけどね
271デフォルトの名無しさん (ワッチョイ 5f95-EHcm)
2024/12/22(日) 00:09:01.63ID:tw4BvM7X0 タブのが合理的
Goみたいな標準フォーマッタがあるのが理想だけどC#はそう言う文化はないね
Goみたいな標準フォーマッタがあるのが理想だけどC#はそう言う文化はないね
272デフォルトの名無しさん (ワッチョイ df79-0Q8V)
2024/12/22(日) 02:26:26.71ID:/fc7feyD0 俺はスペース2個のが視線移動減って楽だと感じてるからかなり昔から2個派だよ
>>268みたいな日本人特有の右倣えのお仕着せルールに甘んず昔から超効率化してるやつらは世の中に沢山いるんだよ
勉強になったな
>>268みたいな日本人特有の右倣えのお仕着せルールに甘んず昔から超効率化してるやつらは世の中に沢山いるんだよ
勉強になったな
273デフォルトの名無しさん (ワッチョイ 2b28-MhhP)
2024/12/22(日) 03:54:49.07ID:f4R4W69d0 TABに統一してるけど
表示上は半角スペース2から4個で用途で変えてる
表示上は半角スペース2から4個で用途で変えてる
274デフォルトの名無しさん (スププ Sd03-+INx)
2024/12/22(日) 05:02:43.67ID:SvMpALOcd {}は
if(){
}
の方が好き
普通は
if()
{
}
これ?
if(){
}
の方が好き
普通は
if()
{
}
これ?
275デフォルトの名無しさん (ワッチョイ 832b-8NiF)
2024/12/22(日) 05:44:22.67ID:96LlHbpn0 逆、最初の頃は上が大多数
ブログやら初心者講座やらで下の書き方が主流担ってきてる感じ
ブログやら初心者講座やらで下の書き方が主流担ってきてる感じ
276デフォルトの名無しさん (ワッチョイ b310-3P54)
2024/12/22(日) 06:21:31.74ID:I7bhR46i0 スペース2個インデントって言うと、XMLやHTMLを思い浮かべるな
277デフォルトの名無しさん (ワッチョイ 957c-Th9R)
2024/12/22(日) 07:48:19.66ID:dFQQq0VB0278デフォルトの名無しさん (ワッチョイ 957c-Th9R)
2024/12/22(日) 07:50:46.11ID:dFQQq0VB0279デフォルトの名無しさん (ワッチョイ 957c-Th9R)
2024/12/22(日) 07:53:26.28ID:dFQQq0VB0280デフォルトの名無しさん (ワッチョイ 832b-8NiF)
2024/12/22(日) 08:13:40.94ID:96LlHbpn0281デフォルトの名無しさん (ワッチョイ 832b-8NiF)
2024/12/22(日) 08:20:56.74ID:96LlHbpn0 当時、というか関数書くときって
hoge(){
…}
て書くのが一般的やったん
んでDelphiが出てきたらこの{}をBegin…Endで囲むから
hoge()
Begin
…
End
ここらへんはVBやVBAとかにも反映されて
その後C#で出した際にって感じかな
hoge(){
…}
て書くのが一般的やったん
んでDelphiが出てきたらこの{}をBegin…Endで囲むから
hoge()
Begin
…
End
ここらへんはVBやVBAとかにも反映されて
その後C#で出した際にって感じかな
282デフォルトの名無しさん (ワッチョイ 5f95-EHcm)
2024/12/22(日) 09:15:42.08ID:tw4BvM7X0 >>279
タブをインデントで使ってスペースをアライメントで使えば理論上ズレないよ
Goのフォーマッタはこれに従ってるからタブ幅は任意に設定できる
prettierみたいな途中で強制的に折り返すフォーマッタとは相性が悪いけど
タブをインデントで使ってスペースをアライメントで使えば理論上ズレないよ
Goのフォーマッタはこれに従ってるからタブ幅は任意に設定できる
prettierみたいな途中で強制的に折り返すフォーマッタとは相性が悪いけど
283デフォルトの名無しさん (ワッチョイ 5f95-EHcm)
2024/12/22(日) 09:22:40.24ID:tw4BvM7X0 Indent with tabs, align with spaces
https://dmitryfrank.com/articles/indent_with_tabs_align_with_spaces
これね
これが理想だけどエンジニアのレベルが高くないとこのルールを守るのは難しいからスペースにしてるのが大半
ただしGoは強制フォーマッタでこれを解決してる
個人プロジェクトなら最初から好きなタブ幅にすればいいからタブにするメリットもあまりないし
気分でタブ幅変えれるのは結構メリットあるけどね
https://dmitryfrank.com/articles/indent_with_tabs_align_with_spaces
これね
これが理想だけどエンジニアのレベルが高くないとこのルールを守るのは難しいからスペースにしてるのが大半
ただしGoは強制フォーマッタでこれを解決してる
個人プロジェクトなら最初から好きなタブ幅にすればいいからタブにするメリットもあまりないし
気分でタブ幅変えれるのは結構メリットあるけどね
284デフォルトの名無しさん (ワッチョイ b310-3P54)
2024/12/22(日) 09:27:48.67ID:I7bhR46i0 俺はずっと>>274の前者でインデントはタブだなぁ
なおタブの幅はスペース4個分
なおタブの幅はスペース4個分
285デフォルトの名無しさん (ワッチョイ 7b8b-vY+B)
2024/12/22(日) 11:59:15.10ID:US35TJKc0 「自転車置き場の屋根の色」現象発生中
286デフォルトの名無しさん (スッップ Sdaf-3P54)
2024/12/22(日) 13:03:56.05ID:ci/BAnbad この手の話は職場のルールで決まるから個人がどうこうは関係ないよな
ただ自分のツールなんかは好きにしろだが
カッコ、演算子、型と変数の宣言の間の空白などもめる話題はいくらでもある
ただ自分のツールなんかは好きにしろだが
カッコ、演算子、型と変数の宣言の間の空白などもめる話題はいくらでもある
287デフォルトの名無しさん (ワッチョイ 195d-PrDn)
2024/12/22(日) 16:36:51.22ID:J7cuP3Nu0 >>285
「原子力発電所の建設」について議論したいなら付き合うよ、それで議題は?
「原子力発電所の建設」について議論したいなら付き合うよ、それで議題は?
288デフォルトの名無しさん (ワッチョイ 957c-Th9R)
2024/12/22(日) 17:09:33.96ID:dFQQq0VB0 まあreshaperでテーム共有設定使うだけだしな
289デフォルトの名無しさん (ワッチョイ 7b8b-vY+B)
2024/12/22(日) 19:48:07.14ID:US35TJKc0 >>287
では失礼して
Unity製ゲームのMOD開発なんかでリフレクション使いまくるのもなんかスマートじゃないから、
aelij氏のIgnoresAccessChecksToGeneratorを魔改造させてもらってフィールド含めて全パブリック&readonly解除でゲームのコードに全アクセス出来るようになってめっちゃ捗るようになったのだけど、
欲が出て標準ライブラリにも手を出したくなってやってみたらmscorlibなんかはReferenceAssemblyだからプライベートフィールドはそもそもdll内に含まれてないから書き換えられないんだよね。
ランタイム時の実体dllを決め打って渡せばstring.m_firstCharとかList<T>._sizeとかも全てアクセスできるようにはなるんだけど決め打ち渡しもスマートじゃないからどうにか自動で解決をしたい。
ILSpyやmono.cecilにはランタイム時の実体dllを特定するコードあるんだけどbuildアクションから同じ事するのって可能だろうか?
では失礼して
Unity製ゲームのMOD開発なんかでリフレクション使いまくるのもなんかスマートじゃないから、
aelij氏のIgnoresAccessChecksToGeneratorを魔改造させてもらってフィールド含めて全パブリック&readonly解除でゲームのコードに全アクセス出来るようになってめっちゃ捗るようになったのだけど、
欲が出て標準ライブラリにも手を出したくなってやってみたらmscorlibなんかはReferenceAssemblyだからプライベートフィールドはそもそもdll内に含まれてないから書き換えられないんだよね。
ランタイム時の実体dllを決め打って渡せばstring.m_firstCharとかList<T>._sizeとかも全てアクセスできるようにはなるんだけど決め打ち渡しもスマートじゃないからどうにか自動で解決をしたい。
ILSpyやmono.cecilにはランタイム時の実体dllを特定するコードあるんだけどbuildアクションから同じ事するのって可能だろうか?
290デフォルトの名無しさん (ワッチョイ e376-ZNoy)
2024/12/22(日) 19:55:36.15ID:zKZ5mRgv0 はい
291デフォルトの名無しさん (ワッチョイ 7b8b-vY+B)
2024/12/22(日) 20:10:00.61ID:US35TJKc0 へー
なんだかもうゲームよりMOD開発、MOD開発より開発環境開発の方が長くなっちゃってますわ
なんだかもうゲームよりMOD開発、MOD開発より開発環境開発の方が長くなっちゃってますわ
292デフォルトの名無しさん (ワッチョイ 832b-8NiF)
2024/12/22(日) 20:35:36.44ID:96LlHbpn0 だって、ここ
別にゲーム開発やないし
プログラムやで
別にゲーム開発やないし
プログラムやで
293デフォルトの名無しさん (ワントンキン MM33-MooF)
2024/12/22(日) 20:50:51.80ID:F7NwxYJ7M いまだにmonoで簡単にいじられまくりゲームあるのか
294デフォルトの名無しさん (ワッチョイ 0364-PrDn)
2024/12/23(月) 00:10:04.98ID:XKMn6iMr0 >>289
日本語がややこしいけど
①標準ライブラリのPrivate含む全フィールドにリフレクションを使わずにアクセスして書き換えたりしたい
んで、
②実体DLLを決め打ちで渡せばアクセスできるってところまでできてる
あとは
③実体DLL取得を自動化したい
④なおかつビルドプロセスに組み込みたい
ってことか
MOD開発とか知らんけど面白そうじゃん
日本語がややこしいけど
①標準ライブラリのPrivate含む全フィールドにリフレクションを使わずにアクセスして書き換えたりしたい
んで、
②実体DLLを決め打ちで渡せばアクセスできるってところまでできてる
あとは
③実体DLL取得を自動化したい
④なおかつビルドプロセスに組み込みたい
ってことか
MOD開発とか知らんけど面白そうじゃん
295デフォルトの名無しさん (ワッチョイ 0364-PrDn)
2024/12/23(月) 00:36:21.82ID:XKMn6iMr0 いまいち細かい要件がよくわからんけどAppDomain.CurrentDomain.GetAssemblies()で現在ロードされているすべてのアセンブリが取得できるらしいが、これ試した?
駄目だったならどういうところがダメだったのか教えてくれ
駄目だったならどういうところがダメだったのか教えてくれ
296デフォルトの名無しさん (ワッチョイ 7b8b-vY+B)
2024/12/23(月) 17:33:16.62ID:HWay8A+S0 >>295
要するにIgnoresAccessChecksToGeneratorの話でMSBuild内のコードとして動くものだからそれやってもMSBuildがロードしてるものが返されるだけとなる
ILSpyなんかもtypeof(object)などから解決してるので上記の理屈でそのまま移植はできない
要するにIgnoresAccessChecksToGeneratorの話でMSBuild内のコードとして動くものだからそれやってもMSBuildがロードしてるものが返されるだけとなる
ILSpyなんかもtypeof(object)などから解決してるので上記の理屈でそのまま移植はできない
297デフォルトの名無しさん (ワッチョイ 7b8b-vY+B)
2024/12/23(月) 17:42:25.10ID:HWay8A+S0 >>293
マルチメインじゃなくmodフレンドリーなゲームならil2cpp化せずそのまま出してるゲームも普通に多いよ
改変やチート防止のためなら難読化含めてやったところでそこまで難易度上がらないからそれ目的ならRustみたいにカーネルドライバ付けるしかない
マルチメインじゃなくmodフレンドリーなゲームならil2cpp化せずそのまま出してるゲームも普通に多いよ
改変やチート防止のためなら難読化含めてやったところでそこまで難易度上がらないからそれ目的ならRustみたいにカーネルドライバ付けるしかない
298デフォルトの名無しさん (ワッチョイ a374-PrDn)
2024/12/24(火) 18:58:01.04ID:9YLK2p020 個人開発の局所的な用途のマイナーツールの話が原発の建設並の重大事なのか
ちょっと難しすぎてわかんねえな
ちょっと難しすぎてわかんねえな
299デフォルトの名無しさん (ワッチョイ df79-0Q8V)
2024/12/24(火) 19:41:54.52ID:RgkKZ0Pj0 原発ってただの湯沸かし器じゃん
燃料がちょっとヤバイってだけで高尚なC#のプログラムと比較すんなよ
燃料がちょっとヤバイってだけで高尚なC#のプログラムと比較すんなよ
300デフォルトの名無しさん (スッップ Sdaf-3P54)
2024/12/25(水) 08:00:53.24ID:vP0zyznod C#だってただの道具
しかもC#だけじゃお湯も沸かせない
高尚とかちゃんちゃらおかしい
しかもC#だけじゃお湯も沸かせない
高尚とかちゃんちゃらおかしい
301デフォルトの名無しさん (ワッチョイ 57ef-FEgH)
2024/12/25(水) 08:26:32.01ID:ML8x6ihA0 ツールは手段であって目的はアクセシビリティバイパスだから言語レベルのスケールの話な
実際これ求めてる人は少なくないからUnsafeAccessorが実装された訳で
てかリフレクションの方が文字列で指定してる分よっぽど危険だと思うんだけどな
実際これ求めてる人は少なくないからUnsafeAccessorが実装された訳で
てかリフレクションの方が文字列で指定してる分よっぽど危険だと思うんだけどな
302デフォルトの名無しさん (ワッチョイ df79-0Q8V)
2024/12/25(水) 21:07:50.83ID:G9TljzDw0 エロがビデオを進化させてきようにチートがソフトウェアを進化させるんだよ
湯沸かししかできない原発野郎は難しいなら黙ってろ
湯沸かししかできない原発野郎は難しいなら黙ってろ
303デフォルトの名無しさん (ワッチョイ 5761-PrDn)
2024/12/25(水) 21:35:48.64ID:7oEpQVAc0 煽りたいだけのやつが居着いちゃってるのか、このスレ
304デフォルトの名無しさん (ワッチョイ b310-3P54)
2024/12/25(水) 21:39:40.34ID:WXVFxdaX0 いつものことだよあぼーんしときな
305デフォルトの名無しさん (ワッチョイ 832b-8NiF)
2024/12/25(水) 21:44:21.01ID:WWJbrOfz0 だぁ~から
ドーンおじはコテ付けろや
ドーンおじはコテ付けろや
306デフォルトの名無しさん (ワッチョイ 3ec0-m72+)
2025/01/01(水) 16:01:04.94ID:nGCOTvnw0 Enum.IsDefined(enumType, intValue)ってボックス化する?
AIに聞いたら最初は「ボックス化しない」とか言われたんだけど、第2引数がobject型として受け取ることを指摘したら「ボックス化するかもしれません」みたいな曖昧な返答されてよく分からなくなってきた
AIに聞いたら最初は「ボックス化しない」とか言われたんだけど、第2引数がobject型として受け取ることを指摘したら「ボックス化するかもしれません」みたいな曖昧な返答されてよく分からなくなってきた
307デフォルトの名無しさん (ワッチョイ 9a8b-tkBd)
2025/01/01(水) 16:03:34.19ID:zfs+VkVC0 object型ならするよ
.NETのバージョンにもよるけどgeneric版の方が型がコンパイル時解決されるからパフォーマンスは良い
.NETのバージョンにもよるけどgeneric版の方が型がコンパイル時解決されるからパフォーマンスは良い
308デフォルトの名無しさん (ワッチョイ 3ec0-m72+)
2025/01/01(水) 16:07:11.80ID:nGCOTvnw0 だよね ありがとう
309デフォルトの名無しさん (ワッチョイ 3ec0-m72+)
2025/01/01(水) 16:23:43.79ID:nGCOTvnw0 確かにジェネリクスでstruct制約付けたらボックス化回避できそう
ありがとう
public TEnum ConvertToEnum<TStruct, TEnum>(TStruct value)
where TStruct : struct
where TEnum : Enum
{
if (!Enum.IsDefined(typeof(TEnum), value))
throw new ArgumentException();
return Unsafe.As<TStruct, TEnum>(ref value);
}
ありがとう
public TEnum ConvertToEnum<TStruct, TEnum>(TStruct value)
where TStruct : struct
where TEnum : Enum
{
if (!Enum.IsDefined(typeof(TEnum), value))
throw new ArgumentException();
return Unsafe.As<TStruct, TEnum>(ref value);
}
310デフォルトの名無しさん (ワッチョイ 63eb-UqtM)
2025/01/01(水) 22:57:38.89ID:tBHA6FMH0 JetbrainsやILSpyでIL見てboxあるかどうかみればいいんじゃね
レスを投稿する
ニュース
- 【速報】「南海トラフ地震臨時情報・調査終了」気象庁が発表…今回の地震では大規模地震発生の可能性相対的に高まっていないと判定 [お断り★]
- 【芸能】若林志穂 「私に性加害をしたN氏は何故なんのお咎めもないのでしょうか」「このままうやむやにして終わらせない」 [冬月記者★]
- 【芸能】中居正広の被害女性「本当に納得して示談?」 本村弁護士が心配 人気芸人「守秘義務違反で違約金発生は?」と質問★2 [冬月記者★]
- 【新潟】湯沢町のスキー場、東京都港区南青山の女子大生(24)が雪に埋もれ心肺停止…捜しに行った父親がコース脇で発見 [ぐれ★]
- 【芸能】『ワイドナショー』 中居正広問題を報道も、佐々木恭子アナと中居の代理人弁護士欠席… フジテレビに集まる猛批判 [冬月記者★]
- “100人に1人が統合失調症”に 妄想や幻覚…10~30代で多く発症 ★2 [煮卵★]
- いつかまたこの場所へ来ても同じ空を同じ様に見て
- 🏡🌊🌊👊👶👊せい💢せい💢
- ファスト映画・・・めちゃくちゃ再生されてしまう・・・映画みる時間も金もない日本人 [441660812]
- ホロ新春ゲーム祭中やぞ😡😡😡😡😡
- 【悲報】シナへ旅行に行ったZ世代日本人さん、驚愕してしまう… [407474715]
- 【閲覧注意】中居正広さん、とんでもない姿が激写されてしまう… [407474715]