!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の使い方などに関しては各バージョンで違うので専用スレでお願いします
http://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
探検
ふらっと C#,C♯,C#(初心者用) Part158
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ fe7b-Nimo)
2023/03/26(日) 07:31:00.51ID:2LMOL5Ty0869デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/18(火) 08:44:49.63ID:3b5O2M5n0870デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/18(火) 10:03:44.12ID:W6YFjoCEd >>865
>>869
はーやっぱり知識ある人は知ってるんですねー
こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ
まったく別の話なんですけど、
今これ>>832作ってて面白いこと気づきました
MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか
e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど
bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定
んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた!
ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。
今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった
>>869
はーやっぱり知識ある人は知ってるんですねー
こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ
まったく別の話なんですけど、
今これ>>832作ってて面白いこと気づきました
MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか
e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど
bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定
んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた!
ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。
今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった
871デフォルトの名無しさん (スププ Sd94-uP9V)
2023/07/18(火) 10:04:51.17ID:5Ch5Zuv0d >>867
>>868
ありがとうございます
質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。
public class Hoge :IpropertyChanged
{
public Square square
}
とした時に
squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です
SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい
>>868
ありがとうございます
質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。
public class Hoge :IpropertyChanged
{
public Square square
}
とした時に
squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です
SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい
872デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/18(火) 10:25:56.29ID:3b5O2M5n0873デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/18(火) 11:52:13.49ID:W6YFjoCEd >>872
今いろいろ確認して、間違えてたことが分かりました
ごめんなさい
複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。
この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。
e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした
ふぅ・・・何やってんだか・・・
今いろいろ確認して、間違えてたことが分かりました
ごめんなさい
複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。
この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。
e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした
ふぅ・・・何やってんだか・・・
874デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/18(火) 12:01:06.39ID:W6YFjoCEd MouseDown使わないといけないのはVBAでした
知識がぐちゃぐちゃになってました
知識がぐちゃぐちゃになってました
875デフォルトの名無しさん (ワッチョイ e979-9/0y)
2023/07/18(火) 13:43:10.65ID:hAXktsXG0 赤あげて、白あげて、白下げないで、赤下げる♪
左押して、右押して、右離さずに、左離す♪
左押して、右押して、右離さずに、左離す♪
876デフォルトの名無しさん (ワッチョイ 73ae-/jfo)
2023/07/18(火) 14:42:32.76ID:INtka+wY0 VBAはVB.netに仕様変更する気が無いんだろうな・・・
877デフォルトの名無しさん (ワッチョイ a6cd-LhHw)
2023/07/18(火) 15:08:54.43ID:ss/yk/UI0 vb6言語より環境が古くさすぎて触るきにならん
出力して、vscodeでやって取り込みもあるけどいまいち
出力して、vscodeでやって取り込みもあるけどいまいち
878デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq)
2023/07/18(火) 16:00:19.51ID:zVxGTRP30 >>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));
}
細かいけど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));
}
879デフォルトの名無しさん (ラクッペペ MM34-iMTa)
2023/07/18(火) 16:06:27.35ID:vLiOabGzM 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
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
880デフォルトの名無しさん (ワッチョイ d010-uD+5)
2023/07/18(火) 17:40:37.17ID:HtITPTeb0 871が言ってる値が何のことかよくわからないな
>square自身に値を持たせる方法
>square自身に値を持たせる方法
881デフォルトの名無しさん (スップ Sd00-IoCj)
2023/07/18(火) 17:59:36.33ID:uMqw2ex7d まず環境書けとか色々突っ込み所がありすぎて暑いしで萎えた
おまえら頑張れよ
おまえら頑張れよ
882デフォルトの名無しさん (ワッチョイ f62f-NBo5)
2023/07/18(火) 21:18:14.67ID:ZtgGANuh0883デフォルトの名無しさん (オイコラミネオ MM71-9/0y)
2023/07/18(火) 22:23:27.30ID:5UWIDgazM お前らも含めてだが…基本的なことを勘違いしてるんだろう
IpropertyChangedが必要なのかも怪しいがそれは置いておく
通常似た様なものがあった場合
面積に相当するAreaプロパティが設定されている
binding対象はHoge.Square.Areaに普通はする
さて、
WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる
WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ
IpropertyChangedが必要なのかも怪しいがそれは置いておく
通常似た様なものがあった場合
面積に相当するAreaプロパティが設定されている
binding対象はHoge.Square.Areaに普通はする
さて、
WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる
WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ
884デフォルトの名無しさん (オイコラミネオ MM71-9/0y)
2023/07/18(火) 22:33:21.86ID:5UWIDgazM Squareの値は各種プロパティを持ったオブジェクト自体でありそれを面積とみなすのはおかしいと言うこと
ToString()をoverrideして面積を出すも間違っている
ToString()で出すのは
四角形 幅:3 高さ:4 面積:12
と言う各種情報
ToString()をoverrideして面積を出すも間違っている
ToString()で出すのは
四角形 幅:3 高さ:4 面積:12
と言う各種情報
885デフォルトの名無しさん (ワッチョイ 3210-NBo5)
2023/07/18(火) 23:28:46.06ID:HED9e7490886デフォルトの名無しさん (ワッチョイ 52da-0QNR)
2023/07/19(水) 12:26:43.18ID:DPJDdup00 Func<T, bool>を受け取る引数にPredicate<T>を渡せないのは何故でしょうか?
887デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq)
2023/07/19(水) 13:17:55.70ID:rfnRytk30 型が違うから
class Hoge { public string Piyo; }
class Fuga { public string Piyo; }
と同じメンバを持った2つのクラスがあっても
void Test(Hoge hoge) { ... }
にFugaを渡せないのと同じ
class Hoge { public string Piyo; }
class Fuga { public string Piyo; }
と同じメンバを持った2つのクラスがあっても
void Test(Hoge hoge) { ... }
にFugaを渡せないのと同じ
888デフォルトの名無しさん (ブーイモ MM69-IGBM)
2023/07/19(水) 13:33:43.83ID:Iak4bgJxM hoge(pred.Invoke)で渡せる
889デフォルトの名無しさん (ワッチョイ 52da-0QNR)
2023/07/19(水) 13:52:39.72ID:DPJDdup00 なるほど。
Predicate<T>ってFunc<T, bool>のシンタックスシュガーかと勝手に勘違いしてましたが、完全に別の型ってことですね。
ありがとうございます
Predicate<T>ってFunc<T, bool>のシンタックスシュガーかと勝手に勘違いしてましたが、完全に別の型ってことですね。
ありがとうございます
890デフォルトの名無しさん (ワッチョイ ce6e-rP6O)
2023/07/20(木) 19:04:03.42ID:oZtgKOtx0 非同期処理について質問です。業務でWPFいじってるんですけど
1 起動画面→2 起動画面表示してる間に重い処理とか色々→3 ログイン画面→4 メイン画面
という流れになっています。それで重い処理の部分がtask runになっていてあぁ非同期処理ってやつかと
なんですがやたら起動画面が長いんです。デバッグしてみるとその重い処理が実行されてるとき他の処理は実行されてなくて
結局普通に1〜4が一直線に進んでるだけじゃない?と
自分の理解だと非同期ってその処理をどっか他の場所でやっといてもらってそれ以外は全部通常通りに流れると
この場合だとたとえば3や4のウインドウが出る処理が進んでいってもその裏で重い処理をやってるみたいな
2の部分が短くなるから起動画面も当然短くなるはずだろ……と思ってたんですが
非同期ってそういうもんじゃないんでしょうか
1 起動画面→2 起動画面表示してる間に重い処理とか色々→3 ログイン画面→4 メイン画面
という流れになっています。それで重い処理の部分がtask runになっていてあぁ非同期処理ってやつかと
なんですがやたら起動画面が長いんです。デバッグしてみるとその重い処理が実行されてるとき他の処理は実行されてなくて
結局普通に1〜4が一直線に進んでるだけじゃない?と
自分の理解だと非同期ってその処理をどっか他の場所でやっといてもらってそれ以外は全部通常通りに流れると
この場合だとたとえば3や4のウインドウが出る処理が進んでいってもその裏で重い処理をやってるみたいな
2の部分が短くなるから起動画面も当然短くなるはずだろ……と思ってたんですが
非同期ってそういうもんじゃないんでしょうか
891デフォルトの名無しさん (ワンミングク MM9b-Q4Hq)
2023/07/20(木) 20:07:28.14ID:4+aEc/KWM ただ固まらないように使ってるだけじゃないの
892デフォルトの名無しさん (スップ Sd00-m3tO)
2023/07/20(木) 20:07:31.46ID:GDwei+myd 2の重い処理でUIスレッドを使っていて、
3ログイン画面でもUIスレッドを使うので、
3のレンダリングが遅延しているのかも
と、先生は仰っている
3ログイン画面でもUIスレッドを使うので、
3のレンダリングが遅延しているのかも
と、先生は仰っている
893デフォルトの名無しさん (ワッチョイ b6d6-2eqx)
2023/07/20(木) 20:29:02.94ID:etRvguBb0 たぶん2の実行中に1が固まらない(アニメーションしたりマウス操作等に反応する)ようにしてるだけだな
2が完了したら3って仕様なんだろ
2が完了したら3って仕様なんだろ
894デフォルトの名無しさん (ワッチョイ 56bd-rqn1)
2023/07/21(金) 00:30:10.37ID:3tiQJRjE0 その重い処理というのは、ログイン画面やメイン画面までに完了させる必要のない処理なの?
895デフォルトの名無しさん (オイコラミネオ MM71-rqn1)
2023/07/21(金) 01:04:23.20ID:i7pkSIZ0M 普通だろ
2で初期化
それが終わらないとログインすらさせない
当たり前
非同期はいわゆる並列処理ではない
処理してる間にGUIが固まらないようにしてるだけで
2で初期化
それが終わらないとログインすらさせない
当たり前
非同期はいわゆる並列処理ではない
処理してる間にGUIが固まらないようにしてるだけで
896デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/21(金) 08:46:35.27ID:cgj6JgkV0 起動時にまずスプラッシュ画面やら表示して裏で初期化処理ガーッとやってメイン画面が出てくるアプリケーション、ごまんとあるやろ
897デフォルトの名無しさん (オッペケ Src1-YWw1)
2023/07/21(金) 08:48:39.50ID:EGVnYM7fr 非同期処理って偉そうな名前ついてるけどUIが固まらないようにするためだけの存在なんだよな
898デフォルトの名無しさん (ブーイモ MMba-mCwd)
2023/07/21(金) 08:56:24.44ID:eg4croCbM 画面が固まってるかどうかってそんな大事なことか?
899デフォルトの名無しさん (ワッチョイ fe33-l/Dq)
2023/07/21(金) 09:12:44.39ID:1a+dN6EZ0 ”応答なし”って表示されるかどうかは一般利用者にとっては大きな違い
900デフォルトの名無しさん (ラクッペペ MM34-+gOE)
2023/07/21(金) 09:46:52.31ID:OOKalSboM 改善したいなら「重い処理」を並列に 分解するぐらいかな?
対して変わらんどころか遅くなるだろうけど
対して変わらんどころか遅くなるだろうけど
901デフォルトの名無しさん (ブーイモ MM5e-IGBM)
2023/07/21(金) 11:29:51.89ID:69ts+SDiM 業務アプリでログイン画面表示前に終わらせないといけないやたらと時間のかかる重い処理ってどういうの?
ゲームやJavaアプリではあるけどC#で作る業務アプリでは個人的には経験したことないんだけど
ネットワーク経由で自動アップデートを走らせてるとか?
ゲームやJavaアプリではあるけどC#で作る業務アプリでは個人的には経験したことないんだけど
ネットワーク経由で自動アップデートを走らせてるとか?
902デフォルトの名無しさん (ドコグロ MM36-fSYF)
2023/07/21(金) 14:42:23.96ID:6vfbgTUNM DBから必要なデータ落としてくるとかそういうのかな
そこまで大量になるかどうかはものによる
そこまで大量になるかどうかはものによる
903デフォルトの名無しさん (スップ Sd00-IoCj)
2023/07/21(金) 15:03:06.92ID:6MAm8yaxd コアモジュールのアップデート確認とか
こういうのを下手にオンデマンド化すると不整合で死者が出たりするんだよ
こういうのを下手にオンデマンド化すると不整合で死者が出たりするんだよ
904デフォルトの名無しさん (ブーイモ MMba-mCwd)
2023/07/21(金) 20:26:40.73ID:eg4croCbM905デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/22(土) 06:19:51.07ID:/NYJ/E/k0 プログレスバー出してる間はツールバーやらメニューやら触れないように無効化しとくん?
見せてる意味なくない?
見せてる意味なくない?
906デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/22(土) 08:28:55.45ID:a8PwsTyx0 業務アプリで認証前に見せるもんなんて何かあんの逆に
907デフォルトの名無しさん (ワッチョイ 4742-pcwf)
2023/07/22(土) 10:35:33.60ID:KOXik0Zr0 >>906
アプリの生存確認
アプリの生存確認
908デフォルトの名無しさん (ワッチョイ 27e5-UJxk)
2023/07/22(土) 13:04:05.76ID:UbHj5dt40 デスクトップのアイコンダブルクリックしたのになんも画面出て来なかったら
動いてるのか不安になるのがエンドユーザー
動いてるのか不安になるのがエンドユーザー
909デフォルトの名無しさん (ブーイモ MM8f-2YhC)
2023/07/22(土) 18:21:41.76ID:k3sQ1muHM そらWEBアプリが流行るわな
とりあえず画面は出てくるしな
とりあえず画面は出てくるしな
910デフォルトの名無しさん (ワッチョイ 5f2d-rRCM)
2023/07/22(土) 18:44:42.22ID:oc8oPCaK0 こじ付け
911デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/22(土) 18:46:25.02ID:a8PwsTyx0 >>907
今時プログレスバー程度じゃアプリの生存確認にはならないかー
今時プログレスバー程度じゃアプリの生存確認にはならないかー
912デフォルトの名無しさん (ワッチョイ 275f-U6D6)
2023/07/22(土) 20:58:38.40ID:+w7QyAXT0 生存w
913デフォルトの名無しさん (ドコグロ MM9f-0mQ+)
2023/07/22(土) 21:08:30.62ID:hYyrQzz7M WEBアプリでもローディングあるやつあるけどな
914デフォルトの名無しさん (ワッチョイ 8780-jqln)
2023/07/23(日) 00:11:53.57ID:NsW44b0o0 webview2の初期化でぐるぐるさせる
915デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/23(日) 06:35:51.66ID:YwDu7rEL0 出てるプログレスバーがなんのプログレスバーか理解できる使用者がどれほど居るか
916デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
2023/07/23(日) 08:35:02.27ID:E9NR74nn0 とりあえず動いとけばいい
917デフォルトの名無しさん (スッップ Sdff-cTWz)
2023/07/23(日) 21:00:26.02ID:DI++90CVd918デフォルトの名無しさん (オイコラミネオ MM3b-nVDU)
2023/07/23(日) 23:04:58.70ID:NQIlbLw0M win11でwindows upadateの元データ読み込みの時間がかかったらタイトルバーで
プログレスバー的なアニメーションが出る
プログレスバー的なアニメーションが出る
919デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/24(月) 00:09:50.17ID:z5rdGXQY0 タイトルバーで糞判りづらいアニメーションされてもな
920デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/24(月) 06:55:49.96ID:dpuUxo8K0 >>917
プログレスバー出す出さないと応答なしになるかどうかはイコールじゃねぇのよ
プログレスバー出す出さないと応答なしになるかどうかはイコールじゃねぇのよ
921デフォルトの名無しさん (スッップ Sdff-cTWz)
2023/07/24(月) 08:15:20.93ID:WyKfXWoDd922デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 09:57:36.50ID:suAy7pRCM 10秒ならクルクルカーソルでいい
1分超えるならメッセージぐらい出そう
10分レベルだとプログレス必須
つまり非同期は10分超えのみでいい
1分超えるならメッセージぐらい出そう
10分レベルだとプログレス必須
つまり非同期は10分超えのみでいい
923デフォルトの名無しさん (スッップ Sdff-cTWz)
2023/07/24(月) 11:10:30.20ID:WyKfXWoDd 大多数のユーザーが使う画面作ってないのかわからんけど
10秒程度で画面クリックしたら応答なしになるだけで文句いってくるところもあるからね
10分越えで非同期とかはぬるすぎ
まあこの辺までくるとスレチな感じだから言い逃げになるけど自分はここまでにするわ
10秒程度で画面クリックしたら応答なしになるだけで文句いってくるところもあるからね
10分越えで非同期とかはぬるすぎ
まあこの辺までくるとスレチな感じだから言い逃げになるけど自分はここまでにするわ
924デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 11:24:15.27ID:suAy7pRCM 苦情は「起動が遅い」だろ?
「応答するともっと遅くなりますよ」で返せばいい
「応答するともっと遅くなりますよ」で返せばいい
925デフォルトの名無しさん (ワッチョイ 4742-pcwf)
2023/07/24(月) 11:26:52.53ID:AUmI6Ec80 他にもあると思うが、通信、I/O、DBは無条件で非同期や並行処理を意識して設計しないとな
926デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 11:30:21.52ID:suAy7pRCM 素人はそう考えるけど
待機中のユーザーが他の作業を出来ることは少ない
というか待つだけだろ?
つまり非同期は不要
待機中のユーザーが他の作業を出来ることは少ない
というか待つだけだろ?
つまり非同期は不要
927デフォルトの名無しさん (ワッチョイ a779-bG9n)
2023/07/24(月) 12:28:09.61ID:b5WDI80O0 5秒だか10秒だか
応答しないとOSにフリーズ判定されるでしょ
応答しないとOSにフリーズ判定されるでしょ
928デフォルトの名無しさん (ワッチョイ 27e5-UJxk)
2023/07/24(月) 12:48:04.14ID:D6WZQL9B0 >>926
でもそれアナタの思い込みですよねw
でもそれアナタの思い込みですよねw
929デフォルトの名無しさん (ワッチョイ 5f2d-rRCM)
2023/07/24(月) 13:26:28.55ID:X1NMCpf40 今時UIが長期間応答しなくなるのは低品質アプリの証
非同期処理が実装しやすいC#では特に
非同期処理が実装しやすいC#では特に
930デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 13:43:25.62ID:suAy7pRCM ギャラガでもさせるか?
931デフォルトの名無しさん (ワッチョイ 275f-U6D6)
2023/07/24(月) 14:00:15.94ID:ixDNpyk/0 コナミ グラディウス バブルシステム起動画面 - YouTube
https://youtu.be/dM-UCiUirj4
https://youtu.be/dM-UCiUirj4
932デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/24(月) 22:19:22.23ID:dpuUxo8K0 >>921
なんか盛大に勘違いしてた、忘れてくれ・・・
なんか盛大に勘違いしてた、忘れてくれ・・・
933デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 13:16:32.79ID:qP2cEP2w0934デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 13:16:34.66ID:qP2cEP2w0935デフォルトの名無しさん (ワッチョイ b742-yh3V)
2023/07/30(日) 13:47:13.19ID:JdhDrtL30 手抜きか技術不足以外で長時間無応答を放置する理由はありません
936デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 13:54:56.32ID:qP2cEP2w0 実行中の処理に影響与えないように応答させないのって普通じゃね?
937デフォルトの名無しさん (ワッチョイ 3ebb-bWks)
2023/07/30(日) 14:13:33.41ID:2ZbxDykr0 非同期にするオーバヘッドがないぶん処理が早く終わるしな
938デフォルトの名無しさん (ラクッペペ MMe6-Fuds)
2023/07/30(日) 14:25:18.01ID:IK2UEk/mM 30年前のCPUか?
939デフォルトの名無しさん (ワッチョイ da2d-cK++)
2023/07/30(日) 15:29:45.06ID:C8zYgP+u0 いつの発想だよ…
UIと時間がかかる処理は別スレッドだし
今時のPCならオーバーヘッドは無いに等しいだろ
UIと時間がかかる処理は別スレッドだし
今時のPCならオーバーヘッドは無いに等しいだろ
940デフォルトの名無しさん (ワッチョイ da2d-cK++)
2023/07/30(日) 15:32:39.03ID:C8zYgP+u0 >>936
UIの制御は必要になるけど、それをしないのは手抜きってやつだ
UIの制御は必要になるけど、それをしないのは手抜きってやつだ
941デフォルトの名無しさん (ワッチョイ dabd-TJCF)
2023/07/30(日) 15:39:50.10ID:ceI/e8I50942デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 16:01:47.86ID:qP2cEP2w0 で応答できないことの何が問題?
943デフォルトの名無しさん (ワッチョイ 26bc-0TAO)
2023/07/30(日) 18:57:09.57ID:h72pV3U00 てゆーか、まだやってたんだ。
ある意味スゲー。
ある意味スゲー。
944デフォルトの名無しさん (ワッチョイ 8f2f-KN61)
2023/07/31(月) 02:48:28.98ID:/pzquaKJ0 UIが無応答って状態を勘違いしてる気がする
945デフォルトの名無しさん (ワッチョイ 73e5-U0W2)
2023/07/31(月) 09:07:39.25ID:kMCzvjpl0 まだやってたんだって言うか、1週間近く動きも無く終わったと思われてた話をバカが蒸し返しただけ
946デフォルトの名無しさん (スフッ Sd8a-kvF/)
2023/07/31(月) 13:17:06.46ID:lng3H2OQd >>942
応答出来ない=次に応答するのが計算が終わったタイミング
と言うことになる
つまり開始後中断したくてUI(例えば停止ボタン)押して
実際に止まるのが計算完了後で
計算結果が表示される直前に終了してくれるオマケ付き
応答出来ない=次に応答するのが計算が終わったタイミング
と言うことになる
つまり開始後中断したくてUI(例えば停止ボタン)押して
実際に止まるのが計算完了後で
計算結果が表示される直前に終了してくれるオマケ付き
947デフォルトの名無しさん (スッップ Sd8a-1j9t)
2023/07/31(月) 13:19:35.83ID:xjBtNZZud948デフォルトの名無しさん (アウアウウー Sa1f-6+wX)
2023/07/31(月) 13:25:23.15ID:sgBBFIN2a 全然ecoじゃない
SDGs連中が飛び付くネタ
SDGs連中が飛び付くネタ
949デフォルトの名無しさん (ワッチョイ becf-WE/L)
2023/08/01(火) 01:57:41.21ID:l/YBSfNu0 https://atmarkit.itmedia.co.jp/ait/articles/1702/22/news010.html
> Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、
> ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。
> “応答がない状態”とは、アプリケーションのプロセスが持つウィンドウオブジェクトが
> 「ウィンドウメッセージ(Window Message)」に5秒(既定)以上、応答しなくなる状態を指します。
こんなん出たんですけどとか言われたら恥ずかしいだろ
> Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、
> ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。
> “応答がない状態”とは、アプリケーションのプロセスが持つウィンドウオブジェクトが
> 「ウィンドウメッセージ(Window Message)」に5秒(既定)以上、応答しなくなる状態を指します。
こんなん出たんですけどとか言われたら恥ずかしいだろ
950デフォルトの名無しさん (スップ Sd2a-3oaK)
2023/08/01(火) 08:39:12.57ID:NwjOuTDqd そうやってOSが面倒見てくれてるし気にするな
951デフォルトの名無しさん (ワッチョイ 73e5-U0W2)
2023/08/01(火) 08:48:36.38ID:jZPe7+0n0 気にしろし
952デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
2023/08/01(火) 19:37:01.30ID:EZnFv0QC0 真のエコはシングルスレッド非同期
プログラミングコストは爆増するけどな
プログラミングコストは爆増するけどな
953デフォルトの名無しさん (ワッチョイ 2301-iCAU)
2023/08/01(火) 23:34:51.68ID:MwS5ZIT40 魔法の呪文DoEventsでおk
954デフォルトの名無しさん (ワッチョイ 8f7c-0u9z)
2023/08/02(水) 07:43:03.92ID:MJ0E5XCG0 進捗表示、キャンセルや一時停止を受け付けない設計はクソ。
955デフォルトの名無しさん (ワッチョイ 17ae-CF7t)
2023/08/03(木) 10:08:52.15ID:icL6sh+90 シリアルポートからの送信を出来るだけ高速に受信したいのですが、下記以外に何かありますでしょうか?
また高速化する方法がありましたら、指摘してください。
よろしくお願いします。
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);
また高速化する方法がありましたら、指摘してください。
よろしくお願いします。
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);
956デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
2023/08/03(木) 11:06:07.21ID:L6gOIzTH0 >>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]);
単なる生バイト配列が欲しいんだったら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]);
957デフォルトの名無しさん (ワッチョイ 17ae-CF7t)
2023/08/03(木) 11:41:09.07ID:icL6sh+90 >>956
ありがとうございます。
現在は1024バイト固定で受信しているのですが、
sp.ReadBufferSize()で見ているとどんどんシリアルポートのバッファが溜まって頭打ちになっているので、
アプリ側で出来るだけ取得しておきたいと思い、sp.ReadExisting()の使用を検討しているところです。
ありがとうございます。
現在は1024バイト固定で受信しているのですが、
sp.ReadBufferSize()で見ているとどんどんシリアルポートのバッファが溜まって頭打ちになっているので、
アプリ側で出来るだけ取得しておきたいと思い、sp.ReadExisting()の使用を検討しているところです。
958デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
2023/08/03(木) 12:22:33.04ID:L6gOIzTH0 >>957
IOの方が早いなんてことは有り得ないからwhileで回すとかはしてる?
内部バッファが空の時にsp.Read(buf, 0, buf.Length)するとブロックされちゃうのかな
そうじゃないならwhile ((count = sp.Read(buf, 0, buf.Length)) != 0)、
ブロックされるとしてそれが嫌ならsp.BytesToReadで溜まってるバイト数チェックやDataReceivedイベントで拾うとか
IOの方が早いなんてことは有り得ないからwhileで回すとかはしてる?
内部バッファが空の時にsp.Read(buf, 0, buf.Length)するとブロックされちゃうのかな
そうじゃないならwhile ((count = sp.Read(buf, 0, buf.Length)) != 0)、
ブロックされるとしてそれが嫌ならsp.BytesToReadで溜まってるバイト数チェックやDataReceivedイベントで拾うとか
959デフォルトの名無しさん (スッップ Sd2f-YWx9)
2023/08/05(土) 10:43:10.90ID:wvUeqD5zd 誰も突っ込まないけどシリアル受信に間に合わないは普通にあり得るくね、
960デフォルトの名無しさん (ワッチョイ 9b2f-1PqA)
2023/08/05(土) 11:08:11.80ID:6FXtwa520 シリアルってだけで実際のスピードもハードスペックもPCの使用状況も書いてないけど
個人的意見なら、いまどきのハードでC#で普通に作って間に合わんなんて、
他に何か原因がなければ想像できんレベルだが
個人的意見なら、いまどきのハードでC#で普通に作って間に合わんなんて、
他に何か原因がなければ想像できんレベルだが
961デフォルトの名無しさん (ワッチョイ 01c5-i02c)
2023/08/05(土) 11:37:11.83ID:kMOIqdZr0 同期9600bps を試しにやってみたまえ。
LANCとかやね
LANCとかやね
962デフォルトの名無しさん (ワッチョイ 9949-HLSB)
2023/08/05(土) 11:45:14.79ID:29MU2LyY0 .NET7でnlogがあれやこれやしてもうんともすんとも言わないので
おすすめのログのライブラリとかありまふか
おすすめのログのライブラリとかありまふか
963デフォルトの名無しさん (オイコラミネオ MMc9-1ro1)
2023/08/05(土) 14:09:41.96ID:wQaB7TT9M nugetのランキング上位にあるやつ使えるのでは?
964デフォルトの名無しさん (ワッチョイ 472d-SCbl)
2023/08/05(土) 15:32:52.86ID:JFXqS/BH0 .NET7でNLog普通に使えてるけどなぁ
ちょっと前のバージョン(5.1.4)だからか?
ちょっと前のバージョン(5.1.4)だからか?
965デフォルトの名無しさん (ワッチョイ 472d-SCbl)
2023/08/05(土) 15:46:07.77ID:JFXqS/BH0 nugetの最新(5.2.2)にしたけど使えてるな
966デフォルトの名無しさん (オイコラミネオ MMc9-1ro1)
2023/08/05(土) 16:15:39.59ID:wQaB7TT9M .NET7使ってるのが驚き
967デフォルトの名無しさん (ワッチョイ 4954-4gg4)
2023/08/06(日) 21:10:40.86ID:t8XxdJlt0 その程度で驚くヤツはくるみぽんちおの刑だな。
うちの製品なんて、.net framework 1.1 使ってる製品もある。
しかも重要ユーザーからの要望があれば機能追加までしてる。
うちの製品なんて、.net framework 1.1 使ってる製品もある。
しかも重要ユーザーからの要望があれば機能追加までしてる。
968デフォルトの名無しさん (ワッチョイ b310-jhPE)
2023/08/07(月) 07:41:51.88ID:NZgbVHgQ0 XPで動かしてそう
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 43歳の元NHKアナ・竹中知華、発売グラビアがランキングで堂々の1位「えぐすぎる」「素晴らしい」「もっと出して」 [muffin★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- ラーメン屋「日高屋が安いせいで客が来ない!日高屋はもっと値上げしろ!」 [449534113]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【朗報】日銀植田総裁「高市さんからの要望は特になかった」 [519511584]
