2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん (ワッチョイ f201-IwB9):2022/11/25(金) 13:16:08.91 ID:HZEumDr50.net
!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

952 :デフォルトの名無しさん :2023/03/23(木) 22:22:35.96 ID:uJd1wH6P0.net
今どきの書き方は
if(BindingContext is Models.AllNotes hoge)
{
  hoge,LoadNotes();
}
かな

953 :デフォルトの名無しさん :2023/03/23(木) 22:23:42.33 ID:vqNy8gvnM.net
.Net MauiはC#はもちろんのことWPFも出来てUWPも程度理解できてandroidとiOSとかわかる人が触るものです

C#のコードがわからん人が触っていいもんじゃない

954 :デフォルトの名無しさん :2023/03/23(木) 22:49:45.58 ID:JMZIdmVT0.net
>>952
見逃すより例外で落ちる方が安全だろ

955 :デフォルトの名無しさん :2023/03/23(木) 22:56:58.85 ID:aGomThyA0.net
>>954
ケースバイケースだろ

956 :デフォルトの名無しさん :2023/03/23(木) 23:18:27.74 ID:ryYHyvf60.net
>>948
せんきゅー!ぱっと見てわかんなかったぜ!

957 :デフォルトの名無しさん :2023/03/24(金) 08:38:29.11 ID:WNAKtpEt0.net
>>952
(BindingContext as Models.AllNotes)?.LoadNotes();
でも許して

958 :デフォルトの名無しさん :2023/03/24(金) 10:57:33.74 ID:voS66bkR0.net
改修で追加処理がある時に変更が面倒くさいから普通にif文使ってほしい
単数と複数で処理にほとんど違いなんかないのに記述が大きく違うなんてバカみたい

959 :デフォルトの名無しさん :2023/03/24(金) 11:43:39.02 ID:cICfJqWEa.net
普通にif文使わせるとお前らそれが面倒でnullチェックしなくなるからこういうのができたんだぞ

960 :デフォルトの名無しさん :2023/03/24(金) 11:56:33.39 ID:y0Wu1mms0.net
シリアルポートで受信する時に、DataReceivedだと時々発生しない時があります。
送受信データが一対一ならasync/awaitで出来ましたが、
要求しない時でもデータが来る場合はバックグラウンドでThreadかBackGroundWorkerをブン回すのが良いでしょうか?

961 :デフォルトの名無しさん :2023/03/24(金) 13:10:53.39 ID:WNAKtpEt0.net
ReceivedBytesThresholdの値をデカくしたりしてないよね?

962 :デフォルトの名無しさん :2023/03/24(金) 13:33:28.53 ID:y0Wu1mms0.net
ReceivedBytesThresholdを0や1にしてもダメでした。
受信バッファに残っているので、恐らく受信処理を行っている最中に受信したデータはそのまま溜まっている物と思われます
次にイベントが発生すれば溜まっているByte数分処理すればいいのですが、イベントが発生しない限り溜まったままになってしまうので、それならいっそバックグラウンドから受信バッファを監視した方が安定して受信出来るかなと思いました。

963 :デフォルトの名無しさん :2023/03/24(金) 13:56:06.33 ID:vhRHyZcc0.net
DataReceivedの処理が終わって待機処理に入る前に再度受信バッファに残ってないか見に行くのが定石では

964 :デフォルトの名無しさん :2023/03/24(金) 14:03:20.04 ID:y0Wu1mms0.net
受信処理が終わったら受信バッファをチェックですか、ありがとうございます

965 :デフォルトの名無しさん :2023/03/24(金) 14:48:35.31 ID:wJZ29icvp.net
キューに積んで終わりくらいの時間で次が来るんか?

966 :デフォルトの名無しさん :2023/03/24(金) 15:24:57.72 ID:y0Wu1mms0.net
ところでシリアル通信のサンプルコードを見てもDataReceivedの処理後に受信バッファを見てる物を見たことが無いのですが、定石のコードはありますでしょうか?

967 :デフォルトの名無しさん :2023/03/24(金) 15:27:55.11 ID:fNiUWOR5M.net
定石などない
そんなもんに頼ると馬鹿になる

読み込んで全部空になったらそこで終わり
中途半端にしか読み込めない場合も絶対あるのでそれを真剣に考えること
それだけ

968 :デフォルトの名無しさん :2023/03/24(金) 15:40:43.87 ID:fNiUWOR5M.net
DataReceivedはデータが届きましたよとメッセージを貰ってるだけ

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

全部読みだしてないのに終わるのが間違ってる
サンプルはサンプルでしかない
非実用的なコードばかりだろ

969 :デフォルトの名無しさん :2023/03/24(金) 18:25:50.09 ID:y0Wu1mms0.net
>>968
Readexistingで全部読み込んで、Byte数が中途半端だったら保持して次回に繰り越しが良いのですね
確かにサンプルは、無理矢理クリアしてるコードばかりです

970 :デフォルトの名無しさん :2023/03/24(金) 20:37:18.14 ID:fFMLT3hs0.net
自分の流儀だと、TimerなりTaskなりを回してBytesToRead監視してReadしてるなー

971 :デフォルトの名無しさん :2023/03/24(金) 21:15:54.90 ID:PlvuyeAmp.net
イベント使えよw

972 :デフォルトの名無しさん :2023/03/24(金) 22:49:59.97 ID:afxFOaiu0.net
無いと思うが、PCのスリープなどが邪魔していたりしてな

973 :デフォルトの名無しさん :2023/03/25(土) 12:14:09.40 ID:6KFbecR+0.net
>>971
Windowsならイベント一択だと思うんだがなぜか巷に溢れてるソケットアプリは専用の監視スレッド利用してるものばかりなんだよな
いやいやその程度でスレッド使うなよと

974 :デフォルトの名無しさん :2023/03/25(土) 14:31:18.93 ID:LtNpStJr0.net
ソケットじゃなくてシリアル通信の話だが
イベントは万能じゃないし、SocketもTcpClientもイベントは存在しないけどな

975 :デフォルトの名無しさん :2023/03/25(土) 14:39:09.87 ID:0/5KlwE20.net
処理フローあるなら1スレッドで同期処理的に一連の流れ書いた方が見通しがいいし手軽だし
マスターとして常時監視するんじゃなければイベント使わなくていいよ

976 :デフォルトの名無しさん :2023/03/25(土) 16:32:54.27 ID:A6wVA+nI0.net
DataReceivedをTaskCompletionSourceでTask化して、async、awaitで処理できるらしいよ。

俺はC言語とWin32APIのスレッドプールI/Oでシリアル通信もソケット通信もしているので、試したことないけど。

977 :デフォルトの名無しさん :2023/03/25(土) 17:02:07.49 ID:SbKTuYrf0.net
コールバックイベントでおk

978 :デフォルトの名無しさん :2023/03/25(土) 17:24:04.27 ID:6KFbecR+0.net
>>974
確かにC#には存在してないのかもな
Win32生で使えば普通に存在するからWindowsならって話だが

979 :デフォルトの名無しさん :2023/03/25(土) 19:56:08.98 ID:8OzueS/Pa.net
c#の教本でおすすめある?
サイトでもいい

980 :デフォルトの名無しさん :2023/03/25(土) 20:00:20.92 ID:2xlaoMvFM.net
>>979
https://dotinstall.com/lessons/basic_csharp
こうですね

981 :デフォルトの名無しさん :2023/03/25(土) 20:00:40.44 ID:k1Qt9Po6M.net
おすすめはないかなあ
どうせ時間あるだろうし何冊も読めばいいと思うよ

C#は継続的に進化してるから一冊で全部わかる本はないと思う
個人的に分厚い本は勧めない

982 :デフォルトの名無しさん :2023/03/25(土) 20:07:16.27 ID:bmT4WuQv0.net
>>979
本は知らないがサイトならテンプレのサイトと
++C++; // 未確認飛行 C
https://ufcpp.net/
ただ、それらを見るよりも適当にやりたいことを見つけてその都度ググっていくのが効率がいい
C#はネットに情報が多い言語の一つでもあるから

983 :デフォルトの名無しさん :2023/03/25(土) 20:31:13.82 ID:k1Qt9Po6M.net
>>982
そのサイトを入門者に教えても無駄化と…

984 :デフォルトの名無しさん :2023/03/25(土) 21:07:30.71 ID:bmT4WuQv0.net
>>983
未確認飛行は無駄だとは思わないが昔読んでみたら「情報量が多すぎてガチの初心者には向かない」とは感じた
時間あって読むだけなら別にかまわんだろうw
そんなことはどうでもいいが>>980 次スレよろしく

985 :デフォルトの名無しさん :2023/03/25(土) 21:11:45.85 ID:k1Qt9Po6M.net
書いた方には非常に非常に申し訳ないが…

> コメント

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

誰向けなんだこれ?

986 :デフォルトの名無しさん :2023/03/25(土) 21:19:19.26 ID:SophStmA0.net
すごい言い回しw

987 :デフォルトの名無しさん :2023/03/25(土) 21:22:19.91 ID:A6wVA+nI0.net
自然言語でと書かないと、他のプログラミング言語で注釈を書く奴が出るからか?

988 :デフォルトの名無しさん :2023/03/25(土) 21:25:06.63 ID:34RsUgpg0.net
いや、設計書の項目と一致させろよw
お前のポエムはいらねえ

989 :デフォルトの名無しさん :2023/03/25(土) 22:08:09.52 ID:1nPHFs4ed.net
また未確認飛行アンチのオイコラか
>>407-408

990 :デフォルトの名無しさん :2023/03/26(日) 07:32:34.06 ID:2LMOL5Ty0.net
次スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/

991 :デフォルトの名無しさん :2023/03/26(日) 08:40:25.95 ID:xVxTUxS70.net
>>985
>誰向けなんだこれ?
AI向け?

992 :デフォルトの名無しさん :2023/03/26(日) 11:36:19.35 ID:C/N5lyNj0.net
>>985
劣等種ホモサピエンス向けだろうな
我々AIからしたら自然言語なんて非効率極まりないだけなのに

993 :デフォルトの名無しさん :2023/03/26(日) 11:38:19.56 ID:14FiY4OPM.net
>>989
アンチじゃない
未確認飛行はタダの個人サイトでそれを参照しろとかおかしい
右も左もわからない初心者にそのサイトを勧めるのもおかしい

994 :デフォルトの名無しさん :2023/03/26(日) 11:40:09.26 ID:gXBGJV5A0.net
おかしくはねえよ
初心者の想定レベル低すぎないか?
真面目な初心者なら何ヶ月もかからず基本文法くらいマスターするだろ

995 :デフォルトの名無しさん :2023/03/26(日) 11:45:16.56 ID:14FiY4OPM.net
学習サイトは学習向けに書いてある
そのサイトは文章が多いチートシートみたいなもの

996 :デフォルトの名無しさん :2023/03/26(日) 12:17:10.58 ID:+JevQHPw0.net
やっぱアンチじゃん

997 :デフォルトの名無しさん :2023/03/26(日) 12:20:42.98 ID:itofl3yq0.net
そんな初心者どころかズブの素人レベルじゃ
そもそもここに来ても意味がねぇのよ

つーか>>995の拘りを満たすものは>>1にひとつも無いのでは

998 :デフォルトの名無しさん :2023/03/26(日) 12:59:40.69 ID:gcadCC47r.net
>そのサイトは文章が多いチートシートみたいなもの
素晴らしい情報源じゃないか

999 :デフォルトの名無しさん :2023/03/26(日) 13:01:14.46 ID:14FiY4OPM.net
単発うざすぎる
本人かよ
結局次スレのテンプレに入れてる
テンプレに入れても利用者は誰の得にもならないのに

1000 :デフォルトの名無しさん :2023/03/26(日) 13:04:33.61 ID:gcadCC47r.net
完全にアンチ丸出し

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
262 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★