C#, C♯, C#相談室 Part98

2024/06/29(土) 19:18:41.95ID:NohAfdfx0
!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
2デフォルトの名無しさん (アウアウエー Sa82-viZ1)
垢版 |
2024/07/06(土) 09:45:55.57ID:tDR9EaCva
もう人居ないねここ
2024/07/07(日) 11:10:38.82ID:LxwuJOKK0
C#ってそんな廃れたのか、、、
2024/07/07(日) 13:30:41.60ID:nRN7u0+PM
星の手紙

スターレター
2024/07/19(金) 08:08:33.90ID:8mtfDqm5M
プロパティって、別クラスからprivateなフィールドにアクセスするためのメソッドという理解であってます?
自分のクラス内で完結するのであれば直接フィールドを操作すればいいですよね?
2024/07/19(金) 10:22:26.61ID:rAu+wfGe0
基本的にはそうだけどちょっとした小細工を仕込みたい場合とかにprivateプロパティという選択肢もなくはない
遅延初期化するものとかね(この用途では今はLazy<T>を使うけど)
2024/07/19(金) 10:35:14.12ID:IMeiXUMG0
フィールドのようにアクセス可能なクラスのインターフェースというかAPIを定義するのがプロパティ
中身は他のメソッド呼び出しの場合もあれば他のプロパティを元にした計算だけ行う場合もある

クラスのユーザーがフィールドにアクセスする必要がなく
継承して拡張する際にもフィールドにアクセスする必要がなく
クラス内からのフィールドアクセス時にも常にチェックすべき事前条件がなければ
privateフィールドを単純にラップするプロパティは基本的に不要
2024/07/19(金) 22:05:33.66ID:8mtfDqm5M
ありがとうございます
もう一点聞きたいんですが、プロパティ自体はアンチパターンではないですよね?
ある本にセッターを使うなら別にメソッド用意しろと書いてありました
理由はクラス外からメンバを操作してはいけないのと、値チェックができなくなるからと
これらは別にプロパティでもできるんで(そもそもプロパティはメソッド)、間違ってますよね?
2024/07/19(金) 23:31:48.25ID:QqZ5EOxb0
>>8
>ある本にセッターを使うなら別にメソッド用意しろと書いてありました
状況による
publicなセッターのほうが望ましいケースが稀なのは確か
2024/07/20(土) 16:52:32.64ID:euMlvBLf0
ぞもそもそれc#の本なのか?
なぜタイトルをぼかす
2024/07/22(月) 06:36:28.74ID:NgZAB9xM0
セッターゲッターとか久しぶりに聞いた気がする
2024/07/29(月) 14:46:58.61ID:AZP0hoR90
あれ?.NET CoreだとC++/CLIの1次元array使えない?
2024/07/29(月) 16:17:59.63ID:AZP0hoR90
よくよく考えたらすれ違いだなすまねぇ
2024/08/13(火) 12:58:30.17ID:qhmHbPMW0
実行ファイルのあるフォルダを取得しようとぐぐってためしたらカレントディレクトリを返してくるんだが・・なんか変わった?
2024/08/13(火) 13:03:50.93ID:NwhX+oy+0
取得するコード書いてくれにゃ答えられんよ
あと.NET 5以降なのか.NET Frameworkなのかとか
2024/08/17(土) 11:34:37.81ID:0uZEK+kK0
テキトーな疑問だけ投げて二度と来ない単発荒らしか>>14
2024/08/17(土) 18:26:07.56ID:7ysjw50y0
それもまたよし
2024/08/18(日) 14:40:47.88ID:SsGk7ZLr0
>>16
寂しがり屋なの?
来てほしかったの?
反応がない=同じ現象に出くわした人がここにはいない、ってことだからここにきても意味ないじゃん
もう返事もらってんだよ、それくらい理解できないの?なさけない
2024/08/18(日) 16:52:26.07ID:GtHdHJ0K0
見本のような基地外だな
2024/08/18(日) 19:24:32.75ID:HTF0RcUb0
こいつは「本物」だぁ
2024/08/18(日) 20:39:07.06ID:zJcx09U/M
いつからか
こんな限界集落のマ板なんかに変なの居着いた
2024/08/19(月) 06:26:30.30ID:SGLtwM6z0
ここはム板
2024/08/19(月) 06:31:58.08ID:QkiVzACw0
>>21
マ板の方はご遠慮いただけますでしょうか
2024/08/19(月) 07:35:48.04ID:I+C1rt+hM
ムやったね……
2024/08/23(金) 20:08:18.72ID:NK40bFjG0
コンソールアプリで画面を上側へスクロールしたときに文字が表示されません
Console.BufferHeightで行数を増やしているのに、何故か反映されない
Win10では正常に表示されたのに、Win11では表示されない
2024/08/25(日) 23:22:26.70ID:bGprUffz0
ググっても出ない中々難しめの質問AIにしたらサンプルコードまで答えてくれやがった
正常動作するかは知らんが
仕様諸々精査してできるかどうかの判断を自動でやってくれるのは楽だわ
2024/08/26(月) 00:14:24.04ID:dB7SOU9G0
回答を検証できる質問でないとハマるよ
それっぽい回答来たから鵜呑みにしてたけど後からハルシネーションだったとわかってガックリ来た
付き合い方を考えないと
2024/09/01(日) 11:24:48.74ID:LL2O7mfa0
vscodeで作成してます。.NETではなく.NET Framework用でコンパイルしたいのですがcsprojをいじればいいんですか?イマイチぐぐっても分かりませんでした…
2024/09/01(日) 13:03:18.55ID:Z5xSjoFS0
ターゲットフレームワークを変更する
おそらくNugetの依存関係が壊滅するのでライブラリのバージョン等を頑張って修正
まあ、そのレベルだと素直にVSでプロジェクト作り直した方が確実に早い
2024/09/02(月) 22:54:25.71ID:h77XuHn20
>>29
依存関係とか変更とかまったく分からないのでnet48でプロジェクトを作りました

しかしc#が勝手に最新で作り出すのでなんとかしないと…
2024/09/02(月) 23:05:06.91ID:h77XuHn20
implicitusingを無効にしたらいけました!
coreCLRの開始イベント使ってねーぞみたいな注意が出ますがとりあえず無視します
2024/09/03(火) 07:44:08.63ID:PDmQOkMO0
だからそんなこともわからんレベルなら
普通のVisualStudio IDE使ってテンプレートから作ってもらえ
.NET Core系用と.NET Framework系用でテンプレート別々にあるぞ
2024/09/03(火) 08:49:37.91ID:4PaG9Ni+0
.NET Frameworkで作るのならVS Codeにこだわる意味が分からんな
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って何のためにあるの?
2024/09/03(火) 18:52:22.72ID:tn1VFMYP0
>>35
自由度の高い拡張機能が作成可能とか?
メリットいかせずに「他人と違ったことする俺すげぇ」ってバカのほうが多い気はする
そして拗れてcsc.exeへ。勉強効率も悪くろくなもの作れなくなるバカの末路
ちなみにどっちも初心者スレで「やり方わかりません教えて」みたいな質問者見たことある
37デフォルトの名無しさん (ワッチョイ e7a5-QZ+C)
垢版 |
2024/09/03(火) 20:51:18.41ID:AjfoquOu0
VS CodeはVSがインストール出来ない環境で使うんだよ
2024/09/03(火) 22:16:15.43ID:KfZ8HCC90
maui、xamlとかモリモリ書かないならvscodeで.netは普通にいけると思う。
2024/09/03(火) 22:57:01.51ID:ySKcrG5T0
他のフレワークだとVSCode前提みたいなところがあるから、基本的にコマンド一発でテンプレートやコンフィグ全生成してくれるのが殆どなんだよなー
自分はC#使うのは2〜3割くらいに減ってるから、一旦VSのテンプレートで生成した後にVSCode持ってって作業してる。
別にVSのまま作業しても良いんだけど、他がずっとVSCode使ってるからそのまま殆どなんとなく。
ビルドの設定追い込む時とかはVSに戻って作業する
2024/09/03(火) 23:52:43.04ID:PSfMpKNk0
.NET8に移行しようとしてSystem.Drawing.Commonをnugetで取得して、参照のパッケージのところにもちゃんと入ってるのにビルドするとアセンブリ追加しろやってエラーが出ます
System.Drawing.Commonに限った話じゃないとは思うんですが、nugetしてるはずなのに使えないケースってあります?なんか対処法とかありますかね
nugetのフォルダのsystem.drawing.common.dllを直接追加してみるとエラーが出るし……
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況