[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 12/09 23:01 / Filesize : 249 KB / Number-of Response : 990
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2022/09/18(日) 14:39:29.51 ID:VjUDO6tf0.net]
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part155
https://mevius.5ch.net/test/read.cgi/tech/1655422932/
■関連スレ
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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

436 名前:デフォルトの名無しさん [2022/10/28(金) 18:26:15.47 ID:HG0H6tJb0.net]
プログラミンはある時を超えると急速に上達したりするでしょうか?
学習曲線というか

停滞しすぎなので、そうであればやる気になりますね

437 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 18:27:43.03 ID:YfCj0B1j0.net]
初歩で停滞してるやつは急速に上達なんかしないよ

438 名前:デフォルトの名無しさん [2022/10/28(金) 18:36:43.66 ID:1ARXQoUR0.net]
初歩の方で躓いてたらそうかもしれん
右肩上がりの階段状の成長曲線かな

439 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 18:50:51.32 ID:9kHpqARR0.net]
>>436
組めるようになって、組んだもののチェックができるようになったらそこで一旦は終わり
定年までハナクソでもほじっていればよい

440 名前:デフォルトの名無しさん [2022/10/28(金) 19:04:40.27 ID:HG0H6tJb0.net]
まあ信じて頑張るしかないすね

441 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 19:18:00.09 ID:ZZAq6DiJ0.net]
>>436
書くより読もう

442 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 19:22:03.01 ID:MkzS3v4A0.net]
まあオブジェクト指向とかは書いてて初めて恩恵を感じてると理解したときになるほどって思ったことはあったな
設計もそうだけど

443 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 19:24:14.41 ID:ZZAq6DiJ0.net]
進次郎「感じてると理解したときになるほどと思った

444 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 19:37:56.31 ID:yAiIpvPxM.net]
世の中にある事象をある程度プログラムできるようになったらそこでいったん終了
ゲームでも作ってコードが汚いけど確実に動かせるレベルだな

次は他人のプログラムを見て設計的なことを学んで理解できて自分で同じように書けるようになったら次も終了



445 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 19:41:16.54 ID:4sg0pV9K0.net]
初学者のうちで一気に理解が深まったタイミングは
・デバッガが使えるようになった
・テストの必要性を感じて書いた
・リファクタリングできる気がしてやってみた
とかかなぁ

多分学習進度との関係もあると思うけど、思考が切り替わった気がした

446 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 19:58:42.59 ID:yAiIpvPxM.net]
最近の人はアルゴリズムを勉強しないらしいので暇だったら勉強してみ

447 名前:デフォルトの名無しさん [2022/10/28(金) 20:14:56.13 ID:HG0H6tJb0.net]
頑張ります
unityやってます

デバッグは確かに課題です
どの部分に問題があるか分からなくて1日潰れる

448 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 21:39:09.15 ID:yAiIpvPxM.net]
ゲームのデバッグは経験かな
再現性がないと地獄だけどそのうち多分ここがおかしいとある程度わかるようになる

それまではこんなものかと思うしかない

449 名前:デフォルトの名無しさん mailto:sage [2022/10/28(金) 21:42:39.07 ID:GLKGqrevM.net]
ゲームはどうやってテストしてんのか想像つかん
仕様書とか無限に分厚くなるだろ

450 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 04:45:42.61 ID:qpmL7ZAma.net]
ゲーム開発者だけど仕様書なんて先ずの実装が終わったら最後に辻褄合わせする位だよ。放置も多々ある。
後半はデバッグで出たのを出来る限り潰すイテレーションなのでデバッガーとプログラマーのやり取りで終始する感じ。
期限も工数も有限なので落とし所が大事

451 名前:デフォルトの名無しさん [2022/10/29(土) 06:52:55.09 ID:K4cJTF5F0.net]
プログラミンはどれだけきれいに書けるカノ勝負でもあるんでしょうか
整理整頓されていないと頭がこんがらがる

452 名前:デフォルトの名無しさん [2022/10/29(土) 07:24:30.88 ID:K4cJTF5F0.net]
>>448
問題の特定
これですね 当面の課題は

453 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 10:52:44.27 ID:ajFln1b10.net]
当面というか永遠の課題だぞ

454 名前:デフォルトの名無しさん [2022/10/29(土) 11:07:47.06 ID:FxlbVrY8p.net]
>>451
コーディングが綺麗かってのと
構造が綺麗かってのはイコールじゃ無いからなぁ



455 名前:デフォルトの名無しさん (アウアウウー Sa9d-gxoH) mailto:sage [2022/10/29(土) 11:37:00.65 ID:rhy5a3mta.net]
Unityから始めたやつはだいたいその場しのぎのコードを書くしそれを教えたがるからUnity関連の情報はそんなのばっかになる

456 名前:デフォルトの名無しさん (アウグロ MMfd-VnIt) mailto:sage [2022/10/29(土) 11:39:05.64 ID:t5eKPicIM.net]
でも正直unityに機能がないときはやらない仕様に変えたほうがいいまである
別に仕事でやってんじゃないし

457 名前:デフォルトの名無しさん (ワッチョイ 4907-gxoH) mailto:sage [2022/10/29(土) 11:52:43.38 ID:AHyDFjq20.net]
クラスかタプル作ってオブジェクトの配列にすればいいのにやつら平気で複数の配列を使うし何でもかんでもシングルトンにするしそれ継承しなくていいだろってやつ継承するしnullチェックしないしバグ有りの同じコードを関数に切り出さずいくらでもコピペするしUnityのC#はマイクロソフトのC#のサブセットと信じてUnity関連以外の情報信用しないし

458 名前:デフォルトの名無しさん [2022/10/29(土) 12:32:34.34 ID:GsZMr1/10.net]
静的クラス=イングルドンでしょうか?

459 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 12:36:23.71 ID:D1cycp0Sa.net]
プログラミング関連情報サイトは、自分の勉強がてらそれをネタに記事書いてるのが多いからな
言い方変えると初心者が記事書いてるからそんな情報ばっかになるんだよ

460 名前:デフォルトの名無しさん [2022/10/29(土) 12:39:55.27 ID:QGEirdnxa.net]
>>457
小規模ならそれで十分
そんなところでわざわざガチる必要ない

461 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 12:40:47.02 ID:rhy5a3mta.net]
静的クラスはインスタンスを作れないクラス
例えばこれ
https://learn.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable?view=net-6.0
シングルトンはインスタンスを一つしか作れないクラス
例えばこれ
https://learn.microsoft.com/ja-jp/dotnet/api/system.collections.generic.referenceequalitycomparer?view=net-6.0

462 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 12:42:12.37 ID:rhy5a3mta.net]
>>460
だからいつまで経っても成長しないしすぐ困って人を頼らなきゃいけなくなるしできない癖に妙に偉そうだし

463 名前:デフォルトの名無しさん [2022/10/29(土) 12:44:07.64 ID:GsZMr1/10.net]
>>461
なぜシングルトンのほうは静的クラスではいけないのでしょうか?

464 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 12:46:14.79 ID:rhy5a3mta.net]
>>463
そりゃそういう要件だからとしか
例えば上で上げたのはインターフェイスを実装してるだろ?
インターフェイスがインスタンスメソッドを要求してるからインスタンスを作らざるを得ない



465 名前:デフォルトの名無しさん [2022/10/29(土) 12:56:28.03 ID:GsZMr1/10.net]
>>464

他にも静的クラスではなくシングルトンでないといけないケースはありますか?

466 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 13:21:19.43 ID:rhy5a3mta.net]
その二つならインスタンスが必要かどうかで全て言い表せるんじゃね
Unity界隈だとインスタンスを見失うからという間抜けな理由でシングルトンもどきを量産してるけどそういうのは普通引数で渡したりサービスプロバイダを使う
これらを使えばわざわざシングルトンとして設計する必要がない

467 名前:デフォルトの名無しさん [2022/10/29(土) 14:43:07.27 ID:GsZMr1/10.net]


468 名前:デフォルトの名無しさん [2022/10/29(土) 14:48:26.78 ID:GsZMr1/10.net]
「インスタンスが必要なケース」とは何でしょうか?
「インスタンスを見失う」とはどういう話でしょうか?

469 名前:デフォルトの名無しさん [2022/10/29(土) 14:57:46.59 ID:QL9IPKDOp.net]
どこからでもすぐ呼べる便利クラス…にしたいけど
ぶら下がってるものがたくさんあるからインスタンス渡しでシングルトンなんじゃね?
使う側に配慮してんのさw

470 名前:デフォルトの名無しさん [2022/10/29(土) 14:58:56.82 ID:GsZMr1/10.net]
public class Singleton {
 public string Name { get; set; } = "HAGE";
 private static Singleton singleton = new Singleton();
 private Singleton() {}
 public static Singleton GetInstange() { return singleton; }
}


var singleton = Singleton.GetInstance();
var name = singleton.Name;

↑このようなものはシングルトンを使わずに、


public static class NotSingleton {
 public static string Name { get; set; } = "HAGE";
}

var name = Singleton.Name;

↑このように静的クラスにすればいいと思うのですがシングルトンが必要な「インスタンスが必要」というのはどういうケースでしょうか?

シングルトンで保持するオブジェクトのクラスが他の設計者のものならこのようにはできないと思いますが、シングルトンのクラス自体のオブジェクトを保持するのであれば使い方も自分で決められるのでシングルトンにする必要性が分からないです。
そのようなケースでは使ってないという認識で合ってますでしょうか?

471 名前:デフォルトの名無しさん [2022/10/29(土) 15:08:48.66 ID:QL9IPKDOp.net]
静的クラスで唯一無二ならそれがシングルトンやろい

472 名前:デフォルトの名無しさん [2022/10/29(土) 15:10:32.88 ID:QL9IPKDOp.net]
静的クラスだけどインスタンス管理を独自でやって別オブジェクトを配るのはファクトリーだっけ?

473 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 15:37:22.23 ID:lV3hVGRgM.net]
>>470
結果的にシングルトンにする場合でもそれを使う側はそれがシングルトンだと意識しない方が後で変更する時に助かる
そのためにはインスタンスが必要

class Foo : IFoo {
private IBar bar;
public Foo(IBar b) => bar = b;
public void DoSomething() => bar.Hello();
}

class BarSinglton : IBar {
private static BarSingleton Instance { get; } = new BarSingleton();
public void Hello() => Console.Write("world");
}


var foo = new Foo(BarSingleton.Instance);
foo.DoSomething()

//////////////
class NewVersionBar : IBar {
public void Hello() => Console.Write("im not single");
}

var foo = new Foo(new NewVersionBar());
foo.DoSomething();

シングルトンじゃないのでFooは変えなくていい
シングルトンだとFooも書き換え必須

474 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 15:39:24.31 ID:lV3hVGRgM.net]
最後間違えた
静的クラスじゃないのでFooは変えなくていい
静的クラスだったらFooも書き換え必須



475 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 15:41:43.09 ID:lV3hVGRgM.net]
要するにDIするときにインスタンスが必要になるってこと
DIがなぜ必要かはSOLIDの原則を調べればわかる

476 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 15:45:47.27 ID:pn62A2OL0.net]
singleton とは、インスタンスを2つ以上作れらたら、マズイもの

よくあるのが、何々マネージャーみたいな管理オブジェクト。
管理者は1つで、その管理者が複数のインスタンスを作る。
この場合、管理者が2つあるとマズイ

1つしか存在してはならない、絶対的なもの。
神とか

477 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 15:57:07.69 ID:u+PU0umT0.net]
その例えは多神教全否定になるから不味いw

478 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 16:02:48.14 ID:LKZb5SQz0.net]
ひとつしか存在しない絶対的なものは「自分を認識する意識」くらいのものだ

479 名前:デフォルトの名無しさん [2022/10/29(土) 16:37:09.15 ID:GsZMr1/10.net]

静的クラスとするよりもインスタンス化してから利用するように設計するほうが色々とメリットがあるのですね

480 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 16:57:12.41 ID:/AmlPuyW0.net]
>>462
偉そうとか言い出すとコンプレックスみを感じるな。

481 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 17:04:11.43 ID:5hK4Xoona.net]
>>480
何で人に物を聞くときに「聞かれたことにだけ答えろ」みたいな大きな態度を取る初心者にコンプレックスを感じなきゃいけないんだw

482 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 18:02:09.38 ID:laG6hjw40.net]
文字列もクラスもメソッドも全てが数値のみで管理されており
その数値のみでソースが無いプログラムでも今日制定に
流れを変更できるようになったら一気に理解が深まる。

オブジェクト指向だ、関数型だ、設計がー、なんてのは
一番浅い層の肌の色ぐらいにすぎない。

483 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 18:07:39.23 ID:s+eFMxCE0.net]
>>482
たしかになんか理解が深まったんだろうな
ただ機械側によりすぎて、お前の日本語は全然意味分からんw

484 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 19:49:40.68 ID:lV3hVGRgM.net]
アセンブラ?



485 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 20:06:55.26 ID:/AmlPuyW0.net]
>>481
そりゃ「お前のうんちくは今は要らない」と思われるからだろ。

486 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 20:11:24.34 ID:5hK4Xoona.net]
>>485
だからお前はいつまで経ってもコピペしかできないんだよ

487 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 21:38:27.72 ID:/AmlPuyW0.net]
>>486
コピペでわかるようなことを答えてるからでは?

俺オジサン側だけどあんまり悪い気がすること聞かれないぞ。聞かれた事しか話さなければ、案外聞いてくるよ。
「これ長いけど」って言ったら「今は良いです」とか言いよるけど、後で聞きに来たり。
関係性でしょこんなの。

488 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 21:42:16.29 ID:AHyDFjq20.net]
>>487
今いい関係性を築いてるつもりなのかw
とりあえず>>1を100回読んで首釣って来いw

489 名前:デフォルトの名無しさん [2022/10/29(土) 21:43:38.37 ID:PVOoqMZaa.net]
いま?

490 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 21:50:18.46 ID:/AmlPuyW0.net]
>>488
今さら?

491 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:08:19.95 ID:AHyDFjq20.net]
>>490
しつこいな妬むなよw
お前がコピペしかできないのはお前の努力不足と才能不足で俺に責任はないぞ
>>1を100回読み終わったならすぐに川に行って首が釣れるまで帰って来るな

492 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:11:58.18 ID:/AmlPuyW0.net]


493 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:14:33.73 ID:AHyDFjq20.net]
お前は草と首の区別もつかんのか
つくづく使えんやつだな
だから人間関係もうまくいかないんだぞ

494 名前:デフォルトの名無しさん [2022/10/29(土) 22:25:09.72 ID:GqvAAO/X0.net]
図星突かれたので頓珍漢な返ししかできません



495 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:33:09.26 ID:AHyDFjq20.net]
だろうな
まだ>>1も100回読めてないだろ

496 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:37:03.52 ID:s+eFMxCE0.net]
キモい奴らだな
消えろよw

497 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:38:53.69 ID:AHyDFjq20.net]
そのうち消えるんじゃね
お前も>>1を100回読んで消えとけよ

498 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:40:10.99 ID:/AmlPuyW0.net]
おい俺に言うのはわかるが、八つ当たりはやめとけよ。

499 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:41:41.43 ID:AHyDFjq20.net]
また来た
スレチだから八つ当たりしてないで早く消えろよ

500 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:42:38.45 ID:AHyDFjq20.net]
俺リアルで他人からお前らが言われてるようなこと言われたことないぞ
マジでスレチだからもう書くなよ

501 名前:デフォルトの名無しさん [2022/10/29(土) 22:43:50.83 ID:/Mu6PCns0.net]
ネット上でもわかるこのキモさ
リアルでも煙たがれてそう。

502 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:45:01.83 ID:AHyDFjq20.net]
という初心者がいたわけよ

503 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 22:45:30.65 ID:AHyDFjq20.net]
マジでまだ続けるこのキモさよ

504 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 23:04:36.64 ID:EUjMGqhh0.net]
なんで盛り上がってるの?
だれか3行で頼む。



505 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 23:07:56.87 ID:y8vo38aP0.net]
5chでよく見かける
キチ2名の
打ち合い

506 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 23:12:18.42 ID:AHyDFjq20.net]
キチに絡まれるのは同レベルのキチだからな

507 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 23:16:29.83 ID:i0vA1INFa.net]
ていうかこのスレってコンプレックス持ち多すぎて書きにくいって前から思ってたわ
ちょっと変な初心者の話をしたら刺さったやつがすぐ絡んで来るから

508 名前:デフォルトの名無しさん [2022/10/29(土) 23:24:53.08 ID:FgOSZ1hPH.net]
そんなんだからSESしかできないんだよ
もっと社会性を身につけないと

509 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 23:26:26.77 ID:AHyDFjq20.net]
よほど刺さったらしいw

510 名前:デフォルトの名無しさん (ワッチョイ 1301-cPfV) [2022/10/30(日) 00:17:02.57 ID:+d9s9Afp0.net]
今HTMLとCSSでゴリゴリやりながらアプリ作ってるけど正直めちゃくちゃめんどくさい
自由度はHTMLとCSSの方が高いのかもしれんけどXamlとC#のGUIの簡単さってすごいなって思った

511 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 00:58:04.31 ID:lsOA6XTZ0.net]
>>510
俺は最近逆の感想しか抱いてないな
HTML/CSSの方が楽に綺麗な外観作れるし何よりもjsが超楽に非同期使えて有難すぎる
C#もお手軽シングルスレッド非同期あれば良いのにな
Unityのコルーチンもjsと比べるとめんどすぎ

512 名前:デフォルトの名無しさん [2022/10/30(日) 01:14:27.44 ID:+d9s9Afp0.net]
>>511
await asyncじゃだめなの?

513 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 01:21:23.79 ID:UmSlwLP00.net]
HTMLとCSSが楽で良いと俺も思う。なんせ自分がやらなくてもデザイナーの人に入って貰えるし、それも単価が安いし。
最近はCSSも高級になったし、WebView2が使えるようになったのでかなり楽よね。
IEコンポーネント使わないといけないなら同意

514 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 02:27:29.10 ID:2N6ePwSn0.net]
単純なやつならxamlの方が楽だけどちょっと凝ったデザインにしようとすると記述量がめちゃ増えるのはなんとかしてほしい



515 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 03:33:26.24 ID:mdQkSumL0.net]
jsの非同期は形の上だけだからなぁ...

516 名前:デフォルトの名無しさん [2022/10/30(日) 07:16:53.81 ID:+d9s9Afp0.net]
CSSも増えるくね?
今Wiki作ってるけどマジで思うような挙動しないわHTMLとCSS
divを左と右に分けるのでもfloat:leftとfloat:rightの2つのCSS書かんといけないの面倒くさすぎる
文字を下揃えにするのもverticalalignmentとかhorizontalalignmentとか手軽なのがない

517 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:21:33.87 ID:EP3eiSUOa.net]
>>512
知ってるわけないじゃん

518 名前:デフォルトの名無しさん [2022/10/30(日) 07:23:58.99 ID:+d9s9Afp0.net]
>>517
なんだ…知らないのか…

519 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 08:55:39.00 ID:Y7MeHq5yr.net]
>>516
すげえジジイがここにいたw
floatとかいつの時代だよwww
それでこんなにcssクソクソ言ってたのかw
オメーの無知で吠えてるんじゃねえよ

520 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:15:57.16 ID:Ufi2KoCB0.net]
>>516
今どきそんな太古の手段を発掘しつつわざわざ車輪の再発明をしているのはキミくらいのものであって、あえて言わせてもらうと、それらは文字通り「時間の無駄」でしかない

どうしても車両の再発明をしたいってことなら止めはしないけど、せめてモダンなCSSやフレームワーク等の「習作」として作成しよう

521 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:18:30.73 ID:LXcqQo2MM.net]
今ってflexboxレイアウトが主流じゃないの

522 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:42:14.23 ID:UmSlwLP00.net]
IEコンポーネントじゃないならflexとgridかな。
IEコンポーネントはバグが多いからかなり辛い。float使うのもわかる。

この調子だとHTMLも文字列で作ってそう。
適当なフレームワークに乗せるのが良いよ。MVVMにできるし。

523 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:42:37.39 ID:lsOA6XTZ0.net]
>>517>>518
むしろjsにasync awaitあるの知らないんだね
未だにコールバック地獄でもしてんのかなw

524 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:46:55.44 ID:UmSlwLP00.net]
C#のasync awaitの話では?
なんか不自由あるんだろうか。

まあJSみたいにPromiseと可換になってると便利なのになと言うことはあるけど。



525 名前:デフォルトの名無しさん [2022/10/30(日) 10:37:52.27 ID:+d9s9Afp0.net]
>>522
flexは頭にもう一個div入れないといけないじゃん

526 名前:デフォルトの名無しさん [2022/10/30(日) 10:42:35.72 ID:+d9s9Afp0.net]
あとそんなもんネットに言え
こっちは色々調べながら最善の答え見つけとるんじゃ

527 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 10:54:18.58 ID:Y7MeHq5yr.net]
最善の見つけた答えがfloatww
ネットの調べ方もジジイレベルかよww

528 名前:デフォルトの名無しさん [2022/10/30(日) 10:55:09.64 ID:+d9s9Afp0.net]
>>527
じゃあ何使うんだよ

529 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 11:02:31.77 ID:Y7MeHq5yr.net]
>>528
flexbox使え
すべてが解決できる

530 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 11:53:13.28 ID:anVeQi4K0.net]
>>505
thx



HTML & CSS は確かに便利なんだけど、たまにやるときれいさっぱり忘れてて思い出すのに時間がかかるのが難点。
なんというかクセというか、コツというか、そういうのを思い出せないと思うままにならない感じ。

531 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 11:54:53.34 ID:dJTdnVox0.net]
いい加減スレチじゃい

532 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 11:56:05.47 ID:J5x/gUfla.net]
>>1の読めないやつしかいないスレ

533 名前:デフォルトの名無しさん [2022/10/30(日) 12:45:05.94 ID:GxZBoAl/0.net]
結論:XAMLとC#が最強

534 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 13:29:03.83 ID:P8HVjCjE0.net]
糞スレw



535 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 13:39:46.64 ID:A1wSH6ms0.net]
そりゃ初心者のうちメンタル弱くてやる気のない人が対象のスレだし回答してるのもおかしなこと言ってるのが多いから初心者なんだろうね

536 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 13:39:53.04 ID:UmSlwLP00.net]
>>525
入れれば良いのでは?
まあbodyもflexにできるけど。
上揃えも下揃えもflexの方が楽だけどなって。
xamlで言うFlexLayoutなので、多分こっちの方がxamarin以降のXaml移行組は楽だと思う。

537 名前:デフォルトの名無しさん [2022/10/30(日) 16:21:32.75 ID:DkOekoOd0.net]
HTML+CSSってブラウザエンジンが必要になるのが馬鹿らしい

538 名前:デフォルトの名無しさん [2022/10/30(日) 17:10:20.50 ID:D3yBl/wLa.net]
C#使ってる時点で利便性と引き換えに今時のパソコンなら問題ないと無駄を許容してるんだからそのくらい許容しろ

539 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 18:09:34.88 ID:UmSlwLP00.net]
>>537
とはいえWindows使う以上絶対載ってるし、現存する、ほぼ唯一のまともに日本語を表示できる描画エンジンじゃない?

540 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 19:49:11.19 ID:5qpGtRvc0.net]
>ほぼ唯一のまともに日本語を表示できる描画エンジンじゃない?

ブラウザのテキスト表示もOSの描画エンジンを使っていると思うが。

541 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 19:52:07.34 ID:gI8+fygea.net]
>>539
ごめん何言ってるかわかんない
酔ってる?

542 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 19:57:59.55 ID:UmSlwLP00.net]
>>540
オプティカルで文字を詰めながら禁則処理しつつ、左右均等揃えなんかしてくれないよ。
ttps://www.google.com/amp/s/ics.media/entry/14087/

>>541
そういう所だぞ

543 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 19:59:51.73 ID:UmSlwLP00.net]
すまん、あげたサイトはオプティカルじゃなくてちゃんとメトリクス使ってるんだな。

544 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:03:02.46 ID:gI8+fygea.net]
>>542
酔ってないのにそれかw
だからお前はリアルでも一人なんだよ



545 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:11:29.33 ID:UmSlwLP00.net]
ちゃんと批判して

546 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:13:47.95 ID:LXcqQo2MM.net]
いやいやw

現存する、ほぼ唯一のまともに日本語を表示できる描画エンジンって表現はおかしいだろw

547 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:15:35.13 ID:LXcqQo2MM.net]
ガチの高校生なのかな~

548 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:18:53.41 ID:UmSlwLP00.net]
え?ホント?みんなそんなに完璧に文字描けるの?そこまで請われることが無いとか…?

エッジケース考えたらブラウザ一択なんだけどな…。

549 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:29:28.84 ID:UmSlwLP00.net]
自力でコマコマとエンジンの挙動を微調整せずに一発で縦書きできるものがあったら逆に教えて欲しいわ…

550 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:38:47.22 ID:LXcqQo2MM.net]
基地外暴走中

551 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:53:05.32 ID:UmSlwLP00.net]
少数派だったならすまなんだ。

552 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:53:49.31 ID:UmSlwLP00.net]
※あるならホントに教えて

553 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 23:28:05.26 ID:5qpGtRvc0.net]
カーニングは昔からあるし、DirectWriteなら均等揃えもできるようだな。

554 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 00:03:20.79 ID:Dc17vD4i0.net]
>>553
まともにやるとIPAフォントあたりがかすれる。

それに、APIであって、エンジンじゃなくない…?
FormsとかWPFのレベルの話してるつもりだったんだけど。



555 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 00:31:05.85 ID:fDaEiUpF0.net]
ここってこんなギスギスしたスレだったっけ・・・
精神的に余裕ない人が流れ込んできたのか元からいる住人が加齢で狂ってきたのか

556 名前:デフォルトの名無しさん [2022/10/31(月) 00:35:16.24 ID:X/NTMpPpa.net]
マウンティングが多すぎるよな
もっと謙虚な人が増えてほしい

557 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 00:40:19.81 ID:WMzulB9K0.net]
メンタル弱い豆腐初心者のスレがどうしてうまくいくと思えるのか
そりゃ豆腐が集まって自壊するに決まってんじゃん

558 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 00:43:10.47 ID:Z4/NCeJU0.net]
適材適所でいいんじゃね、と思う
メニューとかリストとか、Windowsライクならxamlで
縦書きにしたいならhtmlで

559 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 09:55:18.77 ID:hhvP4eKN0.net]
>>558
これはそうだね。語気が強かった。すまん。

まぁ、立ち戻って聞かれたこと答えて行くことにするわ。

560 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 09:56:54.26 ID:jAJ0SKjra.net]
あまり詳しくないんだからトンチンカンなこと答えなくていいと思うぞw

561 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 09:58:42.31 ID:hhvP4eKN0.net]
余計なこと言って「聞かれたことだけ答えろ」って思われても嫌だもんな

562 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 10:02:25.91 ID:4vSdgrRSr.net]
許してやろう

563 名前:.NET MAUI HighScool [2022/11/01(火) 21:46:33.25 ID:UUH/mDfh0.net]
.NETがティックトック始めててワロタ
https://www.tiktok.com/@dotnetdevelopers

564 名前:デフォルトの名無しさん [2022/11/01(火) 22:32:56.88 ID:emsrAW8N0.net]




565 名前:デフォルトの名無しさん [2022/11/02(水) 18:31:31.44 ID:fNjoEkdJ0.net]
関数を変数に入れるメリットってなんですかね

566 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 18:40:44.48 ID:SIAjnkFo0.net]
メリットがわからない時はしなくていい
変数を使うと呼び出す関数を動的に変更できる

567 名前:デフォルトの名無しさん [2022/11/02(水) 18:51:57.11 ID:fNjoEkdJ0.net]
了解す(´・ω・`)
動的というのが普通の関数との違いなのでしょうか

568 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 19:57:15.27 ID:54NxTXJm0.net]
コールバック関数とか?

クリックしたら○○しろとか
ツリーノードは色を塗るとき□□の処理で塗れ

とかの○○や□□の処理をインスタンス毎に後から設定できる

569 名前:デフォルトの名無しさん [2022/11/02(水) 20:02:34.53 ID:fWSRoPxp0.net]
よく使うパターンは関数の引数に関数を渡すやつ
static void TripleCall(Action action){
action(); action(); action();
}

570 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 20:21:32.83 ID:XpLTr/SKa.net]
スレッドも登録元が関数を指定する必要があるから、動的に入れている

571 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 20:45:43.92 ID:qyHEkcPy0.net]
WinFormsで自動でボタンを押した時の処理が追加されたりするけどそれも
結局はその関数をイベントリスナーに登録している(つまりイベントリスナーに追加するときに関数を引数にしている)
知らずに使っている事が案外あったりする

572 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 20:48:02.32 ID:047n0D5LM.net]
変数じゃなくて定数じゃん

573 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 20:51:00.83 ID:SIAjnkFo0.net]
引数は変数だぞ
イベントハンドラを登録する時には演算子を使うけどその奥ではイベント登録関数の引数としてデリゲートが渡されてる

574 名前:.NET MAUI HighScool [2022/11/02(水) 21:35:00.76 ID:v08tA7cv0.net]
ラムダ式の話じゃないの?



575 名前:デフォルトの名無しさん [2022/11/02(水) 21:38:51.07 ID:owhI4Qa1p.net]
プロパティに式を仕込むと、思わぬ副作用があって詰むぞ
少なくとも中から呼ぶときくらいは実データにアクセスしようず

576 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 22:46:41.09 ID:SIAjnkFo0.net]
>>574
ラムダ式はデリゲートを作るための書き方にすぎんよ
それがデリゲート変数に代入されて初めて関数になる
Expressionに代入されると関数じゃなく式木になる

577 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 22:47:28.98 ID:SIAjnkFo0.net]
>>575
お前は式という言葉の意味も高階関数も知らんのか

578 名前:.NET MAUI HighScool [2022/11/02(水) 23:25:22.77 ID:v08tA7cv0.net]
助けてくれうぜぇやつに絡まれたんだがHttpClientでjsでロードされる画像のURLを取得する方法ある?
プログラミングって実際もの作らないと身につかないよな
https://mi.5ch.net/test/read.cgi/news4vip/1667395380/

579 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 00:13:01.70 ID:0QCo1mM00.net]
>>578
まずそのスレの1がうざい
どうせお前だろ

580 名前:.NET MAUI HighScool [2022/11/03(木) 00:33:32.59 ID:LxUg3x+60.net]
>>579
俺だけど?
それより絡んでくるやつのほうがウザくね?

581 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 01:17:54.26 ID:M3w0A0V30.net]
jsでロードされるってなんなの?どういうこと?
HTMLに書かれたJavaScriptを動かしてHTMLというかDOMを更新して結果表示される画像のURLを取得したいってこと?

HttpClientで取得したHTMLをWebViewなりで解釈して実行しないとダメでは?ならWebViewで直接やれよという話でもあるが。
JavaScriptだけでロードされてるわけでもないんだし。

582 名前:.NET MAUI HighScool [2022/11/03(木) 01:39:58.55 ID:LxUg3x+60.net]
>>581
多くの検索エンジンの画像検索は最初から全部画像を読み込むと膨大な量のデータをやり取りしないといけなくなりサーバーの負荷が大きくなるので
スクロールするとjsによりほしい分だけデータがロードされるというふうな実装になってる
俺はこういうサイトだとWebViewでjs使ってスクロールしてデータをロードさせてるんだけどこのクソうぜぇやつが言うにはそれはインスタントカレーで湯煎しかしてないゴミカスだと言ってくるわけ

583 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 01:44:02.63 ID:M3w0A0V30.net]
だから、それはJavaScriptだけではなくてDOMがないとあかんのではという話。
エンジンとして何を用意しないといけないか変わってくるじゃん。
(JavaScriptで画像を取得するロジックを走らせる、という言い方だと、プラグインシステムがJavaScriptでできてるとかそういう話になるんでは?)

スレ見てきたけど、そう言うところがダメなんじゃないの?

584 名前:.NET MAUI HighScool [2022/11/03(木) 01:47:04.02 ID:LxUg3x+60.net]
DOMじゃなくてRegexでhtmlのimgタグの中身取ってきてるんだが
たぶんこいつはDOMを使ってないDOM使ってたらもっと謙虚だろ
むしろこれでDOM使ってたらブチギレるわ



585 名前:デフォルトの名無しさん [2022/11/03(木) 02:24:14.27 ID:rfkx/Wsp0.net]
要はこのうざい奴はjavascriptでやってることを解析してC#するのがスマートだと言いたいんだろ
実際はアホな努力だが

586 名前:デフォルトの名無しさん [2022/11/03(木) 02:27:39.09 ID:rfkx/Wsp0.net]
つっても画像検索の読み込みくらいなら単純なのかもな

587 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 05:39:29.72 ID:vGCYuyMq0.net]
たった1行の処理でも関数化してもいいのでしょうか?
大げさな感じもしますが

588 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 08:34:14.06 ID:NbsIPyEs0.net]
>>542
ケースバイケース
よくあるのはその関数を多くの場所で使っててなんかの拍子にその関数をおっきに変更することが想定される場合
あとはその関数にわかりやすい名前をつけたい場合とか

589 名前:.NET MAUI HighScool [2022/11/03(木) 09:00:00.75 ID:LxUg3x+60.net]
>>585
だよな
なんでこいつはこれでイキってんのか不明

590 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 10:00:51.31 ID:q0+PchV30.net]
JavaScript なら、scrollTop とか、

最近は、IntersectionObserver とかもあるらしい

591 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 10:53:54.12 ID:dhtr0mvLa.net]
とりあえずjsでできることは全部c#でできるようにしてくんないと
誰かポリフィル作れということか

592 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:16:01.97 ID:M3w0A0V30.net]
>>584
imgタグを作ってるのがJavaScriptのDOM APIじゃない?

593 名前:.NET MAUI HighScool [2022/11/03(木) 12:17:32.39 ID:Kj7ywx2W0.net]
>>592
つまりこいつはDOMを使ってるくせにイキってたってわけか?
だっさw

594 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:28:05.12 ID:M3w0A0V30.net]
DOM APIって何かわかってる?



595 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:31:33.00 ID:irjlHMAba.net]
>>594
BlazorはそれをRenderFragmentで作るんだぞ
これ読んでみろ
https://learn.microsoft.com/ja-jp/aspnet/core/blazor/components/virtualization?view=aspnetcore-6.0

596 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:39:09.32 ID:M3w0A0V30.net]
>>595
DOM APIを作るの?ちゃうでしょ…。

BlazorのうちWebなものはDOMを(もちろん内部的にはDOM APIを使って)作るけど、DOM APIを作ってるわけじゃ無いでしょ。

あくまでブラウザ、WebViewだったりWPFやXamarin.formsといった、レイアウトやレンダリングを行うエンジンへの架け橋で、そのレイアウト・レンダリングエンジンがWebViewなら、それはDOM APIを使って実現されると言う感じで。

これが俺が想定してたレンダリングエンジンで、その主語がデカかった理由。

597 名前:.NET MAUI HighScool [2022/11/03(木) 12:41:37.25 ID:Kj7ywx2W0.net]
つまりそのGoでスクレイピングを作ってる奴は結局ルウからカレー作ってるように見せかけてインスタントカレー作ってたってことだろ?

598 名前:.NET MAUI HighScool [2022/11/03(木) 12:42:38.00 ID:Kj7ywx2W0.net]
じゃあWebView使ってスクレイピングする方法と何ら変わらんだろって思ってブチギレるわけよ
あんだけ突っかかってきて作ったのインスタントカレーじゃんwってなるわけよ

599 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:44:00.31 ID:M3w0A0V30.net]
DOM → Document Object Modelなデータや構造
DOM API → Document Object Modelなデータや構造を操作するAPI群
という一般的な定義で話してる。

jsのライブラリで言えばparse5とかとjsdomの違いぐらいの話。jsdomがDOM APIを持ってるのが話がややこしい。

600 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:47:38.39 ID:M3w0A0V30.net]
>>598
何を怒ってるかわかんない。甘く見られたって事?
そんな事で怒らんでも良いじゃん。アホ過ぎるとこっちの話が理解できないこともあるよ。俺は計算資源さえ許せばちゃんとレンダリングした方がええでしょ、WebViewでもpuppeterとかでも。

うーん、jsとdomをエミュレートしてレンダリングするタイプは、要は突き詰めるとヘッドレスなブラウザを作ることと変わんなくなるので、確かに味は変わるが、ルーから作ると失敗するぞ言いたい。

601 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:48:40.21 ID:M3w0A0V30.net]
ええでしょ、と思うよ、だった。すまんね。

602 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:49:54.05 ID:irjlHMAba.net]
>>596
何を言ってるんだ
スクロールに従って画像を表示するのにDOMは使わないって話をしてるんだよ
<img src=@(img)/>と書きゃimg変数のURLにある画像が表示される
画面に表示されるとこだけそのタグを作る
タグを作るのにDOMは使わない
そういう話だ

603 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:55:41.20 ID:M3w0A0V30.net]
>>602
え?何言ってるの?「DOM APIが何かわかってる?」に対して「Blazorはそれを…」の返事に「違うよ」って返したんじゃん?

しかも、結局それBlazorはDOM APIを使って画面に表示するところだけそのタグ作ってるからね。

604 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 12:57:28.19 ID:irjlHMAba.net]
とりあえず元のスレでやれ
何がしたいのかよくわからんがお前がウザいのはわかった
スクレイピングの話なら素直にセレニウム使っとけ



605 名前:.NET MAUI HighScool [2022/11/03(木) 13:01:54.15 ID:fiCeisHS0.net]
>>604
だからSelenium使わずにWebViewでやったらキチガイがSeleniumやWebViewは初心者wとか言って絡んで来たんだが

606 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:06:30.69 ID:irjlHMAba.net]
読む気にもならんから知らんが初心者が初心者向けの方法を使って悪いことは何もあるまい
お前が上級者だと言うなら他のやり方を気にせず上級者のテクニックを使ってスクレイピングとかいう糞みたいな作業を続ければいい

607 名前:.NET MAUI HighScool [2022/11/03(木) 13:09:44.54 ID:fiCeisHS0.net]
>>606
バカにされたままだとうぜえからこのスキル使えるようになりたいと思ったがなんか無理そうだな

608 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:09:44.56 ID:WOBTUDvw0.net]
初心者がスクレイピングとか迷惑でしか無い

609 名前:.NET MAUI HighScool [2022/11/03(木) 13:09:55.62 ID:fiCeisHS0.net]
>>608
なぜ?

610 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:18:41.93 ID:kiz4JKw0a.net]
Javascriptのインタプリタをつくればいいだけじゃないの?

611 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:39:14.90 ID:q0+PchV30.net]
漏れは、Ruby Selenium Webdriver で、ブラウザを自動操作してる。
サイトのログインとか

更に、Nokogiri でスクレイピングもできる

612 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:39:56.44 ID:m6o3Pqh2d.net]
MAUI「htmlを、regexでアクセスしてる」
うざいやつ「htmlは、DOM APIでアクセスしろ」

って事??

613 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:41:07.19 ID:x8JkO9N7M.net]
ていうかさあ
よそのスレで起こした(しかもお前が立てたスレの)揉め事をこのスレに持ち込んで助けを求めるようなことするなよ
ここで付け焼刃の知識を仕入れて建てたスレでイキりたいんだろうけど
そんなことやってて恥ずかしくないの?

614 名前:.NET MAUI HighScool [2022/11/03(木) 13:44:22.86 ID:ymgDfjLU0.net]
>>613
俺は恥ずかしくないよ?



615 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:45:03.53 ID:x8JkO9N7M.net]
と思ったらMAUIの人か
じゃあ諭すだけ無駄か・・・・・

まあなんだ、VIP板とやらで頑張ってくれ
こっちに帰ってくるなよ

616 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 13:52:27.10 ID:j+eH91hfa.net]
MAUIに変なイメージついたな
マウイ高校の人に謝れ

617 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 14:03:01.23 ID:tn2ZhR3p0.net]
せっかくXamarinについた変なイメージを隠したのにな。

618 名前:.NET MAUI HighScool [2022/11/03(木) 15:12:06.23 ID:ymgDfjLU0.net]
なんで俺は.NET MAUIの地位向上に努めてるのに避難されなきゃいけねぇんだ

619 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 15:34:50.67 ID:WOBTUDvw0.net]
>>609
・まともなクローラーが作れない
・テストを知らないから、未完成状態でサイトに頻繁にアクセスする
・例外処理の設計ができていないから、サイト側からフィルタされてもアクセスし続ける

結果:監視カメラの前で裸踊りしてる様子を記録されていることに気が付かない

スクレイピング対象になりえるサイトのデータの二次利用は民法的に大体アウト(良くてグレー、真っ白は基本的にありえない)
そのクソみたいなアクセスのせいで、サーバリソース追加しなきゃならんケースがあるからサイト側からすると迷惑でしかない

620 名前:デフォルトの名無しさん [2022/11/03(木) 15:37:50.67 ID:2Kw6fOvE0.net]
散々イキりまくった挙句技術力不足で他人を頼ってくるとか情けなさすぎる
MAUIの地位を貶めるためにやってるんじゃないなら相当やばい

621 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 22:02:04.04 ID:20/srh0o0.net]
>>619
ヘッドレスブラウザでトライ&エラー繰り返されたらあれだろうがHttpClientでhtml単品要求してくるくらいなら別に自由にしたらって思うけどな

622 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 00:40:17.01 ID:IgmKO4aZ0.net]
HttpClient使わないとrobots.txtが取りづらいよな?という嫌味ならなるほどなとは思う。

623 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 19:03:03.51 ID:nywf9UY+0.net]
boolでは2つの返り値を持つ事はできないですか?
https://i.imgur.com/6s9o15k.jpg
ゲームで接地判定を作っているのですが、真ん中からレイを飛ばすと崖でレイが反応しなくなるので、このように両脇から2本飛ばしています。
判定用の関数を作ってます。

624 名前:デフォルトの名無しさん (ワッチョイ 8bbb-/OGx) mailto:sage [2022/11/04(金) 19:12:28.11 ID:7HgZbeW40.net]
>>621
同じアドレスにウェイトなしアクセスをぶん回してくるやつとかいるんだぜ



625 名前:デフォルトの名無しさん (ワッチョイ d941-2RrB) mailto:sage [2022/11/04(金) 19:22:14.68 ID:IiXUZSOe0.net]
>>623
boolでは2つの返り値を持つ事はできないです。
なぜならboolはメソッドではなく型だからです。

626 名前:デフォルトの名無しさん (ラクッペペ MMeb-YnjT) mailto:sage [2022/11/04(金) 19:33:46.65 ID:5m02ltgpM.net]
Win32/C++
BOOL GetMessage(略) ・・・

627 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 19:37:37.70 ID:kqfS0jzoM.net]
>>623
(bool foo, bool bar) F() {
return (true, false)
}

var x = F();
WriteLine(x.foo);
WriteLine(x.bar);

(var a, var b) = F();
WriteLine(a);
WriteLine(b);

628 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 20:31:37.30 ID:nywf9UY+0.net]
>>627
bool型の関数の場合は1つしか持てないじゃないでしょうか

629 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 20:49:12.99 ID:T0hKgiyQa.net]
戻り値では無く引数にrefでboolを2つ渡せばいいんじゃ無い

630 名前:.NET MAUI HighScool [2022/11/04(金) 20:50:56.37 ID:OnPQoW1c0.net]
.NET 7いつ降りてくるんだ?

631 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 21:08:53.29 ID:u3TD418O0.net]
>>629
相手すんなよ...

632 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 21:27:00.15 ID:Fl24BIVd0.net]
論理演算で一つにまとめればいいじゃん

633 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 21:31:27.64 ID:SZTCZ5vE0.net]
タプル使うと後が大変かも

634 名前:デフォルトの名無しさん [2022/11/04(金) 21:57:15.77 ID:8LyOgWL1a.net]
タプルってディクショナリーで複合キーみたいに使えるんかね
dict[("aaa",1)]=456.8



635 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 00:03:26.00 ID:z7QTqWos0.net]
進次郎構文を質問に応用するとこうなるのか...

636 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 01:03:31.06 ID:zPyCNtrD0.net]
複数の引数を戻り値で受け取りたいとか言う奴いるけど
参照でええやん・・・

637 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 05:24:52.32 ID:tZqy6bJ10.net]
>>636
参照?どういうこと
普通に関数2つ作るのがシンプルかもしれませんね

638 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 06:12:30.08 ID:tZqy6bJ10.net]
プログラミングは日本語で言語化することが大事でしょうか
それがフローチャートだったりするのでしょうが

639 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 08:08:07.32 ID:qYBt5eWid.net]
「何をするプログラムなのか」「なぜこうするのか」といった仕様や意図を自然言語で分かりやすく正確に記述できる能力は重要
一般に日本人はそれを苦手とする者が多く、安易に図表に頼ったり、
自然言語で書くとなるとプログラムと逐次対応するような低レベルな記述(実質的にExcel方眼紙上でコーディングしているだけ)をする傾向がある

640 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 08:26:37.39 ID:2xMBgYRAM.net]
意味不明すぎる

641 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 08:34:43.47 ID:yxkEcNx60.net]
文章でグダグダ書かれるより図表や擬似コードで書いてくれた方が100倍マシ

642 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 08:36:00.30 ID:sjtvh1h/M.net]
visual transformer を図表無しで
納得させる資料を書いてから言え

643 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 08:43:50.98 ID:3YlQFQnT0.net]
質問者は投稿する前に、自分の質問をよく推敲しろよ。これはC#初心者以前の問題だ。
文章が意味不明で相手に伝わらず、あほな質問だと思われたらそれなりの答えしか返って来ないぞ。

644 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 09:40:58.84 ID:yYAK326QM.net]
>>638
大事ではないけど

言語化と言うかもともと何をしたいのかと言うことがはっきりしていて
それをコードに落とし込んでいるはず

ところが後でコードからその何をしたいかが読み取れない場合があるので
おおまかなコメントなどを残すことになる
細かく内容を記述するのは無駄だしコードを手直しするたびに書き換えるのは無理だ

フローチャートは階層が深くなる複雑な制御構造になる場合に脳で追いきれなくなる場合に描いたりすると便利なんだろうけど
大体みんなちゃんとしたものじゃなくて流れを落書きする程度だと思う



645 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 11:36:03.24 ID:cwSbm70XM.net]
>>638
よく言われるのは「How」はコードで書く
「What、Why」は自然言語や図表を使って書く、、、てこと

646 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 17:37:50.25 ID:tZqy6bJ10.net]
>>644
>>645
どうも
きれいなコードを書くことでフローチャートはいらないのかもしれないですね

処理は言語化しないと何をしてるのか分からなくなったりしますね

647 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 17:53:52.87 ID:zg6rbg9v0.net]
フローチャートなんてアセンブリ言語でしか使わんぞ
もしかしたらCでギリギリ使うこともあるかもしれんがオブジェクト指向言語では必要ない
オブジェクト指向言語でフローチャート使わなきゃならんとしたらその前にまずオブジェクトの設計がおかしい

648 名前:デフォルトの名無しさん [2022/11/05(土) 18:13:19.21 ID:jSE+d3f7M.net]
>>645
Whatもコードで表現しようぞ

649 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 18:22:12.07 ID:anrNho5cM.net]
>>648
宣言的プログラミングだね
理想的だけど手続きを全て無くすのは難しい
コードはどうしてもハイブリッドになってしまう

650 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 18:26:36.41 ID:pQZkgeTuM.net]
オブジェクト指向言語で処理の流れを図示するならシーケンス図やアクティビティ図
静的な構造の図示はクラス図やパッケージ図

651 名前:デフォルトの名無しさん (ワッチョイ 9279-YsF2) mailto:sage [2022/11/05(土) 18:43:24.92 ID:D4NMIenB0.net]
アクティビティ図書くなら
フローチャートのがわかりやすいな

652 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 20:41:38.38 ID:SeMW4Qkf0.net]
VSがある程度自動的にクラス関係図生成してくれねぇかなあ

653 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 20:58:35.47 ID:zg6rbg9v0.net]
クラスデザイナーというのがあるからインストーラの個別のコンポーネントで検索してみろ

654 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 21:29:39.32 ID:6Vg185nZ0.net]
>>653
あれってCore系未対応じゃなかったっけ?



655 名前:デフォルトの名無しさん [2022/11/05(土) 21:50:02.83 ID:mwXpY34pM.net]
>>649
HowだけでなくWhatもコードで表現しようとするのと宣言的プログラミングはちと違うんだが
いずれにしても重要なのは「仕様のWhat」を「コードのWhat」として対応付けること

656 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 22:06:58.20 ID:neflR3f7M.net]
>>652
クラス関係図ではないけどあるクラスのメソッドやフィールドと他のクラス(または外部ライブラリdll)への関係を図示するだけならコードマップ表示がある

657 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 22:57:43.05 ID:x8IGYLJlM.net]
Windowsフォームアプリ(.NET Core)のスケルトンコードより
フォーム初期化処理(InitializeComponent()メソッド)
https://i.imgur.com/ukmU36Z.png

658 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 23:01:20.64 ID:mbE+OsReM.net]
>>655
ほとんど同じだよWhatをコードで表現しようとすると自然と宣言的になる
というか宣言的プログラミングがそういうもの
どうやってではなくてどうなって欲しいかを記述する

659 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 00:37:13.40 ID:zZNJQBYc0.net]
>>656
使用環境条件が厳しい

コード マップを使用して依存関係をマップする
https://learn.microsoft.com/ja-jp/visualstudio/modeling/map-dependencies-across-your-solutions?view=vs-2022

>コード マップの作成および編集には、Visual Studio Enterprise エディションが必要です。
>ただし、Visual Studio Community および Professional エディションでは、Enterprise エディションで
>生成されたダイアグラムを開くことはできますが、編集することはできません。

660 名前:.NET MAUI HighScool [2022/11/06(日) 00:58:03.81 ID:Am1kuzif0.net]
.NET 7についての前情報得てるやついる?
どんな感じなんだろ?

661 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 02:59:28.10 ID:3Vlqt+cVa.net]
質問です。
構造体を使っていて関数内でnewしてそこで使い終わる(ボクシングしない)場合は、stackに乗るだけなので、heapは汚さないしgcには影響無い認識でいいですよね?ゲームを作ってるのでgcの影響を少なくしたいんです。

662 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 07:14:57.83 ID:t/MPMTDqM.net]
構造体でもインスタンス生成してる時点でガベージコレクションの対象
.NETでは値型であろうが参照型であろうがすべての変数は監視下に置かれる
ボクシングは値型の変数を参照型(object型)変数に代入する時に一時インスタンスを生成して値をコピーして渡す機能なので全く関係ない話

663 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 07:30:46.83 ID:mzFwuoQr0.net]
>>661
> 構造体を使っていて関数内でnew
よくわからんからコードで示して

664 名前:デフォルトの名無しさん (ブーイモ MMad-yfbC) mailto:sage [2022/11/06(日) 09:30:46.32 ID:OgJKt7GdM.net]
>>661の理解で正しいよ。>>662は間違い。
値型は単なるデータ構造であり、それ自身はGCの管理対象にならない。



665 名前:デフォルトの名無しさん (ブーイモ MMad-yfbC) mailto:sage [2022/11/06(日) 09:45:40.42 ID:OgJKt7GdM.net]
ただし、もちろん値型の変数を使ったらその先が全てGCの追跡の対象外になるわけではなくて、値型に定義された参照型の変数はGCの追跡対象となる。
上に述べた通り値型は単なる埋め込みのメモリのデータ構造なので、それ自体は単にGCをバイパスする。
そして、最終的にメモリ上に展開された構造のうちで参照型の変数だけが追跡対象となるわけ。

666 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 09:52:21.19 ID:mzFwuoQr0.net]
>>664
newしてても?

667 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 09:54:44.02 ID:zZNJQBYc0.net]
値型のintでも実際はSystem.Int32構造体のインスタンスではなかったっけ?
MaxValue、MinValueなどのプロパティやToString()などのメソッドが使えたはず
値型の変数でもGCが追跡しているのでは?

668 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 09:57:00.84 ID:OgJKt7GdM.net]
>>666
構造体のnewは、スタック又はそれを保持する参照型オブジェクト上に事前に確保された領域に対し、コンストラクタをインプレースで実行する
新たなインスタンスを生成している訳ではない

669 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 10:00:33.74 ID:OgJKt7GdM.net]
>>667
値型に対してObjectクラス又はValueTypeクラスのメソッドを呼び出そうとすると、その時点でボックス化が発生し、ヒープ上に新たなインスタンスが生成される

670 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 10:06:01.01 ID:sZiKsnj+0.net]
ポインタがオマケでつくかつかないかだけなのか

671 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 11:39:39.10 ID:8lzCZdko0.net]
なんか久し振りにここでためになる話を聞けた気がする。
横からだけど、ありがとう。

672 名前:デフォルトの名無しさん [2022/11/06(日) 12:23:04.83 ID:eRXytuty0.net]
>>662のしったか具合がやばい

673 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 12:28:55.33 ID:46oDEsAIa.net]
このスレは前からそんなもんだろ
素人が知ったかして嘘ばかり教えるスレ

674 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 13:25:57.55 ID:zZNJQBYc0.net]
intの構造体はC/C++で言うところの自己参照構造体を強引に組み込み型として実現してるっぽい
https://qiita.com/cocoabreak/items/e93a3bd6d1640b622c42



675 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 13:54:54.11 ID:FxP86aLpM.net]
>>674
この記事では、そもそもなぜ再帰的な定義になっていて、それがどのように機能するかの説明にはなっていないような
C#のintやInt32型の変数は、実際にはどちらもILのプリミティブ型であるint32型にコンパイルされるんだよ
つまりInt32をint32型のフィールド一つだけを持つ構造体として定義してやれば、Int32とint32のメモリ上のレイアウトが同一になる
あとはコンパイラの型チェックを細工して、それらを区別しないようにしてやればよいというわけ

676 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 14:38:11.76 ID:mupUNnkwa.net]
>>664
680です!有難う、スッキリしました!

677 名前:デフォルトの名無しさん [2022/11/10(木) 02:43:44.58 ID:nQDHqGzi0.net]
TwitterのAPIからツイートを取得し、それを保存する方法について知恵を貸してください
現状テキストファイルに以下のように保存しています
ツイートID||kugiri||ユーザID||kugiri||日付||kugiri||本文||kugiri||未読フラグ||kugiri||保護フラグ
これをString.Splitで配列にしています

問題は||kugiri||とツイートされるとデータが壊れます
実際は||kugiri||ではなくもうちょっと長い記号の羅列ですがどうしても万が一という不安が残ります

こういうデータはXMLで保存するものなのでしょうか
その際「<Honbun>本文</Honbun>」のように保存されると思いますが
「07214545</Honbun>hoge」などXMLのコードが含まれるツイートをされても壊れないものですか?

保存時に本文だけBase64等にするか全てバイナリで保存も考えましたが、ファイルを直接開いて検索したりできないのも不便です
あとは本文をデータの末尾にしてString.Splitを使わずに1つずつ配列に戻すか
データ量は20,000件程度です、他によい方法がありましたらアドバイスおねがいします

678 名前:デフォルトの名無しさん [2022/11/10(木) 03:37:46.97 ID:+sVvBbXs0.net]
>>677
その程度のことで人に聞くならプログラムなんかするな




と言いたいところだが



タブで区切れ

679 名前:デフォルトの名無しさん [2022/11/10(木) 05:44:42.33 ID:nQDHqGzi0.net]
>>678
ツイッターとか5chとか不特定多数のユーザが書き込みをできるシステムで
タブは絶対にユーザーが埋め込むことができない文字ということですか?

680 名前:デフォルトの名無しさん [2022/11/10(木) 07:09:23.51 ID:m98zu82a0.net]
適当なで区切る
データにその記号があればエスケープしておく

681 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 07:45:50.73 ID:nQDHqGzi0.net]
>>680
例えば|chinko|という区切り文字を使っている場合にユーザーが|chinko|と書き込んだ場合
APIから取得時に|ちんこ|と置き換えておくと言う事ですね、表示するときには|chinko|に戻すと
現状改行コードを置き換えて保存しているので、そこにまとめて組み込めば楽そうです

682 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 08:16:38.34 ID:XxWk5gSzr.net]
文字列の改変で(削除でもなく)、エスケープとかサニタイズを独自に実装するのは苦労すると思うよ

683 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 08:34:01.14 ID:9mQBoBy40.net]
>>677
もしよろしけば下記について教えてほしい
その上で「JSON形式ではダメな理由」があるなら、それも教えて

1. 「保存」の目的(保存したデータの利用目的)
2. 現状の保存形式を選択した理由

684 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 09:11:14.02 ID:O+ugNNB7M.net]
xmlもjsonもエスケープ方法は規格として決められている
オレオレエスケープなんか考えなくても偉い人が作ったものを黙って使えば良い



685 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 09:13:17.40 ID:TJ0qCovBd.net]
ファイルに保存する際の定石をよく分かってないだけでしょ
JSONやXMLでもいいけど、この場合普通に一つのツリーとして書き出すと追記できなくて不便そうだから、JSON Linesがお勧めだな
Excelなどで表として扱いたいならCSVでもいいがJSON Linesよりはフォーマットにバリエーションがあるから考慮すべきことは多くなる

686 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 09:42:00.83 ID:hu9oTdXa0.net]
目視もしたいなら尚更そのままjsonでええやん

687 名前:デフォルトの名無しさん [2022/11/10(木) 10:19:10.77 ID:24bGZvg4a.net]
最近学びはじめてC♯ではメインメソッドを省略できるということで楽だなーと思っていたら関数のオーバーロードのところでエラーが出てしまいました
従来通りクラス名とメインメソッドを書くやり方だと普通に出来たのでローカル関数(オーバーロードできない?)として認識されているためエラーが出てるという認識で合っていますか?
メインメソッドを省略した場合どうやってもオーバーロードできないのでしょうか?

688 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 10:33:00.98 ID:vuUWLQnn0.net]
>>687
トップレベルに書かれたメソッドはローカル関数になります
cf) //ufcpp.net/study/csharp/misc/miscentrypoint/#top-level-statements

689 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 11:17:10.46 ID:eH71UEsUa.net]
>>681
違う、それだと |ちんこ| と書き込んだら |chinko| になっちゃうだろ
|chinko| と書き込まれてたら |エスケープ||chinko| にして、表示する時に |エスケープ||chinko| を |chinko| に戻す
ただこれだと |エスケープ||chinko| って入力されたら |エスケープ| が無くなっちゃうから |エスケープ| 自身もエスケープして |エスケープ| が来たら |エスケープ||エスケープ| にして、表示時に |エスケープ||エスケープ| を |エスケープ| に戻す
※ |エスケープ||chinko| の保存データは |エスケープ||エスケープ||エスケープ||chinko| になる

まあ>>684の言う通りオレオレエスケープは知識としては知っておくべきだけど自前で実装するよりライブラリ等に頼った方がいいと思うよ

690 名前:デフォルトの名無しさん [2022/11/10(木) 12:01:29.52 ID:24bGZvg4a.net]
>>688
ということはオーバーロードを使いたい場合トップステートメントのあとにクラスやら定義してから関数作るか別のファイルで作って呼び出すしかないという認識でいいですか?

691 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 12:31:50.00 ID:vuUWLQnn0.net]
>>690
それでいいと思います
ただ、そこまで色々するのならトップレベルに書かず普通に書いた方が分かりやすいんじゃないかなという気もしますが

692 名前:デフォルトの名無しさん [2022/11/10(木) 12:55:47.41 ID:24bGZvg4a.net]
>>691
なんかどうなのかな?ってもやもや気になってしまって
教えてくれてありがとうございましたスッキリしました!

693 名前:デフォルトの名無しさん [2022/11/10(木) 15:17:52.70 ID:F9S+K/27M.net]
CSVのreader/writerは標準では無いんだね

694 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 18:43:48.03 ID:NDp6c9mu0.net]
>>693
readerというかParserはあるよ
TextFieldParserクラス
https://dobon.net/vb/dotnet/file/readcsvfile.html#section7
同じところに載っている独自解析のサンプルや自分でParser作った方が動作は若干早くなるだろうけど



695 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 18:44:43.64 ID:QLIhXLlU0.net]
ツイートって文字数決まってなかったっけ?
このパターンなら昔は固定長とかも候補になっただろうに
最近の文字コード事情考えると固定長は厳しいよなぁ

696 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 19:17:24.93 ID:BjQppGzz0.net]
拡張性とか無くなるけど
本文の位置をラストにしてcountを渡せば
Split一発で配列に出来るかも

697 名前:デフォルトの名無しさん [2022/11/10(木) 20:27:59.70 ID:m98zu82a0.net]
5chのDATのようにHTMLエンコードして改行を<br>で置き換えたものを<>で連結するフォーマットは何気に簡単でいいね

698 名前:デフォルトの名無しさん (オイコラミネオ MM91-o+MF) mailto:sage [2022/11/11(金) 11:48:16.03 ID:V/N8drZJM.net]
ここで出てる案だと普通はタブ区切りがいい
汎用性がある
excelやpythonのpandasでシンプルに読める
VSCodeでアドインもある

699 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 12:23:50.12 ID:z+UtuJ+k0.net]
>>698
>>679 の回答によると思うが

700 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 12:29:30.36 ID:8WOXnYS7M.net]
システムとして必要がないので抹殺するのみ

701 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 13:24:51.05 ID:zPVyBVcV0.net]
馬鹿みたいにHTML解析してデータ取得してるならまだしも普通にapi投げてるならjson一択やろ

702 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 13:33:07.32 ID:OBpw9JhUa.net]
ふつーYAML

703 名前:デフォルトの名無しさん (ワッチョイ a2bd-+nMC) mailto:sage [2022/11/11(金) 16:29:42.18 ID:WVb8D07I0.net]
初めまして。
.NetCoreでコマンドラインみたいな改行させながらのログ表示をさせようと思ったのですが、どんなコントロール使えば良いのでしょう? 出来れば履歴遡れるようにスクロールバー付きで。
ラベルもテキストボックスもうまく表示してくれない・・・shownイベント以下に書いたからかな。

704 名前:デフォルトの名無しさん (ワッチョイ f533-rIwK) mailto:sage [2022/11/11(金) 16:42:33.46 ID:GYEdeJz40.net]
>>703
画面への表示は何を使ってるの?
WinForms? WPF? それともそれ以外の何か?



705 名前:デフォルトの名無しさん (アウアウウー Sacd-Aj/S) mailto:sage [2022/11/11(金) 16:50:47.79 ID:YvvI/C4ma.net]
同じところで普通に文字列渡したら表示されるなら読み込みに失敗してるのでコントロールのせいではない

706 名前:デフォルトの名無しさん [2022/11/11(金) 18:11:52.32 ID:FjpNhKohp.net]
ただのテキストボックスとかラベルだと
そのとき持ってるテキストしか表示しないから
アペンドしてくしか無いんじゃね?

707 名前:722 mailto:sage [2022/11/11(金) 18:23:04.48 ID:WVb8D07I0.net]
 反応ありがとうございます。
>>704
 WinForm使っています。
 ・・・と、プロジェクト作成時に指定したと思ったのですが、プロジェクのプロパティを確認したら少し違っていました。
 Windowsフォームなのは間違いないですが、.NetCoreではなく.Net6.0でした。
 .NetとかCoreとかframewaorkとか、まだよく分かっていません。取り敢えず.Netにしとけって感じみたいですが。
 WPFはまだ私には早いらしいから避けて通ろうと思います。

>>705
 Form.Textは望んだ通りに表示されたのですけどねw
 当初 public Form1()の InitializeComponent();以下に記述していたのですが、処理が全部終わってからForm作画に入るのでShownイベントに移動したのですが・・・念を入れて配置した中断ボタンも作画されず穴開き状態で、ShownはFormの配置が終わった直後であって総ての配置が終わった跡ではないって事ですかね。 私が書いたのは読んだファイルを加工して別ファイルに書き出している程度のモノなのですが、普通の処理はどこに置けば良いんでしょうね。 要勉強なり。


#よく分からないまま入門しているから、一つの質問の不明部分を細く要件定義していくと目も当てられない長さになりますね・・・。

708 名前:722 mailto:sage [2022/11/11(金) 18:24:05.80 ID:WVb8D07I0.net]
>>706
 なるほど・・・試してみます。

709 名前:デフォルトの名無しさん [2022/11/11(金) 18:38:29.81 ID:k1VRcWZVa.net]
キモイインデント

710 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 19:16:48.66 ID:7I/0fxGc0.net]
>>707
GUIなので実行ボタンでも押した時に処理すればいいんじゃないですかね?

ボタンの配置は気合を入れなくてもツールボックスからマウスでポトペタすると完成ですよ

711 名前:722 mailto:sage [2022/11/12(土) 06:25:09.95 ID:gXw8amZq0.net]
>>710
 ボタンスタートと言う方法なら今の実力でも綺麗に収まると思うのですが、D&Dかダブルクリックで起動したら後はノンストップで処理してひっそり終了してもらいたいので、ボタンでワンストップは仕様として煩わしい。
 と言う美学的な理由でやろうとしないのでした(^^;
>>706 改めまして。
 実装してみました。
 TextBox.Text += newword;的な記述をして痛い目を見ました。 TextBox.AppendText(newword);としないといけないんですね。
 ついでに初期設定で TextBox.ScrollBars = ScrollBars.Both;でスクロールバーも付けました。
 buttonは機能しないのに、TextBoxは問題なく機能していますね。何故だろう。
 早くshownからどっかに移動しないとですね。

712 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 09:45:26.79 ID:zAtFaE7C0.net]
スタンドアローンなアプリで、アプリの起動をパスワード保護したいのですが、ILSpy等で丸見えにならない程度の強度を持つにはどのような方法がありますか?

713 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 09:59:48.08 ID:tbSOUgpp0.net]
C#以外でdllにしとけば?

714 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 10:23:23.19 ID:B4kjFmw80.net]
>>712
パスワードチェックロジックを難読化ツールでぐちゃぐちゃにすると追う気無くなる



715 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 10:29:06.28 ID:ZNG2TRSk0.net]
>>712
適当なアルゴリズムのハッシュ値を比較すれば?

716 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 12:11:02.84 ID:Ra6ElU+i0.net]


717 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 12:12:52.85 ID:bRljaFHR0.net]
>>712
んなもんローカルに全てのデータがある時点で何しても無駄
ILだけ対策すればいいならネイティブコンパイルすればいい
そうすりゃ他のネイティブアプリと同じく機械語になるから

718 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 12:13:15.16 ID:Ra6ElU+i0.net]
k

719 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 12:17:11.67 ID:Ra6ElU+i0.net]
n

720 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 13:44:40.40 ID:4XgMUuW5M.net]
>>712
アプリの本体をパスワード付きzipかなんかで圧縮しといて動的にロードする

721 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 13:48:14.08 ID:YXyqvQzKa.net]
>>720
ダサすぎるし解凍したところでコピーできんじゃん

722 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 13:55:42.98 ID:guv9Rfqm0.net]
パスワードのみのテキストファイルを
そのパスワードでzip圧縮
解凍成功と中身の照合で実行継続か

723 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 13:57:46.17 ID:YXyqvQzKa.net]
>>722
実行ファイルをバイナリエディタで開いて照合する箇所を飛ばす命令を書き込めば照合しなくなるぞ

724 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 14:51:41.26 ID:f1IcSnyo0.net]
>>722
それでいいなら主要なコードを暗号化しといて解凍したコードを動的ロードして実行すれば>>723みたいな攻撃にも耐えられるな



725 名前:デフォルトの名無しさん [2022/11/12(土) 15:00:47.68 ID:Y/i2pfZ30.net]
>>715で良くね?

726 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:00:48.57 ID:ajB/boEg0.net]
ディスクに平文ファイルを書き出したところを盗まれる。
オンメモリでやりたいけどそっちはデータ実行で引っかかるんだよな。

727 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:02:24.87 ID:YXyqvQzKa.net]
>>724
暗号化する部分とキーが平文だからだめだな

728 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:11:29.38 ID:c/ILT9OL0.net]
まあ>>717の言う通りで
結局現行の高価な商用アプリはほぼシングルユーザーライセンスに移行してるし
今時ネットに繋いでないなんてありえないからKMSみたいに一定期間で認証させるとかだな
実行したらメモリに全部展開されるしそこ覗かれるようならローカルのファイルをいくら細工しても無駄だよ

729 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:12:12.94 ID:LpiKZFMR0.net]
なんか変に面倒な方向にしようとする人たちがいるな
>>712
パスワードを知られたくないだけなら>>715で十分。MD5でもSHA-512でもお好きなもので
パスワード起動部分を突破されたくないなら>>717

730 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:16:20.60 ID:c/ILT9OL0.net]
>>711
まずWindowsのGUIの基礎を確認した方がいいよ
メッセージループの仕組みやformの作成から表示までにどのイベントがどういう順序で呼ばれるかとか
shownのタイミングで設定が必要な場合もあるけど質問の内容はloadの段階で片がつくんじゃないかね

731 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:27:16.04 ID:2L2Z04CZ0.net]
ライセンス認証前提でレスしてる人が多いけど本当にそういう用途なのか?
今どきそんなことするかな?

732 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:54:02.21 ID:ncy2h0/Ld.net]
そのパスワード認証必要?

733 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:56:41.52 ID:ncy2h0/Ld.net]
毎回入力させるのか
次回以降のためにキャッシュでファイルローカルに持たせた場合、どう保存するのか

734 名前:デフォルトの名無しさん [2022/11/12(土) 16:04:56.79 ID:Y/i2pfZ30.net]
どうって普通にパスワード置くだけじゃね



735 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 16:21:43.32 ID:ncy2h0/Ld.net]
普通に置くパスワードって必要?

736 名前:デフォルトの名無しさん [2022/11/12(土) 16:29:23.68 ID:Y/i2pfZ30.net]


737 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 16:39:07.13 ID:ZNG2TRSk0.net]
こんな感じで良いんじゃない?

・パスワードが保存されてるか確認
・パスワード入力
・ハッシュ値を比較
・(OK)ログイン/平文パスワードを適当に保存
・(NG)リトライ

次回以降
・保存されたパスワードとハッシュ値を比較
・(OK)ログイン
・(NG)パスワードファイルを消してリトライ

ハッシュ値の生成はレインボーなやつとか総当りとかまでは対策しときたいかなぁ
パスワード検証用によく使われるアルゴリズム使用して、saltでゲタ履かせてストレッチングで処理時間の確保ぐらいはしときたい

バイナリいじるやつまで考えると全然対策にならんけどねぇw

738 名前:デフォルトの名無しさん [2022/11/12(土) 16:44:03.53 ID:Y/i2pfZ30.net]
Linuxはどうしてるんだろう

739 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 16:51:30.20 ID:ajB/boEg0.net]
osのログインとアプリの起動を同列には考えられんが、linuxも
ディスクを抜き取って /etc/passwd を書き換えられたらアウト。

740 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 17:27:01.84 ID:vKl12ZSx0.net]
みんな俺のために働け

741 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 17:29:44.19 ID:ZNG2TRSk0.net]
今どき /etc/passwd にパスワードおいてるディストリビューションってあるの?

742 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 17:48:17.21 ID:ajB/boEg0.net]
そこは本質的な話じゃないから適宜shadowにでも読み替えて。

743 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 17:52:51.14 ID:2L2Z04CZ0.net]
>>737
ハッシュ化するのは平文パスワードを保存しないためなんだが・・・

744 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 17:59:12.62 ID:1r3Bwkn20.net]
>>737
今時平文パスワードを保存って発想が出て来るのは不味いぞ



745 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 18:17:21.03 ID:ZNG2TRSk0.net]
>>743
ハッシュ値にこだわるなら、ストレッチングの回数を適当に減らしたハッシュ値を保存→次回以降は減らした回数ストレッチングして検証。でも良いと思うけど、すでにユーザの手元にパスワードがある前提のスタンドアロンアプリだからねぇ

適当なトークンの作成ロジックが隠せない以上平文で良いと思う
平文が嫌なら、毎回パスワードを聞く感じかなぁ

746 名前:デフォルトの名無しさん [2022/11/12(土) 18:49:41.37 ID:Y/i2pfZ30.net]
ハッキングでもされなきゃローカルに保存したパスワードなんて流出しないやろ

747 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 18:53:34.55 ID:lzvWNBzY0.net]
ローカルで動作するアプリは、極論言ってしまうと労力惜しまなければどうやってもクラッキング出来てしまうからなぁ
ドングルみたいなハードウェアや、ネットワーク認証挟むとかなり強固にはなるけど
結局のところ、どこまでの強度が必要かって話になる

748 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 18:56:34.83 ID:THWEmJXVa.net]
いくら認証を強化しても認証をスキップするよう書き換えられたら終わるんだから気にしないが吉

749 名前:デフォルトの名無しさん [2022/11/12(土) 19:00:47.98 ID:Y/i2pfZ30.net]
ユーザーが保存したキーの窃取とアプリのキーの解析を混同してる奴いそう

750 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 19:33:04.85 ID:guv9Rfqm0.net]
>>712
> ILSpy等で丸見えにならない程度
じゃないのか・・・

751 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 19:47:44.72 ID:bRljaFHR0.net]
その程度を求めてるならネイティブコードにコンパイルすればいいんだって
逆アセンブルで丸見えだけどな
なぜかILだけ逆アセンブルできると思ってるやつ時々いるよな

752 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 19:56:29.64 ID:lzvWNBzY0.net]
何なら難読化ツールもあるし

753 名前:デフォルトの名無しさん [2022/11/12(土) 19:57:28.32 ID:Y/i2pfZ30.net]
バイナリ改変したら動かないようにできないの?

754 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:00:08.63 ID:syTmwMgY0.net]
プログラムコードにしか見えない文字列をデータとして格納しておいて、それをキーにする



755 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:04:47.69 ID:THWEmJXVa.net]
てかデフォで難読化してくれよ

756 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:07:09.00 ID:guv9Rfqm0.net]
>>753
それが完璧に出来るならコンピュータウィルスの大部分が無くなりそう

757 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:08:53.77 ID:lzvWNBzY0.net]
>>755
パフォーマンスは落ちるだろうし、別に難読化が要らないプログラムの方が多いから
そんなもんオプションでいいだろ

758 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:09:20.08 ID:ZNG2TRSk0.net]
>>722
コレ結構好きかも
個別にパスワードを設定したいならかなりお手軽だね

759 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:10:42.29 ID:THWEmJXVa.net]
>>757
オプションでもいいけどVSに実装してくれ

760 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:13:56.36 ID:ZNG2TRSk0.net]
>>753
配布時の検証にはMD5とかよく見るね
動作も制限できそうだけど、その部分を回避されるとやっぱりだめだからなぁ

761 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 20:17:55.47 ID:EWhm+EbT0.net]
起動は別ファイルからってやつは
実行前にバイナリ確認してるのかな?

762 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 23:06:21.95 ID:B4kjFmw80.net]
>>759
Dotfuscatorがあるでしょ

763 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 00:12:55.08 ID:0j2qr49h0.net]
zipはパスワード分からなくても中身のファイル名わかれば上書き可能なので
いろいろ工夫しないとめちゃくちゃ簡単に突破されるよ

764 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 00:51:17.24 ID:uK9Cge080.net]
>>753
アプリの電子署名がそれじゃないの?
Windowsだけど



765 名前:722 mailto:sage [2022/11/13(日) 06:22:17.77 ID:TFN9Og8f0.net]
>>730 見落としていました。申し訳ございません。
 確かに、基礎的な所は全然分かっておりません。
 WINDOWS環境では、C+DXライブラリしか経験ないものでして。 あとHSP。
 C#の入門サイトでWINの基礎を抑えている所にまだ当たっていないというのもあります。
 と言うか、多分その基礎が身に付いたらここで質問せず教える立場だろーなーと思いますw
 WINDOWSの基礎からC#のWinFormを入門してコントロールの制御以上に踏み込んでいるサイトがありましたら、紹介よろしくお願いします。

 少し報告。
 shownイベントが駄目なら、Main()に書き足せば良いんじゃね?とProgram.csを探し出してshownから移植しようとしてみました。
 クラスをよく分かっていないのでpublic static void body()とか理解もしていないのにテキトーなキーワードを散りばめてメンバーを書き足したのですが、そこからだとコントロールが一切見えないっぽいので諦めて元に戻しました。
 D&Dと単独実行(コマンドライン引数とカレントのファイル検索からのファイル取得)からのノンストップなスムーズ実行を実現したいからbutton以下に収めない記述を探しているのですが・・・まさかチュートリアルが見付からないとか、戸惑っています。

766 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 06:46:08.30 ID:4/Hqzxve0.net]
基礎はWebの断片的な情報だと厳しいからでかい図書館や本屋で紙の本でも読んで来い
電子はパラパラめくって中身を確認できないからできれば紙がいい

767 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 07:30:57.54 ID:BdGTc1Dp0.net]
>>763
確かに >>722 のままだとちょっとまずいですね
仕組みがバレてれば、ユーザが任意のパスワードでzipファイル作って簡単に置き換え可能なので

方向性は好きだけど、もうちょっとねる必要ありですね

768 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 07:57:25.67 ID:BdGTc1Dp0.net]
>>767
少し考えてみたけど、ロジックが覗き見れる前提だとこの方法はダメかな...
何やっても置き換えで対応できる気がする

769 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 08:10:56.99 ID:aD+9aMvk0.net]
上にも書かれてるけどガチでやられたらどんな方法使っても完全な対策なんて無理だよ

770 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 08:52:02.92 ID:BdGTc1Dp0.net]
まぁ、何を脅威としてみなすか、どこまで許容するかですよね
俺が提案したハッシュ値での検証もアルゴリズムばれ、ハッシュ値ばれまでは大丈夫だけど、書き換えには無力だし

ともあれ、個人的には面白い話題だったわ

771 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 09:04:58.19 ID:6eP485iya.net]
この質問者の場合は知らんけどユーザーがパスワード入力を許せるくらいの良いソフトを作ってから言えと言いたくなる事例が割とある
まず使ってもらうハードルが高いのに余計なことしなくていいんだよ
気に入ったユーザーは自然と財布が緩むからより便利になる機能をプラグインで販売すりゃいい

772 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 09:11:01.42 ID:aD+9aMvk0.net]
いきなり謎の上から目線w

773 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 09:24:11.50 ID:4jLRyBA70.net]
高額なソフトを作っている会社はPC内でのチェックが簡単に突破出来てしまう事を判ってるから、
大体Webアクティベーションやドングルを採用してる

774 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 09:31:37.68 ID:BdGTc1Dp0.net]
上から目線じゃなくて実体験じゃない?
ちなみに俺は実体験としてやらかしたことがあるw

無駄に難読化しようとしたわ



775 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 09:51:17.84 ID:93KwHlO1a.net]
なんかこのスレ上から見られてるんじゃないかといつもビクビクしてる妙に卑屈なやついるな
それ多分初心者だから自信がないんじゃなく何年やっても初心者だから自信がないんだぞ
普通初心者なんて三ヶ月で卒業するから学ぶのに精一杯で卑屈になってる暇なんかないわ

776 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 10:09:47.66 ID:2jgXqyDd0.net]
>まず使ってもらうハードルが高いのに余計なことしなくていいんだよ

このセリフは「良いソフトを作ってから言えと言いたくなる事例」の本人に言ってやれってことだろ。

777 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 10:45:16.60 ID:7K/NPeS80.net]
C#でセキュリティーをなんとかしたいのならUWP使うのも手だけどね

778 名前:デフォルトの名無しさん [2022/11/13(日) 12:15:05.54 ID:eEed0M79M.net]
>>772
いつもの人だよww
最近は質スレで暴れてたからこっちが平穏だっただけ

779 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 12:20:42.58 ID:lSfeZyRJa.net]
卑屈なやつだなw

780 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 16:25:03.21 ID:7K/NPeS80.net]
人の成果物をタダで使わせろって暴れるキチガイは勘弁してほしいわ

781 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 16:45:13.25 ID:4/Hqzxve0.net]
世の中そんなやつばかりだったからこうなったわけで
WindowsでUWP使って小銭は稼げてるかい?

782 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 18:21:39.43 ID:RwIffndXM.net]
がっぽり儲けてます

783 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 18:29:49.19 ID:p3TW3Ix/M.net]
最初は手作り感万歳でも使ってくれる人はいた
今はプロ作ったような紹介画像がないと悲しいことに

784 名前:デフォルトの名無しさん [2022/11/14(月) 17:01:48.00 ID:p8dKwuQs0.net]
すみません。
.NET MAUIなのですがページのナビゲーションでパラメーターを渡す処理を作ったのですが、
うまく表示されません。
ブレークポイントを使うと以下のような形になり少しおかしいです。
プロパティSendModelを作成するところでブレークポイントを持ってくるとちゃんと変数が渡されているのに対して
イニシャライズコンポーネントをした後にブレークポイントを持ってくると変数がnullになってしまいます。
なぜこうなるかわかるかたいますか?
https://imgur.com/CNxFyIv.jpg
https://imgur.com/TuctRLK.jpg



785 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 17:08:14.46 ID:Latj9fgHM.net]
MAUIって仕事ありそう?

786 名前:デフォルトの名無しさん [2022/11/14(月) 17:15:29.93 ID:p8dKwuQs0.net]
>>785
今は無いけど任天堂やJRやNHKからちょこちょこあるんじゃね?
あと政府とMicrosoftズブズブだからその辺でなんかありそう

787 名前:デフォルトの名無しさん [2022/11/14(月) 17:15:40.85 ID:p8dKwuQs0.net]
マイナンバー関係とかね

788 名前:デフォルトの名無しさん [2022/11/14(月) 17:16:54.88 ID:p8dKwuQs0.net]
すまんJR関係なかったパスモは東京メトロだったわ

789 名前:デフォルトの名無しさん [2022/11/14(月) 17:17:39.08 ID:p8dKwuQs0.net]
とりあえず24年までには置き換えしないといけないしね

790 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 17:21:53.03 ID:Latj9fgHM.net]
>>786
先を見据えてって感じかね
もうJavaやりたくないしWeb系は先行者に勝てんし、MAUIに賭けてオラいっちょ勉強してみっぞ

791 名前:デフォルトの名無しさん [2022/11/14(月) 17:31:00.77 ID:p8dKwuQs0.net]
>>790
がんばれー
JavaでAndroidやってたらMAUI強いかも
Javaで書いてたAndroidAPIがそのままかけるからね
https://learn.microsoft.com/ja-jp/xamarin/android/

792 名前:デフォルトの名無しさん [2022/11/14(月) 17:36:07.06 ID:p8dKwuQs0.net]
>>784
すみませんこれ自己解決しました
一番最初にイニシャライズコンポーネントが呼び出されてその後プロパティを取得されるみたいです
おかしかったのはxamlのBindingの記述でそのままオブジェクト(SendModel)のプロパティを書いてたからでした
{Binding SendModel.Title}で確認できました

793 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 17:58:09.71 ID:cpuc2dy6d.net]
>>814
Flutterがいいんじゃない
MAUIに比べりゃ圧倒的に仕事あるよ

794 名前:デフォルトの名無しさん (ワッチョイ 2301-0qx4) [2022/11/14(月) 18:18:45.36 ID:p8dKwuQs0.net]
>>793
C#のスレでFlutterすすめるのは止めなさい
JavaやってるならDartよりC#の方が親和性高いでしょう



795 名前:デフォルトの名無しさん (ワッチョイ b507-z+Fy) mailto:sage [2022/11/14(月) 18:29:08.87 ID:HDY6oj/W0.net]
仕事として5chで叩くならどのプラットフォームがいい?

796 名前:デフォルトの名無しさん (ワッチョイ 2301-0qx4) [2022/11/14(月) 18:29:30.58 ID:p8dKwuQs0.net]
Dartはchildやchildrenの部分が最高にアホwって思う

https://i.imgur.com/FIRNxLX.png

797 名前:デフォルトの名無しさん (スプッッ Sd03-KAzt) mailto:sage [2022/11/14(月) 18:54:36.79 ID:8Qr3XdFEd.net]
>>796
宣言的にCompositeパターン書くならC#でも似たコードにならんか?
何がアホなんだ?

798 名前:デフォルトの名無しさん (ワッチョイ 2301-0qx4) [2022/11/14(月) 19:01:16.65 ID:p8dKwuQs0.net]
>>797
無駄にCompositeして意味あんの?
.NET MAUIのMVU用ライブラリはFlutter真似して作られてるから無駄にChildrenとかつけちゃうわな
そりゃそうなるわ
.NET MAUI系You Tuberのこの人もこの書き方好きじゃないからMVVMでやりますって言ってるぞ
https://youtu.be/nCNh9G-Q688

799 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 19:31:42.89 ID:hjaMiJ3dM.net]
>>794
どっちも元々Javaフォロワーでしょ
C#はJavaからの飛躍が大きいからDartの方が覚えること少ないよ

800 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 19:39:58.14 ID:HDY6oj/W0.net]
DartはJavaScriptだろ

801 名前:デフォルトの名無しさん [2022/11/14(月) 19:49:37.13 ID:p8dKwuQs0.net]
>>799
DartはJavaScriptを元にした言語だよ(AltJSとか言われてる)
DartとかJavaScriptを元にしたAltJSがみんな潰れてC#を元にしたTypeScriptがここまで発展したの笑えるよな
FlutterはDartの救済措置でしかない

802 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 19:52:02.34 ID:8Qr3XdFEd.net]
>>798
いやだから何がアホなんだ?誰かが言ってたから?

803 名前:デフォルトの名無しさん [2022/11/14(月) 20:02:04.55 ID:p8dKwuQs0.net]
>>802
無駄じゃんその1語
いるか???
コンパイル通すときいるの?
普通に
StackLayout{
Label label1{
Text="ほげ",
TextColor=Red,
TextAttribute=Bold},
Label label2{
Text="ほげ",
TextColor=Red,
TextAttribute=Bold}
}
とかにできなかったのだろうか?
これがスムーズじゃね?

804 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 20:21:04.18 ID:8Qr3XdFEd.net]
>>803
child書くか書かないかってレベルの話かよ…



805 名前:デフォルトの名無しさん [2022/11/14(月) 20:55:04.59 ID:p8dKwuQs0.net]
>>804
そりゃそうでしょ…
見にくいしどれがどれかわからんUIの作りづらさは一級品だよねMVU

806 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 21:18:14.71 ID:ans/MkehM.net]
>>784
本当にお前は迷惑で恥知らずなゴミだなMAUI君よお
MAUIの質問ならここじゃなくてMAUIスレに持ち込めよ
Xamarinスレだったのをスレ内で合意を取るようなこともせず勝手にMAUIスレへスレタイを変えて
散々私物化してるのはお前だろ?
そっちのスレで責任もって解決しろよ
なんでわざわざこっちのスレへ持ってくるんだ?
お前が好き勝手やってるせいで答えてくれるようなスレ住民がみんないなくなっちゃったとかそういうことか?

807 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 21:20:26.72 ID:ans/MkehM.net]
あとFlutterもDartもスレ違いだしFlutter叩きならなおスレ違いだ
お前が立ててさんざん自演なりで盛り上げようとしても盛り上がらないクソVSスレでやれ

Flutter VS .NET MAUI VS React Native
https://mevius.5ch.net/test/read.cgi/tech/1661511605/

808 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 21:25:38.42 ID:ans/MkehM.net]
あと、この板にクソスレ立てんな
直近で目に付いたのは
https://mevius.5ch.net/test/read.cgi/tech/1668127312/
https://mevius.5ch.net/test/read.cgi/tech/1667211312/
だけどお前これ以外にも一杯立ててるだろ
そういうのはお前の巣でやれ。VIPだか何だか知らんがそこから出てくるな

809 名前:デフォルトの名無しさん [2022/11/14(月) 21:43:20.92 ID:p8dKwuQs0.net]
C#全体のことはここで聞く
MAUI特有のことはMAUIスレで聞く
当然では?

810 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 22:11:38.95 ID:ans/MkehM.net]
すげーな
さすが恥知らずのMAUI君

先にMAUIスレで質問するようなこともせずに
このスレでMAUIの質問をしておきながら
>>809みたいなことを平然と言ってのけるこの神経
でもって826,827みたいな自分にとって都合の悪いことは何一つ見なかったことにしてスルーするんですね?
いやー「.NET MAUI HighSchool」ってコテでしたっけ
この実績で就職活動とか頑張ろうとしてるんですよね
おみそれしました

811 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 23:59:43.67 ID:ans/MkehM.net]
「.NET MAUI HighSchool」さん、朝から晩までこの板に張り付いて
本日の書き込みランキングのワンツーフィニッシュおめでとうございます!!
hissi.org/read.php/tech/20221114/

他のスレでは23時以降も活発に書き込みされてるようですが、
その元気があるようなら私にもお返事いただけませんか? 826とか827とかあと829もそうだけど
でも1点だけ反論して残りの指摘を何一つなかったことにするのはやめてほしいなとは思いますけどね
(ぶっちゃけchildren1つ書くかどうかなんてStoryBoardの地獄に比べたら屁でもないけどまあこれはスレチなんでどうでもいい)
まさか828で反論した直後にこっちのことをNGIDしたからレスが見えてない、なんてしょっぱい言い訳はしませんよね?
それとも貴方自身が恥知らずのゴミムシであることをレスしないことを以て体現しておられるのでしょうか???

812 名前:デフォルトの名無しさん [2022/11/15(火) 00:21:34.85 ID:fFtAGper0.net]
>>811
答える必要ないからレスしなかっただけですが???
全レスする必要あります???

813 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 07:01:23.31 ID:zF+MxnbgM.net]
>その元気があるようなら私にもお返事いただけませんか? 826とか827とかあと829もそうだけど
って書いてあるよな?
日本語もろくに理解できない馬鹿なのかお前は?
ID:p8dKwuQs0 の書き込みとか
他のスレの書き込みとかを見る限り全レスがデフォみたいなんで
返信がないってことでよっぽど返信したくないことを書かれちゃったのかーと思っちゃったけどそうじゃないんだな?
じゃあ俺の書き込みに限らずすべての指摘に対して逃げずに全レスしろよ
そこまで勿体つけたからにはさぞかしご立派な反論が来るんだろうな?
どうせお前は一日中ずーっと5chするくらいしか能がないんだから好きなだけ時間かけて書き連ねてみろよ
違いはchild/children一個だけみたいな見るほうがリアクションに困る失笑しかできないような返しすんじゃねーぞ


でもさすがにこのスレで続けるのはC#関係ないしスレチで迷惑だから
お前が立てたお前専用のゴミスレ↓
.NET MAUI HighSchool
https://mevius.5ch.net/test/read.cgi/tech/1662947042/
でやれ

よかったな、お前のクソスレに人を呼び込めるぞ
感謝しろ

814 名前:デフォルトの名無しさん mailto:sage [2022/11/16(水) 21:19:21.33 ID:Ndk7vWNsM.net]
あれれMAUI君どこいっちゃったの?
>>812みたいなファイティングポーズを取ってたからさぞかしご立派な返信が来るかと期待してたのに
このスレにも晒したスレにも何一つ反論できずに尻尾を巻いて逃げ出した?
それともまさか名無しになって他人のフリしてるなんて恥ずかしいことやってる?
このスレもそうだし他のスレ(例えばWPFスレ https://mevius.5ch.net/test/read.cgi/tech/1667010874/ )でも
さんざん「.NET MAUI HighSchool」ってコテを名乗って毎日朝から晩まで書き込んでたのに
急にこのコテ使った書き込みが無くなったみたいなんだけど、どうしちゃったんだろう


うん、なんというか拍子抜けだわ
さよならMAUI君、もう二度とこの板に顔出すようなことをしてくれなければそれでいいや



815 名前:.NET MAUI HighSchool [2022/11/16(水) 22:20:27.60 ID:F1FwASBt0.net]
>>814
キモ
つけ忘れただけだわカス

816 名前:デフォルトの名無しさん mailto:sage [2022/11/16(水) 22:59:08.10 ID:Ndk7vWNsM.net]
なんだ消えたんじゃなかったのか

とりあえず取って付けたような「つけ忘れただけ」なんて後出しの言い訳乙
で結局直近の833以外のレスは見なかったことにしてまた逃げ出すんでしょ?
さすがMAUI君

817 名前:デフォルトの名無しさん mailto:sage [2022/11/16(水) 23:09:20.45 ID:Ndk7vWNsM.net]
てゆうか、実況版に
「.NET MAUIでAndroidでサイン波の出力をした天才プログラマーだけど質問ある?」
なんてタイトルのスレ立てたはいいものの
誰にも相手してもらえなくてレス数1桁で落ちてたけど、このスレ立てたのもMAUI君だよね?

その知識も決して自分のものじゃなくて
この板で1から10まで聞いて回って集めた受け売りの知識だよね??
いやー天才のやることはひと味もふた味も違いすぎて凡人にはその感性が理解できませんわー

818 名前:デフォルトの名無しさん mailto:sage [2022/11/16(水) 23:11:21.10 ID:Ndk7vWNsM.net]
ほかにも実況板とかVIPとかでいろいろスレ立てても誰にも相手してもらえてないみたいだね
だからって、この板でまでよその板と同じ感覚でクソスレ立ててお山の大将気取ったりするのはどうかと思うよ

819 名前:デフォルトの名無しさん mailto:sage [2022/11/16(水) 23:15:53.76 ID:Ndk7vWNsM.net]
でもってVIPで建てたスレが多少伸びて反論喰らったら自分ではなにひとつ対処できなくて
この板に泣きついて助けを求めたりもしたよね?
正直すっごく恥ずかしいと思うよ

MAUI君は「別に何一つ恥ずかしいことなんてしてない」みたいなこと言ってたけど、いまでもそう思ってる?

820 名前:.NET MAUI HighSchool [2022/11/17(木) 00:16:56.85 ID:uB3aH/K90.net]
>>819
反論食らった?
ここで言われてたけど実際WebViewで実装できてんだからいいじゃんって結果になったんだが?

821 名前:デフォルトの名無しさん mailto:sage [2022/11/17(木) 07:30:02.27 ID:f45dDCUTM.net]
>>820
ねえそんなどうでもいいとこだけしか反応できないの?
「反論」って言葉が気に入らないならじゃあ「的外れな指摘」と言い換えたとして
その的外れな指摘ひとつお前一人じゃ応対できなくてこのスレに泣きついたよね
でもって手取り足取りレクチャしてもらってさ
元のスレでドヤ顔で披露してて恥ずかしくないの?

あと838以外のレスにはなにひとつ言い返せないの?
お前がどんだけ5chに入り浸ってるのかちょっと気になったんで
今年立てたスレの数とか聞いてみてもいいかい?

822 名前:.NET MAUI HighSchool [2022/11/17(木) 12:23:04.13 ID:AcAViRuk0.net]
>>821
いや別に恥ずかしくないけど?
分からなかったら人に聞かないの?
だとしたらアホだと思うしこんなスレいらない

823 名前:デフォルトの名無しさん mailto:sage [2022/11/17(木) 12:31:29.53 ID:EmPKjKBIM.net]
質問するときだけコテ外すのはやめれ
応じる人は応じるし、無視したい人は無視する

824 名前:.NET MAUI HighSchool [2022/11/17(木) 12:35:24.02 ID:AcAViRuk0.net]
>>823
わかっな



825 名前:.NET MAUI HighSchool [2022/11/17(木) 12:35:29.50 ID:AcAViRuk0.net]
わかった

826 名前:デフォルトの名無しさん [2022/11/17(木) 17:07:21.41 ID:ItSxb1EQA]
誰か2chの使い方講座してくれ

827 名前:デフォルトの名無しさん [2022/11/17(木) 17:08:05.66 ID:ItSxb1EQA]
だーれぇかぁぁぁぁ

828 名前:デフォルトの名無しさん [2022/11/17(木) 17:08:34.58 ID:ItSxb1EQA]
だれぇかぁぁ

829 名前:デフォルトの名無しさん [2022/11/17(木) 17:09:16.90 ID:ItSxb1EQA]
てか2chって無職の巣窟って聞いたけど本当なん?

830 名前:デフォルトの名無しさん mailto:sage [2022/11/18(金) 06:38:30.53 ID:T+31eRIOM.net]
>>822
質問することそれ自体が恥ずかしいことだなんて俺は言ってないし非難もしてないんだが
(もちろん質問することが悪いことだなんて思ってないし、質問で得た知識は有効に生かしてほしいと思ってるが)
どこをどう捻じ曲げて受け取ってそういう認知にいたるのかさっぱり分からんわ

ていうか835,836,837みたいなのにはMAUI君は一言も言い返してこないんだが
おまえ自身も恥ずかしいことだとちゃんと認識してるからなんだよね?

831 名前:.NET MAUI HighSchool [2022/11/18(金) 08:32:33.70 ID:dFTql+Wp0.net]
>>830
いやお前が知りたい答えがわからないから
何を返してほしいの?

832 名前:.NET MAUI HighSchool [2022/11/18(金) 08:35:56.22 ID:dFTql+Wp0.net]
835逃げ出すんでしょ?←どう答えてほしいの?
836受け売りの知識かどうかが知りたいの?なんJでスレ立てたのが俺なのか聞きたいの?
837お山の大将気取ってるのはどうかと思うよ?←これって質問なの?

833 名前:デフォルトの名無しさん mailto:sage [2022/11/18(金) 18:34:03.07 ID:De8oASvZM.net]
人間初心者か
このスレC#初心者用であって人間初心者用じゃねえんだよな
保育園通ってろよガキ

834 名前:デフォルトの名無しさん mailto:sage [2022/11/18(金) 19:50:02.12 ID:y5ukyeaS0.net]
最近、未確認飛行というサイトで初めてのプログラムとしてc#を学び始めたんだけど
https://ufcpp.net/study/csharp/oo_construct.html
ここのサンプルというところのプログラムでオーバーライドされたtoString()のメソッドが呼ばれるのってなんでかな?
どこでもそのメソッドを呼ぶようなことをしてないように見えるけど自分で実行してみたら確かに呼ばれてる
すごい基本的な事なんだろうけどどうか教えてほしい



835 名前:デフォルトの名無しさん [2022/11/18(金) 19:54:59.04 ID:9HcKlt4I0.net]
Console.WriteLineの中で呼ばれてるんだよ

836 名前:デフォルトの名無しさん mailto:sage [2022/11/18(金) 20:08:52.48 ID:y5ukyeaS0.net]
>>835
これで呼ばれてることになってるんだ!?
教えてくれてどうもありがとう
仕組みはまだわからないけれど疑問がとけてすっきりした

837 名前:デフォルトの名無しさん [2022/11/18(金) 20:13:22.53 ID:9HcKlt4I0.net]
例えばこういうこと
public void WriteLine(object obj) {
 WriteLine_Inner(obj.ToString());
}

WriteLine_Innerは文字列だけを受け付けて表示するメソッドとする
WriteLineを呼ぶとToStringが呼ばれる

838 名前:デフォルトの名無しさん mailto:sage [2022/11/18(金) 20:17:28.69 ID:y5ukyeaS0.net]
>>837
おお、すごい分かりやすい!
ここまで丁寧に教えてくれて本当にありがとう
これで気兼ねなく次の項目に進めるよ

839 名前:.NET MAUI HighSchool [2022/11/18(金) 22:25:21.33 ID:dFTql+Wp0.net]
ほんとに未確認飛行物体からやってるすげー

840 名前:デフォルトの名無しさん mailto:sage [2022/11/18(金) 23:58:15.19 ID:nTmfkfcZM.net]
手を動かさない学ばないやつは前に進めない
くだらないことしか言えない
いつまでも同じ場所にいる

841 名前:デフォルトの名無しさん [2022/11/19(土) 19:29:30.85 ID:MFJeLtYyu]
すっげぇ本当に頭がおかしぃみたいだ…(?.? )

842 名前:デフォルトの名無しさん mailto:sage [2022/11/19(土) 19:28:32.08 ID:kzcZtDQa0.net]
JavaとかC#でenum使うメリットがわからん

843 名前:デフォルトの名無しさん [2022/11/19(土) 19:33:40.92 ID:hH2yPCCm0.net]
オプション指定やろ

844 名前:デフォルトの名無しさん mailto:sage [2022/11/19(土) 19:35:53.24 ID:wfHvhfxa0.net]
>>842
まず検索したか?
そのまま「enum使うメリット」でググって納得できなければ使わなければいい
それ以上はここで話してもキリがない



845 名前:デフォルトの名無しさん [2022/11/19(土) 20:00:26.11 ID:MFJeLtYyu]


846 名前:デフォルトの名無しさん [2022/11/19(土) 20:06:41.05 ID:MFJeLtYyu]
>>842

聞きたいんだけど、リプライみたいなのってどーやってやるの?

847 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 13:30:32.37 ID:hkzvE6vGM.net]
>>842
状態などを使うときにmode==0 とか mode==1よりわかりやすい

mode==モード.家でまったり中
mode==モード.お仕事中

など名前がついてるからわかりやすい

848 名前:デフォルトの名無しさん [2022/11/20(日) 14:14:28.85 ID:j4QfOsfua.net]
逆になんでC#とかだと要らないと思うのか気になる

849 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 14:45:18.61 ID:AxU0uBeT0.net]
定期的に現れるレス古事記だと思うことにしてる

850 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 15:42:59.87 ID:6Lmlby97a.net]
いやあれだろ
条件が複雑すぎてenumにできないと暴れてたアホ

851 名前:デフォルトの名無しさん [2022/11/20(日) 15:47:47.16 ID:wwqc7KSjM.net]
enumってそれが使えるスコープっていう概念もあるのですか?

852 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 15:51:44.50 ID:MjJ+/fUP0.net]
普通に継承できねぇから
ステータス並べちまうと
クラスを継承したときに
enumも継承して
ステータス増やそうとするけど
enumの継承はできないので
ステータスは定数で並べるしかない
ってだっせー状態になる

853 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 15:53:25.80 ID:MjJ+/fUP0.net]
enum周り作ったやつの脳みそちんぽなんじゃん?

854 名前:デフォルトの名無しさん [2022/11/20(日) 15:59:28.92 ID:wwqc7KSjM.net]
クラス内でenum宣言することがあると思うのだけど
そうした場合はそのクラス内だけでしかそのenumは使えないんですっけ?



855 名前:デフォルトの名無しさん [2022/11/20(日) 16:09:13.26 ID:ruJch1bQ0.net]
>>854
privateならその通り
publicならクラス外でも使える

856 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 16:55:21.88 ID:MjJ+/fUP0.net]
っていう構造にも関わらず
継承できないから
クラスを継承すると
enumで書いてる状態は
全部書き直し

ハイ、全部ちんぽでした!

857 名前:デフォルトの名無しさん [2022/11/20(日) 16:57:27.98 ID:qg1DZ5gK0.net]
クラス内のクラスって継承で継承できるっけ?
何がともあれメリットがないことにはならないけれども。

858 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 17:05:37.84 ID:MjJ+/fUP0.net]
他のくだらん機能は
どうでもいいから
enumを継承できるようにしろよ
まあ、なくても
const intで頑張るからいいけど
まあ、その場合enumは一生使わないね

859 名前:デフォルトの名無しさん [2022/11/20(日) 18:24:34.53 ID:x1RY5Ndj0.net]
当たり前だろ
クラス階層違うのに同じ名称を押し通す方がやばいわ

860 名前:デフォルトの名無しさん mailto:sage [2022/11/22(火) 18:28:02.20 ID:nAJcGQvG0.net]
まあ名称はどうでもいいんだが

クラスAの状態を1〜3でEnumで持ってて
クラスAを継承してクラスBを作った
クラスBの状態1〜5をEnumでもつ
ここで、クラスA用のEnum継承して4〜5を追加して1〜5のEnum作りたい

ということはあるんじゃね

861 名前:デフォルトの名無しさん [2022/11/22(火) 18:38:58.38 ID:NaPYQccb0.net]
enumはクラスの中に入れるなってことなのでは

862 名前:デフォルトの名無しさん mailto:sage [2022/11/22(火) 18:54:32.20 ID:rbB+zYjt0.net]
enumの継承って、キャストの安全性が保証できなくなるんじゃない?

863 名前:デフォルトの名無しさん mailto:sage [2022/11/22(火) 20:08:00.71 ID:5norvibI0.net]
継承と言うか列挙子の追加やね
確かにたまにやりたいと思うことはある
enum A {A1, A2, A3};
enum B: A {B1, B2};
みたいにできればいいのにね

864 名前:デフォルトの名無しさん mailto:sage [2022/11/22(火) 20:11:29.21 ID:tdt1l6wr0.net]
んまあどうでもいいです…



865 名前:デフォルトの名無しさん mailto:sage [2022/11/22(火) 20:43:08.15 ID:F4U9XWNgd.net]
>>863の場合はA型をB型にキャストするのは型安全で逆は非安全だから、通常の継承とは逆になってしまう
TypeScriptみたいに type B = A & enum { B1, B2 } ができるといいんだろうね

866 名前:デフォルトの名無しさん mailto:sage [2022/11/22(火) 21:56:55.88 ID:2vHKVf9I0.net]
>>865
> type B = A & enum { B1, B2 }
なにか勘違いしてないか?
type Bは役に立たないぞ

867 名前:デフォルトの名無しさん [2022/11/22(火) 21:58:13.24 ID:s23xOfAqp.net]
enum 張りなおせばよかばい

868 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 00:07:27.78 ID:6lN/+0f80.net]
>>863
enumB(1〜5)を受け入れるところは当然enumA(1〜3)も受け入れたいわけだが
これを認めると親クラスが子クラスに変換できることになる

>>865
せめてenumからenumへの暗黙変換定義できればなぁ

結局全部再定義して、int(元の数値)介して変換とか
それならもとからintずらずら並べたほうが良いかという

869 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 00:09:25.48 ID:GHFjAPMfd.net]
>>866
ああ、確かに間違いだな
&じゃなくて|だ

870 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 01:13:39.40 ID:w1dmgQVP0.net]
な、enumがクソなせいで
クラスの継承までクソになってるだろ
早くenumの継承できるようにしろよ
これができなくてどーすんのよ

って機能な実は

871 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 01:27:51.47 ID:mCXmHJvQ0.net]
まさに鬼の首を取ったよう

872 名前:デフォルトの名無しさん [2022/11/23(水) 06:34:20.68 ID:3geqF3we0.net]
クラス内に書かなきゃいい

873 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 08:51:16.99 ID:g5bfG+kA0.net]
>>865,868
だから俺が欲しいのは継承じゃなくて列挙子の追加って言ってるだろ
enum B: A {B1, B2}; だと継承と間違えると言うなら別の構文でもいい
ベースの定義を引き継いで定義できればいい

874 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 11:31:55.12 ID:hhL0Iwa90.net]
enum継承を実装するならまずはstruct継承を実装しないといけない
そして値型の継承をバンバン行うC++ですらenum継承はサポートされてないから諦めるんだな
とは言え.net standard2以上ならソースジェネレーター使えるんだからC++のマクロ実装よりも堅牢にenum継承を叶えられるのがC#



875 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 12:09:29.79 ID:A1o24w6O0.net]
enumの継承なんて欲しいと思った事一度も無いわ

876 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 12:14:49.51 ID:w1dmgQVP0.net]
>>875
状態遷移をするものを書いたことないからだろ
書くと一発で不満が出る
仕方なくenumで定義したステータスを
const intに直す作業をすることになる

877 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 12:51:02.69 ID:Gf+fcBNM0.net]
変性的にどうなんかな?
基底enumを要求するところに派生enum渡して大丈夫?

878 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:10:21.66 ID:HMCqpO+TM.net]
>>876
それ設計大丈夫?
コード上のコンテキストで十分なものまで状態にしちゃってたりしない?

879 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:31:54.09 ID:w1dmgQVP0.net]
>>878
そんなの問題じゃねぇじゃん
適切な状態遷移のクラスを作って
継承するとenum使えないんだから

880 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:34:04.83 ID:w1dmgQVP0.net]
c#のenum周りを作ったやつは
状態遷移も作ったことがない
クソってだけ
まあ、言語開発に状態遷移なんて
いらんだろし
知らないのも無理はない
ってだけの話でしょ

881 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:34:28.41 ID:63Gynabdd.net]
元での状態A,B,C
派生1で状態A,B,C,D
派生2で状態A,B,C,E
派生3で状態A,B,C,D,E

基底に追記するだけで済みそうだけど
わざわざパスタを希望するか

882 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:41:09.59 ID:GkNkmjh5M.net]
まず継承出来る言語を挙げてくれないとどんな設計を求めてるのかわからん

883 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:44:23.94 ID:w1dmgQVP0.net]
>>882
状態遷移作ったことねぇやつは遠慮してくんない?

884 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 13:55:25.91 ID:EqePYP8Fp.net]
初心者質問スレでいつまでいきがってんだか
公式にいしゅー投げとけよ



885 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 14:04:53.83 ID:Gf+fcBNM0.net]
>>879
継承したクラスで遷移する状態を拡張するのはいいとして、そこにenumも派生して使おうってのが
設計として間違ってるんじゃね?

886 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 14:18:05.41 ID:w1dmgQVP0.net]
>>885
そしたら状態はどうやって定義するの?

もちろんenumではない
ステータス用の型が必要っていう意見ならわかる
現状enumしかないってだけ
statetype型なんてできたらそれはそれでよい
enumの拡張だと>>877の問題がヘタクソがたくさんいる職場では問題になりそう

887 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 14:28:50.84 ID:eUenOEMN0.net]
状態推移ってstate machine?
enumでやんの?

888 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 14:33:23.73 ID:Gf+fcBNM0.net]
>>886
enumを派生するんじゃなくて別のenumを使う。

889 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 14:42:16.47 ID:fS1C7GFxa.net]
アスペが大暴れしてるな

890 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 14:49:08.23 ID:eUenOEMN0.net]
もしかしてHierarchical Finite State Machinesをenumでやろうという話?
ちょっと見た事も聞いた事もないので興味あります

891 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 15:18:56.76 ID:hhL0Iwa90.net]
>>880
逆にどの言語ならあるんだい?
C++なんてC#で言うところのEnum.GetValuesやEnum.GetNamesすら標準サポート無しだぞ
テンプレート黒魔術使ってコンパイラに超負荷をかけて実装できなくもないが

892 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 15:22:25.48 ID:hhL0Iwa90.net]
さっきも言ったけどソースジェネレーター利用したらかなりトリッキーなこともコンパイルセーフに行えるんだから騒いでる暇あったら作れば良いのに

893 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 15:24:55.83 ID:fS1C7GFxa.net]
enumの使い方も知らないやつにソースジェネレータとか無茶言うなよ

894 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 15:45:58.22 ID:Z18k9Xb90.net]
状態の管理は >>881 じゃだめなのかな。
自分も昔は継承したがってたけど、結局 893 みたい基底に追記するようになったんだよね。

enum をシリアライズすると int 扱いになるから、複数のクラスで継承して使う場合に、ほかのクラスの enum 定義を把握しておかないと危ないケースがあるような気がするんだけど。



895 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 16:01:46.11 ID:zunuLtNb0.net]
enumはCから受け継いだものだからこの設計についてC#を責めるのがまずアホ

enumの主な使いみちは値を限定することだ
要するにintの値を引数にしたいがその値の種類は3種類に限定したい、それ以外の値を渡そうとしたらコンパイルエラーにしたい、そういう時にenumを使う
その関数は引数として3種類しか渡らないことを保証されてるから無理やり他の値を渡した際には未定義動作になる

enumが継承できてポリモーフィズムが効くとすれば3種類の値しか来ない関数に普通に他の値を渡すことができてしまうだろw

なんでenumを使いたいか知らんけど使い方間違ってるからenumをやめて正しい方法を使え
以上

896 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 16:34:31.63 ID:Z18k9Xb90.net]
すげー納得出来る理由が来た。w
感謝。

897 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 16:53:35.93 ID:g5bfG+kA0.net]
まだ継承とか言ってるアホが居るのかw
今までのenumの機能だと継承なんてできても意味ない
継承したいたらenumの各値にメソッド定義出来るようにするとかぐらいの機能追加しないとな

898 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 17:19:16.06 ID:w1dmgQVP0.net]
>>895
でもまさに状態遷移の状態の定義なんてenumの出番だと思うんだけど
ここでこいつ役に立たなかったらほか何に使えるのってぐらい
ちなみにc++でこの辺悩んだことないなぁと思ったら#defineで書いてたわ

899 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 17:26:51.44 ID:LfUozzif0.net]
enum A {A1, A2, A3};があるとして
enum B: A {B1, B2}; としたい理由は何なの?
単に記述量を減らしたいだけ?

AとBは違うデータドメインだから違うenumにするわけなので
enum B: {A1, A2, A3, B1, B2};として新しく定義するか
元のenum Aを拡張するものだと思うけど

900 名前:デフォルトの名無しさん (ワッチョイ ff07-1oEr) mailto:sage [2022/11/23(水) 17:57:30.88 ID:zunuLtNb0.net]
>>898
なぜそこでenumの出番だと思ったのか
明らかに違うしどこで使うかはたった今説明しただろw
お前の設計はおかしいと何度も言われてるのに頑なに耳をふさいでるからできないんだぞ

901 名前:デフォルトの名無しさん (ワッチョイ ff07-1oEr) mailto:sage [2022/11/23(水) 18:00:35.30 ID:zunuLtNb0.net]
つか状態遷移で通じると思うところからやめろ
状態遷移の実装なんて何種類もあるわ
最終的に何がしたいのか言葉で説明できないやつは自分のやりたいことをプログラミング言語に直すことすらできんぞ
一般的なステートマシンでいいのか?

902 名前:デフォルトの名無しさん (ワッチョイ e201-IwB9) mailto:sage [2022/11/23(水) 18:07:41.13 ID:g5bfG+kA0.net]
>>899
例えば標準はenum A {A1, A2, A3};の状態しかないけどオプションつけたらenum B: A {B1, B2};と増える
違うオプションつけたらenum C: A {C1, C2, C3, C4};と増えるとか

903 名前:デフォルトの名無しさん (ワッチョイ e201-IwB9) mailto:sage [2022/11/23(水) 18:09:35.33 ID:g5bfG+kA0.net]
>>901
enumの話が状態遷移の状態を表すために使ってると分からないなら無理に話しに加わらなくていいぞ

904 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 18:32:51.60 ID:zunuLtNb0.net]
>>903
お前の言う状態遷移が何を指してるか言わないならお前の脳内かチラシの裏で処理しとけ
ステートマシンなら普通にインスタンスのパターンマッチングが使えるからそれがわからなきゃ無理してプログラミングの話に加わろうとするなよw



905 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 18:33:43.64 ID:zunuLtNb0.net]
多分switchが数値や文字列にしか使えないと思ってるド素人なんだろ?w

906 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 18:35:31.89 ID:zunuLtNb0.net]
switchが使いたいからenumなんだろ?w
おい正直に言ってみろよw

907 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 18:41:28.03 ID:Gf+fcBNM0.net]
なんか変なのが2人に増えた

908 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 18:47:35.71 ID:eUenOEMN0.net]
デザインパターンのステートマシンは登場しないような気がする

909 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 18:55:47.21 ID:LfUozzif0.net]
>>902
取りうる値すべて網羅するのがenumの存在意義
オプションがついたものが同じデータドメインなら
Aを拡張してenum A {A1, A2, A3, B1, B2, C1, … }とすべきでBやCは不要

異なるデータドメインとして扱いたいなら
enum A: {A1, A2, A3}; enum B: {A1, A2, A3, B1, B2}; enum C: {A1, A2, A3, C1, C2, C3, C4};とすべき
同じ名前のメンバーが存在しても異なる型で別のものだからそれぞれ定義するのは当たり前

910 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:03:20.20 ID:v/FrQePk0.net]
なんだろうフツーに連想配列じゃいかんの?

911 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:04:39.67 ID:Gf+fcBNM0.net]
typescriptその他の代数的データ型みたいに enum B = .A | B1 | B2 とやりたい気持ちはわかる。

912 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:05:08.39 ID:w1dmgQVP0.net]
>>909
それを言うならそもそも継承なんか使うなよって思う

まあ、コピペで貼ったほうが将来的に継承よりもうまくいってしまうケースはありまくったのも事実

913 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:07:17.68 ID:LfUozzif0.net]
>>911
TypeScriptでもenumでunion作ったりしないよ
できるけどやらない
やってる人がいるならモデリング方法が間違ってる

914 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:12:23.17 ID:zunuLtNb0.net]
状態遷移が何か良くわからずに最近知ったやつが唯一の状態遷移だと思ってるやつに何を言ってもむだだよ
教科書にenumを使えと書いてあったんだろうから



915 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:13:57.53 ID:Gf+fcBNM0.net]
ああすまん誤解させた。typescriptのenumを使う話じゃなくてtypeに読み替えてくれ。

916 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:28:19.96 ID:g5bfG+kA0.net]
>>904
enumの話だと言ってるのに...
お前パターンマッチング言いたいだけだろw

917 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:31:42.90 ID:UGK9R6GJ0.net]
現実のリサイクルにコストが3倍掛かるように
コード継承なんてフレームワーク利用者以外無意味だよ
自分で継承を考えながら書くことなんて時間の無駄でしかない
師匠とおだてられて弟子を育てて行くか、生涯わが道を探求していくかぐらい結果が違ってくる

918 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:31:45.39 ID:g5bfG+kA0.net]
>>909
> Aを拡張してenum A {A1, A2, A3, B1, B2, C1, … }とすべきでBやCは不要
Cしか変えないのに標準やBも再テストが必要になるよね

> 異なるデータドメインとして扱いたいなら
> enum A: {A1, A2, A3}; enum B: {A1, A2, A3, B1, B2}; enum C: {A1, A2, A3, C1, C2, C3, C4};とすべき
まあ君はそうすればいいんじゃね?

919 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:47:33.73 ID:zunuLtNb0.net]
>>916
enum使うのがおかしいとこれだけ何度も言われてるんだからどれだけボンクラでもそろそろ気づこうなw
お前の読んでる30年前の入門書が古いんだよw

920 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:52:20.51 ID:6lN/+0f80.net]
>>909
それenum Bで102種類登録しろって話だよな
まあそれが正しいのは分かるが

enum Bは完全にenum Aを内包していて100個は同じ
その状態でenum Aを拡張してenum Bを作りたいってのは間違ってるのか?
それともそういう状況でenumを使うのが間違ってると?

921 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:53:27.05 ID:zunuLtNb0.net]
>>920
間違ってると何度言われても聞く耳持たないなら聞くのやめたら?

922 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:54:47.89 ID:Gf+fcBNM0.net]
1. enum を継承できないのがおかしい。
2. enum を継承したいのがおかしい。
3. enum を使うのがおかしい。

1. と 3. がそれぞれ1人ずつだと思うのだが。

923 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:59:02.09 ID:zunuLtNb0.net]
>>922
enumを継承できるようにすると色々不具合が出るのは既に示した通り
だから継承したいやつがおかしいしできないのは当然

ここでenumを使うのも明らかに悪手でそれは本人も使いにくいと感じてるから薄々はわかってると思う

だけど薄々しかわからないのマジでアスペwww
使いにくい時点で気づこうぜw

924 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:06:27.70 ID:Gf+fcBNM0.net]
3. がお前さんひとりだと言ったつもりだったんだが。



925 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:08:52.61 ID:zunuLtNb0.net]
>>924
お前の言いたいことなんか知らんが、もっといい方法があるのに文法に文句を言いながらenumに固執するのはアホだと思わんか?w
おいおいこんな簡単な理屈がわかるやつが俺しかいないってどうなってんのこのスレ?w

926 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:16:59.47 ID:g5bfG+kA0.net]
>>924
相手すんな、最近継承とかパターンマッチング覚えたキッズなんだろ

927 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:18:28.43 ID:zunuLtNb0.net]
>>926
お前は早くenumの使い方覚えろよw
どう考えてもそこじゃないだろ
使いにくい時点で何か違うなーって思えよw

928 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:23:29.96 ID:zunuLtNb0.net]
intは小さい数値しか使えないから設計したやつは頭おかしいって発狂してるやついたらアスペかなって思うだろ?

俺から見たお前らってそんな感じになってるぞ
long教えてもらったなら覚えろよw

929 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:25:12.72 ID:Gf+fcBNM0.net]
>>925
お前さん一人だけ話がずれているんだと思うぞ。

930 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:27:17.57 ID:KUj2Jy2fa.net]
>>929
ズレてるのはお前の頭だよw
enumを状態遷移に使いたいという話で、継承できないから使えないといつまでも文句言ってるやつに教えてやってるだけだぞw
違う話したいなら気にせずしろよ
ヅラ直してから

931 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:34:56.61 ID:eUenOEMN0.net]
ステートパターンはポリモーフィズムを実現する方法だけど
ステートマシンは特にポリモーフィズムを実現してなくてもステートマシンになってしまうらしい
むしろポリモーフィズムのメリットがないのに状態遷移させるメリットが全く分からない

932 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:37:28.39 ID:KUj2Jy2fa.net]
ステートマシンかどうか聞いても状態遷移知らないのかの一点張りで答えないんだよなあw
いやマジでお前が状態遷移知らないのかとw
せめてその入門書のタイトルくらい書こうやw

933 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:39:42.92 ID:Gf+fcBNM0.net]
>enumを状態遷移に使いたいという話で、

状態を表すのに使う話なんだがこのへんがズレてるんだろうな。

934 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:42:35.56 ID:wPRe5xEXd.net]
>>922
4. 列挙子の追加がしたい
これが入ってくるから、さらにややこしい
こちらは臨機応変かなぁ



935 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 20:45:01.02 ID:KUj2Jy2fa.net]
>>933
だからそこに使うなって話だぞ
何度言えばわかるんだよ?
継承しなきゃ使えないとかいうイミフな条件ついてるのにどう使う気なんだそれ?w

936 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 21:04:41.04 ID:Gf+fcBNM0.net]
>>934
列挙子の追加というのがもともとやりたいことでそれは大前提だと思う。
そこに継承を使うのは無理筋だから他の手でやれということで。

937 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 21:17:19.11 ID:KUj2Jy2fa.net]
できないことを地面に転がってしたいしたいと泣きわめくのはプログラマーとは言えないな
ツールはそこに揃ってる
なら最適な方法をみつけるのがプログラマーの仕事だ

XY問題でいつまでも時間潰すのはただの無能
↓100回読んどけ
https://ja.wikipedia.org/wiki/XY%E5%95%8F%E9%A1%8C

938 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 21:23:05.30 ID:QiNG678ud.net]
>>984
>>922の1番がこれよね
ID:w1dmgQVP0
4番はこっち
ID:g5bfG+kA0

継承ではなく追加したい、みたいな話
包含に近いか?

939 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 21:24:33.41 ID:QiNG678ud.net]
安価ミス、、、
>>936宛ね

940 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 21:48:33.88 ID:+3bsKbsu0.net]
状態遷移ってよく知らんけど
必要に迫られるごとに似たようなことはやってるな

941 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 21:52:28.30 ID:+3bsKbsu0.net]
複数のテーブル値関数を full outer join すると面白い結果が得られるぞ
C#からは脱線するが。
機会があれば業務適用しようと思ってる

942 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 22:10:16.15 ID:Gf+fcBNM0.net]
>>935
有限状態を表現するのにenumを使うのはごく普通のことでそれに文句つけてるのはお前さんだけだが?
代わりにいったい何を使えと言うんだろう?

943 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 22:36:14.78 ID:Mu4NVEsX0.net]
状態ごとの派生クラス作ったほうが楽じゃないの
enumを使い回そうってのがまずよくわかんないわ

944 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 22:51:15.68 ID:v/FrQePk0.net]
Statelessとか見たら腰抜かしそう



945 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 23:43:15.34 ID:rAuww2HaM.net]
こんな機能があれば便利なのにってのは分からんでも無いけど
他の言語も含めた実装状況見れば少数派がデカい声出してるだけでしょ

946 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 00:18:19.16 ID:R18LG1aZ0.net]
>>942
何をってもう何度も書いただろw
enumを使うことでうまくいかないのが明白になったなら固執するのがアホ
オブジェクトやクラスはハッシュコード持ってるからenumでなくともswitchで処理できるし継承もできる
状態遷移状態遷移言ってるが教科書コピペするんじゃなく何をどうしたいのかを見据えてそれを実現しなきゃいけないぞw

947 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 00:21:21.14 ID:6EroDtbH0.net]
>>923
「継承」できないしするのはおかしいのは分かったから
enumを「拡張」したいって思う
拡張したいって用途にenumを使う
どっちがおかしいって?
その理由が単にenumがそうなってないってなら、そうあるべきだって議論はありえると思うが

>>925
別に俺は固執する気はないので、そういうことはできないってならできないで良いんだが
もっといい方法って具体的には?

948 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 00:24:41.88 ID:R18LG1aZ0.net]
例えばステートマシンのノードの一つをカーソルで参照するだけでカレントステートを表現できるしカーソルを動かせばそれはもう状態遷移だろ
ノードをオブジェクトにすれば種類によって違うプロパティやメソッドも持てる
ここにenumの入る余地などない
俺が何を言ってるかわからんとすればお前の勉強不足だから伏して教えを請え

949 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 00:54:01.50 ID:uAP2KDnH0.net]
enumて要素を限定するためのもんでしょ
拡張できたらぐちゃぐちゃじゃん
拡張した場合また別の名前なり必要で別ものになるでしょ

950 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 06:12:20.08 ID:0c/PVttN0.net]
>>949
ぐちゃぐちゃになるかどうかは使い方次第

951 名前:デフォルトの名無しさん [2022/11/24(木) 11:04:40.36 ID:Qxz+vdGfp.net]
クラス内でしか意味がないものを他クラスで判断に使う事自体が問題じゃね?

952 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 12:05:41.62 ID:I9DGq0SZa.net]
ひょっとしてと思って「unity 状態」でググッたら質問者のやりたいことがわかったわw
キャラクタを委譲じゃなく継承させる糞コードでなんちゃってステートパターンしたいんだなw
継承したキャラクタは行動できるパターンが増えるから状態もそれによって増やしたいということだろ
キャラクタを継承させるという糞仕様から直すのが正解だがそれをしたくないならenumじゃなくクラス使えよ
その状態だけ継承させればキャラクタの継承要らないんじゃねというところに気づけばみんなが何を言ってたかわかるようになるかもしれんぞ

953 名前:.NET MAUI HighSchool [2022/11/24(木) 12:19:13.38 ID:DPMQyp0E0.net]
Unityってクラスないの?

954 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 12:54:31.34 ID:P04N2b5w0.net]
継承とか拡張とは違うけど
enum StandardColor: {Red, Green, Blue}
enum ExtendedColor: {Teal, Turquoise}
とあった時にStandardColorとExtendedColorはそれぞれ個別の用途でも使うし
両方混ぜた集合からどちらか一方だけ選択する用途でも使いたいというのは理解できる

この場合はC#では言語的にはまだサポートされてない機能だから
サードパーティのライブラリを使うか自作するか



955 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 17:55:35.91 ID:88NBfQl90.net]
Unityでもポリモーフィズムを実現していればクラスのカプセル化が効くから
Stateで状態が切り替わる振る舞いは同じでもサブクラスで提供される機能を変えられる
ポリモーフィズムの実現が主題であってenumに依存するとかしないとかどうでもいい事な気がする

956 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 18:42:01.91 ID:EbMeVnega.net]
enumはポリモーフィズムに使うものじゃねえんだって話をしてるんだよw

957 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:12:02.78 ID:88NBfQl90.net]
仕様未使用はどうでもいいって言ってるのを何故復唱する必要があるのか?

958 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:17:15.44 ID:6EroDtbH0.net]
で、結局enumの使いどころはどこなんだ?

959 名前:デフォルトの名無しさん [2022/11/24(木) 19:20:15.08 ID:NYxgvrZS0.net]
人生で数々のenumに触れてきて今まで継承したいと思うenumに遭遇したことがない

私は思う
不完全なenumはそれ自体がバグなのだと

960 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:25:58.70 ID:88NBfQl90.net]
多次元配列やジャグ配列で事足りるからenumなんぞいらんでしょ

961 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:26:08.06 ID:1uxs9LdZ0.net]
使えるものを使うだけじゃんよ。

962 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:35:14.11 ID:JYVIn9dZa.net]
使うべきところでな
enumの使い方は既に教えた
そこじゃないのも何度も言った
これでわからないボンクラは何やってもだめ

963 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:38:42.34 ID:88NBfQl90.net]
色々混ざってる糖質がいろんな人間が言ったことを勝手に混ぜて
訳の分からない事を言ってるのか?

964 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:45:03.01 ID:JYVIn9dZa.net]
色んな糖質がバカなことばかり言ってるのに区別する必要あるか?w



965 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:46:38.20 ID:JYVIn9dZa.net]
見りゃわかるが俺はバカなこと言ったやつをバカにしてるだけだからそれにカチンとくるやつは同じバカだぞ

966 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 19:48:18.80 ID:88NBfQl90.net]
最初に質問した奴はステートマシンとステートパターンの区別もポリモーフィズムも知らない奴だったわけだが
何でも同じに見えるというならそうなのだろう 知った事ではないし興味すらもない
勝手に吠えてればいい

967 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 20:22:54.20 ID:JYVIn9dZa.net]
enumだと都合が悪いと質問者すら発狂してるのにいつまでもそれに固執するようなのは同じレベルでしかないだろw
都合が悪いなら使ったらだめと気づこうや

968 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 20:28:32.70 ID:88NBfQl90.net]
stateにenumは使わなくてもStatePatternは作れるし元々enumは必須ですらない
そもそもポリモーフィズムのメリットが分からない奴が面白い勘違いしてるだけだろ

969 名前:デフォルトの名無しさん [2022/11/24(木) 20:44:59.86 ID:x2utmnLfp.net]
サボらずに変換メソッド作る

970 名前:デフォルトの名無しさん mailto:sage [2022/11/24(木) 20:47:40.88 ID:0c/PVttN0.net]
ステートパターンを覚えたてのキッズ同士の争いはよそでやってくれw

971 名前:デフォルトの名無しさん [2022/11/25(金) 09:34:35.22 ID:acUkwbrC0.net]
おまいらどんだけenumでスレ消費してんだよ

972 名前:.NET MAUI HighSchool [2022/11/25(金) 12:13:43.21 ID:RaC0ZQGe0.net]
モバイルSuicaにもReactiveUIとか使われてて
結構Rxってもう標準になりつつあるな
これ産み出したC#すごい!

973 名前:.NET MAUI HighSchool [2022/11/25(金) 12:20:00.08 ID:RaC0ZQGe0.net]
>>4
新スレ建てようとしたけど改行が多すぎるとかで無理だった…

974 名前:デフォルトの名無しさん mailto:sage [2022/11/25(金) 13:18:08.44 ID:HZEumDr50.net]
立てといた

ふらっと C#,C♯,C#(初心者用) Part157
https://mevius.5ch.net/test/read.cgi/tech/1669349768/

頭のextend~は念のため1行増やしておいた



975 名前:デフォルトの名無しさん mailto:sage [2022/11/25(金) 18:03:50.34 ID:b6uMxREG0.net]
おつかれー。
と言いつつ埋め。

976 名前:.NET MAUI HighSchool [2022/11/25(金) 20:24:56.18 ID:SQhAXb/D0.net]
>>974
サンキュー

977 名前:デフォルトの名無しさん mailto:sage [2022/11/25(金) 20:27:00.27 ID:Ex0f5l5+M.net]
列挙型の元祖はPascal

978 名前:.NET MAUI HighSchool [2022/11/26(土) 08:34:50.54 ID:Ja07f46G0.net]
C#isGod

979 名前:デフォルトの名無しさん mailto:sage [2022/11/27(日) 23:14:07.98 ID:MIxI7txJ0.net]
ume

980 名前:デフォルトの名無しさん mailto:sage [2022/11/28(月) 21:44:09.15 ID:vwJLsOsN0.net]
bool isGod = true;

981 名前:デフォルトの名無しさん mailto:sage [2022/11/28(月) 22:44:48.65 ID:SzIAkLME0.net]
うめうめ

982 名前:デフォルトの名無しさん mailto:sage [2022/11/28(月) 23:09:55.94 ID:ozyLKgmt0.net]
梅火星

983 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 19:49:47.35 ID:KigkNyOs0.net]
いい加減埋めようよ。

984 名前:デフォルトの名無しさん [2022/12/09(金) 19:52:30.95 ID:lbVfgM7Sp.net]
埋め屋敷



985 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 20:08:40.11 ID:xaxCUQ87a.net]
埋めなくていいよ
次スレもいらん

986 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 20:10:07.88 ID:8ML1skqU0.net]
もッス

987 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 20:14:42.85 ID:LL4MqSod0.net]
誰も必要としてなくて草

988 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 20:16:37.36 ID:LL4MqSod0.net]
NullReferenceException

989 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 82日 5時間 37分 8秒






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef