!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
ふらっと C#,C♯,C#(初心者用) Part154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
2022/02/09(水) 23:13:39.45ID:1A90hyai0362デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 13:22:42.01ID:mHRscCZz0363デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 13:32:55.92ID:nbMZolC5a using使ってデストラクタって意味じゃないぞ
using使ったらdisposeが必ず動くって意味だろ。dispose持ってるクラス本体の開放は仕方ないがそれ以外ならなんとかなるってこと
using使ったらdisposeが必ず動くって意味だろ。dispose持ってるクラス本体の開放は仕方ないがそれ以外ならなんとかなるってこと
364デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/31(木) 14:26:29.77ID:6RpIJweLM そもそもref structはいわゆる「所有権の借用」を扱う仕組みだろ
通常、ref structは自身のフィールドに持つref型の値を解放する責任を持たない
リソースの解放をしやすくすることを目的にref structを使うのは本来の目的から逆行しており、明らかに誤用だ
通常、ref structは自身のフィールドに持つref型の値を解放する責任を持たない
リソースの解放をしやすくすることを目的にref structを使うのは本来の目的から逆行しており、明らかに誤用だ
365デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 14:30:13.37ID:evWCXRMT0 使い終わったら解放してね(はぁと
↑この前提がドキュメントに書かれていれば必ず呼ばれるはず
でなきゃバグるだけなのに「必ず呼ばれる訳ではない」というのは辻褄が合わなくない?
↑この前提がドキュメントに書かれていれば必ず呼ばれるはず
でなきゃバグるだけなのに「必ず呼ばれる訳ではない」というのは辻褄が合わなくない?
366デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 14:44:13.32ID:mHRscCZz0 >>363
C#ってstructにデストラクタ書けないから当たり前やん
C#ってstructにデストラクタ書けないから当たり前やん
367デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 15:02:10.43ID:mHRscCZz0368デフォルトの名無しさん (ブーイモ MMd5-QNkB)
2022/03/31(木) 15:07:59.31ID:vlNZ1mGnM >他人には公開できない
このキーワードで時間の無駄だと気付くべきだったわ
このキーワードで時間の無駄だと気付くべきだったわ
369デフォルトの名無しさん (スップ Sdb2-JyYd)
2022/03/31(木) 15:16:52.15ID:tugEDnGHd スコープアウト時点で解決されないのにデストラクタなんて用語使うからおかしくなるんだよ
Finalizeと呼べ
Finalizeと呼べ
370デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 15:17:20.68ID:evWCXRMT0 >>367
そだねー、バイバイ!
そだねー、バイバイ!
371デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/31(木) 15:21:05.77ID:f+hSFW0H0 要約するとC#のデストラクタはゴミってことや
実際ゴミだし
実際ゴミだし
372デフォルトの名無しさん (ワッチョイ 6ea7-OgJM)
2022/03/31(木) 15:58:52.05ID:6NE6xHU80 基本的にC#のデストラクタはよっぽどの理由なない限り触らないかな
Javaみたいに割り切ってメソッドとして呼び出した方が早い気がする
Javaみたいに割り切ってメソッドとして呼び出した方が早い気がする
373デフォルトの名無しさん (ワッチョイ 5ecf-+Ivz)
2022/03/31(木) 21:12:01.42ID:EY1WgKK40374デフォルトの名無しさん (ワッチョイ f1ad-j7M0)
2022/04/01(金) 00:26:25.70ID:fCYhyeTu0 Finalizer との使い分けが不明
375デフォルトの名無しさん (ワッチョイ a901-oYu3)
2022/04/01(金) 00:30:31.21ID:oErDDmhk0 実際、c#のデストラクタって実務でどういうケースで使うんですかね?
376デフォルトの名無しさん (ワッチョイ 3179-yByv)
2022/04/01(金) 00:44:47.91ID:m4YyG8VP0377デフォルトの名無しさん (ワッチョイ 8554-r1yM)
2022/04/01(金) 02:25:59.87ID:iQ3hg2/90 WebView2って配布サイズがでかいんだけど、
自分のアプリで使ってる機能を含んだファイルだけ抜粋してexeに統合してくれるような機能ってないよね・・・?
自分のアプリで使ってる機能を含んだファイルだけ抜粋してexeに統合してくれるような機能ってないよね・・・?
378デフォルトの名無しさん (ワッチョイ b501-tYr6)
2022/04/02(土) 03:46:45.79ID:+agV7laW0 floatとdoubleの関係はVAX-780の仕様が
C言語に反映されて、その名残や
C言語に反映されて、その名残や
379デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/02(土) 08:11:14.40ID:XWC+OGmA0 その経緯は詳しくないが、C言語とUNIXの開発マシンはPDP-11で
そもそもVAX/11-780ですよ
そもそもVAX/11-780ですよ
380デフォルトの名無しさん (オッペケ Sr01-PDpb)
2022/04/02(土) 08:19:51.83ID:k7wnX1H/r >>377
electronもChromiumとnode.js含んでるから配布サイズでかくなるし、そんなもんじゃないの?
electronもChromiumとnode.js含んでるから配布サイズでかくなるし、そんなもんじゃないの?
381デフォルトの名無しさん (ワッチョイ 4bcf-fe9w)
2022/04/02(土) 08:44:19.63ID:ofyuLHc/0 >>379
それを言うならVAX-11/780だったり。
それを言うならVAX-11/780だったり。
382デフォルトの名無しさん (ワッチョイ 03bd-1ea/)
2022/04/04(月) 23:43:06.35ID:TdiahOFG0 ListViewを2つ設置して、ListView1内のリストを選択したらListView2の内容が切り替わる物を作成しました。
ListView1と2の選択状態を維持?というか選択されてるリストはこれです的な事がしたいんですが、何か方法ありますか?ListView2にフォーカスがある状態だと選択項目が薄いグレーでちょっと分かり辛くて。
ListView1と2の選択状態を維持?というか選択されてるリストはこれです的な事がしたいんですが、何か方法ありますか?ListView2にフォーカスがある状態だと選択項目が薄いグレーでちょっと分かり辛くて。
383デフォルトの名無しさん (ワッチョイ 4b8e-7TU2)
2022/04/05(火) 00:08:08.92ID:zIQxtY/u0 >>382
馬鹿ほど標準のインターフェイスを蔑ろにする法則
馬鹿ほど標準のインターフェイスを蔑ろにする法則
384デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/05(火) 00:55:34.37ID:T5/vxYA/a385デフォルトの名無しさん (ワッチョイ 55d2-z1p6)
2022/04/05(火) 08:07:12.88ID:1bIb0zGQ0386デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/05(火) 12:11:48.60ID:dB7gHOw60 初心者相手に隙あらばマウント取るような性格終わってる奴多いなこのスレ
こりゃ質問したくもなくなるわ
こりゃ質問したくもなくなるわ
387デフォルトの名無しさん (ラクッペペ MM4b-F4RB)
2022/04/05(火) 12:26:01.86ID:+EK3ySaMM 初心者には実現できない要望は冷たく突き放します
388デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/05(火) 13:30:53.49ID:dB7gHOw60 実現できるどうかはお前が判断することじゃないのでは
389デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/05(火) 13:41:26.92ID:XOmbbeB50 オーナードローは面倒なだけで難しいわけじゃない
真面目にドキュメント読めるなら初心者でも問題ないよ
真面目にドキュメント読めるなら初心者でも問題ないよ
390デフォルトの名無しさん (ワッチョイ 9b68-Sq5D)
2022/04/05(火) 15:02:01.76ID:Ba/bG8iE0 c#の環境が一切入っていないpcでも動くように、.netのフレームワークを埋め込んで?ビルドしてexeにする方法はないですか。
391デフォルトの名無しさん (ワッチョイ 232c-8SQp)
2022/04/05(火) 15:42:50.10ID:dGWAWcOP0 現行の一般向けWindowsなら.NET Framework 4.8が必ず入ってるから特に埋め込む必要もないけど
392デフォルトの名無しさん (ワッチョイ 1b66-eIlS)
2022/04/05(火) 16:14:22.72ID:Zafpq7jd0 .net6とかで単体ビルドで作るか、
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。
あとwin7をどうするかだが未だにnet4.5すら入れてないPCだと、
多分他人様のプログラムは入れないことになってるマシンだと思うよ。
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。
あとwin7をどうするかだが未だにnet4.5すら入れてないPCだと、
多分他人様のプログラムは入れないことになってるマシンだと思うよ。
393デフォルトの名無しさん (ワッチョイ 2ba7-fSZ/)
2022/04/05(火) 16:29:15.25ID:5kofz9bO0394デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/05(火) 17:02:06.32ID:XOmbbeB50395デフォルトの名無しさん (ワッチョイ 1b66-eIlS)
2022/04/05(火) 18:21:24.03ID:Zafpq7jd0 .net5以降の単体exeにした場合は
実行時には該当のディレクトリではなく別の場所で実行されるので
exe自身の場所(location)を使ったプログラムが
予想外の挙動になりやすいから注意。
実行時には該当のディレクトリではなく別の場所で実行されるので
exe自身の場所(location)を使ったプログラムが
予想外の挙動になりやすいから注意。
396デフォルトの名無しさん (ワッチョイ 9b68-Sq5D)
2022/04/05(火) 21:45:34.55ID:Ba/bG8iE0 ありがとうございます。普通は入ってるんですね。
試してた環境の方が特異そうなので、大人しくインストールすることにします。
試してた環境の方が特異そうなので、大人しくインストールすることにします。
397デフォルトの名無しさん (ワッチョイ 155f-/9eL)
2022/04/05(火) 23:01:55.88ID:mMOq1HVR0 確か自己完結型って100MBとかになるよね
398デフォルトの名無しさん (ワッチョイ e501-h8zr)
2022/04/05(火) 23:12:36.35ID:UU7U1gGd0 ありとあらゆるdllが吐き出されるからね
399デフォルトの名無しさん (ワッチョイ 155f-dh/0)
2022/04/06(水) 00:12:56.96ID:7u+Qf3S40 使ってる機能によるけど、AOTかけるとめちゃくちゃ小さくなるよ。
https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/docs/using-nativeaot/README.md
https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/docs/using-nativeaot/README.md
400デフォルトの名無しさん (ワッチョイ cb33-B15a)
2022/04/06(水) 08:39:37.48ID:YEw/T58f0 >>399
これでコンパイルしたら、dotpeekなどでソース見れなくなりますか?
これでコンパイルしたら、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
そして、改良加えたいです。重なった図形と図形(矩形限定)を外径線だけにしたいです。添付の図形のオレンジの部分の線を無くしたい。
ネットで調べてRectangle.Intersect()で座標点を調べて2次元List配列に重なりグループとして図形座標点を振り分けました。2次元めの要素数が複数あれば重なり図形が存在するといった感じです。
ここから先が考えても全く分かりません。
座標点は左下が0を基準に矩形座標10,10-30,50 (左下点-右上点)の様な感じで横30縦50です。
Intersectの様な便利なコードとかあったりするんですか?
伝わらないかもしれませんが...
https://i.imgur.com/52a9CP5.jpg
402デフォルトの名無しさん (ワッチョイ 232c-8SQp)
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プロパティから頂点座標が取れる、ちょっと面倒だけど
アウトラインが欲しいってことでいいのかな
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プロパティから頂点座標が取れる、ちょっと面倒だけど
403デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/06(水) 22:44:05.00ID:wyNXSO9Z0 >>401
>ここから先が考えても全く分かりません。
ここから先何するつもりなのかが分からんのでは誰もアドバイスしようがないんだが…
重なる2点の座標値は取れてるんだよな?
計算方法が分からんというのであれば、「ゲームプログラミング 当たり判定」とかでググれば初心者用の解説が沢山出てくるよ
>ここから先が考えても全く分かりません。
ここから先何するつもりなのかが分からんのでは誰もアドバイスしようがないんだが…
重なる2点の座標値は取れてるんだよな?
計算方法が分からんというのであれば、「ゲームプログラミング 当たり判定」とかでググれば初心者用の解説が沢山出てくるよ
404デフォルトの名無しさん (ワッチョイ 5579-7RFn)
2022/04/07(木) 01:47:00.86ID:Y333t//b0 3Dモデル?
はじめに線の色のモデルを描画して
真っ白なモデルをテクスチャに描画して線の分だけ縮小して描画すると結果として枠線に見える
はじめに線の色のモデルを描画して
真っ白なモデルをテクスチャに描画して線の分だけ縮小して描画すると結果として枠線に見える
405デフォルトの名無しさん (スプッッ Sd43-1ea/)
2022/04/07(木) 07:04:42.58ID:OS52QiU/d406デフォルトの名無しさん (ワッチョイ 23ad-B8Ym)
2022/04/08(金) 00:38:37.72ID:Fi5aXPbi0 >>392
4.5のDeveloper packはもう公開されてないよ。4.5.1ならまだ生き残ってるけど、サポート切れてからもう6年だからいつ消されてもおかしくない。
4.5のDeveloper packはもう公開されてないよ。4.5.1ならまだ生き残ってるけど、サポート切れてからもう6年だからいつ消されてもおかしくない。
407デフォルトの名無しさん (ワッチョイ 23ad-B8Ym)
2022/04/08(金) 00:40:05.67ID:Fi5aXPbi0 >>399
AoTは逆にデカくなる場合が多い。小さくするのはTrimmingね。
AoTは逆にデカくなる場合が多い。小さくするのはTrimmingね。
408デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
2022/04/10(日) 17:46:01.40ID:CqPvJwcW0 pointfへdecimal型の値を入れると少数点誤差するのって仕方ないんですかね?繰り上げ、繰り下げするしかないですか?
409デフォルトの名無しさん (ワッチョイ 067b-L5s4)
2022/04/10(日) 18:22:49.60ID:rAitDt050 >>408
(single)float の誤差だからどうしようもないでしょ
https://dobon.net/vb/dotnet/beginner/floatingpointerror.html
小数(浮動小数点数型)の計算が思った結果にならない理由と解決法 Decimal型はいつ使うか?
pointFには表示の時の代入だけにして計算などの参照数値としてdecimal型でキープしたら
(single)float の誤差だからどうしようもないでしょ
https://dobon.net/vb/dotnet/beginner/floatingpointerror.html
小数(浮動小数点数型)の計算が思った結果にならない理由と解決法 Decimal型はいつ使うか?
pointFには表示の時の代入だけにして計算などの参照数値としてdecimal型でキープしたら
410デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/10(日) 18:59:17.17ID:jzJz8won0411デフォルトの名無しさん (ワッチョイ ef79-fyPK)
2022/04/10(日) 21:11:34.73ID:2dAV5eyM0 分数型を自分で作れば3分の1も表現できて完璧さ
412デフォルトの名無しさん (ワッチョイ 9bc7-wAOu)
2022/04/11(月) 00:20:20.27ID:x2gvkajx0 クラスメンバーはインスタンスメンバーとしてアクセスできないという認識です。
ですが、インスタンスのメソッドからであればクラスメンバーにアクセスできることが分かりました。
これはなぜですか?
ですが、インスタンスのメソッドからであればクラスメンバーにアクセスできることが分かりました。
これはなぜですか?
413デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/11(月) 01:33:02.08ID:MA36Pnxj0 あなたがメンバーと呼んでるものはフィールドと呼ぶべき
おそらく int _a;のように宣言したものでしょう
フィールドはインスタンスメンバとしてアクセスは可能。
だけどC#的にフィールドに直接アクセスするのはやめようねってことになってる。
大抵のフィールドはprivate宣言されてるからアクセスできないだけ
おそらく int _a;のように宣言したものでしょう
フィールドはインスタンスメンバとしてアクセスは可能。
だけどC#的にフィールドに直接アクセスするのはやめようねってことになってる。
大抵のフィールドはprivate宣言されてるからアクセスできないだけ
414デフォルトの名無しさん (ワッチョイ e22c-tEy/)
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); // エラー、アクセスできない
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); // エラー、アクセスできない
415デフォルトの名無しさん (ブーイモ MM3e-Ds6D)
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にアクセスしてる?
}
こういうことか?理由はしらんけど。
class hoge{
private int v;
public hoge(int v){
this.v=v;
}
public void add(hoge n){
this.v+=n.v; //nのprivateなvにアクセスしてる?
}
こういうことか?理由はしらんけど。
416デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/11(月) 13:41:04.22ID:2IiYezuY0 初心者にありがちな静動の区別がついてないやつじゃないか
public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
public int A; ← これは単なる設計図でしかなく実体ではないのでインスタンスという実体を通さないとアクセスできない
public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
public int A; ← これは単なる設計図でしかなく実体ではないのでインスタンスという実体を通さないとアクセスできない
417デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/11(月) 13:54:40.12ID:Hu2NcYeja > public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
これが成り立たない(アクセスできない)理由教えてくれって話だろ
そんなもん。そうなってるからって覚えておけばいい。疑問に思うな
これが成り立たない(アクセスできない)理由教えてくれって話だろ
そんなもん。そうなってるからって覚えておけばいい。疑問に思うな
418デフォルトの名無しさん (ワッチョイ 227c-EhK1)
2022/04/11(月) 15:57:10.61ID:uofIS0L20 そもそもの意味が分かってないのかな
staticとそうでないメンバーはアクセスの方法がそもそも違うよね
基本的にstaticなメンバー変数使ったりしないけど
良くあるケースはシングルトンでそのインスタンスは1個しか存在しないというケースで
自分のクラスで自分自身のインスタンスをstaticで保存しておくみたいな事はあるけどね
staticとそうでないメンバーはアクセスの方法がそもそも違うよね
基本的にstaticなメンバー変数使ったりしないけど
良くあるケースはシングルトンでそのインスタンスは1個しか存在しないというケースで
自分のクラスで自分自身のインスタンスをstaticで保存しておくみたいな事はあるけどね
419デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/11(月) 16:49:53.85ID:2IiYezuY0 >>417
だから「実体じゃなくて単なる設計図だから」って言ってるやろ
だから「実体じゃなくて単なる設計図だから」って言ってるやろ
420デフォルトの名無しさん (ワッチョイ c235-LT45)
2022/04/11(月) 16:51:08.57ID:fsqAayw10 COM+とかのCUnknownクラスの実装とか、親クラスが子クラスの数を知るために親クラスで静的変数でカウントしてる。
QueryInterfaceとかAddRefとかReleaseのあれ。
QueryInterfaceとかAddRefとかReleaseのあれ。
421デフォルトの名無しさん (ワッチョイ 9bc7-wAOu)
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
}
}
コードを貼ります。
同じ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
}
}
422デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/11(月) 23:38:14.91ID:M/snaKK00 staticの意味判ってる?
423デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/12(火) 00:10:31.66ID:ONhvWtwta 理由はあるのかもしれないけど、そういうものと思うしかない
c++だとどっちでもアクセスできるんだけどな
c++だとどっちでもアクセスできるんだけどな
424デフォルトの名無しさん (ワッチョイ e2e4-vgyN)
2022/04/12(火) 00:10:46.17ID:K1UtBmdi0425デフォルトの名無しさん (ワッチョイ 9b2f-U3yj)
2022/04/12(火) 00:20:10.77ID:rqESlhgY0 staticとインスタンスの概念がちゃんと理解できてない気がするなぁ
ところでc#で静的メンバをクラスメンバって呼ぶ?
ところでc#で静的メンバをクラスメンバって呼ぶ?
426デフォルトの名無しさん (ブーイモ MM02-Znm5)
2022/04/12(火) 00:27:19.27ID:rrWkQMspM JavaとかVBとかPythonとかobj.iでも
アクセスできる言語のほうが多いよね
アクセスできる言語のほうが多いよね
427デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
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とは書けない。
static memberならHoge.iの省略形。
instance memberならthis.iの省略形。
Hogeクラス内からでもthis.iとは書けない。
428デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/12(火) 00:41:00.50ID:E/HectKH0 >>425
https://ufcpp.net/study/csharp/oo_static.html
静的メンバー(static member)==クラスメンバー
らしい
クラスメンバーという用語自体使わんから知らんかったが
https://ufcpp.net/study/csharp/oo_static.html
静的メンバー(static member)==クラスメンバー
らしい
クラスメンバーという用語自体使わんから知らんかったが
429デフォルトの名無しさん (ワッチョイ 9bc7-wAOu)
2022/04/12(火) 00:46:53.41ID:0S3ZFLlI0 省略形を理解していませんでした。
Hoge内のiはHoge.iの省略形なのですね。
ありがとうございました。
Hoge内のiはHoge.iの省略形なのですね。
ありがとうございました。
430デフォルトの名無しさん (オイコラミネオ MMe7-EhK1)
2022/04/12(火) 20:27:51.26ID:81T++xV4M >>425
C#では使わないし言葉
一部のJavaの人が使ってる概念
クラスメソッドと言う言葉があるけどJavaの人たちは
インスタンスについてるんじゃなくてクラスそのものについてるメソッドだからとそう呼んでる
ところがクラスメンバーはタダのメンバーとstaticの場合両方ともあるから意味があいまい
C#では使わないし言葉
一部のJavaの人が使ってる概念
クラスメソッドと言う言葉があるけどJavaの人たちは
インスタンスについてるんじゃなくてクラスそのものについてるメソッドだからとそう呼んでる
ところがクラスメンバーはタダのメンバーとstaticの場合両方ともあるから意味があいまい
431デフォルトの名無しさん (オイコラミネオ MMe7-EhK1)
2022/04/12(火) 20:32:46.74ID:81T++xV4M メンバーはメソッド、フィールド、プロパティ、イベントや演算子とかその他もろもろのクラスの構成部品
432デフォルトの名無しさん (ワッチョイ bbe6-hh9d)
2022/04/12(火) 20:47:58.57ID:da5RcI7d0 スタティッククラスメンバーフィールドとヨベ
433デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/12(火) 20:53:22.08ID:dmzMUrMCa 変数、関数、setget
この三つにしろ。よくわからないカタカナ消えろ
この三つにしろ。よくわからないカタカナ消えろ
434デフォルトの名無しさん (ワッチョイ 42a9-LT45)
2022/04/12(火) 20:54:31.85ID:6dxddh7K0 >>433
よくわかれよw
よくわかれよw
435デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
2022/04/12(火) 21:29:01.10ID:xUorz5TJ0 変数名を決める時のルールって決めてます?もしくは今までこう付けたとか何かにメモってたりします?
436デフォルトの名無しさん (ワッチョイ 8e66-7/iV)
2022/04/12(火) 21:37:33.60ID:EgjH8LRN0 インスタンスに属するか、鋳型のクラスに属するかだから
静的メンバーでもクラスメンバーでも通じるかなってかんじだが、
静的メンバー系の言い方の方がより正確に伝わりやすいね。
クラスメンバーの言い方ぢとただのグローバル関数との対比でクラスメンバーとかメンバー関数とかいってるのかな?
と思う可能性も大きいから、
前後の話中の文脈に依存するように思う。
静的メンバーでもクラスメンバーでも通じるかなってかんじだが、
静的メンバー系の言い方の方がより正確に伝わりやすいね。
クラスメンバーの言い方ぢとただのグローバル関数との対比でクラスメンバーとかメンバー関数とかいってるのかな?
と思う可能性も大きいから、
前後の話中の文脈に依存するように思う。
437デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/12(火) 21:39:49.41ID:5XdpcaKo0438デフォルトの名無しさん (ワッチョイ 362d-wyX0)
2022/04/12(火) 22:01:02.92ID:h+CbKqfb0 >>435
MSのコーディング規約を参考にしてみては
C# のコーディング規則
https://docs.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions
MSのコーディング規約を参考にしてみては
C# のコーディング規則
https://docs.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions
439デフォルトの名無しさん (ワッチョイ cb02-SU+f)
2022/04/12(火) 22:15:42.17ID:POzO28Jn0 アプリケーションの多重起動を抑制するのはよくありますが、同一のアプリケーションが既に起動中だった場合に起動中のアプリケーションを終了させて新たに起動したアプリケーションをアクティブにする方法ってあるでしょうか
440デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/12(火) 22:19:30.15ID:5XdpcaKo0 >>439
Process.Kill利用して出来るけど普通は既に起動中の方をアクティブにして自身は即終了ってやり方が一般的だけどな
Process.Kill利用して出来るけど普通は既に起動中の方をアクティブにして自身は即終了ってやり方が一般的だけどな
441デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/12(火) 22:26:39.14ID:dmzMUrMCa >>439
プロセス間通信で終了やアクティブにする独自コマンド発行する
プロセス間通信で終了やアクティブにする独自コマンド発行する
442デフォルトの名無しさん (ワッチョイ cb02-SU+f)
2022/04/12(火) 22:31:50.96ID:POzO28Jn0 >>440-441
ご回答ありがとうございます
対象のアプリケーションはスケジューラ的なもので自動起動→自動終了を行なっていて起動時のみ処理を走らせているので、なんらかのエラーで自動終了が正常に行われなかった時の対策として取り入れておこうかと思った次第です
ご回答ありがとうございます
対象のアプリケーションはスケジューラ的なもので自動起動→自動終了を行なっていて起動時のみ処理を走らせているので、なんらかのエラーで自動終了が正常に行われなかった時の対策として取り入れておこうかと思った次第です
443デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
2022/04/12(火) 23:30:49.49ID:xUorz5TJ0 >>437>>438
質問が悪かったです。
同じ意味の変数名で、アプリごとで違った命名にしてしまう事があったりするのですがその辺は皆さんは統一性があるのかなと。
arrTtlCost、arrCostTtlとかdmlSPt、dmlSrtPtとか
iをidxでやったりとか...
質問が悪かったです。
同じ意味の変数名で、アプリごとで違った命名にしてしまう事があったりするのですがその辺は皆さんは統一性があるのかなと。
arrTtlCost、arrCostTtlとかdmlSPt、dmlSrtPtとか
iをidxでやったりとか...
444デフォルトの名無しさん (ワッチョイ 47ac-btYf)
2022/04/13(水) 00:35:02.01ID:gNbyR7HN0 ワイんとこはない
別に気にされない
それはともかくハンガリアンはちょっと。。
別に気にされない
それはともかくハンガリアンはちょっと。。
445デフォルトの名無しさん (ワッチョイ 86bb-zKnc)
2022/04/13(水) 01:04:13.27ID:bIYlHEPm0 VSの機能充実してるしおれも気にしたことないな
個人的にはC/C++のコードにありがちな変数名の過度な省略はやめてほしいと感じる
ManagerをManとかMgrにしたり>>443の例でもarrとかdmlとか意味調べようがないし困るわ
個人的にはC/C++のコードにありがちな変数名の過度な省略はやめてほしいと感じる
ManagerをManとかMgrにしたり>>443の例でもarrとかdmlとか意味調べようがないし困るわ
446デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/13(水) 01:09:19.48ID:Ndo4Py5Ha ルールはあった方がいい。どんなルールを採用するかは宗教論争だけどw
俺はハンガリアン大好き
IDEが一文字目は大文字にしろみたいにうるさいのは.editorconfigで黙らせてる
俺はハンガリアン大好き
IDEが一文字目は大文字にしろみたいにうるさいのは.editorconfigで黙らせてる
447デフォルトの名無しさん (ワッチョイ ef79-fyPK)
2022/04/13(水) 01:10:52.17ID:E/7NmpCy0 大文字始まりはMSのメソッドと被るから嫌
448デフォルトの名無しさん (ワッチョイ 86bb-zKnc)
2022/04/13(水) 01:20:26.33ID:bIYlHEPm0449デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/13(水) 01:33:13.48ID:qfz8Xp880 ハンガリアン法はIDEがゴミだった時代の名残りだと思ってる
そもそもblnHoge書いたところでなにがしたいかわからん
Hogeable,Hoged,Hogeingとか書いた方がよっぽど有益
そもそもblnHoge書いたところでなにがしたいかわからん
Hogeable,Hoged,Hogeingとか書いた方がよっぽど有益
450デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/13(水) 01:49:53.93ID:Ndo4Py5Ha 何示してるのか分からないっていうのは、ルール決めてないからだよ
単にハンガリアンにしますというのはルールなしと同じ
ルールが整ってるハンガリアンだと他人のソースでもひと目でそれがなにか分かるから読むのが楽になる
単にハンガリアンにしますというのはルールなしと同じ
ルールが整ってるハンガリアンだと他人のソースでもひと目でそれがなにか分かるから読むのが楽になる
451デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/13(水) 02:02:43.40ID:l0BqyJbj0 昔はハンガリアン使ってたな
今のVSなら型すぐ判るし必要性を感じない
今のVSなら型すぐ判るし必要性を感じない
452デフォルトの名無しさん (ワッチョイ 86bb-zKnc)
2022/04/13(水) 02:13:05.87ID:bIYlHEPm0 ハンガリアンはぶっちゃけ時代遅れだと思うし
変数名に型情報入れるなんて途中で型変えたらどうすんねんアホかと思うわ
IDEが充実してない時代はよかったんだろうが今となってはデメリットが勝る
変数名に型情報入れるなんて途中で型変えたらどうすんねんアホかと思うわ
IDEが充実してない時代はよかったんだろうが今となってはデメリットが勝る
453デフォルトの名無しさん (ワッチョイ 8e66-7/iV)
2022/04/13(水) 02:24:06.55ID:pz/7LR9w0 まあIDEが進化してるから変数名すぐに正しく変えれるけどな。
ヘボった言語じゃなければ。
ヘボった言語じゃなければ。
454デフォルトの名無しさん (ワッチョイ 227c-EhK1)
2022/04/13(水) 02:32:33.10ID:P5y02Tze0 win32api時代は使ってたけどC#になったら使わなくなったな
今なら変数名のリファクター(変更)何かVSやその他IDEでも普通に出来るし
適当に名前付けていても問題無いしなぁ
今なら変数名のリファクター(変更)何かVSやその他IDEでも普通に出来るし
適当に名前付けていても問題無いしなぁ
455デフォルトの名無しさん (アウグロ MM7a-fyPK)
2022/04/13(水) 07:08:42.28ID:Gu4WFashM c++やるときは型によって処理が変わるのであったほうが便利
456デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 13:39:58.01ID:5l1VnwO30 C#からPowserShellを実行して
登録済みのVPN一覧を取得しようとしています。
コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?
using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}
resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
登録済みのVPN一覧を取得しようとしています。
コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?
using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}
resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
457デフォルトの名無しさん (ワッチョイ c235-LT45)
2022/04/13(水) 17:42:47.77ID:7n1NDRKI0 resultにプロパティがあるんじゃね?
ウォッチで見てみたら。
ウォッチで見てみたら。
458デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 17:44:10.52ID:5l1VnwO30 >>457
それがないんですよ。。。
それがないんですよ。。。
459デフォルトの名無しさん (ワッチョイ c633-iXSd)
2022/04/13(水) 18:57:53.41ID:zw+GE19b0 >>456
resultってコレクションらしいけど、キャストが必要なんじゃない?
resultってコレクションらしいけど、キャストが必要なんじゃない?
460デフォルトの名無しさん (ワッチョイ e26a-ceou)
2022/04/13(水) 20:04:59.41ID:LSUEwVF80 そもそも、PowerShellから戻り値としてちゃんと渡されてるの?
PowerShell上でって標準出力に吐いているだけなんてオチじゃないよね?
PowerShell上でって標準出力に吐いているだけなんてオチじゃないよね?
461デフォルトの名無しさん (ワッチョイ a201-nj64)
2022/04/13(水) 21:20:33.91ID:xBL6qyXw0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【悲報】世界「トランプよりヤバいリーダーがいた!」トランプ「俺よりやべえ奴がいる!」高市早苗「??何で皆アタシを避けるの?」 [517791167]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
- 本当の問題は高市がバカなことじゃなくて高市みたいなバカを支持するバカが大量にいることだよな [314039747]
- 高市首相「自らの命は自らが守るという原則で、行動とっていただきたい」 [256556981]
- 【ひまわり内閣】ネトウヨ「国会に高市さんが封筒と書類の束持ち込んでる!🤩用意周到!すごい!」6万いいね [359965264]
- 今時手編みのマフラーとセーターと帽子と手袋のプレゼントってwww
