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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
392
(1): (ワッチョイ 1b66-eIlS) 2022/04/05(火)16:14 ID:Zafpq7jd0(1/2) AAS
.net6とかで単体ビルドで作るか、
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。

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

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

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

画像リンク

402
(1): (ワッチョイ 232c-8SQp) 2022/04/06(水)22:20 ID:M9ji/8uj0(1) AAS
外径線というのがよく分からんが(外形線なら引っかかるけど…)
アウトラインが欲しいってことでいいのかな

GDI+ならGraphicsPathとAPI関数を使えば取れるみたいね
外部リンク:stackoverflow.com
GdipWindingModeOutlineした後PathPointsプロパティで頂点座標が取れる

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

計算方法が分からんというのであれば、「ゲームプログラミング 当たり判定」とかでググれば初心者用の解説が沢山出てくるよ
404: (ワッチョイ 5579-7RFn) 2022/04/07(木)01:47 ID:Y333t//b0(1) AAS
3Dモデル?
はじめに線の色のモデルを描画して
真っ白なモデルをテクスチャに描画して線の分だけ縮小して描画すると結果として枠線に見える
405: (スプッッ Sd43-1ea/) 2022/04/07(木)07:04 ID:OS52QiU/d(1) AAS
>>402
外枠?外形ですね。添付されてるサイトの図みたいな感じですね。ありがとうございます。
翻訳しても解読してみます。
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
}
}
1-
あと 581 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.033s