[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 07/24 13:23 / Filesize : 265 KB / Number-of Response : 1013
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 07:31:00.51 ID:2LMOL5Ty0.net]
!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の使い方などに関しては各バージョンで違うので専用スレでお願いします
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

911 名前:デフォルトの名無しさん (ブーイモ MM5e-IGBM) [2023/07/21(金) 11:29:51.89 ID:69ts+SDiM.net]
業務アプリでログイン画面表示前に終わらせないといけないやたらと時間のかかる重い処理ってどういうの?
ゲームやJavaアプリではあるけどC#で作る業務アプリでは個人的には経験したことないんだけど
ネットワーク経由で自動アップデートを走らせてるとか?

912 名前:デフォルトの名無しさん (ドコグロ MM36-fSYF) mailto:sage [2023/07/21(金) 14:42:23.96 ID:6vfbgTUNM.net]
DBから必要なデータ落としてくるとかそういうのかな
そこまで大量になるかどうかはものによる

913 名前:デフォルトの名無しさん (スップ Sd00-IoCj) mailto:sage [2023/07/21(金) 15:03:06.92 ID:6MAm8yaxd.net]
コアモジュールのアップデート確認とか
こういうのを下手にオンデマンド化すると不整合で死者が出たりするんだよ

914 名前:デフォルトの名無しさん (ブーイモ MMba-mCwd) [2023/07/21(金) 20:26:40.73 ID:eg4croCbM.net]
>>901
そういうのならスプラッシュで長々と起動表示するより
さっさと画面見せてプログレスバー出した方が良くね
端的にいうとエクリプスみたいなのは嫌い

915 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/22(土) 06:19:51.07 ID:/NYJ/E/k0.net]
プログレスバー出してる間はツールバーやらメニューやら触れないように無効化しとくん?
見せてる意味なくない?

916 名前:デフォルトの名無しさん (ワッチョイ bf79-mRrB) mailto:sage [2023/07/22(土) 08:28:55.45 ID:a8PwsTyx0.net]
業務アプリで認証前に見せるもんなんて何かあんの逆に

917 名前:デフォルトの名無しさん (ワッチョイ 4742-pcwf) mailto:sage [2023/07/22(土) 10:35:33.60 ID:KOXik0Zr0.net]
>>906
アプリの生存確認

918 名前:デフォルトの名無しさん (ワッチョイ 27e5-UJxk) mailto:sage [2023/07/22(土) 13:04:05.76 ID:UbHj5dt40.net]
デスクトップのアイコンダブルクリックしたのになんも画面出て来なかったら
動いてるのか不安になるのがエンドユーザー

919 名前:デフォルトの名無しさん (ブーイモ MM8f-2YhC) [2023/07/22(土) 18:21:41.76 ID:k3sQ1muHM.net]
そらWEBアプリが流行るわな
とりあえず画面は出てくるしな



920 名前:デフォルトの名無しさん (ワッチョイ 5f2d-rRCM) mailto:sage [2023/07/22(土) 18:44:42.22 ID:oc8oPCaK0.net]
こじ付け

921 名前:デフォルトの名無しさん (ワッチョイ bf79-mRrB) mailto:sage [2023/07/22(土) 18:46:25.02 ID:a8PwsTyx0.net]
>>907
今時プログレスバー程度じゃアプリの生存確認にはならないかー

922 名前:デフォルトの名無しさん (ワッチョイ 275f-U6D6) mailto:sage [2023/07/22(土) 20:58:38.40 ID:+w7QyAXT0.net]
生存w

923 名前:デフォルトの名無しさん (ドコグロ MM9f-0mQ+) mailto:sage [2023/07/22(土) 21:08:30.62 ID:hYyrQzz7M.net]
WEBアプリでもローディングあるやつあるけどな

924 名前:デフォルトの名無しさん (ワッチョイ 8780-jqln) mailto:sage [2023/07/23(日) 00:11:53.57 ID:NsW44b0o0.net]
webview2の初期化でぐるぐるさせる

925 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/23(日) 06:35:51.66 ID:YwDu7rEL0.net]
出てるプログレスバーがなんのプログレスバーか理解できる使用者がどれほど居るか

926 名前:デフォルトの名無しさん (ワッチョイ 7f10-fN/z) mailto:sage [2023/07/23(日) 08:35:02.27 ID:E9NR74nn0.net]
とりあえず動いとけばいい

927 名前:デフォルトの名無しさん (スッップ Sdff-cTWz) mailto:sage [2023/07/23(日) 21:00:26.02 ID:DI++90CVd.net]
>>915
何のとか関係ないんだよね>>899に書かれてる通り、
応答なしってなった場合にユーザーがアプリが固まったって思って不安になったり、
人によっては強制終了させたりすることを回避するのが目的でみな実装してると思うよ

928 名前:デフォルトの名無しさん (オイコラミネオ MM3b-nVDU) mailto:sage [2023/07/23(日) 23:04:58.70 ID:NQIlbLw0M.net]
win11でwindows upadateの元データ読み込みの時間がかかったらタイトルバーで
プログレスバー的なアニメーションが出る

929 名前:デフォルトの名無しさん (ワッチョイ bf79-mRrB) mailto:sage [2023/07/24(月) 00:09:50.17 ID:z5rdGXQY0.net]
タイトルバーで糞判りづらいアニメーションされてもな



930 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/24(月) 06:55:49.96 ID:dpuUxo8K0.net]
>>917
プログレスバー出す出さないと応答なしになるかどうかはイコールじゃねぇのよ

931 名前:デフォルトの名無しさん (スッップ Sdff-cTWz) mailto:sage [2023/07/24(月) 08:15:20.93 ID:WyKfXWoDd.net]
>>920
もともとは>>890から来てる話のつもりだけど
重たい処理を裏で実行させて画面は動いてます(応答なしになってません)ってのを
ユーザーに伝えるためにプログレスバーだしてると思ってるんだが違うのか?
非同期でもなくプログレスバー出して進捗報告してるだけなら言ってる通りかもね

932 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 09:57:36.50 ID:suAy7pRCM.net]
10秒ならクルクルカーソルでいい
1分超えるならメッセージぐらい出そう
10分レベルだとプログレス必須

つまり非同期は10分超えのみでいい

933 名前:デフォルトの名無しさん (スッップ Sdff-cTWz) mailto:sage [2023/07/24(月) 11:10:30.20 ID:WyKfXWoDd.net]
大多数のユーザーが使う画面作ってないのかわからんけど
10秒程度で画面クリックしたら応答なしになるだけで文句いってくるところもあるからね
10分越えで非同期とかはぬるすぎ
まあこの辺までくるとスレチな感じだから言い逃げになるけど自分はここまでにするわ

934 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 11:24:15.27 ID:suAy7pRCM.net]
苦情は「起動が遅い」だろ?
「応答するともっと遅くなりますよ」で返せばいい

935 名前:デフォルトの名無しさん (ワッチョイ 4742-pcwf) mailto:sage [2023/07/24(月) 11:26:52.53 ID:AUmI6Ec80.net]
他にもあると思うが、通信、I/O、DBは無条件で非同期や並行処理を意識して設計しないとな

936 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 11:30:21.52 ID:suAy7pRCM.net]
素人はそう考えるけど
待機中のユーザーが他の作業を出来ることは少ない
というか待つだけだろ?
つまり非同期は不要

937 名前:デフォルトの名無しさん (ワッチョイ a779-bG9n) mailto:sage [2023/07/24(月) 12:28:09.61 ID:b5WDI80O0.net]
5秒だか10秒だか
応答しないとOSにフリーズ判定されるでしょ

938 名前:デフォルトの名無しさん (ワッチョイ 27e5-UJxk) mailto:sage [2023/07/24(月) 12:48:04.14 ID:D6WZQL9B0.net]
>>926
でもそれアナタの思い込みですよねw

939 名前:デフォルトの名無しさん (ワッチョイ 5f2d-rRCM) mailto:sage [2023/07/24(月) 13:26:28.55 ID:X1NMCpf40.net]
今時UIが長期間応答しなくなるのは低品質アプリの証
非同期処理が実装しやすいC#では特に



940 名前:デフォルトの名無しさん (ラクッペペ MM8f-La+E) mailto:sage [2023/07/24(月) 13:43:25.62 ID:suAy7pRCM.net]
ギャラガでもさせるか?

941 名前:デフォルトの名無しさん (ワッチョイ 275f-U6D6) mailto:sage [2023/07/24(月) 14:00:15.94 ID:ixDNpyk/0.net]
コナミ グラディウス バブルシステム起動画面 - YouTube
https://youtu.be/dM-UCiUirj4

942 名前:デフォルトの名無しさん (ワッチョイ 7f10-UJxk) mailto:sage [2023/07/24(月) 22:19:22.23 ID:dpuUxo8K0.net]
>>921
なんか盛大に勘違いしてた

943 名前:A忘れてくれ・・・ []
[ここ壊れてます]

944 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) [2023/07/30(日) 13:16:32.79 ID:qP2cEP2w0.net]
>>929
逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの?
意図的にそうしてるとか

945 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) [2023/07/30(日) 13:16:34.66 ID:qP2cEP2w0.net]
>>929
逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの?
意図的にそうしてるとか

946 名前:デフォルトの名無しさん (ワッチョイ b742-yh3V) mailto:sage [2023/07/30(日) 13:47:13.19 ID:JdhDrtL30.net]
手抜きか技術不足以外で長時間無応答を放置する理由はありません

947 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) [2023/07/30(日) 13:54:56.32 ID:qP2cEP2w0.net]
実行中の処理に影響与えないように応答させないのって普通じゃね?

948 名前:デフォルトの名無しさん (ワッチョイ 3ebb-bWks) [2023/07/30(日) 14:13:33.41 ID:2ZbxDykr0.net]
非同期にするオーバヘッドがないぶん処理が早く終わるしな

949 名前:デフォルトの名無しさん (ラクッペペ MMe6-Fuds) mailto:sage [2023/07/30(日) 14:25:18.01 ID:IK2UEk/mM.net]
30年前のCPUか?



950 名前:デフォルトの名無しさん (ワッチョイ da2d-cK++) mailto:sage [2023/07/30(日) 15:29:45.06 ID:C8zYgP+u0.net]
いつの発想だよ…
UIと時間がかかる処理は別スレッドだし
今時のPCならオーバーヘッドは無いに等しいだろ

951 名前:デフォルトの名無しさん (ワッチョイ da2d-cK++) mailto:sage [2023/07/30(日) 15:32:39.03 ID:C8zYgP+u0.net]
>>936
UIの制御は必要になるけど、それをしないのは手抜きってやつだ

952 名前:デフォルトの名無しさん (ワッチョイ dabd-TJCF) mailto:sage [2023/07/30(日) 15:39:50.10 ID:ceI/e8I50.net]
>>936
UIがないアプリなら好きにしろ。
UIがあるならUIのお約束を守れ。守れないのは低品質アプリだ。

953 名前:デフォルトの名無しさん (ワッチョイ cf68-6+wX) mailto:sage [2023/07/30(日) 16:01:47.86 ID:qP2cEP2w0.net]
で応答できないことの何が問題?

954 名前:デフォルトの名無しさん (ワッチョイ 26bc-0TAO) mailto:sage [2023/07/30(日) 18:57:09.57 ID:h72pV3U00.net]
てゆーか、まだやってたんだ。
ある意味スゲー。

955 名前:デフォルトの名無しさん (ワッチョイ 8f2f-KN61) mailto:sage [2023/07/31(月) 02:48:28.98 ID:/pzquaKJ0.net]
UIが無応答って状態を勘違いしてる気がする

956 名前:デフォルトの名無しさん (ワッチョイ 73e5-U0W2) mailto:sage [2023/07/31(月) 09:07:39.25 ID:kMCzvjpl0.net]
まだやってたんだって言うか、1週間近く動きも無く終わったと思われてた話をバカが蒸し返しただけ

957 名前:デフォルトの名無しさん (スフッ Sd8a-kvF/) [2023/07/31(月) 13:17:06.46 ID:lng3H2OQd.net]
>>942
応答出来ない=次に応答するのが計算が終わったタイミング
と言うことになる
つまり開始後中断したくてUI(例えば停止ボタン)押して
実際に止まるのが計算完了後で
計算結果が表示される直前に終了してくれるオマケ付き

958 名前:デフォルトの名無しさん (スッップ Sd8a-1j9t) mailto:sage [2023/07/31(月) 13:19:35.83 ID:xjBtNZZud.net]
>>946
>>942みたいな過去の遺物みたいなのにかかわらないほうがいいぞ
「そのうち返ってくるでしょ」みたいな考えのやからは一定数いるからな

959 名前:デフォルトの名無しさん (アウアウウー Sa1f-6+wX) mailto:sage [2023/07/31(月) 13:25:23.15 ID:sgBBFIN2a.net]
全然ecoじゃない
SDGs連中が飛び付くネタ



960 名前:デフォルトの名無しさん (ワッチョイ becf-WE/L) mailto:sage [2023/08/01(火) 01:57:41.21 ID:l/YBSfNu0.net]
https://atmarkit.itmedia.co.jp/ait/articles/1702/22/news010.html
>  Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、
> ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。

> “応答がない状態”とは、アプリケーションのプロセスが持つウィンドウオブジェクトが
> 「ウィンドウメッセージ(Window Message)」に5秒(既定)以上、応答しなくなる状態を指します。

こんなん出たんですけどとか言われたら恥ずかしいだろ

961 名前:デフォルトの名無しさん (スップ Sd2a-3oaK) mailto:sage [2023/08/01(火) 08:39:12.57 ID:NwjOuTDqd.net]
そうやってOSが面倒見てくれてるし気にするな

962 名前:デフォルトの名無しさん (ワッチョイ 73e5-U0W2) mailto:sage [2023/08/01(火) 08:48:36.38 ID:jZPe7+0n0.net]
気にしろし

963 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/01(火) 19:37:01.30 ID:EZnFv0QC0.net]
真のエコはシングルスレッド非同期
プログラミングコストは爆増するけどな

964 名前:デフォルトの名無しさん (ワッチョイ 2301-iCAU) [2023/08/01(火) 23:34:51.68 ID:MwS5ZIT40.net]
魔法の呪文DoEventsでおk

965 名前:デフォルトの名無しさん (ワッチョイ 8f7c-0u9z) mailto:sage [2023/08/02(水) 07:43:03.92 ID:MJ0E5XCG0.net]
進捗表示、キャンセルや一時停止を受け付けない設計はクソ。

966 名前:デフォルトの名無しさん (ワッチョイ 17ae-CF7t) mailto:sage [2023/08/03(木) 10:08:52.15 ID:icL6sh+90.net]
シリアルポートからの送信を出来るだけ高速に受信したいのですが、下記以外に何かありますでしょうか?
また高速化する方法がありましたら、指摘してください。
よろしくお願いします。

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);

967 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/03(木) 11:06:07.21 ID:L6gOIzTH0.net]
>>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]);

968 名前:デフォルトの名無しさん (ワッチョイ 17ae-CF7t) mailto:sage [2023/08/03(木) 11:41:09.07 ID:icL6sh+90.net]
>>956
ありがとうございます。
現在は1024バイト固定で受信しているのですが、
sp.ReadBufferSize()で見ているとどんどんシリアルポートのバッファが溜まって頭打ちになっているので、
アプリ側で出来るだけ取得しておきたいと思い、sp.ReadExisting()の使用を検討しているところです。

969 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/03(木) 12:22:33.04 ID:L6gOIzTH0.net]
>>957
IOの方が早いなんてことは有り得ないからwhileで回すとかはしてる?
内部バッファが空の時にsp.Read(buf, 0, buf.Length)するとブロックされちゃうのかな
そうじゃないならwhile ((count = sp.Read(buf, 0, buf.Length)) != 0)、
ブロックされるとしてそれが嫌ならsp.BytesToReadで溜まってるバイト数チェックやDataReceivedイベントで拾うとか



970 名前:デフォルトの名無しさん (スッップ Sd2f-YWx9) mailto:sage [2023/08/05(土) 10:43:10.90 ID:wvUeqD5zd.net]
誰も突っ込まないけどシリアル受信に間に合わないは普通にあり得るくね、

971 名前:デフォルトの名無しさん (ワッチョイ 9b2f-1PqA) mailto:sage [2023/08/05(土) 11:08:11.80 ID:6FXtwa520.net]
シリアルってだけで実際のスピードもハードスペックもPCの使用状況も書いてないけど
個人的意見なら、いまどきのハードでC#で普通に作って間に合わんなんて、
他に何か原因がなければ想像できんレベルだが

972 名前:デフォルトの名無しさん (ワッチョイ 01c5-i02c) mailto:sage [2023/08/05(土) 11:37:11.83 ID:kMOIqdZr0.net]
同期9600bps を試しにやってみたまえ。

LANCとかやね

973 名前:デフォルトの名無しさん (ワッチョイ 9949-HLSB) mailto:sage [2023/08/05(土) 11:45:14.79 ID:29MU2LyY0.net]
.NET7でnlogがあれやこれやしてもうんともすんとも言わないので
おすすめのログのライブラリとかありまふか

974 名前:デフォルトの名無しさん (オイコラミネオ MMc9-1ro1) mailto:sage [2023/08/05(土) 14:09:41.96 ID:wQaB7TT9M.net]
nugetのランキング上位にあるやつ使えるのでは?

975 名前:デフォルトの名無しさん (ワッチョイ 472d-SCbl) mailto:sage [2023/08/05(土) 15:32:52.86 ID:JFXqS/BH0.net]
.NET7でNLog普通に使えてるけどなぁ
ちょっと前のバージョン(5.1.4)だからか?

976 名前:デフォルトの名無しさん (ワッチョイ 472d-SCbl) mailto:sage [2023/08/05(土) 15:46:07.77 ID:JFXqS/BH0.net]
nugetの最新(5.2.2)にしたけど使えてるな

977 名前:デフォルトの名無しさん (オイコラミネオ MMc9-1ro1) mailto:sage [2023/08/05(土) 16:15:39.59 ID:wQaB7TT9M.net]
.NET7使ってるのが驚き

978 名前:デフォルトの名無しさん (ワッチョイ 4954-4gg4) mailto:sage [2023/08/06(日) 21:10:40.86 ID:t8XxdJlt0.net]
その程度で驚くヤツはくるみぽんちおの刑だな。
うちの製品なんて、.net framework 1.1 使ってる製品もある。
しかも重要ユーザーからの要望があれば機能追加までしてる。

979 名前:デフォルトの名無しさん (ワッチョイ b310-jhPE) mailto:sage [2023/08/07(月) 07:41:51.88 ID:NZgbVHgQ0.net]
XPで動かしてそう



980 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/07(月) 09:07:25.45 ID:TF3XFQ9V0.net]
OSにしてもランタイムにしても、古いのずっと生き残ってるのあるあるだよな
うちの顧客なんてVB6製アプリをXPで動かしてるとこまだあるしな……

981 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/07(月) 09:08:05.81 ID:TF3XFQ9V0.net]
流石にNT4はもう居なくなったけど

982 名前:デフォルトの名無しさん (ワッチョイ eb42-tyL0) mailto:sage [2023/08/07(月) 09:17:47.25 ID:82JZu0tI0.net]
ニューテクノロジ4か
名前にニューって付けて年月経つと碌なことにならないな

983 名前:デフォルトの名無しさん (アウアウウー Sa9d-mBaV) [2023/08/07(月) 10:03:51.30 ID:wl/Lx6N5a.net]
うめようず

984 名前:962 (ワッチョイ 9949-c/5M) mailto:sage [2023/08/07(月) 10:41:55.42 ID:NRD23MMX0.net]
NLog動くようになった!
コードで設定すると動く、でもConfigは反映されないからと色々やってたら
「出力ディレクトリをコピー」
「ビルドアクション」
を設定してないことに気づいた

C#(てかVS)久しぶりすぎて各ファイルにあるプロパティの存在を忘れてたw

985 名前:デフォルトの名無しさん (スッププ Sd03-XWNR) mailto:sage [2023/08/07(月) 14:14:56.57 ID:MBhkVnR+d.net]
ふぅ・・・例外握りつぶしてたぜ・・やっと不具合原因のとっかかり見つけた

986 名前:デフォルトの名無しさん (アウアウクッ MMf3-uQHI) mailto:sage [2023/08/07(月) 15:03:38.79 ID:A9F8fN0gM.net]
byte high = 0xff;;
bool flag = (high & 0b10000000) != 0;

これをもっとC#っぽくできないの?

987 名前:デフォルトの名無しさん (ワッチョイ 472d-SCbl) mailto:sage [2023/08/07(月) 15:16:30.47 ID:gOyFWeUo0.net]
>>975
フラグをenum定義したら

[Flags]
enum Hoge : byte
{
 Flag0 = 1 << 0,
 Flag1 = 1 << 1,
 ...
 Flag7 = 1 << 7,
}

var high = ( Hoge )0xff;
high.HasFlag( Hoge.Flag7 );

988 名前:デフォルトの名無しさん (ワッチョイ c379-IXit) mailto:sage [2023/08/07(月) 23:19:46.08 ID:4jmmvhVW0.net]
enumに属性がなんか気持ち悪いし…使用時にキャストしてるのもなんだかな
#defineが無い弊害がこういうとこで出るのか
C/C++のビット演算はイディオムで綺麗に書けるのにな

989 名前:デフォルトの名無しさん (ワッチョイ 1bd6-SCbl) mailto:sage [2023/08/07(月) 23:34:33.91 ID:gDjmIGTi0.net]
キャストが嫌なら、複数のフラグをORで連結すれば



990 名前:デフォルトの名無しさん (ワッチョイ 1bd6-SCbl) mailto:sage [2023/08/07(月) 23:44:21.58 ID:gDjmIGTi0.net]
途中で書き込んじゃった
enumに↓を追加
All = Flag0 | Flag1 | Flag2 | Flag3 | Flag4 | Flag5 | Flag6 | Flag7,
var high = Hoge.All;

991 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/08(火) 08:54:05.88 ID:aeM2XQJJ0.net]
個人的には、Flagsよりも定義でビットシフトしてるんがなんか嫌だなw

>>975でも十分C#っぽい気はするけどねぇ
C/C++でif(high & 0x80)で済むのはBOOLの実体が数値だからで
C#のboolは別物だからしょうがないし

992 名前:デフォルトの名無しさん (ワッチョイ 7be5-uQHI) mailto:sage [2023/08/08(火) 09:22:12.70 ID:aeM2XQJJ0.net]
次スレ

ふらっと C#,C♯,C#(初心者用) Part159
https://mevius.5ch.net/test/read.cgi/tech/1691454079/

993 名前:デフォルトの名無しさん (アウアウクッ MMf3-uQHI) mailto:sage [2023/08/09(水) 09:18:17.06 ID:tGujvv4CM.net]
このままでいい気がしてきた

994 名前:デフォルトの名無しさん (ワッチョイ 095f-SCbl) mailto:sage [2023/08/10(木) 00:40:12.02 ID:P/TzKPwA0.net]
>>980
ビットシフトで定義するかは好みと慣れだな
C言語でも見かけるし
一応、何ビット目かソース上ではっきりするってメリットがある

995 名前:デフォルトの名無しさん (ワッチョイ b310-uQHI) mailto:sage [2023/08/10(木) 07:11:54.17 ID:ao9yBEOh0.net]
何ビット目かって表現なら、それこそ>>975の方がC#では普通になったんじゃない?

996 名前:デフォルトの名無しさん (ワッチョイ 2b6e-D1BR) mailto:sage [2023/08/11(金) 16:58:32.91 ID:JGKsK+J90.net]
ラムダ式ってこうちょろちょろっとした処理を書くのに使うものであってでかい処理は関数定義するのが基本って認識だったんですけど間違ってますかね
もう今のプロジェクトラムダ式渡すところで数十行の関数がガンガン出てきてて
デバッグしにくいわかりにくいでげんなりしています。まぁこれに限らずそもそも表に出る機能単位でしか考えてないのか関数抽出するって考え方があんま無いみたいな現場なんですが……

997 名前:デフォルトの名無しさん (オイコラミネオ MMc9-uQHI) mailto:sage [2023/08/11(金) 18:07:32.18 ID:CXONK6kXM.net]
>>985
どうとでもいえるけど基本的にはその使い方は特に間違ってはいないので認識が間違っていると思う
処理の委譲目的ならそれが普通かも

関数抽出しやすいなら関数を抽出する
ローカル変数などに依存度が高いならそのまんま書いたほうがいい

設計がしっかりしてクラスを作ってそれを渡しあってるとかなら別だけどそんなことしてられないと思う

998 名前:デフォルトの名無しさん (ワッチョイ c379-IXit) mailto:sage [2023/08/11(金) 18:39:03.98 ID:I7dwFhkG0.net]
デバッグしたいなら1処理ずつ分けて書き直しゃいいだろ
C#のlambdaはdelegateの意味も暗黙に含んでるからそのものは削らない方がいいけど

999 名前:デフォルトの名無しさん (ワッチョイ b310-uQHI) mailto:sage [2023/08/11(金) 20:58:53.23 ID:0dzc0r6z0.net]
同じ処理を他でも使うならメソッド化した方がいいと思うけど、そこでしかやらないならラムダでかまわんと思うけどな
今やローカル関数なんてのもあるし



1000 名前:デフォルトの名無しさん (ワッチョイ 395f-17EC) [2023/08/19(土) 20:49:54.56 ID:UW3EkLqg0.net]
closedxmlでセルに書き込み反映されない…なんで😭

1001 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) [2023/08/20(日) 02:06:38.74 ID:RsoPGDy3a.net]
jsonのテキストをデコードできる関数ないかな?
htmlでいうところのHttpUtility.HtmlDecode()のjson文字列版
「https:\u002F\u002Fwww」を「https://www」に変換したい
そんなの自作しろと言われたらそれまでだけど、あるならあるの使いたいので

1002 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) mailto:sage [2023/08/20(日) 04:06:30.93 ID:RsoPGDy3a.net]
Regex.Unescape()でいけるのかな

1003 名前:デフォルトの名無しさん (ワッチョイ 2b10-YAjS) mailto:sage [2023/08/20(日) 08:33:15.17 ID:OGvFjvg+0.net]
ちょっと前にTwitterのデータ取得して遊んでた時はRegex.Unescapeでやってたけど

1004 名前:デフォルトの名無しさん (ワッチョイ db79-wKkg) mailto:sage [2023/08/20(日) 18:10:25.72 ID:Jez4Fpf50.net]
そこで普通にjsonパーサ使おうと思わないの何でなん

1005 名前:デフォルトの名無しさん (ワッチョイ 2b10-YAjS) mailto:sage [2023/08/20(日) 18:37:23.62 ID:OGvFjvg+0.net]
JsonNode.Parseでゲットした配列から取り出した文字列をRegex.Unescapeにかけたんだけどね

1006 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) [2023/08/20(日) 19:12:02.03 ID:RsoPGDy3a.net]
jsonがあるわけじゃなかったから
適当なclass用意して文字列をjsonの書式にフォーマットしてパースして取り出すって流れは気分的にやりたくなかった

1007 名前:デフォルトの名無しさん (ワッチョイ c9c6-H9aa) mailto:sage [2023/08/20(日) 20:06:30.57 ID:YUyQ4ipW0.net]
"hoge"だけみたいな文字列も整形式のJSONだよ
JsonSerializer.Deserialize<string>("\"hoge\"");
生の文字列なら前後に二重引用符付ける必要はあるだろうけど

1008 名前:デフォルトの名無しさん (アウアウエー Sa23-NwC7) [2023/08/20(日) 21:07:24.34 ID:RsoPGDy3a.net]
試したら動いた。stringクラス指定だけでできたのか。それは知らなかった

1009 名前:デフォルトの名無しさん (ワッチョイ 93e5-YAjS) mailto:sage [2023/08/21(月) 08:03:28.38 ID:Ndtw0dBa0.net]
うめか



1010 名前:デフォルトの名無しさん (ワッチョイ 395f-4N9b) mailto:sage [2023/08/21(月) 14:43:41.77 ID:s1KrJzLF0.net]
質問いいですか?

1011 名前:デフォルトの名無しさん [2023/09/10(日) 08:25:05.15 ID:MWuSGE3eL]
世界最悪の殺人組織公明党強盗殺人の首魁斉藤鉄夫らテロリス├に乗っ取られた国土破壊省に天下り賄賂癒着しながら莫大な温室効果ガスに
騒音にコロナにとまき散らして気候変動させて日本どころか世界中で土砂崩れに洪水、暴風、猛暑、干ばつ、森林火災にと災害連発させて
大量虐殺してエネ価格に物価にと暴騰させて住民の生活を破壊して私腹を肥やしてるクソ公務員個人に徹底報復しよう!
東京都港区赤坂2-17-10がクソ議員宿舎なのは有名だが「省庁別宿舎 ─覧表」で検索すれば全国の公務員宿舎の位置が容易に確認て゛きるのて゛
拡声器や、騒音バヰクで乗り付けてブァンブアンやりに出向いてやろう!もちろんカによる一方的な現状変更によって都心まで数珠つなぎで
クソ航空機飛ばして閑静な住宅地だろうと航空騒音まみれにして生活に仕事にと公然と妨害してるこいつら利権害虫のことだから騒音なんて
どうということはないんだろうし、航空騒音に比べれば屁みたいな騷音しか出せないだろうが.遠慮なく大騒音まき散らしに出向いてやろう!
政府という傘で好き放題やってる公務員には個人攻撃が有効!図書館やらて゛ブァンブアンやって税金泥棒利権を徹底的に壊滅させるのも正義!
(羽田)ttΡs://www.call4.jP/info.Ρhρ?type=iТems&id=I0000062 , tΤps://haneda-Project.jimdofree.com/
(成田)ttps://n-souonhigaisosyoudan.amebaownd.com/
(テロ組織)ttps://i.imgur.com/hnli1ga.jpеg






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<265KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef