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
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で取得するはずなので、呼び出せば行けるかもしれない
692 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:41:28.24 ID:X0X6y0PK0.net] 先輩社員から「まずはメモリダンプとって調べてみろよ」と無理難題言われたとか
693 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:47:08.84 ID:el47HiNu0.net] Drワトソンって解雇されてたのか。
694 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 21:01:51.64 ID:uYZKVP770.net] メモリダンプを見ると 変数とかスタックとの内容がじかにわかるので デバグの助けになるかもしれない そこまで必要になることは珍しいけど
695 名前:デフォルトの名無しさん [2022/01/16(日) 21:18:19.12 ID:VfeV/Qg80.net] >>677 ダンプ解析入門 - Visual Studioでの可視化によるC#トラブルシューティング - Grani Engineering Blog の説明読むとどういうことがわかるかわかります
696 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 21:38:53.48 ID:zIpkfF6j0.net] >ダンプ解析入門 - Visual Studioでの可視化によるC#トラブルシューティング 読んでみたけど支離滅裂な記事だった でもメモリダンプ吐くよう設定する方法はちゃんと書いてたぞ
697 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 21:40:20.63 ID:P0LzLgpAM.net] >>683 出世して Watson Server として MS で働いてます
698 名前:デフォルトの名無しさん [2022/01/16(日) 21:42:20.27 ID:VfeV/Qg80.net] https://docs.microsoft.com/ja-jp/dotnet/core/diagnostics/dumps ここ読むと環境変数だけでいけそうだができませんです
699 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 22:06:33.35 ID:aMgjkUSV0.net] C#でメモリダンプが必要って、C#の利点捨てまくったクセの強い作りしてるんちゃうか UnsafeゴリゴリとかそれC#で作る意味あるのっていう
700 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 22:08:28.63 ID:8g0F/aL60.net] >>686 書くやつも書くやつなら読むやつも読むやつってことだな
701 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 22:17:34.06 ID:8g0F/aL60.net] まあ、そんなもん調べても結局使ってるライブラリがタコでしたなんて可能性もあるし それより先にやることあんじゃねーの? 的な
702 名前:デフォルトの名無しさん [2022/01/16(日) 22:20:42.02 ID:VfeV/Qg80.net] 長時間連続運転するプログラムなんだけど、ちょっとずつメモリ使用料が増えていくななんて 時はメモリダンプ一択だと思うんだが・・・ というかID:8g0F/aL60さんはC#のメモリダンプ何回くらい使った経験あるの? ゴミクズのような経験から導かれた結論は、やっぱりゴ
703 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 22:24:55.74 ID:el47HiNu0.net] 例外機構が当たり前になった今ではアプリ内でcatchするだけですからね。 仮にテストですり抜けてもcatchしたらエラーログに吐けよと。 今ではWinDbgでカーネルダンプ解析するぐらいかな。
704 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 22:27:14.39 ID:el47HiNu0.net] C#はガベコレあるからメモリリーク気にしないでいいって後輩が言ってました!!!
705 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 22:41:54.12 ID:RG8YDX1E0.net] 少しずつメモリ使用料が増えていくとか、 Ruby みたいに、世代別GC を使っていたら、 古世代は閾値を越えるまで実行されないかも知れないし、 さらに、メモリ領域が大きいと、閾値もかなり大きいだろうし、なかなか実行されない
706 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 23:17:44.09 ID:8g0F/aL60.net] >>692 正直ないね 無駄だから c#でリークの対応なんて無駄 精々頑張った挙げ句にウチの会社が組んだところじゃない箇所でリークしてて対応できません みたいな事実がわかるだけ まず、c#みたいな 厳密なメモリ管理ができない言語での 組み方を学ぶべき 3日に一度再起動するとか 機能毎にモジュール化して動かすたびに破棄するとかな 廃棄したらガベコレ適当に実行してりゃOSが片付けてくれるだろ
707 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 23:31:50.74 ID:I0k7QK8La.net] 何のお役にも立てんけど、「メモリ使用料」って結構じわるねwww まあマネージドなユーザーコードでリークが発生する原因は限られてるし、 ユーザーコードじゃないならどうしようもないし、ブル中野みたいな大鉈振るう必要って 確かにあるのかなという気はする
708 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 23:40:43.96 ID:zIpkfF6j0.net] >>692 メモリ使用量が増えるならまずはプロファイラーじゃないか?
709 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 23:42:20.42 ID:zIpkfF6j0.net] C#でも断続的に性能が極端に悪化する問題みたいなのが発生したときに 性能悪化したタイミングでダンプ吐かせると糸口がつかめたりする そういうのはだいたい.NET Frameworkとか下位の部分が原因だけど 原因が明確になれば回避策が取れる
710 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 23:44:56.33 ID:8g0F/aL60.net] >>699 それもうガチでわかんねーときの最後の手段で まずはデバッガで見てみるべきじゃね? 最近は結構いい機能が付いてる VC6の時代とは違う
711 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 00:12:14.01 ID:BWxacq0R0.net] C#でのリークは大抵長寿命のeventに+=してるだけでしょ
712 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 07:41:52.27 ID:MbNkwuBfa.net] GDIなどのシステムリソースの解放忘れとか
713 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 09:30:07.53 ID:9uEhEVX70.net] リリースの特殊な(?)解放方法なんて半ば作ったやつの趣味だからな 可能であれば別モジュールにしてキックして終わりがいい 個人製作的な(会社内であっても)ライブラリだとusingのdispose実装忘れはよくある 信じて使うと後ろからバッサリだ
714 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 10:45:22.36 ID:TWhgTM4G0.net] もう半年以上起動しぱなっしの.NET5で作ったスクレイピンクツールあるけど25mbで安定してるな
715 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 12:44:47.10 ID:DKJy6PH50.net] >>704 25ミリバールって気圧かよw
716 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 13:14:05.94 ID:U4Fph
] [ここ壊れてます]
717 名前:VWG0.net mailto: ミリビットだろ、この板なんだから [] [ここ壊れてます]
718 名前:デフォルトの名無しさん [2022/01/17(月) 13:15:12.00 ID:XdTy16+8M.net] ミリバールって昭和かよ
719 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 13:45:40.07 ID:McAG9Ljja.net] マネージドな世界で閉じている限り、Disposeの実装ミスや呼び出しの忘れは リークの原因には普通はならないと思うけどね。 単にリソースの解放が逐次的でなくなるだけ。
720 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 13:52:14.45 ID:NIAK/ICvM.net] >>708 Disposeが呼ばれたらstaticなイベントからハンドラを削除するような実装は低品質なライブラリなんかだとたまに見かける
721 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:02:14.57 ID:s/zLKX0LM.net] >>708 > GDIなどのシステムリソースの解放忘れとか の話の流れで > マネージドな世界で閉じている限り とか頭おかしいのか?
722 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:05:18.68 ID:McAG9Ljja.net] >>710 頭がおかしいのは君の方 普通のプログラマはマネージドなライブラリを挟んで 間接的にGDIのリソースを利用するんであって直接使ったりしないの だからライブラリのコードにバグがない限りGDIを間接的に 利用しているからといってリークの原因にはならないんだよ
723 名前:デフォルトの名無しさん [2022/01/17(月) 14:10:54.78 ID:McAG9Ljja.net] ついでに言えば、俺は別に>>702 に反論したわけじゃないw すごい被害妄想だよねw ネトウヨさんじゃねえのw
724 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:26:56.43 ID:ly062VWjM.net] 普通のプログラマw 無能の言い訳に多用されてて笑う
725 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:40:41.16 ID:IUPVmsWca.net] 理想のマネージドだったらdisposeなんて関係ないし、メモリリークなんて起きない でもc#は理想のマネージドじゃないんだよ・・・
726 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 15:20:30.64 ID:C2NpqJUJM.net] ゲロみたいな話題で盛り上がってんなあ
727 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 17:33:38.89 ID:0pf4TYua0.net] っぱRustよ
728 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 19:32:54.18 ID:rqpdgGXW0.net] mb ミリビットもジワるwww
729 名前:デフォルトの名無しさん [2022/01/18(火) 09:23:03.79 ID:HVobsaMl0.net] 低レベルな質問で恐縮です。VisualStudioを使っています。 やりたいことは、定期的に更新されるcsvからデータを取得しDataGridViewに表示させたいです。 (つまり、DataGridViewでリアルタイムに更新されているように見せたい) 取得・更新することはできたのですが、更新時にソート状態が解除されて困っています。 DataTable・DataSet・DataSource・データバインドなどのキーワードを見つけて調べているのですが、理解力が乏しく解決できていません。 こんな方法があるよと、ヒントになる助言をいただけたらありがたいです。 よろしくお願いします。
730 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 10:13:54.13 ID:Tap2eyJjM.net] >>718 DataGridViewのSort順を復元するだけでは?
731 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 10:18:04.98 ID:jhcMMPao0.net] ・DataGridViewにどうデータをセットしているか、どう更新しているか ・どうソートさせているか ・ソート状態が解除というのは結局どういう状況になっているのか を具体的に
732 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 11:36:28.39 ID:HVobsaMl0.net] 反応ありがとうございます。 >>719 更新前にソートされている列を取得して、更新後に強制ソートする という感じですね。試してみます。 >>720 >DataGridViewにどうデータをセットしているか 今の状態は、あるサイトにのっていたコードをコピペして試しています。 //フォームデザイン //csvデータ:person_read.csv //button4のソース ソースコードはこちら ttps://dotnetfiddle.net/i89pR3 ///////////////////////////////////
733 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 11:37:01.32 ID:HVobsaMl0.net] >・どう更新しているか button4を押すたびにcsvからデータを更新しています(実現したらtimerで自動更新に変更予定) >・どうソートさせているか >・ソート状態が解除というのは結局どういう状況になっているのか button4クリック→初期状態(csv並び順) GUIのdataGridViewの任意の列(
734 名前:痰ヲば年齢)をクリックしソート 1,山田,25 3,鈴木,28 2,佐藤,30 4,山田,46 csvに 5,田中,37 が追加される button4クリックで更新 csvの並びに戻る(希望はこの順で表示させたい) 1,山田,25 → (1,山田,25) 2,佐藤,30 → (3,鈴木,28) 3,鈴木,28 → (2,佐藤,30) 4,山田,46 → (5,田中,37) 5,田中,37 → (4,山田,46) 以上です。 [] [ここ壊れてます]
735 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 11:43:01.00 ID:HVobsaMl0.net] リンクが404になっていたので貼り直しします。 これで大丈夫か心配ですが。 https://dotnetfiddle.net/ulZ3M9
736 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 13:08:53.17 ID:jhcMMPao0.net] DataTableの場合ソート順は dataTable.DefaultView.Sort に文字列で格納されるからこれを使えばいい
737 名前:デフォルトの名無しさん [2022/01/18(火) 13:20:14.01 ID:k1mhP8XB0.net] C#で正規表現のperlでの「tr」と同じ事をしたいのですが、 Regexクラスにそれっぽいのがありません。 何か方法はありませんでしょうか?
738 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 13:29:49.03 ID:pQS/rHaxa.net] trは置換なのか?だったらc# regex 置換とかでぐぐりゃ方法出るだろ 痴漢じゃないなら知らない
739 名前:デフォルトの名無しさん [2022/01/18(火) 13:41:14.96 ID:k1mhP8XB0.net] 置換ではあるのですが、 pattern [a-z] replacement [a-z] とすると半角英字が全角英字に変換されるといった感じです
740 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 13:52:43.16 ID:pQS/rHaxa.net] 正規表現でマッチした位置とマッチした文字列を取り出すのはできる 正規表現関係なく文字列を全部変換するってならできる これを組み合わせて自分でやるしかないんじゃない?
741 名前:デフォルトの名無しさん [2022/01/18(火) 13:54:14.42 ID:9szJ9jA+0.net] Regex.Replace(mojiretsu, "[a-zA-Z]", p => ((char)(p.Value[0] - 'a' + 'a')).ToString()); 動確はしてない。
742 名前:デフォルトの名無しさん [2022/01/18(火) 14:04:35.01 ID:k1mhP8XB0.net] なるほど、やはりないですか ありがとうございました