1 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 07:31:00.51 ID:2LMOL5Ty0.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです >>980 を踏んだ人は新スレを建てて下さい。>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part157 https://mevius.5ch.net/test/read.cgi/tech/1669349768/ ■関連スレ C#, C♯, C#相談室 Part97 https://mevius.5ch.net/test/read.cgi/tech/1671585518/ ■コードを貼る場合は↓を使いましょう。 https://ideone.com/ https://dotnetfiddle.net/ 初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします www.visualstudio.com/downloads/ ■情報源 https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/ https://learn.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 ++C++; // 未確認飛行 C https://ufcpp.net/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
830 名前:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi) mailto:sage [2023/06/22(木) 09:08:14.28 ID:fUhg+N3Z0.net] WebなんかでステートレスならDapperで良いけどデスクトップアプリなんかでステートフルならEFの変更追跡なきゃだるいやん 用途で選べばいいんだよ
831 名前:デフォルトの名無しさん (アウアウウー Sacd-Tk+b) mailto:sage [2023/06/22(木) 09:21:07.30 ID:8AaELlpYa.net] 変更追跡が役に立つ場面なんてほぼ無いよ 速度は無茶苦茶遅いし どうしても追跡したいならDapperで使うクラスに変更通知やIEditableObjectでも仕込んでおいたほうがいい
832 名前:デフォルトの名無しさん (スッップ Sdb2-6ESG) mailto:sage [2023/06/22(木) 13:34:23.63 ID:iyk8obpJd.net] そろそろ的外れなたとえ話は罪に問えるようにするべきだな
833 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 20:47:23.54 ID:BdypaOA90.net] visual studioのformでプロジェクトデザイナーの設定settings.settingsでint型の配列を使いたいん [10]個ぐらいなんですけど、windowsFormでいい設定の保存方法ありますか?
834 名前:デフォルトの名無しさん (ワッチョイ 0610-Mrss) mailto:sage [2023/07/07(金) 22:10:36.42 ID:VQ1+4DlV0.net] >>825 デザイナーからじゃなくて直接Properties/Settings.settings/Settings.Designer.csに書けばいけるよ でもデザイナ触るとcs上書きされるからまた追記しないといけないけどね https://ideone.com/tJGGHq
835 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 22:51:58.76 ID:BdypaOA90.net] >>826 さんくすです、デザイナーをいじらずListを追加するんですね Settings.Designer.csを書き換えたことをどこかに書いとかないとダメですね [] [ここ壊れてます]
837 名前:デフォルトの名無しさん (アウアウウー Sabb-DX8j) mailto:sage [2023/07/07(金) 23:11:34.06 ID:G77vHYnia.net] なんでpartialクラス使わねーの?
838 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 23:28:40.56 ID:BdypaOA90.net] >>828 Settings.csの partial class Settingsを使えってことでしょうか?
839 名前:デフォルトの名無しさん (アウアウウー Sabb-DX8j) mailto:sage [2023/07/07(金) 23:43:30.04 ID:G77vHYnia.net] >>829 そっちが人間が書き換える用のファイル
840 名前:デフォルトの名無しさん (ワッチョイ 9fea-kkOg) mailto:sage [2023/07/08(土) 08:13:42.94 ID:91Ogp97S0.net] >>830 サンクスですSettings.csに書けば上書きされないってことですね
841 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 13:11:44.65 ID:Dnv+EbFzd.net] 通知領域のアイコンをクリックすると現れるメニューを複数列にしてみたいです こういう場合は自作コントロールを作成する必要があると考えればよいですか? この辺は未経験なので自分にはハードル高そうですが 昔から使わせて頂いてるMr.Clipboardというソフトウェアに類似するものを作ることが目標です。
842 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 13:23:58.06 ID:Dnv+EbFzd.net] ん~contextMenuStripとかをいじって自作コントロールを作るという高いハードルを越えるより 通知領域アイコンをクリックした時に、メニューに似せたフォームが、ちょうどメニューが表示されるような位置に現れるようにしたほうがいいのかな・・・実現可能性は高そう Mr.Clipboardの作者さんはどうやってこういうものを作ったんだろう
843 名前:デフォルトの名無しさん (オッペケ Sr0b-kkOg) mailto:sage [2023/07/09(日) 14:28:31.42 ID:qTcsfTmnr.net] 古そうなソフトウェアだから そもそもContextMenuStripじゃなくてContextMenu(=COMCTL32)を使ってるんじゃないかな 使ったことないから知らんけどひょっとしたら何かデフォルトで2列表示できる機能が備わってたりして
844 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 15:40:32.78 ID:Dnv+EbFzd.net] >>834 ありがとうございます 画像貼れればいいのですが規制されててダメなんですごめんなさい Mr.Clipboardを自分のPCで今使っているのですが、通知領域のアイコンをクリックすると、10列表示されます。 文字列を登録することができるのですが、登録数をふやすほど列も増えていく仕様なんです 列数だけではなく、1列当たりの行数なども柔軟に扱えないと実現できないのかなと思ってます。 一応>>833 の方向性でやってみることにしました 継承やらオーバーライドやら試してみたい気持ちもあったのですが、.そもそもNETのソースコードを正しく読み解く自信が・・・
845 名前:デフォルトの名無しさん (ワッチョイ 3768-rqKn) mailto:sage [2023/07/09(日) 16:18:02.54 ID:rFc2qelE0.net] 現在進行形でC#の仕事してるけどプログラミングよりもgitとかのほうが難しい マーキュリアル開いて出てきたMQ パッチ適用がどうたらって何のこと?
846 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/09(日) 16:26:49.16 ID:W7Z8cVLl0.net] Git の質問かと思ったら、マーキュリアルの話始めたり 精神分裂症かな
847 名前:デフォルトの名無しさん (ワッチョイ 9701-xBPm) mailto:sage [2023/07/10(月) 01:02:30.69 ID:qL1vqKUB0.net] 混在してるか移行中のPJで初心者故に両者がごっちゃになってるだけだとエスパーしてみます
848 名前:デフォルトの名無しさん (スップ Sd3f-mu37) mailto:sage [2023/07/10(月) 07:18:29.54 ID:BXZpIYtLd.net] 単に物を知らないのをバカにしたいだけで本気で精神分裂症とは思っとらんだろ
849 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 09:42:06.39 ID:zUnHM/go0.net] C#ってプロジェクトを作らないとコンパイル出来ないんでしょうか? main関数のあるHelloWorld.csだけでコンパイルするのは無理?
850 名前:デフォルトの名無しさん (ワッチョイ f7c6-knyK) mailto:sage [2023/07/10(月) 09:50:21.18 ID:jFNuf9xo0.net] csc.exeを直接実行すれば*.csだけでもコンパイルできるよ Linux向けとかはどうか知らないけど
851 名前:デフォルトの名無しさん (ササクッテロラ Sp0b-JJLP) mailto:sage [2023/07/10(月) 10:13:07.78 ID:bDJ4URo4p.net] >>840 C#がインタプリタ的に使えるのって案外知られて無いんだなぁ
852 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 10:33:54.46 ID:zUnHM/go0.net] >>841 Linuxには無さげですね dotnetコマンドでも無理そう
853 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 10:59:12.77 ID:zUnHM/go0.net] >>842 dotnet-repl を入れたら実行結果の確認は出来るようになった ありがとう
854 名前:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o) mailto:sage [2023/07/10(月) 12:41:26.24 ID:h4a2e+7ia.net] シェルスクリプト代わりにするならC#使うよりPowerShellの方が便利だから batはそろそろ滅べ
855 名前:デフォルトの名無しさん (ワッチョイ bf79-CBkq) mailto:sage [2023/07/10(月) 12:44:12.34 ID:pvSg+WfU0.net] powershellでええやん
856 名前:デフォルトの名無しさん (アウアウクー MM0b-xBPm) mailto:sage [2023/07/10(月) 13:19:11.50 ID:otun5GpPM.net] batとの互換性が中途半端なのがイラつきますけどね
857 名前:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o) mailto:sage [2023/07/10(月) 14:17:36.82 ID:h4a2e+7ia.net] batみたいな化石との互換性なんか要らんだろ PowerShell使えばC#もそのまま動くぞ https://codezine.jp/article/detail/5007
858 名前:デフォルトの名無しさん (ブーイモ MM8f-9ZAg) mailto:sage [2023/07/11(火) 22:56:21.27 ID:0HX/1I5LM.net] talkで質問集まってるみたいだから向こうに行くかな
859 名前:デフォルトの名無しさん (スププ Sdbf-1L5A) mailto:sage [2023/07/12(水) 01:00:39.52 ID:WP87K7PTd.net] おう、二度と戻ってくるなよ
860 名前:デフォルトの名無しさん (オッペケ Sr0b-B87o) mailto:sage [2023/07/14(金) 11:09:10.37 ID:SW9fkks0r.net] 少しはここもまともになるかな
861 名前:デフォルトの名無しさん (オッペケ Sr0b-jHc6) mailto:sage [2023/07/14(金) 11:21:59.88 ID:gWjfvyvyr.net] プログラム板住人誰も移住してなさそうだから変わらないんじゃない?
862 名前:デフォルトの名無しさん (ワッチョイ 7f2d-/79E) mailto:sage [2023/07/14(金) 11:29:58.
] [ここ壊れてます]
863 名前:62 ID:FrJI/jtz0.net mailto: あっちはスレッドだけ出来てて中身が空なのばっかりじゃん C#関連スレは全て1件もレス付いてない [] [ここ壊れてます]
864 名前:デフォルトの名無しさん (オッペケ Sr0b-WUNe) mailto:sage [2023/07/14(金) 13:15:57.44 ID:o+Lvn4Uxr.net] jane styleってC#で開発したって聞いたが勘違いかな
865 名前:デフォルトの名無しさん (ワッチョイ 57a7-xgtz) mailto:sage [2023/07/14(金) 13:19:10.56 ID:0qf2Hag/0.net] Delphiだから勘違いだね Delphiの発明者が後のC#の発明者と同一人物だからそういう勘違いが生まれたのでは
866 名前:デフォルトの名無しさん (スププ Sdbf-Gz7C) mailto:sage [2023/07/14(金) 17:53:33.20 ID:L1fXIk/+d.net] 発明されたんだ
867 名前:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) [2023/07/15(土) 12:52:20.24 ID:x4tryG3A0.net] 初心者です。 非同期メソッドにCancellationTokenを渡して、エラーハンドリングを行う必要があることを知りました。CancellationTokenSourceからCancellationTokenを作成して、非同期メソッドに渡していくところまではできました。ただ、ネストが深い非同期メソッド内でトークンをキャンセルしたいときに、どのようにキャンセルすれば良いのか分からない状況です。 非同期メソッドからCancellationTokenSourceのCancelメソッドはどのように呼べば良いのでしょうか。
868 名前:デフォルトの名無しさん (ワッチョイ 665f-bpoS) mailto:sage [2023/07/15(土) 12:56:18.34 ID:IVtLjRqQ0.net] 【えっ】Perlに未来はあるのか?【終わり?】
869 名前:デフォルトの名無しさん (JP 0H62-9/0y) mailto:sage [2023/07/15(土) 13:15:08.16 ID:KExn0jd0H.net] トークンをキャンセルする権限を持ってるのは非同期処理側じゃなくて呼び出し元だと思うんだけど・・・ (だからcancellationTokenSourceを持ってる人だけがCancel()を実行できる) 呼び出し元から指図されたわけじゃないけど自発的にキャンセルしたいってことなら throw new OperationCanceledException(token) とでもすればいいんじゃないかな
870 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/15(土) 13:42:20.93 ID:m7eEyKEv0.net] それはtokenの状態と整合性取れないし不自然だろう 普通に(キャンセルしたいと判断した)要因に合った例外使えば済む話だ
871 名前:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) [2023/07/15(土) 15:05:06.38 ID:x4tryG3A0.net] >>859 >>860 ご回答ありがとうございます。 awaitしている非同期メソッド内で例外を投げて、呼び出し元でcancellationTokenSource.Cancelしてキャンセルする、というのはできました。 ただ、awaitしない非同期メソッド内で例外を投げてもcatchできず、呼び出し元でcancellationTokenSource.Cancelできない状況です。 awaitして、非同期メソッド内で例外を投げて呼び出し元でキャンセルするしかないのでしょうか。
872 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/15(土) 16:17:24.24 ID:m7eEyKEv0.net] >>861 awaitしない非同期メソッドのタスクにContinueWith()で後続タスクを作って、その中でキャンセルかな。 後続タスクの実行条件はConinueWith()の引数にTaskContinuationOptionsを指定すれば変更出来る。 (エラーが起きた時のみ実行するとか)
873 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/15(土) 17:39:44.49 ID:q/a2phH1d.net] windowsアプリ作る時にform2の幅をコンストラクタ内で指定しても 136未満だと勝手に136に広げられてしまうんだね 知らなくて原因究明するのに時間かかった
874 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/17(月) 11:07:42.07 ID:fKATz6pi0.net] MinimumSizeにそう設定されてるだけでは
875 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/17(月) 12:47:25.02 ID:oq1oEUQ30.net] >>863 FormBorderStyleプロパティがNone、ToolWindow系、その他で幅が変わるね。 ToolWindowだとタイトルバーに表示されるボタンの有無でもちょっと変わって、 ControlBox = falseの時が一番小さく出来る。 何故かNoneの時が一番大きくなる。 >>864 MinimumSizeがSize(0,0)でもなる
876 名前:デフォルトの名無しさん (ワッチョイ 3210-2eqx) [2023/07/17(月) 21:11:29.34 ID:hjrHtCYP0.net] 自作クラスのインスタンス化したときに、 そのインスタンスのプロパティを設定するやりかた? を教えてください。 うまい言い方ができないので、例を示します。 自作クラスで class Square { double width double height } があったとして、 Square square = new Square(){width = 3, height =2} としたならば、 console.Writeline (square.ToString()) とすると 6 と表示されるようなイメージです。 何がしたいのかというと、 IPropertyChanged を使って、中の プロパティが変化したときに、square が変わったということを認知したいのです。
877 名前:デフォルトの名無しさん (ワッチョイ 3279-EJzg) mailto:sage [2023/07/18(火) 02:03:58.47 ID:BpIlHiPB0.net] Writelineで6を表示したければToStringをoverrideしてやればいいだろうまでは思いましたが 貼られたコードと「何がしたいのかというと」が全く繋がってなくて、恐らくこれは誰も質問を理解できてない状況ではないでしょうか 私の感想としてはIPropertyChangedとやらを使いたければ使えばいいだけの話ではないでしょうか
878 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/18(火) 02:28:36.72 ID:GDp0BnYT0.net] 例には書いてないけどIPropertyChangedイベントを購読して、イベントが来たらConsole.WriteLine()するんでしょう で、IPropertyChangedの実装方法が知りたいと public class Square : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; private void SetProperty< T >( ref T field, T value, [CallerMemberName]string propertyName = null ) { if ( field.Equals( value ) ) { return; } field = value; PropertyChanged?.Invoke( this, new PropertyChangedEventArgs( propertyName ) ); } private double _width; public double Width { set => SetProperty( ref _width, value ); get => _width; } private double _height; public double Height { set => SetProperty( ref _height, value ); get => _height; } }
879 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/18(火) 08:44:49.63 ID:3b5O2M5n0.net] >>863 >>865 なんか頭の中で136ってもっとおっきいイメージになってた、すまないw アイコンやコントロールボタンが表示できる最低サイズだったね 面白いことに、FormBorderStyle=Noneの時に コンストラクタでどんだけ小さいWidth指定しても136になるけど その後でShown等のフォームが生成された後の時点でWidth指定すると2までは縮まるんだな SizableとかだとShownでやっても136になるけど
880 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 10:03:44.12 ID:W6YFjoCEd.net] >>865 >>869 はーやっぱり知識ある人は知ってるんですねー こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ まったく別の話なんですけど、 今これ>>832 作ってて面白いこと気づきました MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定 んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた! ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。 今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった
881 名前:デフォルトの名無しさん (スププ Sd94-uP9V) mailto:sage [2023/07/18(火) 10:04:51.17 ID:5Ch5Zuv0d.net] >>867 >>868 ありがとうございます 質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。 public class Hoge :IpropertyChanged { public Square square } とした時に squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい
882 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/18(火) 10:25:56.29 ID:3b5O2M5n0.net] >>870 何のMouseClickイベントのこと? FormやNotifyIconのMouseClickイベントならe.Button使えるはずだけど
883 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 11:52:13.49 ID:W6YFjoCEd.net] >>872 今いろいろ確認して、間違えてたことが分かりました ごめんなさい 複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。 この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。 e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした ふぅ・・・何やってんだか・・・
884 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 12:01:06.39 ID:W6YFjoCEd.net] MouseDown使わないといけないのはVBAでした 知識がぐちゃぐちゃになってました
885 名前:デフォルトの名無しさん (ワッチョイ e979-9/0y) mailto:sage [2023/07/18(火) 13:43:10.65 ID:hAXktsXG0.net] 赤あげて、白あげて、白下げないで、赤下げる♪ 左押して、右押して、右離さずに、左離す♪
886 名前:デフォルトの名無しさん (ワッチョイ 73ae-/jfo) [2023/07/18(火) 14:42:32.76 ID:INtka+wY0.net] VBAはVB.netに仕様変更する気が無いんだろうな・・・
887 名前:デフォルトの名無しさん (ワッチョイ a6cd-LhHw) mailto:sage [2023/07/18(火) 15:08:54.43 ID:ss/yk/UI0.net] vb6言語より環境が古くさすぎて触るきにならん 出力して、vscodeでやって取り込みもあるけどいまいち
888 名前:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq) mailto:sage [2023/07/18(火) 16:00:19.51 ID:zVxGTRP30.net] >>871 細かいけどINotifyPropertyChangedじゃない? SquareにINotifyPropertyChangedを実装して、 Hogeの方でこういう風に Square square { get { return _square; } set { if (_square is not null) _square.PropertyChanged -= OnSquareChanged; this._square = value; if (value is not null) _square.PropertyChanged += OnSquareChanged; } } void OnSquareChanged(object sender, PropertyChangedArgs e) { this.OnPropertyChanged(nameof(this.square)); }
889 名前:デフォルトの名無しさん (ラクッペペ MM34-iMTa) mailto:sage [2023/07/18(火) 16:06:27.35 ID:vLiOabGzM.net] VBA - VisualBasic https://learn.microsoft.com/ja-jp/office/vba/library-reference/concepts/getting-started-with-vba-in-office Office add-ins - C# https://learn.microsoft.com/ja-jp/office/dev/add-ins/overview/office-add-ins Vsto - C# https://learn.microsoft.com/ja-jp/visualstudio/vsto/create-vsto-add-ins-for-office-by-using-visual-studio Office Scripts - TypeScript(JavaScript) https://learn.microsoft.com/ja-jp/office/dev/scripts/overview/excel
890 名前:デフォルトの名無しさん (ワッチョイ d010-uD+5) mailto:sage [2023/07/18(火) 17:40:37.17 ID:HtITPTeb0.net] 871が言ってる値が何のことかよくわからないな >square自身に値を持たせる方法
891 名前:デフォルトの名無しさん (スップ Sd00-IoCj) mailto:sage [2023/07/18(火) 17:59:36.33 ID:uMqw2ex7d.net] まず環境書けとか色々突っ込み所がありすぎて暑いしで萎えた おまえら頑張れよ
892 名前:デフォルトの名無しさん (ワッチョイ f62f-NBo5) mailto:sage [2023/07/18(火) 21:18:14.67 ID:ZtgGANuh0.net] >>871 俺がエスパー回答してやる Hoge のコンストラクタでsquareをnewする Square をクラスじゃなくて構造体にする 好きなほうを選べ
893 名前:デフォルトの名無しさん (オイコラミネオ MM71-9/0y) mailto:sage [2023/07/18(火) 22:23:27.30 ID:5UWIDgazM.net] お前らも含めてだが…基本的なことを勘違いしてるんだろう IpropertyChangedが必要なのかも怪しいがそれは置いておく 通常似た様なものがあった場合 面積に相当するAreaプロパティが設定されている binding対象はHoge.Square.Areaに普通はする さて、 WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ
894 名前:デフォルトの名無しさん (オイコラミネオ MM71-9/0y) mailto:sage [2023/07/18(火) 22:33:21.86 ID:5UWIDgazM.net] Squareの値は各種プロパティを持ったオブジェクト自体でありそれを面積とみなすのはおかしいと言うこと ToString()をoverrideして面積を出すも間違っている ToString()で出すのは 四角形 幅:3 高さ:4 面積:12 と言う各種情報
895 名前:デフォルトの名無しさん (ワッチョイ 3210-NBo5) [2023/07/18(火) 23:28:46.06 ID:HED9e7490.net] >>882 エスパー ありがとうございます。 square を 構造体にかえて 今までやりたかったことが解決しました。 >>883 ,>>884 ありがとうございます。 勉強になりました。
896 名前:デフォルトの名無しさん (ワッチョイ 52da-0QNR) mailto:sage [2023/07/19(水) 12:26:43.18 ID:DPJDdup00.net] Func<T, bool>を受け取る引数にPredicate<T>を渡せないのは何故でしょうか?
897 名前:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq) mailto:sage [2023/07/19(水) 13:17:55.70 ID:rfnRytk30.net] 型が違うから class Hoge { public string Piyo; } class Fuga { public string Piyo; } と同じメンバを持った2つのクラスがあっても void Test(Hoge hoge) { ... } にFugaを渡せないのと同じ
898 名前:デフォルトの名無しさん (ブーイモ MM69-IGBM) [2023/07/19(水) 13:33:43.83 ID:Iak4bgJxM.net] hoge(pred.Invoke)で渡せる
899 名前:デフォルトの名無しさん (ワッチョイ 52da-0QNR) mailto:sage [2023/07/19(水) 13:52:39.72 ID:DPJDdup00.net] なるほど。 Predicate<T>ってFunc<T, bool>のシンタックスシュガーかと勝手に勘違いしてましたが、完全に別の型ってことですね。 ありがとうございます
900 名前:デフォルトの名無しさん (ワッチョイ ce6e-rP6O) mailto:sage [2023/07/20(木) 19:04:03.42 ID:oZtgKOtx0.net] 非同期処理について質問です。業務でWPFいじってるんですけど 1 起動画面→2 起動画面表示してる間に重い処理とか色々→3 ログイン画面→4 メイン画面 という流れになっています。それで重い処理の部分がtask runになっていてあぁ非同期処理ってやつかと なんですがやたら起動画面が長いんです。デバッグしてみるとその重い処理が実行されてるとき他の処理は実行されてなくて 結局普通に1〜4が一直線に進んでるだけじゃない?と 自分の理解だと非同期ってその処理をどっか他の場所でやっといてもらってそれ以外は全部通常通りに流れると この場合だとたとえば3や4のウインドウが出る処理が進んでいってもその裏で重い処理をやってるみたいな 2の部分が短くなるから起動画面も当然短くなるはずだろ……と思ってたんですが 非同期ってそういうもんじゃないんでしょうか
901 名前:デフォルトの名無しさん (ワンミングク MM9b-Q4Hq) mailto:sage [2023/07/20(木) 20:07:28.14 ID:4+aEc/KWM.net] ただ固まらないように使ってるだけじゃないの
902 名前:デフォルトの名無しさん (スップ Sd00-m3tO) mailto:sage [2023/07/20(木) 20:07:31.46 ID:GDwei+myd.net] 2の重い処理でUIスレッドを使っていて、 3ログイン画面でもUIスレッドを使うので、 3のレンダリングが遅延しているのかも と、先生は仰っている
903 名前:デフォルトの名無しさん (ワッチョイ b6d6-2eqx) mailto:sage [2023/07/20(木) 20:29:02.94 ID:etRvguBb0.net] たぶん2の実行中に1が固まらない(アニメーションしたりマウス操作等に反応する)ようにしてるだけだな 2が完了したら3って仕様なんだろ
904 名前:デフォルトの名無しさん (ワッチョイ 56bd-rqn1) mailto:sage [2023/07/21(金) 00:30:10.37 ID:3tiQJRjE0.net] その重い処理というのは、ログイン画面やメイン画面までに完了させる必要のない処理なの?
905 名前:デフォルトの名無しさん (オイコラミネオ MM71-rqn1) mailto:sage [2023/07/21(金) 01:04:23.20 ID:i7pkSIZ0M.net] 普通だろ 2で初期化 それが終わらないとログインすらさせない 当たり前 非同期はいわゆる並列処理ではない 処理してる間にGUIが固まらないようにしてるだけで
906 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/21(金) 08:46:35.27 ID:cgj6JgkV0.net] 起動時にまずスプラッシュ画面やら表示して裏で初期化処理ガーッとやってメイン画面が出てくるアプリケーション、ごまんとあるやろ
907 名前:デフォルトの名無しさん (オッペケ Src1-YWw1) mailto:sage [2023/07/21(金) 08:48:39.50 ID:EGVnYM7fr.net] 非同期処理って偉そうな名前ついてるけどUIが固まらないようにするためだけの存在なんだよな
908 名前:デフォルトの名無しさん (ブーイモ MMba-mCwd) [2023/07/21(金) 08:56:24.44 ID:eg4croCbM.net] 画面が固まってるかどうかってそんな大事なことか?
909 名前:デフォルトの名無しさん (ワッチョイ fe33-l/Dq) mailto:sage [2023/07/21(金) 09:12:44.39 ID:1a+dN6EZ0.net] ”応答なし”って表示されるかどうかは一般利用者にとっては大きな違い
910 名前:デフォルトの名無しさん (ラクッペペ MM34-+gOE) mailto:sage [2023/07/21(金) 09:46:52.31 ID:OOKalSboM.net] 改善したいなら「重い処理」を並列に 分解するぐらいかな? 対して変わらんどころか遅くなるだろうけど
911 名前:デフォルトの名無しさん (ブーイモ MM5e-IGBM) [2023/07/21(金) 11:29:51.89 ID:69ts+SDiM.net] 業務アプリでログイン画面表示前に終わらせないといけないやたらと時間のかかる重い処理ってどういうの? ゲームやJavaアプリではあるけどC#で作る業務アプリでは個人的には経験したことないんだけど ネットワーク経由で自動アップデートを走らせてるとか?
912 名前:デフォルトの名無しさん (ドコグロ MM36-fSYF) mailto:sage [2023/07/21(金) 14:42:23.96 ID:6vfbgTUNM.net] DBから必要なデータ落としてくるとかそういうのかな そこまで大量になるかどうかはものによる
913 名前:デフォルトの名無しさん (スップ Sd00-IoCj) mailto:sage [2023/07/21(金) 15:03:06.92 ID:6MAm8yaxd.net] コアモジュールのアップデート確認とか こういうのを下手にオンデマンド化すると不整合で死者が出たりするんだよ
914 名前:デフォルトの名無しさん (ブーイモ MMba-mCwd) [2023/07/21(金) 20:26:40.73 ID:eg4croCbM.net] >>901 そういうのならスプラッシュで長々と起動表示するより さっさと画面見せてプログレスバー出した方が良くね 端的にいうとエクリプスみたいなのは嫌い
915 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/22(土) 06:19:51.07 ID:/NYJ/E/k0.net] プログレスバー出してる間はツールバーやらメニューやら触れないように無効化しとくん? 見せてる意味なくない?
916 名前:デフォルトの名無しさん (ワッチョイ bf79-mRrB) mailto:sage [2023/07/22(土) 08:28:55.45 ID:a8PwsTyx0.net] 業務アプリで認証前に見せるもんなんて何かあんの逆に
917 名前:デフォルトの名無しさん (ワッチョイ 4742-pcwf) mailto:sage [2023/07/22(土) 10:35:33.60 ID:KOXik0Zr0.net] >>906 アプリの生存確認
918 名前:デフォルトの名無しさん (ワッチョイ 27e5-UJxk) mailto:sage [2023/07/22(土) 13:04:05.76 ID:UbHj5dt40.net] デスクトップのアイコンダブルクリックしたのになんも画面出て来なかったら 動いてるのか不安になるのがエンドユーザー
919 名前:デフォルトの名無しさん (ブーイモ MM8f-2YhC) [2023/07/22(土) 18:21:41.76 ID:k3sQ1muHM.net] そらWEBアプリが流行るわな とりあえず画面は出てくるしな
920 名前:デフォルトの名無しさん (ワッチョイ 5f2d-rRCM) mailto:sage [2023/07/22(土) 18:44:42.22 ID:oc8oPCaK0.net] こじ付け
921 名前:デフォルトの名無しさん (ワッチョイ bf79-mRrB) mailto:sage [2023/07/22(土) 18:46:25.02 ID:a8PwsTyx0.net] >>907 今時プログレスバー程度じゃアプリの生存確認にはならないかー
922 名前:デフォルトの名無しさん (ワッチョイ 275f-U6D6) mailto:sage [2023/07/22(土) 20:58:38.40 ID:+w7QyAXT0.net] 生存w
923 名前:デフォルトの名無しさん (ドコグロ MM9f-0mQ+) mailto:sage [2023/07/22(土) 21:08:30.62 ID:hYyrQzz7M.net] WEBアプリでもローディングあるやつあるけどな
924 名前:デフォルトの名無しさん (ワッチョイ 8780-jqln) mailto:sage [2023/07/23(日) 00:11:53.57 ID:NsW44b0o0.net] webview2の初期化でぐるぐるさせる
925 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/23(日) 06:35:51.66 ID:YwDu7rEL0.net] 出てるプログレスバーがなんのプログレスバーか理解できる使用者がどれほど居るか
926 名前:デフォルトの名無しさん (ワッチョイ 7f10-fN/z) mailto:sage [2023/07/23(日) 08:35:02.27 ID:E9NR74nn0.net] とりあえず動いとけばいい
927 名前:デフォルトの名無しさん (スッップ Sdff-cTWz) mailto:sage [2023/07/23(日) 21:00:26.02 ID:DI++90CVd.net] >>915 何のとか関係ないんだよね>>899 に書かれてる通り、 応答なしってなった場合にユーザーがアプリが固まったって思って不安になったり、 人によっては強制終了させたりすることを回避するのが目的でみな実装してると思うよ
928 名前:デフォルトの名無しさん (オイコラミネオ MM3b-nVDU) mailto:sage [2023/07/23(日) 23:04:58.70 ID:NQIlbLw0M.net] win11でwindows upadateの元データ読み込みの時間がかかったらタイトルバーで プログレスバー的なアニメーションが出る
929 名前:デフォルトの名無しさん (ワッチョイ bf79-mRrB) mailto:sage [2023/07/24(月) 00:09:50.17 ID:z5rdGXQY0.net] タイトルバーで糞判りづらいアニメーションされてもな
930 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/24(月) 06:55:49.96 ID:dpuUxo8K0.net] >>917 プログレスバー出す出さないと応答なしになるかどうかはイコールじゃねぇのよ
931 名前:デフォルトの名無しさん (スッップ Sdff-cTWz) mailto:sage [2023/07/24(月) 08:15:20.93 ID:WyKfXWoDd.net] >>920 もともとは>>890 から来てる話のつもりだけど 重たい処理を裏で実行させて画面は動いてます(応答なしになってません)ってのを ユーザーに伝えるためにプログレスバーだしてると思ってるんだが違うのか? 非同期でもなくプログレスバー出して進捗報告してるだけなら言ってる通りかもね
932 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 09:57:36.50 ID:suAy7pRCM.net] 10秒ならクルクルカーソルでいい 1分超えるならメッセージぐらい出そう 10分レベルだとプログレス必須 つまり非同期は10分超えのみでいい
933 名前:デフォルトの名無しさん (スッップ Sdff-cTWz) mailto:sage [2023/07/24(月) 11:10:30.20 ID:WyKfXWoDd.net] 大多数のユーザーが使う画面作ってないのかわからんけど 10秒程度で画面クリックしたら応答なしになるだけで文句いってくるところもあるからね 10分越えで非同期とかはぬるすぎ まあこの辺までくるとスレチな感じだから言い逃げになるけど自分はここまでにするわ
934 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 11:24:15.27 ID:suAy7pRCM.net] 苦情は「起動が遅い」だろ? 「応答するともっと遅くなりますよ」で返せばいい
935 名前:デフォルトの名無しさん (ワッチョイ 4742-pcwf) mailto:sage [2023/07/24(月) 11:26:52.53 ID:AUmI6Ec80.net] 他にもあると思うが、通信、I/O、DBは無条件で非同期や並行処理を意識して設計しないとな
936 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 11:30:21.52 ID:suAy7pRCM.net] 素人はそう考えるけど 待機中のユーザーが他の作業を出来ることは少ない というか待つだけだろ? つまり非同期は不要
937 名前:デフォルトの名無しさん (ワッチョイ a779-bG9n) mailto:sage [2023/07/24(月) 12:28:09.61 ID:b5WDI80O0.net] 5秒だか10秒だか 応答しないとOSにフリーズ判定されるでしょ
938 名前:デフォルトの名無しさん (ワッチョイ 27e5-UJxk) mailto:sage [2023/07/24(月) 12:48:04.14 ID:D6WZQL9B0.net] >>926 でもそれアナタの思い込みですよねw
939 名前:デフォルトの名無しさん (ワッチョイ 5f2d-rRCM) mailto:sage [2023/07/24(月) 13:26:28.55 ID:X1NMCpf40.net] 今時UIが長期間応答しなくなるのは低品質アプリの証 非同期処理が実装しやすいC#では特に
940 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 13:43:25.62 ID:suAy7pRCM.net] ギャラガでもさせるか?
941 名前:デフォルトの名無しさん (ワッチョイ 275f-U6D6) mailto:sage [2023/07/24(月) 14:00:15.94 ID:ixDNpyk/0.net] コナミ グラディウス バブルシステム起動画面 - YouTube https://youtu.be/dM-UCiUirj4
942 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/24(月) 22:19:22.23 ID:dpuUxo8K0.net] >>921 なんか盛大に勘違いしてた
943 名前:A忘れてくれ・・・ [] [ここ壊れてます]
944 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) [2023/07/30(日) 13:16:32.79 ID:qP2cEP2w0.net] >>929 逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの? 意図的にそうしてるとか
945 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) [2023/07/30(日) 13:16:34.66 ID:qP2cEP2w0.net] >>929 逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの? 意図的にそうしてるとか
946 名前:デフォルトの名無しさん (ワッチョイ b742-yh3V) mailto:sage [2023/07/30(日) 13:47:13.19 ID:JdhDrtL30.net] 手抜きか技術不足以外で長時間無応答を放置する理由はありません
947 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) [2023/07/30(日) 13:54:56.32 ID:qP2cEP2w0.net] 実行中の処理に影響与えないように応答させないのって普通じゃね?
948 名前:デフォルトの名無しさん (ワッチョイ 3ebb-bWks) [2023/07/30(日) 14:13:33.41 ID:2ZbxDykr0.net] 非同期にするオーバヘッドがないぶん処理が早く終わるしな
949 名前:デフォルトの名無しさん (ラクッペペ MMe6-Fuds) mailto:sage [2023/07/30(日) 14:25:18.01 ID:IK2UEk/mM.net] 30年前のCPUか?
950 名前:デフォルトの名無しさん (ワッチョイ da2d-cK++) mailto:sage [2023/07/30(日) 15:29:45.06 ID:C8zYgP+u0.net] いつの発想だよ… UIと時間がかかる処理は別スレッドだし 今時のPCならオーバーヘッドは無いに等しいだろ
951 名前:デフォルトの名無しさん (ワッチョイ da2d-cK++) mailto:sage [2023/07/30(日) 15:32:39.03 ID:C8zYgP+u0.net] >>936 UIの制御は必要になるけど、それをしないのは手抜きってやつだ
952 名前:デフォルトの名無しさん (ワッチョイ dabd-TJCF) mailto:sage [2023/07/30(日) 15:39:50.10 ID:ceI/e8I50.net] >>936 UIがないアプリなら好きにしろ。 UIがあるならUIのお約束を守れ。守れないのは低品質アプリだ。
953 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) mailto:sage [2023/07/30(日) 16:01:47.86 ID:qP2cEP2w0.net] で応答できないことの何が問題?
954 名前:デフォルトの名無しさん (ワッチョイ 26bc-0TAO) mailto:sage [2023/07/30(日) 18:57:09.57 ID:h72pV3U00.net] てゆーか、まだやってたんだ。 ある意味スゲー。
955 名前:デフォルトの名無しさん (ワッチョイ 8f2f-KN61) mailto:sage [2023/07/31(月) 02:48:28.98 ID:/pzquaKJ0.net] UIが無応答って状態を勘違いしてる気がする
956 名前:デフォルトの名無しさん (ワッチョイ 73e5-U0W2) mailto:sage [2023/07/31(月) 09:07:39.25 ID:kMCzvjpl0.net] まだやってたんだって言うか、1週間近く動きも無く終わったと思われてた話をバカが蒸し返しただけ
957 名前:デフォルトの名無しさん (スフッ Sd8a-kvF/) [2023/07/31(月) 13:17:06.46 ID:lng3H2OQd.net] >>942 応答出来ない=次に応答するのが計算が終わったタイミング と言うことになる つまり開始後中断したくてUI(例えば停止ボタン)押して 実際に止まるのが計算完了後で 計算結果が表示される直前に終了してくれるオマケ付き
958 名前:デフォルトの名無しさん (スッップ Sd8a-1j9t) mailto:sage [2023/07/31(月) 13:19:35.83 ID:xjBtNZZud.net] >>946 >>942 みたいな過去の遺物みたいなのにかかわらないほうがいいぞ 「そのうち返ってくるでしょ」みたいな考えのやからは一定数いるからな
959 名前:デフォルトの名無しさん (アウアウウー Sa1f-6+wX) mailto:sage [2023/07/31(月) 13:25:23.15 ID:sgBBFIN2a.net] 全然ecoじゃない SDGs連中が飛び付くネタ
960 名前:デフォルトの名無しさん (ワッチョイ becf-WE/L) mailto:sage [2023/08/01(火) 01:57:41.21 ID:l/YBSfNu0.net] https://atmarkit.itmedia.co.jp/ait/articles/1702/22/news010.html > Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、 > ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。 > “応答がない状態”とは、アプリケーションのプロセスが持つウィンドウオブジェクトが > 「ウィンドウメッセージ(Window Message)」に5秒(既定)以上、応答しなくなる状態を指します。 こんなん出たんですけどとか言われたら恥ずかしいだろ
961 名前:デフォルトの名無しさん (スップ Sd2a-3oaK) mailto:sage [2023/08/01(火) 08:39:12.57 ID:NwjOuTDqd.net] そうやってOSが面倒見てくれてるし気にするな
962 名前:デフォルトの名無しさん (ワッチョイ 73e5-U0W2) mailto:sage [2023/08/01(火) 08:48:36.38 ID:jZPe7+0n0.net] 気にしろし
963 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/01(火) 19:37:01.30 ID:EZnFv0QC0.net] 真のエコはシングルスレッド非同期 プログラミングコストは爆増するけどな
964 名前:デフォルトの名無しさん (ワッチョイ 2301-iCAU) [2023/08/01(火) 23:34:51.68 ID:MwS5ZIT40.net] 魔法の呪文DoEventsでおk
965 名前:デフォルトの名無しさん (ワッチョイ 8f7c-0u9z) mailto:sage [2023/08/02(水) 07:43:03.92 ID:MJ0E5XCG0.net] 進捗表示、キャンセルや一時停止を受け付けない設計はクソ。
966 名前:デフォルトの名無しさん (ワッチョイ 17ae-CF7t) mailto:sage [2023/08/03(木) 10:08:52.15 ID:icL6sh+90.net] シリアルポートからの送信を出来るだけ高速に受信したいのですが、下記以外に何かありますでしょうか? また高速化する方法がありましたら、指摘してください。 よろしくお願いします。 LinkedList<byte> LLBuffer = new LinkedList<byte>(); SerialPort sp = new SerialPort(); byte[] buf = Encoding.ASCII.GetBytes(sp.ReadExisting()); foreach(byte b in data) LLBuffer.AddLast(b);
967 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/03(木) 11:06:07.21 ID:L6gOIzTH0.net] >>955 単なる生バイト配列が欲しいんだったらEncoding.ASCII.GetBytes(sp.ReadExisting())は二重に無駄な事してるから var buf = new byte[1024]; int count = sp.Read(buf, 0, buf.Length); for (int i = 0; i < count; ++i) LLBuffer.AddLast(buf[i]);
968 名前:デフォルトの名無しさん (ワッチョイ 17ae-CF7t) mailto:sage [2023/08/03(木) 11:41:09.07 ID:icL6sh+90.net] >>956 ありがとうございます。 現在は1024バイト固定で受信しているのですが、 sp.ReadBufferSize()で見ているとどんどんシリアルポートのバッファが溜まって頭打ちになっているので、 アプリ側で出来るだけ取得しておきたいと思い、sp.ReadExisting()の使用を検討しているところです。
969 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/03(木) 12:22:33.04 ID:L6gOIzTH0.net] >>957 IOの方が早いなんてことは有り得ないからwhileで回すとかはしてる? 内部バッファが空の時にsp.Read(buf, 0, buf.Length)するとブロックされちゃうのかな そうじゃないならwhile ((count = sp.Read(buf, 0, buf.Length)) != 0)、 ブロックされるとしてそれが嫌ならsp.BytesToReadで溜まってるバイト数チェックやDataReceivedイベントで拾うとか
970 名前:デフォルトの名無しさん (スッップ Sd2f-YWx9) mailto:sage [2023/08/05(土) 10:43:10.90 ID:wvUeqD5zd.net] 誰も突っ込まないけどシリアル受信に間に合わないは普通にあり得るくね、
971 名前:デフォルトの名無しさん (ワッチョイ 9b2f-1PqA) mailto:sage [2023/08/05(土) 11:08:11.80 ID:6FXtwa520.net] シリアルってだけで実際のスピードもハードスペックもPCの使用状況も書いてないけど 個人的意見なら、いまどきのハードでC#で普通に作って間に合わんなんて、 他に何か原因がなければ想像できんレベルだが
972 名前:デフォルトの名無しさん (ワッチョイ 01c5-i02c) mailto:sage [2023/08/05(土) 11:37:11.83 ID:kMOIqdZr0.net] 同期9600bps を試しにやってみたまえ。 LANCとかやね
973 名前:デフォルトの名無しさん (ワッチョイ 9949-HLSB) mailto:sage [2023/08/05(土) 11:45:14.79 ID:29MU2LyY0.net] .NET7でnlogがあれやこれやしてもうんともすんとも言わないので おすすめのログのライブラリとかありまふか
974 名前:デフォルトの名無しさん (オイコラミネオ MMc9-1ro1) mailto:sage [2023/08/05(土) 14:09:41.96 ID:wQaB7TT9M.net] nugetのランキング上位にあるやつ使えるのでは?
975 名前:デフォルトの名無しさん (ワッチョイ 472d-SCbl) mailto:sage [2023/08/05(土) 15:32:52.86 ID:JFXqS/BH0.net] .NET7でNLog普通に使えてるけどなぁ ちょっと前のバージョン(5.1.4)だからか?
976 名前:デフォルトの名無しさん (ワッチョイ 472d-SCbl) mailto:sage [2023/08/05(土) 15:46:07.77 ID:JFXqS/BH0.net] nugetの最新(5.2.2)にしたけど使えてるな
977 名前:デフォルトの名無しさん (オイコラミネオ MMc9-1ro1) mailto:sage [2023/08/05(土) 16:15:39.59 ID:wQaB7TT9M.net] .NET7使ってるのが驚き
978 名前:デフォルトの名無しさん (ワッチョイ 4954-4gg4) mailto:sage [2023/08/06(日) 21:10:40.86 ID:t8XxdJlt0.net] その程度で驚くヤツはくるみぽんちおの刑だな。 うちの製品なんて、.net framework 1.1 使ってる製品もある。 しかも重要ユーザーからの要望があれば機能追加までしてる。
979 名前:デフォルトの名無しさん (ワッチョイ b310-jhPE) mailto:sage [2023/08/07(月) 07:41:51.88 ID:NZgbVHgQ0.net] XPで動かしてそう
980 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/07(月) 09:07:25.45 ID:TF3XFQ9V0.net] OSにしてもランタイムにしても、古いのずっと生き残ってるのあるあるだよな うちの顧客なんてVB6製アプリをXPで動かしてるとこまだあるしな……
981 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/07(月) 09:08:05.81 ID:TF3XFQ9V0.net] 流石にNT4はもう居なくなったけど
982 名前:デフォルトの名無しさん (ワッチョイ eb42-tyL0) mailto:sage [2023/08/07(月) 09:17:47.25 ID:82JZu0tI0.net] ニューテクノロジ4か 名前にニューって付けて年月経つと碌なことにならないな
983 名前:デフォルトの名無しさん (アウアウウー Sa9d-mBaV) [2023/08/07(月) 10:03:51.30 ID:wl/Lx6N5a.net] うめようず
984 名前:962 (ワッチョイ 9949-c/5M) mailto:sage [2023/08/07(月) 10:41:55.42 ID:NRD23MMX0.net] NLog動くようになった! コードで設定すると動く、でもConfigは反映されないからと色々やってたら 「出力ディレクトリをコピー」 「ビルドアクション」 を設定してないことに気づいた C#(てかVS)久しぶりすぎて各ファイルにあるプロパティの存在を忘れてたw
985 名前:デフォルトの名無しさん (スッププ Sd03-XWNR) mailto:sage [2023/08/07(月) 14:14:56.57 ID:MBhkVnR+d.net] ふぅ・・・例外握りつぶしてたぜ・・やっと不具合原因のとっかかり見つけた
986 名前:デフォルトの名無しさん (アウアウクッ MMf3-uQHI) mailto:sage [2023/08/07(月) 15:03:38.79 ID:A9F8fN0gM.net] byte high = 0xff;; bool flag = (high & 0b10000000) != 0; これをもっとC#っぽくできないの?
987 名前:デフォルトの名無しさん (ワッチョイ 472d-SCbl) mailto:sage [2023/08/07(月) 15:16:30.47 ID:gOyFWeUo0.net] >>975 フラグをenum定義したら [Flags] enum Hoge : byte { Flag0 = 1 << 0, Flag1 = 1 << 1, ... Flag7 = 1 << 7, } var high = ( Hoge )0xff; high.HasFlag( Hoge.Flag7 );
988 名前:デフォルトの名無しさん (ワッチョイ c379-IXit) mailto:sage [2023/08/07(月) 23:19:46.08 ID:4jmmvhVW0.net] enumに属性がなんか気持ち悪いし…使用時にキャストしてるのもなんだかな #defineが無い弊害がこういうとこで出るのか C/C++のビット演算はイディオムで綺麗に書けるのにな
989 名前:デフォルトの名無しさん (ワッチョイ 1bd6-SCbl) mailto:sage [2023/08/07(月) 23:34:33.91 ID:gDjmIGTi0.net] キャストが嫌なら、複数のフラグをORで連結すれば
990 名前:デフォルトの名無しさん (ワッチョイ 1bd6-SCbl) mailto:sage [2023/08/07(月) 23:44:21.58 ID:gDjmIGTi0.net] 途中で書き込んじゃった enumに↓を追加 All = Flag0 | Flag1 | Flag2 | Flag3 | Flag4 | Flag5 | Flag6 | Flag7, var high = Hoge.All;
991 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/08(火) 08:54:05.88 ID:aeM2XQJJ0.net] 個人的には、Flagsよりも定義でビットシフトしてるんがなんか嫌だなw >>975 でも十分C#っぽい気はするけどねぇ C/C++でif(high & 0x80)で済むのはBOOLの実体が数値だからで C#のboolは別物だからしょうがないし
992 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/08(火) 09:22:12.70 ID:aeM2XQJJ0.net] 次スレ ふらっと C#,C♯,C#(初心者用) Part159 https://mevius.5ch.net/test/read.cgi/tech/1691454079/
993 名前:デフォルトの名無しさん (アウアウクッ MMf3-uQHI) mailto:sage [2023/08/09(水) 09:18:17.06 ID:tGujvv4CM.net] このままでいい気がしてきた
994 名前:デフォルトの名無しさん (ワッチョイ 095f-SCbl) mailto:sage [2023/08/10(木) 00:40:12.02 ID:P/TzKPwA0.net] >>980 ビットシフトで定義するかは好みと慣れだな C言語でも見かけるし 一応、何ビット目かソース上ではっきりするってメリットがある
995 名前:デフォルトの名無しさん (ワッチョイ b310-uQHI) mailto:sage [2023/08/10(木) 07:11:54.17 ID:ao9yBEOh0.net] 何ビット目かって表現なら、それこそ>>975 の方がC#では普通になったんじゃない?
996 名前:デフォルトの名無しさん (ワッチョイ 2b6e-D1BR) mailto:sage [2023/08/11(金) 16:58:32.91 ID:JGKsK+J90.net] ラムダ式ってこうちょろちょろっとした処理を書くのに使うものであってでかい処理は関数定義するのが基本って認識だったんですけど間違ってますかね もう今のプロジェクトラムダ式渡すところで数十行の関数がガンガン出てきてて デバッグしにくいわかりにくいでげんなりしています。まぁこれに限らずそもそも表に出る機能単位でしか考えてないのか関数抽出するって考え方があんま無いみたいな現場なんですが……
997 名前:デフォルトの名無しさん (オイコラミネオ MMc9-uQHI) mailto:sage [2023/08/11(金) 18:07:32.18 ID:CXONK6kXM.net] >>985 どうとでもいえるけど基本的にはその使い方は特に間違ってはいないので認識が間違っていると思う 処理の委譲目的ならそれが普通かも 関数抽出しやすいなら関数を抽出する ローカル変数などに依存度が高いならそのまんま書いたほうがいい 設計がしっかりしてクラスを作ってそれを渡しあってるとかなら別だけどそんなことしてられないと思う
998 名前:デフォルトの名無しさん (ワッチョイ c379-IXit) mailto:sage [2023/08/11(金) 18:39:03.98 ID:I7dwFhkG0.net] デバッグしたいなら1処理ずつ分けて書き直しゃいいだろ C#のlambdaはdelegateの意味も暗黙に含んでるからそのものは削らない方がいいけど
999 名前:デフォルトの名無しさん (ワッチョイ b310-uQHI) mailto:sage [2023/08/11(金) 20:58:53.23 ID:0dzc0r6z0.net] 同じ処理を他でも使うならメソッド化した方がいいと思うけど、そこでしかやらないならラムダでかまわんと思うけどな 今やローカル関数なんてのもあるし
1000 名前:デフォルトの名無しさん (ワッチョイ 395f-17EC) [2023/08/19(土) 20:49:54.56 ID:UW3EkLqg0.net] closedxmlでセルに書き込み反映されない…なんで😭
1001 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) [2023/08/20(日) 02:06:38.74 ID:RsoPGDy3a.net] jsonのテキストをデコードできる関数ないかな? htmlでいうところのHttpUtility.HtmlDecode()のjson文字列版 「https:\u002F\u002Fwww」を「https://www」に変換したい そんなの自作しろと言われたらそれまでだけど、あるならあるの使いたいので
1002 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) mailto:sage [2023/08/20(日) 04:06:30.93 ID:RsoPGDy3a.net] Regex.Unescape()でいけるのかな
1003 名前:デフォルトの名無しさん (ワッチョイ 2b10-YAjS) mailto:sage [2023/08/20(日) 08:33:15.17 ID:OGvFjvg+0.net] ちょっと前にTwitterのデータ取得して遊んでた時はRegex.Unescapeでやってたけど
1004 名前:デフォルトの名無しさん (ワッチョイ db79-wKkg) mailto:sage [2023/08/20(日) 18:10:25.72 ID:Jez4Fpf50.net] そこで普通にjsonパーサ使おうと思わないの何でなん
1005 名前:デフォルトの名無しさん (ワッチョイ 2b10-YAjS) mailto:sage [2023/08/20(日) 18:37:23.62 ID:OGvFjvg+0.net] JsonNode.Parseでゲットした配列から取り出した文字列をRegex.Unescapeにかけたんだけどね
1006 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) [2023/08/20(日) 19:12:02.03 ID:RsoPGDy3a.net] jsonがあるわけじゃなかったから 適当なclass用意して文字列をjsonの書式にフォーマットしてパースして取り出すって流れは気分的にやりたくなかった
1007 名前:デフォルトの名無しさん (ワッチョイ c9c6-H9aa) mailto:sage [2023/08/20(日) 20:06:30.57 ID:YUyQ4ipW0.net] "hoge"だけみたいな文字列も整形式のJSONだよ JsonSerializer.Deserialize<string>("\"hoge\""); 生の文字列なら前後に二重引用符付ける必要はあるだろうけど
1008 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) [2023/08/20(日) 21:07:24.34 ID:RsoPGDy3a.net] 試したら動いた。stringクラス指定だけでできたのか。それは知らなかった
1009 名前:デフォルトの名無しさん (ワッチョイ 93e5-YAjS) mailto:sage [2023/08/21(月) 08:03:28.38 ID:Ndtw0dBa0.net] うめか
1010 名前:デフォルトの名無しさん (ワッチョイ 395f-4N9b) mailto:sage [2023/08/21(月) 14:43:41.77 ID:s1KrJzLF0.net] 質問いいですか?
1011 名前:デフォルトの名無しさん [2023/09/10(日) 08:25:05.15 ID:MWuSGE3eL] 世界最悪の殺人組織公明党強盗殺人の首魁斉藤鉄夫らテロリス├に乗っ取られた国土破壊省に天下り賄賂癒着しながら莫大な温室効果ガスに 騒音にコロナにとまき散らして気候変動させて日本どころか世界中で土砂崩れに洪水、暴風、猛暑、干ばつ、森林火災にと災害連発させて 大量虐殺してエネ価格に物価にと暴騰させて住民の生活を破壊して私腹を肥やしてるクソ公務員個人に徹底報復しよう! 東京都港区赤坂2-17-10がクソ議員宿舎なのは有名だが「省庁別宿舎 ─覧表」で検索すれば全国の公務員宿舎の位置が容易に確認て゛きるのて゛ 拡声器や、騒音バヰクで乗り付けてブァンブアンやりに出向いてやろう!もちろんカによる一方的な現状変更によって都心まで数珠つなぎで クソ航空機飛ばして閑静な住宅地だろうと航空騒音まみれにして生活に仕事にと公然と妨害してるこいつら利権害虫のことだから騒音なんて どうということはないんだろうし、航空騒音に比べれば屁みたいな騷音しか出せないだろうが.遠慮なく大騒音まき散らしに出向いてやろう! 政府という傘で好き放題やってる公務員には個人攻撃が有効!図書館やらて゛ブァンブアンやって税金泥棒利権を徹底的に壊滅させるのも正義! (羽田)ttΡs://www.call4.jP/info.Ρhρ?type=iТems&id=I0000062 , tΤps://haneda-Project.jimdofree.com/ (成田)ttps://n-souonhigaisosyoudan.amebaownd.com/ (テロ組織)ttps://i.imgur.com/hnli1ga.jpеg
1012 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています