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
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] このスレは前からそんなもんだろ 素人が知ったかして嘘ばかり教えるスレ