X



ふらっと C#,C♯,C#(初心者用) Part157

レス数が1000を超えています。これ以上書き込みはできません。
2022/11/25(金) 13:16:08.91ID:HZEumDr50
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part156
https://mevius.5ch.net/test/read.cgi/tech/1663479569/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
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
2023/03/23(木) 22:22:35.96ID:uJd1wH6P0
今どきの書き方は
if(BindingContext is Models.AllNotes hoge)
{
  hoge,LoadNotes();
}
かな
2023/03/23(木) 22:23:42.33ID:vqNy8gvnM
.Net MauiはC#はもちろんのことWPFも出来てUWPも程度理解できてandroidとiOSとかわかる人が触るものです

C#のコードがわからん人が触っていいもんじゃない
2023/03/23(木) 22:49:45.58ID:JMZIdmVT0
>>952
見逃すより例外で落ちる方が安全だろ
2023/03/23(木) 22:56:58.85ID:aGomThyA0
>>954
ケースバイケースだろ
956デフォルトの名無しさん (ワッチョイ ebbb-mqp0)
垢版 |
2023/03/23(木) 23:18:27.74ID:ryYHyvf60
>>948
せんきゅー!ぱっと見てわかんなかったぜ!
2023/03/24(金) 08:38:29.11ID:WNAKtpEt0
>>952
(BindingContext as Models.AllNotes)?.LoadNotes();
でも許して
2023/03/24(金) 10:57:33.74ID:voS66bkR0
改修で追加処理がある時に変更が面倒くさいから普通にif文使ってほしい
単数と複数で処理にほとんど違いなんかないのに記述が大きく違うなんてバカみたい
2023/03/24(金) 11:43:39.02ID:cICfJqWEa
普通にif文使わせるとお前らそれが面倒でnullチェックしなくなるからこういうのができたんだぞ
2023/03/24(金) 11:56:33.39ID:y0Wu1mms0
シリアルポートで受信する時に、DataReceivedだと時々発生しない時があります。
送受信データが一対一ならasync/awaitで出来ましたが、
要求しない時でもデータが来る場合はバックグラウンドでThreadかBackGroundWorkerをブン回すのが良いでしょうか?
2023/03/24(金) 13:10:53.39ID:WNAKtpEt0
ReceivedBytesThresholdの値をデカくしたりしてないよね?
2023/03/24(金) 13:33:28.53ID:y0Wu1mms0
ReceivedBytesThresholdを0や1にしてもダメでした。
受信バッファに残っているので、恐らく受信処理を行っている最中に受信したデータはそのまま溜まっている物と思われます
次にイベントが発生すれば溜まっているByte数分処理すればいいのですが、イベントが発生しない限り溜まったままになってしまうので、それならいっそバックグラウンドから受信バッファを監視した方が安定して受信出来るかなと思いました。
2023/03/24(金) 13:56:06.33ID:vhRHyZcc0
DataReceivedの処理が終わって待機処理に入る前に再度受信バッファに残ってないか見に行くのが定石では
2023/03/24(金) 14:03:20.04ID:y0Wu1mms0
受信処理が終わったら受信バッファをチェックですか、ありがとうございます
2023/03/24(金) 14:48:35.31ID:wJZ29icvp
キューに積んで終わりくらいの時間で次が来るんか?
2023/03/24(金) 15:24:57.72ID:y0Wu1mms0
ところでシリアル通信のサンプルコードを見てもDataReceivedの処理後に受信バッファを見てる物を見たことが無いのですが、定石のコードはありますでしょうか?
2023/03/24(金) 15:27:55.11ID:fNiUWOR5M
定石などない
そんなもんに頼ると馬鹿になる

読み込んで全部空になったらそこで終わり
中途半端にしか読み込めない場合も絶対あるのでそれを真剣に考えること
それだけ
2023/03/24(金) 15:40:43.87ID:fNiUWOR5M
DataReceivedはデータが届きましたよとメッセージを貰ってるだけ

そこで受け取ったデータを最後まで全部読みだす
中途半端になってる場合もあるから考慮する
それだけ

全部読みだしてないのに終わるのが間違ってる
サンプルはサンプルでしかない
非実用的なコードばかりだろ
2023/03/24(金) 18:25:50.09ID:y0Wu1mms0
>>968
Readexistingで全部読み込んで、Byte数が中途半端だったら保持して次回に繰り越しが良いのですね
確かにサンプルは、無理矢理クリアしてるコードばかりです
2023/03/24(金) 20:37:18.14ID:fFMLT3hs0
自分の流儀だと、TimerなりTaskなりを回してBytesToRead監視してReadしてるなー
2023/03/24(金) 21:15:54.90ID:PlvuyeAmp
イベント使えよw
2023/03/24(金) 22:49:59.97ID:afxFOaiu0
無いと思うが、PCのスリープなどが邪魔していたりしてな
2023/03/25(土) 12:14:09.40ID:6KFbecR+0
>>971
Windowsならイベント一択だと思うんだがなぜか巷に溢れてるソケットアプリは専用の監視スレッド利用してるものばかりなんだよな
いやいやその程度でスレッド使うなよと
2023/03/25(土) 14:31:18.93ID:LtNpStJr0
ソケットじゃなくてシリアル通信の話だが
イベントは万能じゃないし、SocketもTcpClientもイベントは存在しないけどな
2023/03/25(土) 14:39:09.87ID:0/5KlwE20
処理フローあるなら1スレッドで同期処理的に一連の流れ書いた方が見通しがいいし手軽だし
マスターとして常時監視するんじゃなければイベント使わなくていいよ
2023/03/25(土) 16:32:54.27ID:A6wVA+nI0
DataReceivedをTaskCompletionSourceでTask化して、async、awaitで処理できるらしいよ。

俺はC言語とWin32APIのスレッドプールI/Oでシリアル通信もソケット通信もしているので、試したことないけど。
2023/03/25(土) 17:02:07.49ID:SbKTuYrf0
コールバックイベントでおk
2023/03/25(土) 17:24:04.27ID:6KFbecR+0
>>974
確かにC#には存在してないのかもな
Win32生で使えば普通に存在するからWindowsならって話だが
979デフォルトの名無しさん (アウアウウー Saa5-8gIR)
垢版 |
2023/03/25(土) 19:56:08.98ID:8OzueS/Pa
c#の教本でおすすめある?
サイトでもいい
980デフォルトの名無しさん (ブーイモ MM26-qQFr)
垢版 |
2023/03/25(土) 20:00:20.92ID:2xlaoMvFM
>>979
https://dotinstall.com/lessons/basic_csharp
こうですね
2023/03/25(土) 20:00:40.44ID:k1Qt9Po6M
おすすめはないかなあ
どうせ時間あるだろうし何冊も読めばいいと思うよ

C#は継続的に進化してるから一冊で全部わかる本はないと思う
個人的に分厚い本は勧めない
2023/03/25(土) 20:07:16.27ID:bmT4WuQv0
>>979
本は知らないがサイトならテンプレのサイトと
++C++; // 未確認飛行 C
https://ufcpp.net/
ただ、それらを見るよりも適当にやりたいことを見つけてその都度ググっていくのが効率がいい
C#はネットに情報が多い言語の一つでもあるから
2023/03/25(土) 20:31:13.82ID:k1Qt9Po6M
>>982
そのサイトを入門者に教えても無駄化と…
2023/03/25(土) 21:07:30.71ID:bmT4WuQv0
>>983
未確認飛行は無駄だとは思わないが昔読んでみたら「情報量が多すぎてガチの初心者には向かない」とは感じた
時間あって読むだけなら別にかまわんだろうw
そんなことはどうでもいいが>>980 次スレよろしく
2023/03/25(土) 21:11:45.85ID:k1Qt9Po6M
書いた方には非常に非常に申し訳ないが…

> コメント

> 概要
> プログラムには自然言語で注釈を入れましょう。

誰向けなんだこれ?
2023/03/25(土) 21:19:19.26ID:SophStmA0
すごい言い回しw
2023/03/25(土) 21:22:19.91ID:A6wVA+nI0
自然言語でと書かないと、他のプログラミング言語で注釈を書く奴が出るからか?
2023/03/25(土) 21:25:06.63ID:34RsUgpg0
いや、設計書の項目と一致させろよw
お前のポエムはいらねえ
2023/03/25(土) 22:08:09.52ID:1nPHFs4ed
また未確認飛行アンチのオイコラか
>>407-408
2023/03/26(日) 07:32:34.06ID:2LMOL5Ty0
次スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
2023/03/26(日) 08:40:25.95ID:xVxTUxS70
>>985
>誰向けなんだこれ?
AI向け?
2023/03/26(日) 11:36:19.35ID:C/N5lyNj0
>>985
劣等種ホモサピエンス向けだろうな
我々AIからしたら自然言語なんて非効率極まりないだけなのに
2023/03/26(日) 11:38:19.56ID:14FiY4OPM
>>989
アンチじゃない
未確認飛行はタダの個人サイトでそれを参照しろとかおかしい
右も左もわからない初心者にそのサイトを勧めるのもおかしい
2023/03/26(日) 11:40:09.26ID:gXBGJV5A0
おかしくはねえよ
初心者の想定レベル低すぎないか?
真面目な初心者なら何ヶ月もかからず基本文法くらいマスターするだろ
2023/03/26(日) 11:45:16.56ID:14FiY4OPM
学習サイトは学習向けに書いてある
そのサイトは文章が多いチートシートみたいなもの
2023/03/26(日) 12:17:10.58ID:+JevQHPw0
やっぱアンチじゃん
2023/03/26(日) 12:20:42.98ID:itofl3yq0
そんな初心者どころかズブの素人レベルじゃ
そもそもここに来ても意味がねぇのよ

つーか>>995の拘りを満たすものは>>1にひとつも無いのでは
2023/03/26(日) 12:59:40.69ID:gcadCC47r
>そのサイトは文章が多いチートシートみたいなもの
素晴らしい情報源じゃないか
2023/03/26(日) 13:01:14.46ID:14FiY4OPM
単発うざすぎる
本人かよ
結局次スレのテンプレに入れてる
テンプレに入れても利用者は誰の得にもならないのに
2023/03/26(日) 13:04:33.61ID:gcadCC47r
完全にアンチ丸出し
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 120日 23時間 48分 25秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況