[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
406: (ワッチョイ 23ad-B8Ym) 2022/04/08(金)00:38 ID:Fi5aXPbi0(1/2) AAS
>>392
4.5のDeveloper packはもう公開されてないよ。4.5.1ならまだ生き残ってるけど、サポート切れてからもう6年だからいつ消されてもおかしくない。
407: (ワッチョイ 23ad-B8Ym) 2022/04/08(金)00:40 ID:Fi5aXPbi0(2/2) AAS
>>399
AoTは逆にデカくなる場合が多い。小さくするのはTrimmingね。
408
(2): (ワッチョイ 12bd-eTSu) 2022/04/10(日)17:46 ID:CqPvJwcW0(1) AAS
pointfへdecimal型の値を入れると少数点誤差するのって仕方ないんですかね?繰り上げ、繰り下げするしかないですか?
409: (ワッチョイ 067b-L5s4) 2022/04/10(日)18:22 ID:rAitDt050(1) AAS
>>408
(single)float の誤差だからどうしようもないでしょ
外部リンク[html]:dobon.net
小数(浮動小数点数型)の計算が思った結果にならない理由と解決法 Decimal型はいつ使うか?

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

フィールドはインスタンスメンバとしてアクセスは可能。
だけどC#的にフィールドに直接アクセスするのはやめようねってことになってる。
大抵のフィールドはprivate宣言されてるからアクセスできないだけ
414: (ワッチョイ e22c-tEy/) 2022/04/11(月)02:14 ID:AXHTI4fJ0(1) AAS
単に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); // エラー、アクセスできない
415: (ブーイモ MM3e-Ds6D) 2022/04/11(月)03:50 ID:6OUa/NLdM(1) AAS
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にアクセスしてる?
}

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

そんなもん。そうなってるからって覚えておけばいい。疑問に思うな
418: (ワッチョイ 227c-EhK1) 2022/04/11(月)15:57 ID:uofIS0L20(1) AAS
そもそもの意味が分かってないのかな
staticとそうでないメンバーはアクセスの方法がそもそも違うよね
基本的にstaticなメンバー変数使ったりしないけど
良くあるケースはシングルトンでそのインスタンスは1個しか存在しないというケースで
自分のクラスで自分自身のインスタンスをstaticで保存しておくみたいな事はあるけどね
419: (ワッチョイ 6f24-soYJ) 2022/04/11(月)16:49 ID:2IiYezuY0(2/2) AAS
>>417
だから「実体じゃなくて単なる設計図だから」って言ってるやろ
420: (ワッチョイ c235-LT45) 2022/04/11(月)16:51 ID:fsqAayw10(1) AAS
COM+とかのCUnknownクラスの実装とか、親クラスが子クラスの数を知るために親クラスで静的変数でカウントしてる。
QueryInterfaceとかAddRefとかReleaseのあれ。
421
(1): (ワッチョイ 9bc7-wAOu) 2022/04/11(月)23:27 ID:x2gvkajx0(2/2) AAS
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
}
}
422: (ワッチョイ cb02-9+GH) 2022/04/11(月)23:38 ID:M/snaKK00(1) AAS
staticの意味判ってる?
423: (アウアウウー Sabb-qGV0) 2022/04/12(火)00:10 ID:ONhvWtwta(1) AAS
理由はあるのかもしれないけど、そういうものと思うしかない
c++だとどっちでもアクセスできるんだけどな
424: (ワッチョイ e2e4-vgyN) 2022/04/12(火)00:10 ID:K1UtBmdi0(1) AAS
>>421
静的メンバーの本来のアクセス方法は『Hoge.i』なんだけど、
Hogeの中に書いてあるからHogeの部分を省略出来るってだけだよ
425
(2): (ワッチョイ 9b2f-U3yj) 2022/04/12(火)00:20 ID:rqESlhgY0(1) AAS
staticとインスタンスの概念がちゃんと理解できてない気がするなぁ

ところでc#で静的メンバをクラスメンバって呼ぶ?
426: (ブーイモ MM02-Znm5) 2022/04/12(火)00:27 ID:rrWkQMspM(1) AAS
JavaとかVBとかPythonとかobj.iでも
アクセスできる言語のほうが多いよね
427: (ワッチョイ 6fd2-WLRK) 2022/04/12(火)00:37 ID:E/HectKH0(1/2) AAS
Hogeクラス内からアクセスする時にstatic memberとinstance memberの両方をiのようにアクセスできる。
static memberならHoge.iの省略形。
instance memberならthis.iの省略形。

Hogeクラス内からでもthis.iとは書けない。
428: (ワッチョイ 6fd2-WLRK) 2022/04/12(火)00:41 ID:E/HectKH0(2/2) AAS
>>425
外部リンク[html]:ufcpp.net
静的メンバー(static member)==クラスメンバー

らしい

クラスメンバーという用語自体使わんから知らんかったが
429: (ワッチョイ 9bc7-wAOu) 2022/04/12(火)00:46 ID:0S3ZFLlI0(1) AAS
省略形を理解していませんでした。
Hoge内のiはHoge.iの省略形なのですね。
ありがとうございました。
430: (オイコラミネオ MMe7-EhK1) 2022/04/12(火)20:27 ID:81T++xV4M(1/2) AAS
>>425
C#では使わないし言葉
一部のJavaの人が使ってる概念

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

ところがクラスメンバーはタダのメンバーとstaticの場合両方ともあるから意味があいまい
431: (オイコラミネオ MMe7-EhK1) 2022/04/12(火)20:32 ID:81T++xV4M(2/2) AAS
メンバーはメソッド、フィールド、プロパティ、イベントや演算子とかその他もろもろのクラスの構成部品
432: (ワッチョイ bbe6-hh9d) 2022/04/12(火)20:47 ID:da5RcI7d0(1) AAS
スタティッククラスメンバーフィールドとヨベ
433
(1): (アウアウウー Sabb-qGV0) 2022/04/12(火)20:53 ID:dmzMUrMCa(1/2) AAS
変数、関数、setget
この三つにしろ。よくわからないカタカナ消えろ
434: (ワッチョイ 42a9-LT45) 2022/04/12(火)20:54 ID:6dxddh7K0(1) AAS
>>433
よくわかれよw
435
(2): (ワッチョイ 12bd-eTSu) 2022/04/12(火)21:29 ID:xUorz5TJ0(1/2) AAS
変数名を決める時のルールって決めてます?もしくは今までこう付けたとか何かにメモってたりします?
1-
あと 567 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s