1 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 22:53:21.18 ID:dhjmiKBp0.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980 を踏んだ人は新スレを建てて下さい。>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part152 mevius.5ch.net/test/read.cgi/tech/1629888256/ ■関連スレ C#, C♯, C#相談室 Part94 mevius.5ch.net/test/read.cgi/tech/1553075856/ ■コードを貼る場合は↓を使いましょう。 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
541 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 13:06:18.93 ID:qow9t6Ky0.net] クラスや構造体の中にポインタもって動的にメモリを確保するだけである。型のサイズは変わらない。
542 名前:デフォルトの名無しさん [2022/01/07(金) 13:08:54.79 ID:6zNCaZbD0.net] >>529 >>C++でもそうだけど まことに申し訳ないけど、何を言いたいのか全く理解できません。 クラスが値型のC++でも通用する話を出してきても???と思うんですが
543 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 13:09:35.44 ID:IAj8vN+S0.net] >>530 生のポインタだとオブジェクトを移動して断片化したメモリの整理が出来ない
544 名前:デフォルトの名無しさん [2022/01/07(金) 13:12:31.36 ID:6zNCaZbD0.net] >>532 それだとクラスは値型でOKという話になっちゃいます。
545 名前:デフォルトの名無しさん [2022/01/07(金) 13:17:33.66 ID:6zNCaZbD0.net] >>535 ひょっとして私根本的な所を理解していないのかな? class clsA { class clsB { class clsC { xxx }}} みたいなクラスの内部にクラスを含んだクラスであっても GCでガンガン割り当てられているメモリアドレスを 動かされると言いたいのでしょうか??
546 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 13:18:48.25 ID:qow9t6Ky0.net] で参照の何を議論してるんだ? c#のクラスが参照型なのが許せない!!って言いたいのか? キミがそういうのならそうだろう。キミの中ではな。
547 名前:デフォルトの名無しさん [2022/01/07(金) 13:26:11.81 ID:FRwoYiaWM.net] 参照のほうが便利だからじゃね?
548 名前:デフォルトの名無しさん [2022/01/07(金) 13:28:12.36 ID:6zNCaZbD0.net] >>538 >> c#のクラスが参照型なのが許せない!!って言いたいのか? 質問を読んでそういう理解なのでしょうか? 質問を読まずにそういう理解なのでしょうか?
549 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 13:34:18.44 ID:qow9t6Ky0.net] >>540 誰が質問をしたかすら知らないが、質問を質問で返す。つまりそれは構ってちゃんだ。
550 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 13:45:30.30 ID:BJs69ghP0.net] 流れを読まず、適当なところに突っかかる つまりそれは荒らしだ
551 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 13:51:09.32 ID:qow9t6Ky0.net] 話題が分散しすぎて流れが分からないから聞いただけなのに酷い言い掛かりだ。 C#のクラスがなぜ参照型かだって? C#は関係ないよ。.net側の仕様だから。vb.netでも同じ。で終わりの話。
552 名前:デフォルトの名無しさん [2022/01/07(金) 13:54:19.71 ID:FRwoYiaWM.net] >>543 その仕様をなぜ決めたかを聞いているんでしょ こんなところで
553 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 14:01:57.02 ID:IAj8vN+S0.net] >>537 そう頻繁では無いにしろ移動されない保証は無いね
554 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 14:24:42.02 ID:qow9t6Ky0.net] >>544 え? コピーのコストが違うから分けたという単純な話だが。 Cだって配列のコピーは重いから引数で参照渡しされるだろう?
555 名前:デフォルトの名無しさん [2022/01/07(金) 14:55:19.17 ID:FRwoYiaWM.net] だからみんな単純な回答してるじゃん あ、俺はどちてぼうやじゃないよ
556 名前:デフォルトの名無しさん [2022/01/07(金) 15:17:14.00 ID:6zNCaZbD0.net] >>546 >> コピーのコストが違うから分けたという単純な話 確かにそんな感じですね。 クラスが値型のc++が遅くて クラスが参照型のc#が早いなんて 全く聞いたことないのですが、 MSがトチ狂って高速化を優先(それ以外を犠牲)したようですね。
557 名前:デフォルトの名無しさん [2022/01/07(金) 15:54:45.54 ID:FRwoYiaWM.net] トチ狂っててワロタ
558 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 16:20:24.15 ID:EZdfrZXhM.net] >>548 C++ は値型のクラスを作れるけどそれをそのま他の関数に渡すなんてことはほぼやらんぞ そもそもCでも構造体をそのまま渡したらコピーされるからコピーコストを言うなら参照型にしてるだろ 要はC/C++はそういう制御もプログラマに開放してるがC#は開放してない(コピーはそれなりのメソッドを呼び出す)ってだけの話
559 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 17:18:23.04 ID:0zyZKkps0.net] 牛乳飲んで落ち着いて
560 名前:デフォルトの名無しさん [2022/01/07(金) 17:50:23.82 ID:7Nc+xMj80.net] >C++ は値型のクラスを作れるけど なんかもう、松永パソコン大先生みたいな話だな
561 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 18:17:48.54 ID:EoqFVcXVr.net] 割りきればいいものを、どうでもよく無駄にこだわるやついるよな
562 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:02:16.87 ID:NAsC2Vwba.net] >>528 正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね https://www.cloverfield.co.jp/%E7%B5%84%E8%BE%BC%E3%81%BF%E7%8F%BE%E5%A0%B4%E3%81%AE%E3%80%8CC++%E3%80%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%20%E6%98%8E%E6%97%A5%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%88%E3%82%8B%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80/3.3%20%E7%B6%99%E6%89%BF%E3%81%AE%E8%A3%8F%E5%81%B4.html だから他の人が指摘しているstringのようなケースを無視するとしても、 値型で無理に継承を実現しようとすると、 (1) >>509 に書いたように多態を諦めるか (2) メモリ効率を犠牲にして、ベースクラスの変数のメモリ上のサイズは全ての派生クラスの 「共用体」のサイズとする。当然全ての型はinternalとして定義する必要もある。 こういうありがたくない制約が出来ちゃうでしょ
563 名前:デフォルトの名無しさん [2022/01/07(金) 19:37:25.76 ID:6zNCaZbD0.net] >>546 >>Cだって配列のコピーは重いから引数で参照渡しされるだろう? つ【std::vectorは参照ではない】 [] [ここ壊れてます]
565 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:39:06.67 ID:46kMC38t0.net] Unityの座標系って左下起点がデフォなの? WindowsのGUIとのやり取りが凄い大変なんだけどなぜこういう仕様になってるのか教えてもらいたい
566 名前:デフォルトの名無しさん [2022/01/07(金) 19:41:19.72 ID:6zNCaZbD0.net] >>554 >> 正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね 菱形継承はいろいろと問題あるからね。菱形継承問題でググってみな それにc#は多重継承できないからね・・・
567 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:42:11.75 ID:46kMC38t0.net] >>555 push_backでコピーorムーブが発生するってことを言いたいん? そのコピーコストを無視できないくらい大きなもの扱ってるときは正にC#の参照型Listのようにポインタ型のvectorを作るか、resize+インデクサアクセスで直埋め込みするじゃん
568 名前:デフォルトの名無しさん [2022/01/07(金) 19:44:39.54 ID:6zNCaZbD0.net] >>554 >> ベースクラスの変数のメモリ上のサイズは いや、ベースクラスの変数のメモリ上のサイズは ベースクラスが持っている変数のメモリ上のサイズの合計 (パディング考慮)でしょうが・・・
569 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:46:03.22 ID:NAsC2Vwba.net] >>556 Unity知らんけど、印刷考えなきゃ最初から普通のデカルト座標採用してくれた方が 自然ではあるね。 むしろCRTなんていう前世紀の遺物の仕様をいまだに引きずってる方が「なぜ」のような気が
570 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:47:36.10 ID:NAsC2Vwba.net] >>559 だから、そうだとしてそれにフィールドを追加した派生クラスの値を入れられるんですかと
571 名前:デフォルトの名無しさん [2022/01/07(金) 19:48:35.26 ID:6zNCaZbD0.net] >>558 引数で参照渡しされるだろう? と言ってるので『std::vectorを引数にする時は参照渡しではない』という意味で言ってるが
572 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:54:08.11 ID:46kMC38t0.net] >>562 C/C++には参照型も糞なく全部値型だからvectorそのままだと当然値渡しになるから言葉そのまま受け取ればそういうことになるけど std::vectorって配列へのポインタを持ってるだけだから疑似参照型みたいなもんってことを言いたいんだろ sizeof(std::vector<T>)のTが何であろうと固定で16byteくらいだし
573 名前:デフォルトの名無しさん [2022/01/07(金) 19:54:17.18 ID:6zNCaZbD0.net] >>561 つまり『ポインタを無理やり追い出した弊害に』だよなぁ
574 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 19:58:27.54 ID:46kMC38t0.net] >>560 WindowsGUIの方がレアだったのか C#でもSIMD命令呼べるようになったから_mm_add_psとかで一気にやりたいのにxとyで加算減算分けないといけないから出来ないのが
575 名前:c念すぎる [] [ここ壊れてます]
576 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 20:02:45.79 ID:qow9t6Ky0.net] >>555 それC++やないか。しかもそれはC++でも配列やない、classや。 しかもC++はclassの参照渡しできるねん。
577 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 20:49:57.04 ID:NAsC2Vwba.net] >>564 いや何でそうなるw 意味が分からん。 問題設定は「なぜクラスの変数はポインタなのか?」 だからポインタを使わないとどうなるかを示しているわけで、 実際はC#はポインタを追放なんかしてないよ
578 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 20:56:58.30 ID:0Qlm+FNra.net] 他人の話を聞かないタイプだから相手するだけ無駄よ 相手するならMSはトチ狂ってるってのに同意する方向じゃないと
579 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 21:12:41.39 ID:qow9t6Ky0.net] だから.netの仕様だと。 言葉を借りるならポインタを追い出したのが値型だ。値型と参照型の機能の違いを仕様書で確認しなさい。 つまるところガベジコレクションからの分離。値型はスタックに乗せれる。確保も開放も高速。 つまり型が分からなくてもスルーできる奴は元から何も考えてないということだ。
580 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 00:48:49.28 ID:T5N54j6i0.net] 手動でメモリ確保して解放すんのめんどくせぇなぁって流れから、 全自動でメモリ確保と解放するC#が生まれたってだけの話じゃないの?
581 名前:デフォルトの名無しさん [2022/01/08(土) 01:01:47.02 ID:PQBT4Nc/0.net] >>570 Delphiを知らない馬鹿
582 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 01:03:56.61 ID:IGpBQzM50.net] その後10時間もマウンティングゴリラしてたのかw
583 名前:デフォルトの名無しさん [2022/01/08(土) 02:44:00.27 ID:1bILROxT0.net] 大昔にVBで作られた社内業務アプリをC#で作り直す事になったけど、 GUIはWinForms?WPF?WinUI?どれが一番メジャーなの? WPFは死んでるとか言われてるようだし、WinUIは出たばかりで情報少ないっぽいし、古いけどWinFormsがいいの?
584 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 03:02:40.46 ID:35B5Rb5B0.net] >>573 一番メジャーなのはWinFormsだけど 社内でよく使われているモニターが高解像度で スケーリング表示をきれいにしたいなら WPFかWinUIの方がいいよ
585 名前:デフォルトの名無しさん [2022/01/08(土) 03:13:30.02 ID:IEuXTu700.net] WinFormsって2番目だぞ 1番使われているのはWPF 社内アプリならとりあえず.NETのバージョンは6にしたほうがいいな 以前のとパフォーマンスが段違いなので
586 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 04:22:41.48 ID:BHQyctLJa.net] >>573 何がベストかは結局何を重視するのかの関数だよね。 だからたぶん各選択肢のいわゆるpros and consを挙げてもらった方がよい気がする コスト重視ならVBにもっとも近いFormがベストだ。 視覚効果や高DPI対応が重要ならWPFがベストだけど、学習コストが高いし、 はっきり言ってパフォーマンス的にまったく使えない分野もある。 WinUIは知らんw
587 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 06:02:52.91 ID:35B5Rb5B0.net] 一番楽チンなのはVS2008のコンバーター使ってVB6→VB.netにコンバートし、コンパイルエラーが発生する部分をちょいと修正する事 複雑な計算式使ってる場合に計算式の移植間違いを防げる
588 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 09:09:54.52 ID:LhcZsKvbM.net] >>571 Delphi に GC あったっけ?
589 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 09:30:56.43 ID:qvdwzZse0.net] >>578 ないと思う
590 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 09:56:39.05 ID:PHIkImNk0.net] 関係ないけど、こういう案件て段々広がって収拾つかなくなるか、 客がビビりはじめて結局ほぼ何もしてない変わらないみたいになるか、 ってなりがちよね 客にも腰据えてもらわないとぐだぐだになる
591 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 10:52:45.90 ID:76ewE+lX0.net] Webで作るという選択肢はないのかな? ある程度の規模があるところなら配布やサポートコストまで考えるとWebのほうが安上がり
592 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:16:30.10 ID:6MOJW9HWM.net] 社内業務アプリの内容によるけど今どきならWebだろうね サーバーやDBMSの構築すらままならんとかならしゃーないけど
593 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:21:14.11 ID:eHBvCcl00.net] クラサバとかの業務システムをWeb化するのはよくある話だが、スタンドアロンで済む ただのGUIアプリをわざわざWeb化するのは割に合わんと思うがな。 それを上回るなにかメリットがないと。
594 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:32:33.07 ID:Sgj71hWsa.net] データをサーバー管理するようなのならまだしも、普通のアプリなら普通に作ったほうが圧倒的に楽
595 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:01:38.53 ID:6MOJW9HWM.net] 今どき社内業務システムでローカルに閉じてるやつなんてある?
596 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:13:29.45 ID:qVp9qlx6r.net] ローカルアプリから直接DB見に行くとかならあるんじゃね ストアで更新配賦とか夢見たこともあったなあ
597 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:18:21.83 ID:eHBvCcl00.net] >>573 の業務アプリというのがどういうものかは>>573 に聞いてみなけりゃわからんが、 業務で使う内製アプリがスタンドアロンだって例はいくらでもあると思うが。 逆に、なんで無いと思ったの?
598 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:18:22.15 ID:Sgj71hWsa.net] 社内業務アプリって言ってもいわゆる業務管理システムだけじゃないからな ローカル完結なんていくらでもある ちょっとしたツール類なんて全部そうだろ
599 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:45:29.08 ID:+n5rVMIfd.net] Web化すべき案件なら最初からそっちで検討してるんだから余計なお世話やで
600 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:47:06.13 ID:v0nm/uLMM.net] ツール類って具体的には? そりや業務端末でも一般的なフリーソフトとか使ってることはあるけど、 業務用に作られたスタンドアロンなツールなんて機器制御関連以外では滅多に見かけないわ システム連携が不完全なためにローカルなアプリやVBAで局所的な自動化をやってるケースはあるけど、結局その入出力は手動で他と連携するわけで、スタンドアロンとは違うでしょ
601 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:48:22.96 ID:35B5Rb5B0.net] スタンドアロンで作るって言ってるのにしつこいな
602 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:50:35.22 ID:VCGpsaaV0.net] VisualStudioでデバッグ中に変数やらクラスの中身を追っていくとき 大量にプロパティがあるとアルファベットの後半追うのに ▼で下まで流すのがかなりまどろっこしいんですが スクロールバーもでないし・・・ もうちょっとスムーズにする方法ってあるんですかね
603 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:01:28.24 ID:Sgj71hWsa.net] >>590 テキストファイルの文字数や段落数カウントするだけ 指定したウインドウのスクリーンショットを取るだけ 画像をpngにするだけ ファイルをリネームするだけ 動画からフレームや動画を切り出すだけ こういうの実際に作ったツールだな。フリーソフトでもできるけどそういうのも開発することあるんだよ
604 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:24:30.41 ID:a4nwkm/0M.net] デスクトップアプリじゃなきゃダメな強い理由がなければ WinFormならともかく今からWPFとかやるのは無駄だよね
605 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:25:51.14 ID:a4nwkm/0M.net] >>592 ウォッチ式?
606 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:29:23.33 ID:Rc/Af6wIM.net] >>593 そう言うのを社内業務アプリって言うの?
607 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:37:12.89 ID:Kbht7+jO0.net] やっつけアプリ、やっつけツールと言います
608 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:38:58.06 ID:OnpKeph7a.net] >>596 仕事に使うなら全部業務アプリだろ 区別する意味はないと思うが
609 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:16:08.90 ID:sJWr1x2I0.net] 業務といっても何を指すかで見当違いなことを言い合ってたりするからな ちなみに俺は追記式で容量が10メガ超えるログファイルを待ち時間なしに検索&色分けフィルターするビューアー が必要だったので作った
610 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:19:48.42 ID:QfvG5fL40.net] プロパティの値についてなんですが 値が変わらないプロパティに関しては Visual Studioの右側のプロパティから変更するのか それともForm1.csのなかで変更するのどっちが王道でしょうか?
611 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:22:07.76 ID:LyVlYLKR0.net] >>600 Visual Studio
612 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:45:55.87 ID:Sgj71hWsa.net] 変更したってことを把握しにくいからできるだけForm1.csだな
613 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 18:25:53.14 ID:W7HGPhnA0.net] >>595 変数にカーソル合わせてポップアップででてくるクラスや変数の中身がでますよね デバッグ中にそれで実際に入っている値を追っていくことがよくあるんですが 大量にあるとアルファベット順に並んでいるせいで たとえば コンボボックスでいうと Selected〜まで見に行くのに Sまで下りてこなければならないですよね ポップアップにはスクロールバーもでないから毎回スクロールしないとならなくて それが面倒で・・・
614 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 19:02:53.17 ID:9AShM9M8a.net] デバッグで実行止めてるときに、デバッグ->ウインドウ->ウォッチでウォッチ1開いて、そこに見たい変数をドラッグ&ドロップ 配列の一部だけ見たいなら.Skip(100).Take(20)みたいに適当なlinqでもつけて
615 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 21:28:00.33 ID:WWAiwq7Z0.net] ArrayクラスのResizeメソッドの引数が参照渡しなのは何故ですか? 他のReverseやSortメソッドが値渡しなので統一されていないと感じてしまうのですが
616 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 21:31:36.72 ID:7PajA1910.net] ReverseやSortは要素を置き換えるだけで済むけど 配列は固定長である以上Resizeするには新しく配列を作り直すしかない
617 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 22:55:18.70 ID:W7HGPhnA0.net] >>604 レスありがとうございます ウォッチ、使ったことがなくて知らなかったです クイックウォッチでも簡単に見渡せるんですごく楽になりました 感謝です
618 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 23:12:33.36 ID:WWAiwq7Z0.net] >>606 ありがとうございました 納得しました
619 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 02:13:23.67 ID:LmDP/A0i0.net] .net6だとプロジェクト作成時にいつものusing systemとかが無かったんですけど暗黙的に使えるようになったか、あるいはどっかに記述を引っ越したんですかね?
620 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 03:14:56.13 ID:t77ZMTfv0.net] global usingとかいう迷走の果てみたいなものがあったような覚えがある
621 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 16:59:27.76 ID:9R5shyc4d.net] >>609 .csproj見てみ
622 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 18:05:28.98 ID:LmDP/A0i0.net] >>611 Implicitusingsってやつですか このglobal usingってのはユーザが任意に追加できるんですかね?.net標準分だけ?標準だけだと有り難みがイマイチ・・・
623 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 18:14:37.58 ID:Fbfc1ztE0.net] implicitなのはSDKで固定のはず global using自体は.csprojに自由に書けるよ https://ufcpp.net/blog/2021/11/implicitusings/
624 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 18:32:28.44 ID:Fbfc1ztE0.net] というか.csにも普通に書けるよ
625 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 19:26:41.39 ID:mJ9SvVvR0.net] というか.txtにも.hogeにも普通に書けるよ
626 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 19:32:53.98 ID:Yn6t3tioM.net] >>614 書けるけど1つに書くと全ファイルに影響するのは怖くね? なんかやりすぎ感ハンパない
627 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 20:21:18.79 ID:mJ9SvVvR0.net] >>615 悪ふざけじゃなくて、書いたらちゃんと認識されるよって意味ね。
628 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 21:15:40.34 ID:zf/OU/S30.net] え、readme.txtとかに書いてても影響しちゃうの?
629 名前:デフォルトの名無しさん [2022/01/10(月) 22:20:21.82 ID:pzAlxVbU0.net] 何度も同じことを書かせる仕組みはプログラムの基本的な考えと違うと考えればglobal usingは妥当
630 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 22:45:07.71 ID:zjcR70ev0.net] global usingもあれば楽だけど書ける場所は限定された方が良かったような
631 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 06:33:56.47 ID:TdDX7t/9M.net] >>619 それなら.csprojとかでいいでしょ どこかに書いたら全体に影響するのはなんか違う
632 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 07:14:14.80 ID:qLFRpNWYM.net] もうあっちゃう時点でキモいから書けるなら制限なしでいいでしょ
633 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 08:18:04.81 ID:34v9AEL90.net] VS2022からC#やる人は結構わかりにくいやろなぁ。 なぜimportもusingもなにも書いてないのに、Console.Writel... みたいにいきなり書けるのみたいな。 グローバルにいきなり書いてるがクラスに属さないグローバル変数はあるのないのとか。
634 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 09:25:26.02 ID:7v4JZSk/0.net] えーーーんTT Console Programつくろうとしたらmain()がないよー>< なにこれ、こわい>< たすけてー
635 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 09:36:34.63 ID:qBZtvv4T0.net] 従来のようなプロジェクトテンプレートでもプロジェクトを作れるようなオプションなりテンプレートなりあればいいのにね テンプレートぐらい自分で作れって?面倒じゃん
636 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 11:21:28.14 ID:MvizqUHc0.net] >>625 .NET 5.0をターゲットにプロジェクト作成してから.NET 6.0にターゲット変更する https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/top-level-templates#use-the-old-program-style
637 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 11:57:17.32 ID:7v4JZSk/0.net] C#作ってる人たちはC#をスクリプトにしたいの?? 何を目指してるのかよくわからない
638 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 12:22:25.87 ID:4qGoqi+ca.net] なんでもできることを目指してるんだよ もちろんスクリプトとしても使えるぞ。アプリの拡張プラグインをc#スクリプトにするとか簡単にできる
639 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:10:40.24 ID:Grp1ZbCtM.net] >>627 IDEによるコード生成を完全に排除しようとしている、と考えると理解しやすい 最近の内製系の開発では、コードの自動生成は避けてソースを極力コンパクトに保とう、という考え方が主流になっているんだよ
640 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:50:01.49 ID:luTEChNva.net] 何で自動生成やめたらコードがコンパクトになるの? そんなわけないと思うんだけどw
641 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:58:30.81 ID:/T2lNEPNM.net] コードの自動生成と言うか簡便さを求めてるのだろう 他の簡易な言語と比べると不必要な部分があるからそれを簡略化する ボイラープレート(決まり切った特定のコードの記述 )やおまじないのような入門者にとって敷居の高いものを減らす それ自体は問題ないはず C#は言語的に無駄な記述が多すぎたから一気に来たんだろうな