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

レス数が950を超えています。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/05(日) 16:37:17.48ID:V5cM5Nk90
>>887
だから他のトランザクションから見てID列の値が単調増加に見えるのはdirty-readの場合だけじゃん。
一般的なread-commited以上なら最大IDより小さなIDが後から挿入されたように見えることもあるわけで。
891デフォルトの名無しさん (ワッチョイ 8bbb-W6o5)
垢版 |
2023/03/05(日) 17:55:09.83ID:7ksBORrg0
すまんが、ASP.Net Coreに用意されてる3(4?)つのフレームワークでさあ
ログインページを各言語に対応させるにはどうすればよかんべ?
他の自分で作ったページを多言語化する方法は乗ってるけど、フレームワークで用意されてるログインページ等はどうすんじゃい???
https://learn.microsoft.com/en-us/aspnet/core/blazor/globalization-localization?view=aspnetcore-7.0&pivots=server
2023/03/05(日) 18:35:43.98ID:Vq0cOu8uM
>>890
何が「だから」なのかよくわからない
他のトランザクションから見て最大IDより小さなIDが後から挿入されたように見えて何か問題あるの?

>>886に書いてある何らかの順序情報を持たせたとしてもコミット順じゃなくインサート順だから全く同じことなんだが?
2023/03/05(日) 22:00:17.61ID:V5cM5Nk90
>>892
>他のトランザクションから見て最大IDより小さなIDが後から挿入されたように見えて何か問題あるの?

そこは外のトランザクションから見た場合に挿入順序とIDの増加順が一致することが保証されないという
事実を書いただけだが。
それで困るかどうかは要件次第。
たとえば定期的な処理で前回の処理以降に追加されたレコードを求めるのに前回のmax(ID)を使うとか、
そういう用途には使えない。
2023/03/05(日) 22:13:31.94ID:V5cM5Nk90
いや、明示的にテーブルロックとるかrepeatable-read以上で最初にmax(ID)取得してしまえばいいか?
どっちにしろそのへん意識する必要がある。
2023/03/05(日) 23:19:20.27ID:6Aoy6FGpM
>>894
分離レベルで対応するならシリアライザブルじゃないと防げないんじゃないかな?

でも現実的にはテーブルロックやシリアライザブルは同時実行性能を極端に落とすので
挿入日時のようなデータを使って締め前に開始したトランザクションが確実にタイムアウトしてるようなタイミングで締め前に挿入されたデータだけを処理したり
処理ステータスを示すカラムを作って対応する

バッチ処理の頻度や重要度やエラー時に必要な対応によって実装を選択することになる
2023/03/05(日) 23:30:28.82ID:wm/Rzcr70
結局レコードをトランザクションに書き込むタイミングでIDは発行されるしタイムスタンプもその時間となる
コミットしたタイミングなどDBに記録することは不可能だし一体何を問題にしているのやら
2023/03/05(日) 23:41:58.79ID:NuUQDnR4M
GUIDとの比較で重要なのは後続のバッチ処理みたいなのがあったときに
IDENTITYの場合はほぼシーケンシャルアクセスで処理できるがGUIDだと完全にランダムアクセスになるので桁違いの遅さになる
外部キーなんかを含めて1ページに収まるレコード数が減るのとランダムアクセスで性能が極端に悪化する場合があるのがGUIDの一番のデメリット

NEWSEQUENTIALID()でシーケンシャルなGUIDも作れるけど分散環境でマージが必要な状況でない限りIDENTITYに対するメリットがない

他にはULID使う方法なんかもあるけどやっぱりメリットデメリットがあるので当たり前だけど用途に合わせて使い分けるもの
2023/03/05(日) 23:43:48.09ID:V5cM5Nk90
>>885の言うような順序の保証は単なるIDENTITY任せじゃダメな場合があるってこと。
2023/03/05(日) 23:54:52.18ID:wm/Rzcr70
>>898
IDの発行と書き込み時のタイムスタンプはトランザクションに書き込んだタイミングで同時に行われるから
結局IDとタイムスタンプの順番はおなじになるんじゃね?
コミットのタイミングなど何処にも記録されない
2023/03/06(月) 00:04:07.46ID:+8ntKfDE0
トランザクションの外から見た場合、タイムスタンプが古いレコードが後から現れたりするのは変わらん。
2023/03/06(月) 00:47:16.07ID:ai8Q1Y+e0
>>887
>インサート順とコミット順が前後する可能性はあるけどインサート順とidentityの大小は基本的に保証されてる
インサート順ってなんのことを言ってるの?
まさかSQLの発行タイミングのことをいってるのか?
2023/03/06(月) 08:34:46.51ID:WDk1SNWF0
また始まったのか・・・
2023/03/06(月) 08:41:17.38ID:jJIeXpQ30
何度スレチだと言われても耳を貸さない連中だから放っておくしかないべ
2023/03/06(月) 09:01:59.17ID:Qy0wg21h0
ニートだからスレタイ読めないのか、スレタイ読めないからニートなのか、それが問題だ!
2023/03/07(火) 16:27:16.46ID:R6IzsuUJ0
Blazor Desktop でアプリ作る場合、JS 使うのって邪道ですか?
普通はどうなんでしょうか?
2023/03/07(火) 16:29:37.59ID:nGiwAbPE0
>>905
邪道というより仮想DOMがよくわかってないと難しいぞ
907デフォルトの名無しさん (ワッチョイ 1301-ksrJ)
垢版 |
2023/03/07(火) 21:34:13.24ID:eLRrbAoH0
>>905
別に邪道じゃないよ
猫ジョーカーもPrism.js使ってた
2023/03/07(火) 22:25:01.39ID:/W+QRqxd0
コントロールのプロパティをVisual Studioのプロパティからいじるのと、
コードに直接記載するのはどっちがベストプラクティスでしょうか?
2023/03/07(火) 23:03:26.48ID:iHhQsjAZ0
>>908
好きなほうでいいよ
自動生成か自分で記述するかは些細な違い
コメントも残したいなら当然、load以降のタイミングだね
910905 (ワッチョイ 13e6-xySQ)
垢版 |
2023/03/08(水) 00:27:21.36ID:OaTx32y+0
>>906-907
ありがとうございます。
今既に使ってるんですが、後になって「JS使わない為のBlazorだろ」とか「JSなしで出来ねーのかよ」
とかいう謎のイチャモン言われるのがちょっと怖かったのです。
2023/03/08(水) 07:00:30.67ID:+lL6bJso0
Load以降じゃなくてもコンストラクタでも良くない?
2023/03/08(水) 07:59:37.27ID:UYleOs8I0
>>910
マウイ君みたいなキチガイは無視でいい
2023/03/08(水) 08:08:55.61ID:dTyeizIq0
>>908

デザイン画面との差異が発生しにくいから
コードじゃないと設定できない事以外は基本的にはフォームデザイナでやってる
コードでやられると、一々実行して確認しないといけないし
人によって書き方・書く場所違ったりして追うのが邪魔くさい
2023/03/08(水) 08:51:11.40ID:qdKF3wc3d
フォームデザイナは良いんだけど、変更値をコードに出力する方法あるのかな
パラメーターシート作る時毎回困る
2023/03/08(水) 09:11:44.28ID:h0XeijSda
>>914
designer.cs
916デフォルトの名無しさん (ワッチョイ 8bcf-3zFX)
垢版 |
2023/03/08(水) 09:16:43.12ID:jVki9SUw0
昨日一日、メソッドが動かなくて悪戦苦闘してたが
単に、メソッドを割り当ててたボタンのクリックイベントが
なぜか外れてただけだった!
くそ!!!!
2023/03/08(水) 09:22:20.21ID:h0XeijSda
>>916
なぜ外れたかはともかくなんでそれで一日悪戦苦闘することになるんだ?
真っ先にイベントハンドラにブレークポイント張らないか?
それで呼ばれなかった場合Shift+F12で一発でわかるだろ
2023/03/08(水) 09:50:33.13ID:NmLqgG0dM
>>914
デザイナで設定した値全部ドキュメントに出力すんの?不毛すぎる
ドキュメントから初期化メソッドのソース生成するならまだ分かるが
919デフォルトの名無しさん (ワッチョイ 8bcf-3zFX)
垢版 |
2023/03/08(水) 10:51:13.94ID:jVki9SUw0
>>917
デバッガの見方がいまいちよくわかってないからなwww
分かりやすいサイトあったら教えてくれ

メソッドのケツで止まってるような表示だったから
中身ばかり見てた
結局、関係するところ全削除して
ボタンを配置しなおしてクリックイベント設定したら
最初のメソッドで動いた
2023/03/08(水) 12:46:01.79ID:qdKF3wc3d
>>918
既定値から変更した箇所って原則全て網羅してパラメーターシートに出してるけど
これ仕事だと普通じゃないの?
不毛なの?
2023/03/08(水) 12:48:38.98ID:qdKF3wc3d
>>915
これにコードとして出力されるのね
理解した
2023/03/08(水) 13:11:31.27ID:/RllHwwua
>>920
普通ではないし意味もわからんがそうすることになってるなら仕方ないな
2023/03/08(水) 13:13:09.06ID:/RllHwwua
もし普通ならもっと簡単にできる仕組みが一般に広まってないとおかしい
2023/03/08(水) 14:24:27.05ID:6WeulyynM
>>920
普通じゃない
むしろ何に使うんだ?
2023/03/08(水) 14:52:43.10ID:iEMOw9f1M
お客様に見せつけてお金を貰います
2023/03/08(水) 17:00:31.74ID:VS7v+oF80
しかしchatgptやべーなー…
ちょっと前ならここで聞くか迷うような質問がガンガン出来てしまうしかなり詳しい回答が返ってくる
勉強の補助として使うには最高だわ
2023/03/08(水) 17:02:00.64ID:/RllHwwua
マジかよ
信じるのかあれを
2023/03/08(水) 17:07:23.70ID:i5ZyQ2rsM
あいつここの住人と同じで息するように嘘つくぞ
しかも2021年までのデータしか無いんだろ?
最新の内容は無理ぽ
2023/03/08(水) 17:21:25.63ID:UUazuFXC0
出鱈目でも自信満々にそれっぽく説明してくるからな
知識が無いと嘘なのか判断出来ないから質が悪い
2023/03/08(水) 17:53:41.74ID:KzA+PBQYa
スシロー・ペロペロ法を用いて平方根を導出するコードをC#で作成せよ。ただしバカッター係数は3.0とする。

以下はC#でのスシロー・ペロペロ法を用いた平方根の計算の例です。バカッター係数は3.0とし、入力値はdouble型とします。

csharpCopy code

using System; class MainClass { public static void Main (string[] args) { Console.Write("Enter a number: "); double num = Convert.ToDouble(Console.ReadLine()); double guess = num / 2.0; // 初期値をnumの半分に設定 double error = num * 0.001; // 許容誤差はnumの0.1% double diff = 1.0; // 初期値は適当な値 while (diff > error) { double prevGuess = guess; // 前回の推定値を保存 guess = (guess + num / guess) / 2.0; // 新しい推定値を計算 guess = (3.0 * guess - prevGuess) / 2.0; // バカッター係数を適用 diff = Math.Abs(guess - prevGuess); // 推定値の変化量を計算 } Console.WriteLine("Square root of " + num + " is " + guess); } }

上記のコードでは、ユーザーに数値を入力してもらい、その平方根を求めます。最初の推定値は入力値の半分に設定し、許容誤差を入力値の0.1%とします。バカッター係数を適用するため、スシロー・ペロペロ法の通常の更新式の前に、前回の推定値と現在の推定値の重み付き平均を求めます。そして、推定値の変化量が許容誤差以下になるまで、この更新式を繰り返します。最終的に求められた平方根を出力します。

ChatGPT Feb 13 Version. Free Research Preview. Our goal is to make AI systems more natural and safe to interact with. Your feedback will help us improve.
2023/03/08(水) 17:58:25.85ID:KzA+PBQYa
ChatGPTすげーな
2023/03/08(水) 18:11:57.15ID:KzA+PBQYa
スシロー法(Suzuki-Roiter Algorithm)は、平方根を求めるアルゴリズムの一種です。このアルゴリズムは、ニュートン法や二分法などの他の平方根アルゴリズムに比べ、比較的単純であり、また高速なアルゴリズムの一つです。

スシロー法では、次のような手順で平方根を求めます。

求めたい数値xと、初期値aを設定します。

aを用いて、次の式によりbを求めます。b = (a + x / a) / 2

aとbの差を求め、ある閾値(例えば、0.0001)以下であれば、bを平方根として返します。差が閾値よりも大きい場合は、bを新たな初期値として、ステップ2に戻ります。

以下は、C#でスシロー法を実装した例です。バカッター係数は、コード内のコメントに記載されています。
2023/03/09(木) 03:15:28.74ID:CHgoITyz0
すまん、誰か知ってたら教えて。
ASP.NET CoreのIHostedServiceを実装したバックグラウンドサービスで、
ef.coreのDbContextをコンストラクタでDIした。

ローカルPC上の開発環境では問題なく動いてしまう。
ローカルで動いたのでAWSなどのクラウド上にデプロイすると
Error while validating the service descriptor 'ServiceType: Microsoft.Extensions.Hosting.IHostedService Lifetime: Singleton ImplementationType:~
Cannot consume scoped service 'hoge.DbContext' from singleton 'Microsoft.Extensions.Hosting.IHostedService'.
とエラーが出て起動できない。

つまりIHostedServiceはsingletonでef.coreのDbContextはScopeServiceだからDI出来んよということだと思うだけど、
じゃぁなぜローカルでは動いてしまうんでしょう?

C#と関係ないかもだけど、適切なスレが見つからなくて。。
2023/03/09(木) 07:31:12.85ID:Azdv+gVA0
お前マウイだろ
2023/03/09(木) 12:24:29.91ID:0FhUXViP0
違う環境で動かないのをなぜ、ときかれても

環境が違うから

としか答えようがないわけだが
936デフォルトの名無しさん (ワッチョイ 8bcf-3zFX)
垢版 |
2023/03/10(金) 10:06:26.28ID:eWY0TFlg0
またボタンのクリックイベントが勝手に外れたよ
しかも二つ同時に
デザイナーが悪いのか
さらにその裏で何か悪さしてるのか
2023/03/10(金) 10:09:15.50ID:cbogJmpl0
お前が悪いんだよw
2023/03/10(金) 10:10:11.36ID:GTZI+M+4p
バージョン管理ツールの使い方を間違えてる奴が居るんだろ
旧バージョンからの修正を上書き更新する様な奴が
2023/03/10(金) 18:24:12.28ID:xFwaknBvM
>>936
入門1週間~1か月あるあるだな

過去に誰もが通る道じゃないかな
答えは操作を間違ってるから

ボタンをコピペするとイベントは付かない
同様にカットアンドペーストしても付かない
ボタンを他のページなどに移動させる際にカットアンドペーストを使うとそういう状態になる

どこかにいったんドラッグ移動させてから再度ドラッグ移動させるとうまくいくよ
2023/03/12(日) 09:27:27.50ID:TpUonps10
FontDialogで既定のフォントを指定するのに
fontdialog.Font = myFont のようにするだけではダメで
結局インストールされているフォント全部とmyFont.Nameを比較して一致するものを探した
2023/03/15(水) 23:56:35.07ID:Z/0CGH7g0
webアプリを作ってみようといくつかの記事を読んでみるとよくコントローラークラスなるものを見かけます
UIとオブジェクトを紐付ける役割というのはぼんやりとイメージは理解できました
全然知見が無いのですがMVCパターンを用いた開発が一般的なのでしょうか?
2023/03/16(木) 07:34:34.54ID:ROTa9WZ40
一昔前はそうだった。
今は、UI側はAngularやらReactやらで作る
バックエンドのASP.NET CoreはUIからのリクエスト(ほぼJSONオンリー)を受け取って、結果をJSONで返すのみ。

あえて言うならMVCだけどVの部分が別世界で進化した結果、MicrosoftのRazorビューエンジンがほぼ使われていない感じ
943デフォルトの名無しさん (ワッチョイ 0954-l83W)
垢版 |
2023/03/18(土) 06:09:34.00ID:eIMKVM/V0
Blazorの、
1. bind-value:set と bind:set の違いを教えて下さい。
2. bind-value:get と bind:get の違いを教えて下さい。

-value があってもなくても普通に動いてしまうので、違いが判らないです・・・
2023/03/19(日) 02:39:15.79ID:OF2pFVcA0
rem #ignore thumbnails created by windows
rem #Ignore files build by Visual Studio
rem --------------------------------------
rem *.exe
rem --------------------------------------
del /s Thumbs.db
del /s *.obj
del /s *.pdb
del /s *.user
945デフォルトの名無しさん (ワッチョイ ebbb-mqp0)
垢版 |
2023/03/21(火) 00:50:51.05ID:Bhi15WWz0
MAUIの場合って、XAMLがどうC#に変換されたかってどこ見るの?
objフォルダを見ても、それっぽいファイルなさそうに見えるんだけど・・・・
2023/03/21(火) 03:41:54.37ID:rEPYZ+tza
>>941
Ruby on Rails の勉強方法なら、以下に書いた

★★Java質問・相談スレッド184★★
https://mevius.5ch.net/test/read.cgi/tech/1632019965/174

YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンが有名。
学校は、Rails専業のRUNTEQ、東京フリーランスのデイトラなど多数ある

Rails チュートリアルのRails 5 なら、無料で読める。
他には、黒田努の3冊の本もある

YouTubeのDeanin
947デフォルトの名無しさん (ワッチョイ ebbb-mqp0)
垢版 |
2023/03/23(木) 22:03:01.14ID:ryYHyvf60
すまんが、このカッコだらけの行ってC#の文法的にはどういう意味なの???

> protected override void OnAppearing()
> {
> ((Models.AllNotes)BindingContext).LoadNotes(); //この行ってどういう意味なの!?!?
> }

https://learn.microsoft.com/ja-jp/dotnet/maui/tutorials/notes-app/?view=net-maui-7.0&tutorial-step=4
より
2023/03/23(木) 22:08:43.88ID:JMZIdmVT0
(型)変数 で型変換(キャスト)
次のカッコは演算子の優先度の調整
最後の()はメソッド()を実行
2023/03/23(木) 22:15:45.29ID:qBpx1Wc1p
BindingContextをModels.AllNotesのオブジェクトとみなしてそこのメソッドLoadNotes()を実行せよ
って意味
2023/03/23(木) 22:17:49.58ID:qBpx1Wc1p
そして危険だからそんなコードは書くな
2023/03/23(木) 22:21:24.70ID:vqNy8gvnM
>>947
初心者にはMAUIは厳しすぎるからやめておいた方がいいよ
MAUIはあれこれ全部できる人が触るものだから
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/
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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