!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
■関連スレ
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#(初心者用) Part159
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 6fe5-uQHI)
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0470デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
2023/10/28(土) 11:32:14.34ID:5r3ES/EEM OpenCVを語りたいならC++の方からアプローチして何を考えて作られたのか理解したほうがいい
pythonだと曖昧で魔法的に見えるだけ
Matも納得できるだろう
何が必要とされてそのようになったのか理解も進むと思う
そして二度と上のようなカキコはしなくなると思われる
pythonだと曖昧で魔法的に見えるだけ
Matも納得できるだろう
何が必要とされてそのようになったのか理解も進むと思う
そして二度と上のようなカキコはしなくなると思われる
471デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
2023/10/28(土) 11:49:26.77ID:5r3ES/EEM 入門者にこんなことを言ってもい意味がないけど
高級言語でしか考えられなくなると
単純なメモリ構造やアセンブラレベルでの高速動作へのノウハウなどへの理解が低下する
何が要求されているかの思いが至らず狭い世界での物差しで全てを測ろうとしてしまう
それが絶対的に悪いと言うことではないがこれから世界を知ろうとするなら人間的に損だと思う
高級言語でしか考えられなくなると
単純なメモリ構造やアセンブラレベルでの高速動作へのノウハウなどへの理解が低下する
何が要求されているかの思いが至らず狭い世界での物差しで全てを測ろうとしてしまう
それが絶対的に悪いと言うことではないがこれから世界を知ろうとするなら人間的に損だと思う
472デフォルトの名無しさん (スップ Sd73-hjvO)
2023/10/28(土) 11:57:59.55ID:Q5mUhCaNd またおじいちゃんのピンボケ説教が始まった
473デフォルトの名無しさん (ワッチョイ 1bbc-H9h+)
2023/10/28(土) 12:01:21.10ID:sHjfoUv70 この視点は必要だと思うけれど。
474デフォルトの名無しさん (スップ Sd73-hjvO)
2023/10/28(土) 12:08:36.36ID:Q5mUhCaNd 不要だとは言ってないよ?
ピンボケだと言ってるだけ
ピンボケだと言ってるだけ
475デフォルトの名無しさん (ワッチョイ 1379-JwVi)
2023/10/28(土) 12:23:05.53ID:Wr7RJXLy0 >>470-471
損得の観点が違うな
OpenCVでpython(以降うんこ)が使われてるのはOpenCV自体が十分速いからだな
でうんこ使ってるやつはOpenCVの中で何が起きてるかなんてどうでもいい
俺がC#でやり始めた理由はうんこを入れる必要が無くて孤立したうんこよりもWindowsではだいぶ楽できるなと踏んだからだ
まあ検証のために一時的にうんこ入れたけど慣れたらうんこなんて不要になると考えてる
ああ、C++には一切興味無いから本スレで存分に語りなよ
損得の観点が違うな
OpenCVでpython(以降うんこ)が使われてるのはOpenCV自体が十分速いからだな
でうんこ使ってるやつはOpenCVの中で何が起きてるかなんてどうでもいい
俺がC#でやり始めた理由はうんこを入れる必要が無くて孤立したうんこよりもWindowsではだいぶ楽できるなと踏んだからだ
まあ検証のために一時的にうんこ入れたけど慣れたらうんこなんて不要になると考えてる
ああ、C++には一切興味無いから本スレで存分に語りなよ
476デフォルトの名無しさん (ワッチョイ eb10-yv/+)
2023/10/28(土) 12:50:06.14ID:Se05+6CE0 公式にサポートしてないC#を使って公式にサポートしてるpythonを落とすやつ…
https://www.klv.co.jp/corner/python-opencv-what-is-opencv.html
https://www.klv.co.jp/corner/python-opencv-what-is-opencv.html
477デフォルトの名無しさん (ワッチョイ 33bd-CP9B)
2023/10/28(土) 13:53:54.87ID:wwtVontY0 5年くらい前にOpenCVSharpを使ったけど、使いやすかったな。
WEBカメラの動画表示とキャプチャくらいしかしてないけど。
WEBカメラの動画表示とキャプチャくらいしかしてないけど。
478デフォルトの名無しさん (ワッチョイ 1379-JwVi)
2023/10/28(土) 14:15:21.84ID:Wr7RJXLy0479デフォルトの名無しさん (ワッチョイ eb10-yv/+)
2023/10/28(土) 14:17:52.54ID:Se05+6CE0 >>478
そしてここは初心者スレ
そしてここは初心者スレ
480デフォルトの名無しさん (ワッチョイ 1379-JwVi)
2023/10/28(土) 14:25:16.30ID:Wr7RJXLy0481デフォルトの名無しさん (ワッチョイ eb10-yv/+)
2023/10/28(土) 15:28:56.35ID:Se05+6CE0482デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
2023/10/28(土) 16:41:40.98ID:9hkTJ9Z90 そう、C#スレかつ初心者スレ、OpenCVスレではない
483デフォルトの名無しさん (アウアウエー Sa23-HPAJ)
2023/10/28(土) 17:13:29.55ID:VEuygnOSa 自治中うざ
opencv/pyathonならスレチだけど
opencv/c#なら別にいいだろ。opencvネタでスレ埋まる勢いならどっか行けって感じだけどさ
opencv/pyathonならスレチだけど
opencv/c#なら別にいいだろ。opencvネタでスレ埋まる勢いならどっか行けって感じだけどさ
484デフォルトの名無しさん (スプッッ Sd73-7IV3)
2023/10/28(土) 18:54:33.76ID:hqVJRLxwd 大好きなうんこワードがアレルゲン
485デフォルトの名無しさん (ワッチョイ f1ac-NstI)
2023/10/28(土) 19:31:43.92ID:R/03Lugt0 pyathon
ぴゃそん!
ぴゃそん!
486デフォルトの名無しさん (ブーイモ MM33-XCYI)
2023/10/28(土) 19:48:40.91ID:hfV6FxbxM openCVの元になったSPIDERのver1はVAX FORTRANで実装されている。
そこまで戻る?😅
そこまで戻る?😅
487デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
2023/10/28(土) 19:57:30.47ID:5r3ES/EEM > OpenCVSharpを使い始めたんだが思いの他情報が少なくてつらいな
> chatGPTを叱り付けながらpythonのコードから変換してる
このあたりから加齢臭がするから初心者でも知ったような口を利くジジイなんだろうなw
> chatGPTを叱り付けながらpythonのコードから変換してる
このあたりから加齢臭がするから初心者でも知ったような口を利くジジイなんだろうなw
488デフォルトの名無しさん (ワッチョイ 2999-9em/)
2023/10/28(土) 20:26:07.01ID:cD9jg3Vs0 お爺ちゃんから加齢臭言われてて草
489デフォルトの名無しさん (ワッチョイ ebf2-XCYI)
2023/10/28(土) 20:54:21.57ID:+siiqQCh0 今日はカレー食べて良いって聞いてきた
490デフォルトの名無しさん (ワッチョイ 6b62-AT6i)
2023/10/29(日) 04:07:56.42ID:qLQkMhra0 ちょこっとExcelのファイル読むためにCloseXml入れたら
exeフォルダにアホみたいにdll置かれて吐きそうになった
exeフォルダにアホみたいにdll置かれて吐きそうになった
491デフォルトの名無しさん (ワッチョイ eb10-H9h+)
2023/10/29(日) 08:05:44.72ID:U4tz9u7X0 Excelのファイルとか、Zip解凍して中見ればよくね
492デフォルトの名無しさん (ワッチョイ 61ad-amCk)
2023/10/30(月) 01:37:09.90ID:2YMOstZ/0 >>478
うんこでも漏らしたのか?
うんこでも漏らしたのか?
493デフォルトの名無しさん (アウアウエー Sa23-c8RC)
2023/10/30(月) 19:54:00.78ID:sJLYeqSha ナイトライダーみたいなプログレスバーってどうやって作るの?
494デフォルトの名無しさん (ワッチョイ 8978-vgKx)
2023/10/30(月) 22:25:37.91ID:WdZXFUgO0495デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
2023/10/31(火) 08:36:18.12ID:uBGe6XWc0 もし往復させたい方なら、自分で描け
496デフォルトの名無しさん (アウアウエー Sa23-c8RC)
2023/10/31(火) 09:11:22.59ID:A/eQJHdaa できた
497デフォルトの名無しさん (スププ Sd33-hVOe)
2023/11/01(水) 02:12:45.08ID:tzHICVYNd こういうアニメーションに凝りだすと夢中になって本業を忘れる
498デフォルトの名無しさん (ワッチョイ 5374-OMHE)
2023/11/01(水) 08:02:21.06ID:c2Ch+IZA0 わたしも画像編集でPhotoShopに凝りだすと夢中になって本業を忘れる
499デフォルトの名無しさん (ワッチョイ 197c-PbF9)
2023/11/01(水) 08:17:23.82ID:uY4c0qsQ0 >>497
こだわって時間掛けた物ほどユーザから邪魔とかもっとスッキリさせてと言われるんだよねw
こだわって時間掛けた物ほどユーザから邪魔とかもっとスッキリさせてと言われるんだよねw
500デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
2023/11/01(水) 10:47:07.49ID:FsETBNtv0 あるあるww
501デフォルトの名無しさん (ワッチョイ 1b10-5Bl4)
2023/11/01(水) 10:54:49.35ID:WpcHr6kk0 注文内容の9割が見た目だからデザインに凝るのは悪いことではない
ただしデザインセンスとプログラミングの技量は別物、両方持ってる人はごくわずか
例えば警告にColors.RedやMessageBoxを使っちゃう人は絶望的に足りてないので、素直にコンポーネント屋から買ってきた方がいい
ただしデザインセンスとプログラミングの技量は別物、両方持ってる人はごくわずか
例えば警告にColors.RedやMessageBoxを使っちゃう人は絶望的に足りてないので、素直にコンポーネント屋から買ってきた方がいい
502デフォルトの名無しさん (ワッチョイ 5101-LiJd)
2023/11/01(水) 11:33:32.33ID:kzDrlSAv0 凝ってみるのはアルアルだろ
(パパッと仕上げてしまう人とか特に)
凝っても時間のムダだなとやってみてわかることもある
(パパッと仕上げてしまう人とか特に)
凝っても時間のムダだなとやってみてわかることもある
503デフォルトの名無しさん (ワッチョイ 1379-JwVi)
2023/11/01(水) 11:44:46.59ID:r0MV67Oa0 プログレスバーの話題って最近別のとこでも見た気がするな
長時間掛かる事が予測可能な処理で使う分には便利には違いないから
パーセンテージやタスク数で進捗視認できる手段は用意した方がいいだろうね
ナイトライダーは俺や客を怒らせるぐらいの効果しか期待できないから注意した方がいい
長時間掛かる事が予測可能な処理で使う分には便利には違いないから
パーセンテージやタスク数で進捗視認できる手段は用意した方がいいだろうね
ナイトライダーは俺や客を怒らせるぐらいの効果しか期待できないから注意した方がいい
504デフォルトの名無しさん (ワッチョイ 199f-CP9B)
2023/11/01(水) 12:36:46.89ID:eYGfI0F50 0%...1%...のまま長時間待たされていきなり99%になるやつか
505デフォルトの名無しさん (ワッチョイ 215f-OpKz)
2023/11/01(水) 13:47:15.73ID:nOPPTWkh0 「デザイン」という言葉を「外観や視覚要素を指す表現」として用いるおじさん
506デフォルトの名無しさん (ワッチョイ 19ae-zW/F)
2023/11/01(水) 14:13:09.44ID:KHH8FqfT0 「プログレスバーの進捗を正確にしてくれ」というオーダーは良く聞くな
507デフォルトの名無しさん (ラクッペペ MM8b-8VXL)
2023/11/01(水) 14:49:14.25ID:w6vqB0t/M 言われなくてもやれよ
508デフォルトの名無しさん (ワッチョイ 1379-JwVi)
2023/11/01(水) 14:56:29.53ID:r0MV67Oa0 俺が遊んでたソシャゲのアップデートはパーセンテージで小数点第二位まで出して糞でかいアップデートでもちびちび進んで判りやすかったから
多少速度を犠牲にしても1万ぐらいの解像度で進捗出てくれば良い感じに見えるんじゃねえかな
多少速度を犠牲にしても1万ぐらいの解像度で進捗出てくれば良い感じに見えるんじゃねえかな
509デフォルトの名無しさん (スプッッ Sd73-7IV3)
2023/11/01(水) 18:10:47.25ID:i3Lw7J6rd 仕事量を進捗にしつつ、時間を予測
じゃダメなのか
じゃダメなのか
510デフォルトの名無しさん (ワッチョイ 615a-NstI)
2023/11/01(水) 19:47:38.04ID:gNV0JjwF0 >>506
「一番遅く計測した値をちょっとかさ増しして、普通にすすめるか。時間足りなかったらフリーズしたことにして、再起動させることにしよ」
「一番遅く計測した値をちょっとかさ増しして、普通にすすめるか。時間足りなかったらフリーズしたことにして、再起動させることにしよ」
511デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
2023/11/01(水) 21:04:31.75ID:e0PJZdQsM MSの場合100%超えても続いてるのが頭にくる
100% = 終わってると思うんだけど
100% = 終わってると思うんだけど
512デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
2023/11/01(水) 21:11:50.04ID:e0PJZdQsM 話をもどそう
昔いくつか論文を読んだけど単純に活用できそうな例はあまりなかった
プログレスバーの進捗状況は時間とは限らないので
ファイル読み込みながら処理してる場合はファイルの読み込んだ位置で出してる(MSもこの方式なのかもなあ…)
データの内容で処理時間に偏りがある場合は時間と捉えてる人はイライラするんだろう
でも完全に予測不能だから仕方がない
昔いくつか論文を読んだけど単純に活用できそうな例はあまりなかった
プログレスバーの進捗状況は時間とは限らないので
ファイル読み込みながら処理してる場合はファイルの読み込んだ位置で出してる(MSもこの方式なのかもなあ…)
データの内容で処理時間に偏りがある場合は時間と捉えてる人はイライラするんだろう
でも完全に予測不能だから仕方がない
513デフォルトの名無しさん (スッップ Sd33-hjvO)
2023/11/01(水) 21:30:40.26ID:8Rtg2gaed おじいちゃん論文とか言い出しちゃったよ
514デフォルトの名無しさん (ワッチョイ 9b42-2DB6)
2023/11/01(水) 21:36:12.10ID:2ai15zcw0 こっちの本音はナイトライダーにしてスピード上げる方に力を入れたいだわな
515デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
2023/11/01(水) 21:41:59.26ID:e0PJZdQsM パターンがある場合はデータをもってヒューリスティックに%出すことも出来るけど
まあその場合も完全ではないので最終的にかなりずれてたら利用者も不満に思うわな
まあその場合も完全ではないので最終的にかなりずれてたら利用者も不満に思うわな
516mdysdev ◆XSDsAilQpD0E (ワッチョイ 1bda-E3Tq)
2023/11/01(水) 21:55:26.88ID:9U3nJwO/0 「ヒュンヒュン」いうサウンドファイルまでつけて配布バイナリのサイズアップもしておきました。
517デフォルトの名無しさん (ワッチョイ 13cb-OpKz)
2023/11/01(水) 22:08:52.60ID:az8MV/pf0 追跡モードボタンを用意した上で、それを押した時に流す動画も同梱しておこう
以後文句が出ることもなくなるはず
以後文句が出ることもなくなるはず
518デフォルトの名無しさん (ワッチョイ 8101-iMS1)
2023/11/01(水) 22:49:46.11ID:TVifX6FS0 ちょっと話ずれるけど、
画面からの登録処理を非同期にしてあるけどその間その画面で他に操作するような用途ない
とかありがち
頑張って進捗報告しても終わったその後は画面閉じるだけならあんまり意味ないよなぁ
画面からの登録処理を非同期にしてあるけどその間その画面で他に操作するような用途ない
とかありがち
頑張って進捗報告しても終わったその後は画面閉じるだけならあんまり意味ないよなぁ
519デフォルトの名無しさん (ワッチョイ 33bd-CP9B)
2023/11/01(水) 23:44:12.35ID:64ol45tY0 待っている間にその画面でミニゲームができるようにしておけ。
520デフォルトの名無しさん (ワッチョイ 616b-hdhi)
2023/11/02(木) 01:02:40.00ID:WZq6ELi/0 登録処理程度なら進捗報告頑張らずにナイトライダーで動いてますよアピールしておけば事足りるだろう
521デフォルトの名無しさん (アウアウウー Sad5-g+2W)
2023/11/02(木) 09:32:02.01ID:kxWwWLf8a >>511
ほんそれ
ほんそれ
522デフォルトの名無しさん (アウアウウー Sad5-g+2W)
2023/11/02(木) 09:37:59.13ID:kxWwWLf8a523デフォルトの名無しさん (アウアウウー Sad5-g+2W)
2023/11/02(木) 09:41:16.63ID:kxWwWLf8a >>468
avg.ConvertTo(avg, MatType.CV_32F); ← これは OpenCV の関数だが
gray.copy().astype("float") ← これは OpenCV ではなく numpy の機能を利用してるはずで高速でもある
もちろんデータの中身は相互に使える前提でやってる
avg.ConvertTo(avg, MatType.CV_32F); ← これは OpenCV の関数だが
gray.copy().astype("float") ← これは OpenCV ではなく numpy の機能を利用してるはずで高速でもある
もちろんデータの中身は相互に使える前提でやってる
524デフォルトの名無しさん (アウアウウー Sad5-g+2W)
2023/11/02(木) 09:42:35.77ID:kxWwWLf8a >>469
COM は泥臭いけど cvMat はスマートだ
COM は泥臭いけど cvMat はスマートだ
525デフォルトの名無しさん (ワッチョイ 0b16-vgKx)
2023/11/02(木) 13:44:36.55ID:1Z+krstx0 c#でxamlの画面を作るときに
cs側の定数を埋め込みたい時ってどうしたらいいですか
例えば
static public class constdata{
public const string hoge_string="hoge.png";
}
と言う定数を作ったときに
xaml側で
<Image Source="hoge.png" />
のhoge.pngをconstdata.hoge_string にしたいとき
後ついでなのですが
定数にするときって
public const string hoge_string="hoge.png";
public static string hoge_string="hoge.png";
のどっちが正しいのでしょう
cs側の定数を埋め込みたい時ってどうしたらいいですか
例えば
static public class constdata{
public const string hoge_string="hoge.png";
}
と言う定数を作ったときに
xaml側で
<Image Source="hoge.png" />
のhoge.pngをconstdata.hoge_string にしたいとき
後ついでなのですが
定数にするときって
public const string hoge_string="hoge.png";
public static string hoge_string="hoge.png";
のどっちが正しいのでしょう
526デフォルトの名無しさん (ワッチョイ eb10-H9h+)
2023/11/02(木) 16:54:53.47ID:bF76OlLL0 定数は上
下は定数じゃなくて静的変数
しかもreadonlyついてないから中身変わる
下は定数じゃなくて静的変数
しかもreadonlyついてないから中身変わる
527デフォルトの名無しさん (ワッチョイ 9b3e-ij9q)
2023/11/02(木) 17:28:53.15ID:qUNY/xJi0 staticプロパティは、そのクラスの名前空間をxmlns:hoge="..."で定義してるとして
<Image Source="{x:Static hoge:constdata.hoge_string}"/>
という風に参照できるが、フィールドとかconstとかはどうだったかな…。
<Image Source="{x:Static hoge:constdata.hoge_string}"/>
という風に参照できるが、フィールドとかconstとかはどうだったかな…。
528デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
2023/11/02(木) 18:35:57.66ID:O0TENg7J0 constも hoge:[クラス名].[const名] で参照できたはず
529デフォルトの名無しさん (ワッチョイ 0b16-vgKx)
2023/11/02(木) 20:05:34.94ID:1Z+krstx0530デフォルトの名無しさん (ワッチョイ eb10-H9h+)
2023/11/02(木) 21:05:57.33ID:bF76OlLL0 「xaml static」でググるだけでも↓とか見つかるよ
https://learn.microsoft.com/ja-jp/dotnet/desktop/xaml-services/xstatic-markup-extension
https://shuhelohelo.hatenablog.com/entry/2019/11/29/001200
https://www.nuits.jp/entry/xaml-static-binding
(すまんがスラッシュは半角に変換してくれ……)
https://learn.microsoft.com/ja-jp/dotnet/desktop/xaml-services/xstatic-markup-extension
https://shuhelohelo.hatenablog.com/entry/2019/11/29/001200
https://www.nuits.jp/entry/xaml-static-binding
(すまんがスラッシュは半角に変換してくれ……)
531デフォルトの名無しさん (ワッチョイ 1b2f-eepm)
2023/11/03(金) 14:30:46.23ID:rKkfliCa0 constはコンパイル時解決
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある
532デフォルトの名無しさん (ワッチョイ 1b2f-eepm)
2023/11/03(金) 14:30:58.24ID:rKkfliCa0 constはコンパイル時解決
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある
533デフォルトの名無しさん (ワッチョイ 5374-OMHE)
2023/11/03(金) 15:44:06.59ID:olK1WazS0 constはコンパイル時解決
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある
534デフォルトの名無しさん (ワッチョイ 5374-OMHE)
2023/11/03(金) 15:44:31.98ID:olK1WazS0 大事なことなので3回言いました。
535デフォルトの名無しさん (ワッチョイ 068b-/9BA)
2023/11/04(土) 16:36:18.05ID:zFKBPz8N0 排他制御のlock()の中って適当なobject型いれていいんですかね
この理屈がいまいち分かりません、おまじないみたいな認識でおkですか?
この理屈がいまいち分かりません、おまじないみたいな認識でおkですか?
536デフォルトの名無しさん (ワッチョイ c2e5-wdyj)
2023/11/04(土) 18:06:17.74ID:Piez7dab0 ダメ
537デフォルトの名無しさん (ワッチョイ 62f5-UfbY)
2023/11/04(土) 18:37:44.75ID:h505bWOx0 プログラムにおまじないなんかねぇーよ
538デフォルトの名無しさん (ワッチョイ 4279-ztC3)
2023/11/04(土) 19:11:44.76ID:W1fOq5zR0 何も判ってないみたいだしマルチスレッド入門サイト的な所か本を一通り読んだ方がいいよ
プラットフォーム毎に少しやり方が違うだけだからC#に限らない
プラットフォーム毎に少しやり方が違うだけだからC#に限らない
539デフォルトの名無しさん (オイコラミネオ MM49-wdyj)
2023/11/04(土) 19:31:09.98ID:RNqT3ZjLM540デフォルトの名無しさん (ワッチョイ 0642-+qK8)
2023/11/04(土) 20:01:30.54ID:hziOgXuw0 おまじないはあるよ
絶対はいらないエラー検査ロジックを書いておくと
修正でミスってもバグらないことがある
絶対はいらないエラー検査ロジックを書いておくと
修正でミスってもバグらないことがある
541デフォルトの名無しさん (ワッチョイ 62f5-UfbY)
2023/11/04(土) 21:05:19.08ID:h505bWOx0 そういうロジックにハイルだけ
ぉ前の知らんとこで入っでるだ
ぉ前の知らんとこで入っでるだ
542デフォルトの名無しさん (ワッチョイ c2e5-wdyj)
2023/11/06(月) 14:35:53.28ID:uDRsGne/0 何人だよお前w
543デフォルトの名無しさん (ワッチョイ dd5f-ZTan)
2023/11/07(火) 14:28:59.04ID:yst4YU0a0 ListboxでCtrl+C押すとCから始まる要素に選択が移るの無効化する方法はありますか?
というかCtrl+任意のアルファベットでそれから始まる要素を順番で選択していくよくわからない仕様
というかCtrl+任意のアルファベットでそれから始まる要素を順番で選択していくよくわからない仕様
544デフォルトの名無しさん (スプッッ Sdc2-hcR4)
2023/11/07(火) 15:25:13.30ID:Pq/Tl9vhd PrviewKeyDownかな
545デフォルトの名無しさん (スププ Sd62-VAE4)
2023/11/07(火) 16:53:35.09ID:XhD41j9dd マルチやめろ
546デフォルトの名無しさん (ワッチョイ dd5f-ZTan)
2023/11/07(火) 21:29:35.15ID:yst4YU0a0 ごめんなさい初心者スレで聞けみたいなのが合ったのでこっちにも質問しました
解決したんですけどもう一つ疑問があってビルドしたときに〇〇.exe.configってファイルができるんですけどこれに個人情報などは含まれたりしないですかね。
publicKeyTokenとか書いてあるんですけど他人に見られても問題ないようなものですか?
解決したんですけどもう一つ疑問があってビルドしたときに〇〇.exe.configってファイルができるんですけどこれに個人情報などは含まれたりしないですかね。
publicKeyTokenとか書いてあるんですけど他人に見られても問題ないようなものですか?
547デフォルトの名無しさん (ワッチョイ 6d09-fzVy)
2023/11/08(水) 12:51:28.99ID:4rFdbjcs0 >>546
脳みその量が足りない人はプログラミングとかしない方が良いと思うよ
脳みその量が足りない人はプログラミングとかしない方が良いと思うよ
548デフォルトの名無しさん (ワッチョイ 0697-/9BA)
2023/11/08(水) 21:55:40.45ID:wPZy88vc0 lockについての質問したやつです
おまじないでないことは漸く理解できました
次なんですが
lockによって排他制御されるものは変数だけですか?
ファイルへのアクセスも排他制御したいです
例えばスレッド2つ走らせてA.txtを同時に読み込もうとしたときに
どっちかのスレッドがリジェクトされたら成功ってな感じにしたいです
どうやって状況つくります?
おまじないでないことは漸く理解できました
次なんですが
lockによって排他制御されるものは変数だけですか?
ファイルへのアクセスも排他制御したいです
例えばスレッド2つ走らせてA.txtを同時に読み込もうとしたときに
どっちかのスレッドがリジェクトされたら成功ってな感じにしたいです
どうやって状況つくります?
549デフォルトの名無しさん (ワッチョイ b1f8-wwCg)
2023/11/08(水) 22:08:02.38ID:/gqdz8KH0 ファイル排他はlookでは無理だねぇ
550デフォルトの名無しさん (ワッチョイ 4279-ztC3)
2023/11/08(水) 22:11:21.15ID:5o5qiXKK0 ほれ
using System;
using System.IO;
using System.Threading;
class Program {
static void ReadFile(string filename) {
int threadId = Thread.CurrentThread.ManagedThreadId;
Console.WriteLine($"Thread {threadId} is reading {filename}");
lock (filename) {
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) {
using (StreamReader reader = new StreamReader(fs)) {
string data = reader.ReadToEnd();
Console.WriteLine($"Thread {threadId} read: {data}");
}
}
}
}
static void Main() {
string filename = "A.txt";
Thread thread1 = new Thread(() => ReadFile(filename));
Thread thread2 = new Thread(() => ReadFile(filename));
thread1.Start();
thread2.Start();
thread1.Join();
thread2.Join();
}
}
using System;
using System.IO;
using System.Threading;
class Program {
static void ReadFile(string filename) {
int threadId = Thread.CurrentThread.ManagedThreadId;
Console.WriteLine($"Thread {threadId} is reading {filename}");
lock (filename) {
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) {
using (StreamReader reader = new StreamReader(fs)) {
string data = reader.ReadToEnd();
Console.WriteLine($"Thread {threadId} read: {data}");
}
}
}
}
static void Main() {
string filename = "A.txt";
Thread thread1 = new Thread(() => ReadFile(filename));
Thread thread2 = new Thread(() => ReadFile(filename));
thread1.Start();
thread2.Start();
thread1.Join();
thread2.Join();
}
}
551デフォルトの名無しさん (ワッチョイ 0621-/9BA)
2023/11/08(水) 22:44:34.72ID:wPZy88vc0 >>550
うんん?どこに仕掛けがあるの
うんん?どこに仕掛けがあるの
552デフォルトの名無しさん (ワッチョイ 4279-ztC3)
2023/11/08(水) 22:57:10.85ID:5o5qiXKK0 知らん眠い
後は自分で直して遊んでね
後は自分で直して遊んでね
553デフォルトの名無しさん (スップ Sd62-uaP8)
2023/11/09(木) 00:12:36.42ID:+ZNjn+w4d 聞く方も答える方も馬鹿
ファイルはそもそも排他機能があるだろ
ファイルはそもそも排他機能があるだろ
554デフォルトの名無しさん (ワッチョイ c2e5-wdyj)
2023/11/09(木) 08:04:59.33ID:oWEPbbig0 おまじないでは無いことが理解できたとしても、結局lockがどういう機能かは全然理解してない感じやな
ファイルアクセスを排他制御したいなら↓使っとけ
FileShare.None指定すれば完全排他だ
File.Open(string path, FileMode mode, FileAccess access FileShare share)
File.Openをnew FileStreamにしても一緒
ファイルアクセスを排他制御したいなら↓使っとけ
FileShare.None指定すれば完全排他だ
File.Open(string path, FileMode mode, FileAccess access FileShare share)
File.Openをnew FileStreamにしても一緒
555デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 11:48:42.57ID:Fo7n9qIpa reject されたら失敗やん?
556デフォルトの名無しさん (ワッチョイ b156-dElW)
2023/11/09(木) 12:00:00.13ID:Qu68QkTK0 1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる理由や状況によってどういうアーキテクチャがいいかは変わる
557デフォルトの名無しさん (ワッチョイ c2e5-wdyj)
2023/11/09(木) 12:54:41.26ID:oWEPbbig0 そもそも「1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる」かどうかわからんのだが
558デフォルトの名無しさん (ワッチョイ c2e5-wdyj)
2023/11/09(木) 12:55:39.07ID:oWEPbbig0 例えばじゃなくて実際どう作ってるのか言ってくれないとなぁ
559デフォルトの名無しさん (ワッチョイ b156-dElW)
2023/11/09(木) 14:28:35.71ID:Qu68QkTK0 > 例えばスレッド2つ走らせてA.txtを同時に読み込もうとしたときに
額面通りに受け取れば「1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる」
まあ本当に解決したい問題と書いてる内容が合ってるとは限らないけどね
額面通りに受け取れば「1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる」
まあ本当に解決したい問題と書いてる内容が合ってるとは限らないけどね
560デフォルトの名無しさん (ワッチョイ 6df0-q0f1)
2023/11/09(木) 14:43:43.38ID:b1R9Hs+L0 ファイル読む分には同時だろうが関係ないよな?
ライブラリがリエントラントになってればだけどw
ライブラリがリエントラントになってればだけどw
561デフォルトの名無しさん (ワッチョイ b1be-dElW)
2023/11/09(木) 16:45:55.75ID:R7Sf/2Of0 ファイルの内容を1度しか処理したくない
みたいな別の理由があるんじゃね?
みたいな別の理由があるんじゃね?
562デフォルトの名無しさん (ワッチョイ d2bd-/9BA)
2023/11/09(木) 18:51:49.12ID:3GBMooqu0 希望の通りに実装したら、同時に読み込もうとしたら後の方は先の読込み結果を返すになる。甘々に希望を読めば。
だけれども、同時でなくて後からもう一回呼んだ場合にはもう一度ファイルを読み込むんだよな。
>>561の通りに一度しか読み込みたくないのかもしれず、後から呼んだ場合には前の結果を
残しておいてそれを使うのがいいケースもあるが、それだとメモリを食い続けるという問題も
あるので、何をしたいか次第だ。
だけれども、同時でなくて後からもう一回呼んだ場合にはもう一度ファイルを読み込むんだよな。
>>561の通りに一度しか読み込みたくないのかもしれず、後から呼んだ場合には前の結果を
残しておいてそれを使うのがいいケースもあるが、それだとメモリを食い続けるという問題も
あるので、何をしたいか次第だ。
563デフォルトの名無しさん (ワッチョイ 2e10-wdyj)
2023/11/09(木) 18:54:11.91ID:dtnjnmBG0 同一プロセス別スレッドで同一ファイルへのアクセスを排他制御したいなら
lockブロックの中にファイル処理入れるしかないんじゃね?
lockブロックの中にファイル処理入れるしかないんじゃね?
564デフォルトの名無しさん (ワッチョイ 2e10-wdyj)
2023/11/09(木) 18:55:43.66ID:dtnjnmBG0565デフォルトの名無しさん (ワッチョイ 62f5-UfbY)
2023/11/09(木) 18:57:46.82ID:Mwi0lSOi0 まあ普通はファイル自体はロックしないで
レコードロックじゃね
レコードロックじゃね
566デフォルトの名無しさん (オイコラミネオ MM49-wdyj)
2023/11/09(木) 19:01:49.30ID:RZ9WOZDMM 550は全く実用的ではないけどまあそのうち気が付くんだろうな・・・
567デフォルトの名無しさん (ワッチョイ 4d42-+qK8)
2023/11/09(木) 19:29:43.00ID:yc1G0XhC0 俺ならファイルを読み込むスレッドを一つにして、ひたすらqueueなどに積んで
処理用のたくさんのスレッドでそれを個別に読み込み処理なんて考えるな
ファイル読み込み部分を並列処理してもトラブルが出るだけでろくなことにならない
処理用のたくさんのスレッドでそれを個別に読み込み処理なんて考えるな
ファイル読み込み部分を並列処理してもトラブルが出るだけでろくなことにならない
568デフォルトの名無しさん (オイコラミネオ MM49-wdyj)
2023/11/09(木) 19:34:43.74ID:RZ9WOZDMM 一応書いておくけど~
文字列でlockするのは全くおすすめできない
なぜならデッドロックの恐れがあるから
それとパスを使うなんて論外だな
文字列でlockするのは全くおすすめできない
なぜならデッドロックの恐れがあるから
それとパスを使うなんて論外だな
569デフォルトの名無しさん (ワッチョイ 4279-ztC3)
2023/11/09(木) 20:53:01.49ID:qzya0pVE0 一体いつから正解が貼られると錯覚していた?と続けようとしたら眠くなっただけだからね
あー釣れた釣れた
あー釣れた釣れた
■ このスレッドは過去ログ倉庫に格納されています
