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
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#は言語的に無駄な記述が多すぎたから一気に来たんだろうな
642 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:02:02.73 ID:/T2lNEPNM.net] ファイル内のnamespaceは一個なのにそのためにインデントが一つ増えてエディタでのコードが見通しが悪くなる こんなの早くから導入してくれと思ってた
643 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:14:24.58 ID:Jt6jcb4u0.net] てかusingみたいに冒頭宣言みたくできればよかったのにな
644 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:35:22.28 ID:8rbbEYvA0.net] >>629 コードの自動生成はむしろ最近より進んでるやろ gRPC周りやソースジェネレーターなんてその最たるもの
645 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:56:40.93 ID:luTEChNva.net] >>631 それってVBの思想だよねw ただしい選択とは思えんな
646 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 00:03:33.81 ID:3DcpczOy0.net] スクリプトとしては異常に使いにくいよ、 特にアプリのプラグインとしては致命的。 やったことあるひとならわかるよね。 スクリプトだろうと1回実行したら、そのクラス型は解放されないから。 .netは型生成してしまうと、そのクラス型は基本的にアプリ終わるまで解放されない、 間違ったと思ってクラス型の部分のスクリプト変更して再実行しても反映できないのよ、アプリ終了しないと クラス型が解放されないから。
647 名前:デフォルトの名無しさん [2022/01/12(水) 04:14:45.93 ID:qMg3RrrS0.net] コンパクトに書けるようになっていくのはいいと思う 元のC#は長く書くことを是としていたようで他の言語と比べると見栄えが悪い
648 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 10:32:03.61 ID:2Wvp4VJl0.net] C#はいいんだけど、ASP他諸々がなあ Authorize入れるのも一苦労
649 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 13:15:42.75 ID:++K/dCbX0.net] 何に比べてどう苦労するの?
650 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 15:39:18.51 ID:BLJCWDpKa.net] >>636 作り方しだいだけどアプリ終了しなくても スクリプト実行&終了→スクリプトファイル書き換え→スクリプト実行で書き換えた編集が反映されるよ 開放されないってのと反映されないってのは別問題でしょ
651 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 18:17:31.66 ID:C1xp3kdWM.net] おれはC#とASP.NET Core WebAPIが最もやりやすい フロントは流石にReactとか使ったほうが楽だがJSもAltJSも罠だらけで洗練されてないね
652 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 22:52:04.20 ID:JXqJfbQh0.net] >>636 まさにクラスを書き換えて実行するのをやってるけど そんな現象に出くわしたことがないぞ?
653 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 06:18:56.80 ID:hEm3mWj0M.net] >>642 糞アプリの名前も書けない無能の相手すんなよ
654 名前:デフォルトの名無しさん [2022/01/13(木) 18:48:22.57 ID:OK31jUfcd.net] 質問です。 ピクチャーボックスに描画された物をボタン投下で色を印刷用に変更したいです。 元は背景色黒。線は水色。文字は黄色。四角は緑色塗りされてる物を 背景色白、四角は外枠黒線白塗り、他黒に変更したいです。 これを参考に弄って、背景色は直変更し、線は無事変更、文字は滲んだ感じになり、ほかはそのままでした。 https://dobon.net/vb/dotnet/graphics/setremaptable.html こんなのやるなら色を再設定して再描画した方が早いですかね? イメージ的にはCADで書いてる物を印刷時に白黒反転するみたいな感じなんですが。
655 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 19:01:26.19 ID:Lka/sttda.net] >>644 印刷の品質の観点から言っても「ビットマップを流用する」 という発想自体が不適切で、「描画処理を流用する」べきでしょうね。
656 名前:デフォルトの名無しさん mailto:sage [2022/01/14(金) 07:06:02.10 ID:uASM5+QH0.net] .net 6の Windows Forms の TreeView のサブクラスを作ったのですが、 サブクラスでOnMouseDownをオーバーライドすると動くのに、OnMouseClickをオーバーライドしても動きません。 何が原因でしょうか?
657 名前:デフォルトの名無しさん mailto:sage [2022/01/14(金) 09:52:38.44 ID:Wn0kK1te0.net] そもそもTreeViewのMouseClickはノードのある行の部分しか発生しないけど ノード上でクリックしても反応しないの?
658 名前:デフォルトの名無しさん mailto:sage [2022/01/14(金) 23:45:25.88 ID:8g6TvuWW0.net] こういう実装の隠蔽ってありだと思う? https://ideone.com/XNNgQM リポジトリクラスでしか使わないキークラスを外部から勝手に生成されたくないっていう着想なんだが、 特定のクラスからのみメソッド叩かせたいときとかにも使えそうな気はする 雁字搦め感は出てるし、将来の健忘症になった俺が手を付けてしまう恐れも減るしでメリットはある ただぶっちゃけちまうとinternalで十分では?と他でもない俺自身が思ってしまった
659 名前:デフォルトの名無しさん [2022/01/15(土) 00:11:45.90 ID:TZiSYT8I0.net] 質問させてください using System.Collections.Generic; class TestEnumerable { static public Ienumerable FromTo() { yield return 1; yield return 3.14; } static void Main(string[] args) { foreach(var I in FromTo()) { Console.Write(I); } } } 上記のようなコードがあった場合 yield return1を表示、続きから実行されて yield return3.14を表示すると思うのですが そのあと、メソッドが終了した場合の処理がイメージできません FromTo()メソッドが終了した後は何か値がreturnされるのでしょうか? FromTo()メソッド終了時の挙動の詳細を教えてほしいです
660 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 00:15:49.41 ID:Fo59HrKfa.net] CreateProxyをpublicにしないとエラーになるんじゃないかな
661 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 00:20:28.44 ID:dZ7wz90eM.net] yieldを使ってるメソッドの末尾には 「yield break」が暗黙のうちに挿入される、みたいなイメージをもっておけばいいんじゃないかな
662 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 00:35:37.46 ID:RH/JKl1ia.net] >>650 そんなページ開いたらダイレクトに書いてあることを指摘されたいわけじゃないんだ ニュアンス通じれば良いかなって思いながらも一応直したんだけど張るURLを間違えたんだよ
663 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:00:14.09 ID:e/r7AWqZ0.net] は?
664 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:05:14.25 ID:mkRG7Oi7a.net] >>649 メソッドのシグネチャのみたまんま FromToはIEnumerableを返すのであって1とか3.14を返すんじゃない。 何言ってるのか理解できなかったら川俣さんの記事のイテレーターの 説明でも読んでもらった方が早いよ。
665 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:10:18.60 ID:JIhdD5Fq0.net] >>648 キークラスから派生してリポジトリクラスって構造が変 駄目な継承の使い方だと思う
666 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:25:11.79 ID:z3QAlxXC0.net] >>655 キー生成クラスだぞ? 本来リポジトリ内部で生成するものなのに基底に置いては駄目とは何ぞ
667 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:43:23.33 ID:JIhdD5Fq0.net] >>656 この場合は継承(is-a)ではなく包含(has-a)にすべき
668 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:57:04.48 ID:mkRG7Oi7a.net] >>648 VBは確か型Bが型Aの内側で定義されている時、 BのインスタンスをAが握っているとBのprivateメンバーに アクセスできる裏技があった気がしたんでVBならそれを使う手はあったかも。 試してみたらやはりC#ではできないw
669 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 02:01:13.57 ID:mkRG7Oi7a.net] まあセキリティー的な目的じゃなく単なる精神衛生の問題なら 単純にKeyのコンストラクタをprivateにして必要な個所ではリフレクションで使えばいいよね
670 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 02:49:41.70 ID:mkRG7Oi7a.net] 「早い者勝ち」にしちゃうのもありかなとか思った。いやねーかw public class Key { public int Value { get; private set; } private static int serial = 0; private static Func<Key> func = () => new Key(serial++); private Key(int val) { Value = val; } public static Func<Key> GetCreator() { var ret = func; func = null; return func; } }
671 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 03:06:56.37 ID:ccrjJyGq0.net] >>649 関数内にyield returnがあったらイテレータブロック扱いになって普通の関数じゃなくなる IEnumerable<T>の約束通り、Tの要素を返してって終端がきたらおわり
672 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 11:19:56.44 ID:6qmp/Z4R0.net] >>649 FromTo()が返すのはIEnumerable foreachは大雑把に言えば↓に展開される var iterator = FromTo().GetEnumerator(); while (iterator.MoveNext()){ var I = iterator.Current; Console.WriteLine(I); } イテレータとかイテラブルでググるといい .NETの型名だとIEnumrator<T>とIEnumerable<T>
673 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 12:29:33.15 ID:mY1vrnaaM.net] >>651 有能 >>654 ,662 無能、聞きたいのはお前のチンケな知識じゃねーよ
674 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 13:44:23.87 ID:agiarv77a.net] >>663 馬鹿だねこいつw 質問した人と別人みたいだけど
675 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:20:07.42 ID:XKyr/S8qM.net] 馬鹿としか言えない無能w
676 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:24:42.58 ID:6Adwrh4F0.net] 今週のNDワッチョイ ドコグロ MM4f-KcIn
677 名前:デフォルトの名無しさん [2022/01/15(土) 14:48:33.55 ID:6bjOtxZz0.net] WindowFormでTimerクラスを使ってlabelのTextを定期的に変更したのですが 「有効ではないスレッド間の操作」ということでエラーになってしまいます。 どのようにすれば実現できるでしょうか? public Form1() { InitializeComponent(); var timer = new System.Timers.Timer(); timer.Elapsed += new ElapsedEventHandler(OnElapsed_TimersTimer); timer.Interval = 5000; timer.Start(); } private void OnElapsed_TimersTimer(object sender, ElapsedEventArgs e) { label1.Text = "1"; }
678 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:53:57.88 ID:OfoSB/Yx0.net] >>667 Timerには何種類かあって WinFormsならSystem.Windows.Forms.Timerクラスを使うのが簡単
679 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:56:31.51 ID:2bsBwYtoa.net] スレッド間の〜は Invoke((MethodInvoker)delegate{処理}); ってやればわんちゃん
680 名前:デフォルトの名無しさん [2022/01/15(土) 16:08:48.34 ID:6bjOtxZz0.net] Windows.Forms.Timerクラスでやりたいことができました! 後学のため、Invokeも調べたいと思います ありがとうございます
681 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 20:02:17.15 ID:XKyr/S8qM.net] >>666 黙ってNGできない無能w
682 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 04:00:49.97 ID:az6Mfsfa0.net] OpenCVSharp入れたらexeのフォルダがdllだらけになったんですが、 これ全部リリースの時にこのまま一緒に渡さないといけないんですか? exe1個にまとめられないんですか?
683 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 07:00:20.21 ID:DVPU1vQA0.net] >>672 単一ファイルの配置と実行可能ファイル https://docs.microsoft.com/ja-jp/dotnet/core/deploying/single-file
684 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 10:03:18.59 ID:gWCKJdmK0.net] ネイティブじゃね?
685 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 10:19:22.15 ID:1ZlPRUHva.net] インストーラーのexeひとつ渡せばおk
686 名前:漆黒の翼 mailto:sage [2022/01/16(日) 20:01:08.59 ID:VfeV/Qg80.net] 教えていただきたいのですがWindowsでc#のプログラムが落ちた時にメモリダンプを吐くようにするにはどうすればいいのでしょうか? よろしくお願いいたします
687 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:14:28.43 ID:8g0F/aL60.net] メモリダンプ吐くと何かわかるん?
688 名前:漆黒の翼 mailto:sage [2022/01/16(日) 20:18:34.35 ID:VfeV/Qg80.net] >>677 メモリダンプをvisual studioに食わせるといろいろ分かります!!
689 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:19:29.37 ID:el47HiNu0.net] メモリダンプを解析できない人たちのスレですよ、ここは。
690 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:22:15.01 ID:F2RYBHf20.net] 明らかに"初心者用"の範疇を超えているよね
691 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:34:12.82 ID:T486FPBl0.net] C#でゲロ吐く方法はしらん Windows Error Reportingで取得するはずなので、呼び出せば行けるかもしれない