ふらっと C#,C♯,C#(初心者用) Part154

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
垢版 |
2022/02/09(水) 23:13:39.45ID:1A90hyai0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/03/28(月) 16:15:23.65ID:DkKihmtS0
NVIDIA GeForce RTX 3060
FP32 (float) performance 12.74 TFLOPS
FP64 (double) performance 199.0 GFLOPS (1:64)
2022/03/28(月) 19:15:33.23ID:yX/3nbFs0
Intel12世代コアで雑にマルチスレッドプログラム動かしても大丈夫だよね?
下手にEコア引くみたいなことは無いと思うけどさ
2022/03/28(月) 21:00:15.79ID:dJWBHkZn0
AVX-512を有効化して使うことができる石を使っている…だと!?
2022/03/29(火) 08:08:07.07ID:D1mnE0bGa
プログレスバーを継承したコントロールのOnPaintの中で
base.OnPaint();呼んでもバーの部分は描かれないの?
2022/03/29(火) 08:48:22.02ID:xQkhmjZ40
試せばいいじゃん
2022/03/29(火) 10:21:34.64ID:ET94Xefu0
>>340
そもそも OnPaint は呼ばれない
2022/03/29(火) 10:43:15.31ID:2DY4nmItM
>>340
Reference Source見れば分かるけど、そもそもOnPaint実装してない
値が変わったらSendMessageでPBM_SETPOS送ってるだけ
2022/03/29(火) 10:52:49.33ID:MRVYy1310
>>335
それはもうC#とか関係なく特権権限でWin32APIでも利用してマニュアルでやるしかない
MFTの構造とかはググれば多分すぐに見つかるだろう
2022/03/29(火) 22:37:57.81ID:YOHlvasK0
>>328
むしろdecimal以外をつかうなら、それDB側の型が妥当か疑わしいが
346デフォルトの名無しさん (ワッチョイ 655f-FX9+)
垢版 |
2022/03/30(水) 10:44:05.86ID:u/rQAHi50
>>344
WIN32API 含めて検索したら出てきたKernel32.dllのreadfile/writefileの引数にPHYSICALDRIVE指定したらできそう頑張ってみる、ありがとう。
347デフォルトの名無しさん (ワッチョイ 655f-FX9+)
垢版 |
2022/03/30(水) 10:44:38.10ID:u/rQAHi50
したらできそうじゃ無くてできるらしいだった
2022/03/30(水) 12:07:06.02ID:7T4t4X1P0
外部のdll関数にintptr渡して実行する処理(HBitmapにポインタ合わせて投げる)
が複数の上記とは関係ない処理をまたいで有効になっている処理を2,3回繰り返すんですが
メモリリークしてます。
どのようにしたらメモリリーク防げるかおわかりでしたらお教えください。

渡すBitmapとポインタを常に同じメモリ使う様にすれば良い?のかなとは
思うのですがそこらへんのやり方等なにかご存知でしたらご教授くださいm(_ _)m
2022/03/30(水) 12:17:11.87ID:3gh732H7M
ハンドルの解放わすれてるとかでは?
ループでぶん回すとメモリがリニアに増えてく箇所が無いかとか、まず場所を特定しなさい
2022/03/30(水) 14:56:51.43ID:oMfCMBWB0
newしたらdelete
getしたらrelease
mallocしたらfree
openしたらclose

すべてチェックするしかないですな。
むしろなぜ対にしてコードを書かないのか謎。あっC#だからか。
2022/03/30(水) 17:56:20.90ID:nffiieLqa
アンマネージなリソースはガベコレの対象外
2022/03/30(水) 20:34:58.75ID:hQhM7AVja
アンマネージなリソース使うならIDisposableにしてusing内で使う
>>350みたいなのはやってられん
2022/03/30(水) 21:44:16.77ID:oMfCMBWB0
さすがgdbでVSを超える男!!
2022/03/31(木) 10:19:23.23ID:mHRscCZz0
せめてref structだけはデストラクタ書いたらスコープ抜ける所で自動でデストラクタ呼び出ししてもらいたいわ
C++みたいに
まぁC++みたいにコピームーブ禁止にできないから複数回呼ばれちゃうことを考えたらそういう風にはづらいってことなんだろうけど
2022/03/31(木) 10:54:55.91ID:58En6M9E0
ご指摘ありがとうございます。
IntPtrを割り当てたBitmap分のメモリがやはり解放されてないのは特定しました。
gdi32.dllにあるDeleteObjectじゃなきゃ消せないみたいなページ見つけて試してみたら解放されました。お騒がせしましたm(_ _)m
2022/03/31(木) 11:08:50.02ID:evWCXRMT0
>>354
using使えば良いのでは
2022/03/31(木) 11:59:17.51ID:mHRscCZz0
>>356
個人プロジェクトではそうしてるけどそれじゃ他人には公開できないからな
強制usingでもあれば公開できるけど
2022/03/31(木) 12:09:50.08ID:nbMZolC5a
たまにusingはwin32リソース用だってかたくなにその用途以外を否定する奴いるけど別にそんなことないからな
意味ないusingはアホだけど
意味あるusingは恥ずかしくないぞ
2022/03/31(木) 12:24:28.89ID:hS7dFlrlM
SafeHandle使え
2022/03/31(木) 12:43:51.28ID:/3uX6C5lM
Disposeはデストラクタとは違うんだけどな
2022/03/31(木) 12:57:14.51ID:nbMZolC5a
だったらc#のデストラクタ使えばいいw
それだと望み通りの挙動しないからusing使えばって話だろ・・・
2022/03/31(木) 13:22:42.01ID:mHRscCZz0
>>361
だからそうしてるって話たろ
でもデストラクタと違って必ず呼ばれる訳ではないから他人には公開できない
2022/03/31(木) 13:32:55.92ID:nbMZolC5a
using使ってデストラクタって意味じゃないぞ
using使ったらdisposeが必ず動くって意味だろ。dispose持ってるクラス本体の開放は仕方ないがそれ以外ならなんとかなるってこと
2022/03/31(木) 14:26:29.77ID:6RpIJweLM
そもそもref structはいわゆる「所有権の借用」を扱う仕組みだろ
通常、ref structは自身のフィールドに持つref型の値を解放する責任を持たない
リソースの解放をしやすくすることを目的にref structを使うのは本来の目的から逆行しており、明らかに誤用だ
2022/03/31(木) 14:30:13.37ID:evWCXRMT0
使い終わったら解放してね(はぁと

↑この前提がドキュメントに書かれていれば必ず呼ばれるはず
でなきゃバグるだけなのに「必ず呼ばれる訳ではない」というのは辻褄が合わなくない?
2022/03/31(木) 14:44:13.32ID:mHRscCZz0
>>363
C#ってstructにデストラクタ書けないから当たり前やん
2022/03/31(木) 15:02:10.43ID:mHRscCZz0
>>365
そういうスタンスでいいならそもそもマネージドな言語を使う必要すらないな
まぁ実際に個人開発だとUnity関連のツールですらも最近はもうC++で書いちゃう事も多いけど
2022/03/31(木) 15:07:59.31ID:vlNZ1mGnM
>他人には公開できない
このキーワードで時間の無駄だと気付くべきだったわ
2022/03/31(木) 15:16:52.15ID:tugEDnGHd
スコープアウト時点で解決されないのにデストラクタなんて用語使うからおかしくなるんだよ
Finalizeと呼べ
2022/03/31(木) 15:17:20.68ID:evWCXRMT0
>>367
そだねー、バイバイ!
2022/03/31(木) 15:21:05.77ID:f+hSFW0H0
要約するとC#のデストラクタはゴミってことや
実際ゴミだし
2022/03/31(木) 15:58:52.05ID:6NE6xHU80
基本的にC#のデストラクタはよっぽどの理由なない限り触らないかな
Javaみたいに割り切ってメソッドとして呼び出した方が早い気がする
2022/03/31(木) 21:12:01.42ID:EY1WgKK40
>>369
でもデストラクタはもともと単にデストラクトするものでしかないがな。
スコープを外れた時点で呼ばれるものという意味が被されたのはRAIIが提唱されてからではないかな。
2022/04/01(金) 00:26:25.70ID:fCYhyeTu0
Finalizer との使い分けが不明
2022/04/01(金) 00:30:31.21ID:oErDDmhk0
実際、c#のデストラクタって実務でどういうケースで使うんですかね?
2022/04/01(金) 00:44:47.91ID:m4YyG8VP0
>>375
>>294のタイミングで何かを実行したいとき
2022/04/01(金) 02:25:59.87ID:iQ3hg2/90
WebView2って配布サイズがでかいんだけど、
自分のアプリで使ってる機能を含んだファイルだけ抜粋してexeに統合してくれるような機能ってないよね・・・?
2022/04/02(土) 03:46:45.79ID:+agV7laW0
floatとdoubleの関係はVAX-780の仕様が
C言語に反映されて、その名残や
2022/04/02(土) 08:11:14.40ID:XWC+OGmA0
その経緯は詳しくないが、C言語とUNIXの開発マシンはPDP-11で
そもそもVAX/11-780ですよ
2022/04/02(土) 08:19:51.83ID:k7wnX1H/r
>>377
electronもChromiumとnode.js含んでるから配布サイズでかくなるし、そんなもんじゃないの?
2022/04/02(土) 08:44:19.63ID:ofyuLHc/0
>>379
それを言うならVAX-11/780だったり。
382デフォルトの名無しさん (ワッチョイ 03bd-1ea/)
垢版 |
2022/04/04(月) 23:43:06.35ID:TdiahOFG0
ListViewを2つ設置して、ListView1内のリストを選択したらListView2の内容が切り替わる物を作成しました。

ListView1と2の選択状態を維持?というか選択されてるリストはこれです的な事がしたいんですが、何か方法ありますか?ListView2にフォーカスがある状態だと選択項目が薄いグレーでちょっと分かり辛くて。
383デフォルトの名無しさん (ワッチョイ 4b8e-7TU2)
垢版 |
2022/04/05(火) 00:08:08.92ID:zIQxtY/u0
>>382
馬鹿ほど標準のインターフェイスを蔑ろにする法則
2022/04/05(火) 00:55:34.37ID:T5/vxYA/a
バカほどユーザーフレンドリーなUI設計できないからなw

>>382
オーナードロー使って描画
listview ownerdrawでぐぐれ
2022/04/05(火) 08:07:12.88ID:1bIb0zGQ0
>>382
選択中のものを表示するだけならTextBox(+Icon)表示でいいんじゃない?

選択項目が見づらいだけならStyleなりPropertyいじるなりで解決するべき
2022/04/05(火) 12:11:48.60ID:dB7gHOw60
初心者相手に隙あらばマウント取るような性格終わってる奴多いなこのスレ
こりゃ質問したくもなくなるわ
2022/04/05(火) 12:26:01.86ID:+EK3ySaMM
初心者には実現できない要望は冷たく突き放します
2022/04/05(火) 13:30:53.49ID:dB7gHOw60
実現できるどうかはお前が判断することじゃないのでは
2022/04/05(火) 13:41:26.92ID:XOmbbeB50
オーナードローは面倒なだけで難しいわけじゃない
真面目にドキュメント読めるなら初心者でも問題ないよ
2022/04/05(火) 15:02:01.76ID:Ba/bG8iE0
c#の環境が一切入っていないpcでも動くように、.netのフレームワークを埋め込んで?ビルドしてexeにする方法はないですか。
2022/04/05(火) 15:42:50.10ID:dGWAWcOP0
現行の一般向けWindowsなら.NET Framework 4.8が必ず入ってるから特に埋め込む必要もないけど
2022/04/05(火) 16:14:22.72ID:Zafpq7jd0
.net6とかで単体ビルドで作るか、
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。

あとwin7をどうするかだが未だにnet4.5すら入れてないPCだと、
多分他人様のプログラムは入れないことになってるマシンだと思うよ。
2022/04/05(火) 16:29:15.25ID:5kofz9bO0
>>390
.NET5以降だった気がするけど、dotnetの代わりにpublishを使って自己完結型にすればできる
Visual C#だと設定画面のやつでやるみたいだけど
2022/04/05(火) 17:02:06.32ID:XOmbbeB50
大昔にWixってやつでやれたはずだが、今どうなっているのかよく知らん
https://wix-tutorial-ja.github.io/
基本何でも出来るけど割と面倒だった
2022/04/05(火) 18:21:24.03ID:Zafpq7jd0
.net5以降の単体exeにした場合は
実行時には該当のディレクトリではなく別の場所で実行されるので
exe自身の場所(location)を使ったプログラムが
予想外の挙動になりやすいから注意。
2022/04/05(火) 21:45:34.55ID:Ba/bG8iE0
ありがとうございます。普通は入ってるんですね。
試してた環境の方が特異そうなので、大人しくインストールすることにします。
397デフォルトの名無しさん (ワッチョイ 155f-/9eL)
垢版 |
2022/04/05(火) 23:01:55.88ID:mMOq1HVR0
確か自己完結型って100MBとかになるよね
2022/04/05(火) 23:12:36.35ID:UU7U1gGd0
ありとあらゆるdllが吐き出されるからね
2022/04/06(水) 00:12:56.96ID:7u+Qf3S40
使ってる機能によるけど、AOTかけるとめちゃくちゃ小さくなるよ。
https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/docs/using-nativeaot/README.md
2022/04/06(水) 08:39:37.48ID:YEw/T58f0
>>399
これでコンパイルしたら、dotpeekなどでソース見れなくなりますか?
401デフォルトの名無しさん (ワッチョイ 03bd-1ea/)
垢版 |
2022/04/06(水) 21:00:10.84ID:5X0JV1AF0
>>204の者です。無事にdxfできました。ありがとうございました。
そして、改良加えたいです。重なった図形と図形(矩形限定)を外径線だけにしたいです。添付の図形のオレンジの部分の線を無くしたい。
ネットで調べてRectangle.Intersect()で座標点を調べて2次元List配列に重なりグループとして図形座標点を振り分けました。2次元めの要素数が複数あれば重なり図形が存在するといった感じです。

ここから先が考えても全く分かりません。
座標点は左下が0を基準に矩形座標10,10-30,50 (左下点-右上点)の様な感じで横30縦50です。

Intersectの様な便利なコードとかあったりするんですか?
伝わらないかもしれませんが...

https://i.imgur.com/52a9CP5.jpg
2022/04/06(水) 22:20:25.85ID:M9ji/8uj0
外径線というのがよく分からんが(外形線なら引っかかるけど…)
アウトラインが欲しいってことでいいのかな

GDI+ならGraphicsPathとAPI関数を使えば取れるみたいね
https://stackoverflow.com/questions/1592285/outline-a-path-with-gdi-in-net?msclkid=2e7df5e6b5a411ecb360e4889893bf26
GdipWindingModeOutlineした後PathPointsプロパティで頂点座標が取れる

System.Windows.Mediaなら(WPF用だけどそれ以外でも必要なDLLを参照すれば使える)
CombinedGeometryを使えば2つのRectangleGeometryの和集合ジオメトリを作れる
そのアウトラインはGetOutlinedPathGeometry()で取得できて
そのFiguresプロパティから頂点座標が取れる、ちょっと面倒だけど
2022/04/06(水) 22:44:05.00ID:wyNXSO9Z0
>>401
>ここから先が考えても全く分かりません。
ここから先何するつもりなのかが分からんのでは誰もアドバイスしようがないんだが…
重なる2点の座標値は取れてるんだよな?

計算方法が分からんというのであれば、「ゲームプログラミング 当たり判定」とかでググれば初心者用の解説が沢山出てくるよ
2022/04/07(木) 01:47:00.86ID:Y333t//b0
3Dモデル?
はじめに線の色のモデルを描画して
真っ白なモデルをテクスチャに描画して線の分だけ縮小して描画すると結果として枠線に見える
405デフォルトの名無しさん (スプッッ Sd43-1ea/)
垢版 |
2022/04/07(木) 07:04:42.58ID:OS52QiU/d
>>402
外枠?外形ですね。添付されてるサイトの図みたいな感じですね。ありがとうございます。
翻訳しても解読してみます。
2022/04/08(金) 00:38:37.72ID:Fi5aXPbi0
>>392
4.5のDeveloper packはもう公開されてないよ。4.5.1ならまだ生き残ってるけど、サポート切れてからもう6年だからいつ消されてもおかしくない。
2022/04/08(金) 00:40:05.67ID:Fi5aXPbi0
>>399
AoTは逆にデカくなる場合が多い。小さくするのはTrimmingね。
408デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
垢版 |
2022/04/10(日) 17:46:01.40ID:CqPvJwcW0
pointfへdecimal型の値を入れると少数点誤差するのって仕方ないんですかね?繰り上げ、繰り下げするしかないですか?
2022/04/10(日) 18:22:49.60ID:rAitDt050
>>408
(single)float の誤差だからどうしようもないでしょ
https://dobon.net/vb/dotnet/beginner/floatingpointerror.html
小数(浮動小数点数型)の計算が思った結果にならない理由と解決法 Decimal型はいつ使うか?

pointFには表示の時の代入だけにして計算などの参照数値としてdecimal型でキープしたら
2022/04/10(日) 18:59:17.17ID:jzJz8won0
>>408
有効桁数何桁いるのよ?
自分の扱う数値の性質知ってれば、対処も判るでしょ
2022/04/10(日) 21:11:34.73ID:2dAV5eyM0
分数型を自分で作れば3分の1も表現できて完璧さ
2022/04/11(月) 00:20:20.27ID:x2gvkajx0
クラスメンバーはインスタンスメンバーとしてアクセスできないという認識です。
ですが、インスタンスのメソッドからであればクラスメンバーにアクセスできることが分かりました。
これはなぜですか?
2022/04/11(月) 01:33:02.08ID:MA36Pnxj0
あなたがメンバーと呼んでるものはフィールドと呼ぶべき
おそらく int _a;のように宣言したものでしょう

フィールドはインスタンスメンバとしてアクセスは可能。
だけどC#的にフィールドに直接アクセスするのはやめようねってことになってる。
大抵のフィールドはprivate宣言されてるからアクセスできないだけ
2022/04/11(月) 02:14:22.40ID:AXHTI4fJ0
単にHogeクラス内ではHoge.もthis.も省略できるってのを混同してるだけな気がする

class Hoge {
public static readonly int A = 0;
public void Piyo() {
Console.WriteLine(A); // アクセスできる Hoge内ではHoge.は省略できる
Console.WriteLine(Hoge.A); // アクセスできる
Console.WriteLine(this.A); // エラー、アクセスできない
}
}
var obj = new Hoge();
Console.WriteLine(Hoge.A); // アクセスできる
Console.WriteLine(obj.A); // エラー、アクセスできない
2022/04/11(月) 03:50:25.34ID:6OUa/NLdM
412が言いたいのは

class hoge{
private int v;
public hoge(int v){
this.v=v;
}
public void add(hoge n){
this.v+=n.v; //nのprivateなvにアクセスしてる?
}

こういうことか?理由はしらんけど。
2022/04/11(月) 13:41:04.22ID:2IiYezuY0
初心者にありがちな静動の区別がついてないやつじゃないか
public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
public int A; ← これは単なる設計図でしかなく実体ではないのでインスタンスという実体を通さないとアクセスできない
2022/04/11(月) 13:54:40.12ID:Hu2NcYeja
> public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
これが成り立たない(アクセスできない)理由教えてくれって話だろ

そんなもん。そうなってるからって覚えておけばいい。疑問に思うな
2022/04/11(月) 15:57:10.61ID:uofIS0L20
そもそもの意味が分かってないのかな
staticとそうでないメンバーはアクセスの方法がそもそも違うよね
基本的にstaticなメンバー変数使ったりしないけど
良くあるケースはシングルトンでそのインスタンスは1個しか存在しないというケースで
自分のクラスで自分自身のインスタンスをstaticで保存しておくみたいな事はあるけどね
2022/04/11(月) 16:49:53.85ID:2IiYezuY0
>>417
だから「実体じゃなくて単なる設計図だから」って言ってるやろ
2022/04/11(月) 16:51:08.57ID:fsqAayw10
COM+とかのCUnknownクラスの実装とか、親クラスが子クラスの数を知るために親クラスで静的変数でカウントしてる。
QueryInterfaceとかAddRefとかReleaseのあれ。
2022/04/11(月) 23:27:42.68ID:x2gvkajx0
412です
コードを貼ります。
同じiにアクセスするのに、MainメソッドではエラーになりますがTestMethodではコンパイルが通ります。
これはこういうものだと覚えるしかないですか?
すみませんがご教示お願いします。

class Hoge
{
public static int i = 0;

public void TestMethod()
{
Console.WriteLine(i);
}

static void Main(string[] args)
{
var obj = new Hoge();
Console.WriteLine(obj.i); //エラー
obj.TestMethod(); //アクセスOK
}
}
2022/04/11(月) 23:38:14.91ID:M/snaKK00
staticの意味判ってる?
2022/04/12(火) 00:10:31.66ID:ONhvWtwta
理由はあるのかもしれないけど、そういうものと思うしかない
c++だとどっちでもアクセスできるんだけどな
2022/04/12(火) 00:10:46.17ID:K1UtBmdi0
>>421
静的メンバーの本来のアクセス方法は『Hoge.i』なんだけど、
Hogeの中に書いてあるからHogeの部分を省略出来るってだけだよ
2022/04/12(火) 00:20:10.77ID:rqESlhgY0
staticとインスタンスの概念がちゃんと理解できてない気がするなぁ

ところでc#で静的メンバをクラスメンバって呼ぶ?
2022/04/12(火) 00:27:19.27ID:rrWkQMspM
JavaとかVBとかPythonとかobj.iでも
アクセスできる言語のほうが多いよね
2022/04/12(火) 00:37:07.08ID:E/HectKH0
Hogeクラス内からアクセスする時にstatic memberとinstance memberの両方をiのようにアクセスできる。
static memberならHoge.iの省略形。
instance memberならthis.iの省略形。

Hogeクラス内からでもthis.iとは書けない。
2022/04/12(火) 00:41:00.50ID:E/HectKH0
>>425
https://ufcpp.net/study/csharp/oo_static.html
静的メンバー(static member)==クラスメンバー

らしい

クラスメンバーという用語自体使わんから知らんかったが
2022/04/12(火) 00:46:53.41ID:0S3ZFLlI0
省略形を理解していませんでした。
Hoge内のiはHoge.iの省略形なのですね。
ありがとうございました。
2022/04/12(火) 20:27:51.26ID:81T++xV4M
>>425
C#では使わないし言葉
一部のJavaの人が使ってる概念

クラスメソッドと言う言葉があるけどJavaの人たちは
インスタンスについてるんじゃなくてクラスそのものについてるメソッドだからとそう呼んでる

ところがクラスメンバーはタダのメンバーとstaticの場合両方ともあるから意味があいまい
2022/04/12(火) 20:32:46.74ID:81T++xV4M
メンバーはメソッド、フィールド、プロパティ、イベントや演算子とかその他もろもろのクラスの構成部品
2022/04/12(火) 20:47:58.57ID:da5RcI7d0
スタティッククラスメンバーフィールドとヨベ
2022/04/12(火) 20:53:22.08ID:dmzMUrMCa
変数、関数、setget
この三つにしろ。よくわからないカタカナ消えろ
2022/04/12(火) 20:54:31.85ID:6dxddh7K0
>>433
よくわかれよw
435デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
垢版 |
2022/04/12(火) 21:29:01.10ID:xUorz5TJ0
変数名を決める時のルールって決めてます?もしくは今までこう付けたとか何かにメモってたりします?
2022/04/12(火) 21:37:33.60ID:EgjH8LRN0
インスタンスに属するか、鋳型のクラスに属するかだから
静的メンバーでもクラスメンバーでも通じるかなってかんじだが、
静的メンバー系の言い方の方がより正確に伝わりやすいね。

クラスメンバーの言い方ぢとただのグローバル関数との対比でクラスメンバーとかメンバー関数とかいってるのかな?
と思う可能性も大きいから、
前後の話中の文脈に依存するように思う。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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