ふらっと C#,C♯,C#(初心者用) Part159at TECH
ふらっと C#,C♯,C#(初心者用) Part159 - 暇つぶし2ch434:jや城の良さをプレゼンされても全然入ってこない



435:デフォルトの名無しさん
23/10/14 12:06:37.52 x03gZ5vca.net
>>420
掌田津耶乃はNGワードに入れてる

436:デフォルトの名無しさん
23/10/14 12:07:19.53 x03gZ5vca.net
あれ?アンカ間違った
>>421
掌田津耶乃はNGワードに入れてる

437:デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
23/10/14 14:03:24.13 eUQTPEKE0.net
>>429
テトリスってことは難めの非同期とかも理解してるってことだよな
ブロックの回転とか難しそうだしマニアックな文法も理解してそうだ
人生余裕なんだろうな

438:デフォルトの名無しさん (ワッチョイ 315f-iZeJ)
23/10/14 14:48:41.51 XZPKtcR/0.net
入門がてら、はじめて自作のWindowsフォームソフト(ストップウォッチ)を作りました。
今後もC#の学習を続けてもっと技術を身につけたらこのソフトも機能追加して改善していくつもりです。

そこでお聞きしたいのですが、VisualC#において、バージョン番号の管理ってできないでしょうか?
現在は、何か手を加えるたびに、アップデート記録.csファイルに変更点をコメントで記述し、メインフォームに
あるラベルコントロールのテキストを「ver.1.00」から「ver.1.01」へ等と手で書き換えています。
なんとなくの想像ですが、「いまのバージョン番号」「前バージョンからの変更点」を記録しておく仕組みが
VisualStudioかVisualC#にはあるのではないかと思うのですがいかがでしょうか?
プロの人も私と同じように手作業でやってるとは思えないのですが。

439:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 15:51:21.57 VHbVocpfM.net
プロの人は仕様書に書かれたのを手で更新してると思うw

ソースコード自体のバージョン管理はgit
変更はこれでさかのぼれる

その他にバージョンの番号の仕組みはあるにはあるけどバージョン管理とは言うもののそれは実際何なのかと言うことになる
そこの入り口を通ってないと仕組みを知ってもあまり活用できない

ドボンと言うサイトにも書いてあるけどじゃあ理解されるのか使われるのかと言うと疑問
個人では日付管理レベルぐらいじゃないかと

440:デフォルトの名無しさん (アウアウエー Sae3-J6+P)
23/10/14 16:03:02.60 zTCJ5Aqla.net
バージョン番号(ビルド番号)を自動設定したいなら、プロジェクトの設定でビルド時に実行できるコマンドを設定できるから
そこに「テキストファイルから数値読み込んでその数値をひとつずつ大きくして上書きする」コマンドラインツールを自作して設定しとけばいい
そしたらビルドするたびにそのツールが実行されて勝手にビルド番号が上がってく
ストップウォッチでは起動時のそのテキストファイルを読み込んで数値を表示するようにしときゃいい

441:デフォルトの名無しさん (ワッチョイ 392f-wwqB)
23/10/14 17:05:06.76 QqyzTN0i0.net
>>433
実行モジュールのバージョン管理とソースコードのバージョン管理がごっちゃになってるようだから
まずそこを区別して考えよう

442:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:07:01.90 VHbVocpfM.net
>>427
マジレスするとテトリスはもう使い古されてて
数年前にはyoutubeで1時間でテトリス作ります見たいなのが溢れてた
それを追えば普通に同じものは出来る

それは確かcだったけどC#のも探せばあるだろう
どちらかと言うとそこがスタートラインかな
まともに完成品をコピー出来ることが重要

ライブコーディングが流行ってた時期はもう過ぎてるけどゲーム制作の需要はまだ続いてる

443:デフォルトの名無しさん (ワッチョイ 8b10-pCU2)
23/10/14 21:14:29.46 UlVPgub+0.net
高速コピーすれば理解できるわけじゃないけどな

444:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:20:50.18 VHbVocpfM.net
自分が大学に入った際に実習室の脇に置いてあったDOSマシーンに先輩の作ったテトリスが入ってた
それは普通のレベルだったけどコマが6角形になった奴も作ってた
誰かの作ったものを自力で作り直したらしいけど難しすぎて全然面白くなかった
完成度は以上に高かったが独自ルールが入っててそれが余計に邪魔だった

やれる人は一度進むとどこまでも自力で突き進める
他人に頼らない

445:デフォルトの名無しさん (スップ Sd73-YgdQ)
23/10/14 21:24:46.58 abaBOYXtd.net
テトリスが使い古されてるかどうかはそれを作れる小学生が有望かどうかには関係ないわな

446:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:31:03.53 VHbVocpfM.net
事実として誰にでもテトリスはコピーはできる
その事実を知らないでそこだけを見て有望だと早とちりしたらかわいそうじゃないか

447:デフォルトの名無しさん (アウアウエー Sae3-J6+P)
23/10/14 21:37:50.07 zTCJ5Aqla.net
使い古されたアイデアのテトリスだろうとできたならそれはすごい
さらにきちんと配布できる形式までもっていって他人がプレイしてるなら神だよ
妄想するだけで出きる気になってるだけの奴がほとんどだからな

448:デフォルトの名無しさん (スップ Sd73-YgdQ)
23/10/14 21:38:29.71 abaBOYXtd.net
重要なのはコピーできるかどうかじゃなくて実際にコピーしたかどうかやろ

449:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:40:24.49 VHbVocpfM.net
当人の作りたいものがテトリスならまあなんとなく理解出来るけど
今どきの小学生がテトリスを自発的に作りたいと思うかどうかは謎

450:デフォルトの名無しさん (ワッチョイ b3bd-AzOG)
23/10/14 21:42:41.20 eGjaQVx20.net
スイカゲームを作ろう。

451:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:46:07.15 VHbVocpfM.net
テトリスの横幅を60マスぐらいにしたりなどアイデアはいろいろ出てくるはず
そこらへんがまずスタート+0.5ぐらい

自分らの世代は小学生のころからハンドアセンブルしてVRAMいじってたけどそういうのとは世界が違う
早ければ偉いと言うものでもないしマイペースでやればいい

452:デフォルトの名無しさん (スップ Sd73-YgdQ)
23/10/14 21:59:46.82 abaBOYXtd.net
オイコラはとにかく自分の昔話自慢話をしないと気がすまないのな

453:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 22:02:18.89 VHbVocpfM.net
脳は使わないと衰える
使えよお前も

454:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 22:04:52.58 VHbVocpfM.net
ゲーム作るんならリアルタイム要素の少ないパズドラとかカードゲームとかみたいな今のソシャゲ的なものを作るほうが楽だし
面白味がある

それじゃなくてテトリス
何か答えは出てるだろ?

455:デフォルトの名無しさん (スップ Sd73-YgdQ)
23/10/14 22:06:17.01 abaBOYXtd.net
>>448
それで何か言い返したつもりなの?

456:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 22:08:12.62 VHbVocpfM.net
だから脳は使うものだと…

457:デフォルトの名無しさん (スップ Sd73-YgdQ)
23/10/14 22:11:16.66 abaBOYXtd.net
脳を使って出てくるのがオレスゲーばっかの人よりはマシなのよ

458:デフォルトの名無しさん (ワッチョイ d1ff-Fhx2)
23/10/14 22:28:26.27 Wcju1f810.net
C#で初めて作ったのがISBN変換機という誰得なアプリ。
電卓のフォームにISBN13を打ち込んだらISBN10に変換してくれるだけ。

459:デフォルトの名無しさん (ワッチョイ 4901-ZsDs)
23/10/14 23:07:53.04 8UeeWOHx0.net
>>453
それが自分の実用ニーズを満たしていたのならテトリスより何百倍もいいと思うぞ

460:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 23:12:54.96 VHbVocpfM.net
自分もそう思う
自分の作りたいものを作れる能力だけが必要なのでプログラムは非常にハードルが低い
配列すら使えなくても問題ないと言うか最近は旧来の配列をそのまま使ってる人は少ない

461:433 (ワッチョイ 315f-iZeJ)
23/10/15 00:06:47.24 lg0OQoNW0.net
>>434-436
ありがとうございました。
私の想像してるようなもの(バージョン登録フォームのような機能)はないのですね。
とりあえず今までのやり方を続け、上級者の方法を知ることができればそれをマネすることとします。

462:デフォルトの名無しさん
23/10/15 01:27:35.26 vJVqhjXx0.net
>>456
己の道を突き進む前にせめてこのへんは目を通してみて
URLリンク(araramistudio.jimdo.com)
URLリンク(helve-blog.com)

463:デフォルトの名無しさん (ワッチョイ 315f-iZeJ)
23/10/17 19:50:26.90 MR10mjT/0.net
>>457
ぴったり自分の知りたかったことでした!ありがとうございます!!

464:デフォルトの名無しさん
23/10/26 11:39:53.77 hbOK49Zj0.net
class A : B { }
public Fuga( List<B> hogeList ) { }

List<A> hogeList = new();
Fuga( hogeList );
と呼び出そうとすると型が変換できないコンパイルエラーになるんですが、何故?
Fugaの中ではクラスBの値しか使わないです

465:デフォルトの名無しさん
23/10/26 11:55:26.59 54WAJ7qI0.net
Fugaが内部でこういうことやるかもしれないじゃん?
hogeList.Add(new C());
// class C : B {}
Fugaが読み取りしかしないならIReadOnlyList<B>を使うという方法がある

466:デフォルトの名無しさん
23/10/26 12:09:16.76 5lqk6WWS0.net
>>453
むしろ変換できるって初めて知った

467:デフォルトの名無しさん
23/10/26 12:46:04.83 hbOK49Zj0.net
>>460
なるほど、確かに。
ありがとうございました。

468:デフォルトの名無しさん (ワッチョイ fae5-JD/u)
23/10/27 09:13:10.14 4nGOHp4Z0.net
>>459
public Fuga<T>(List<T> hogeList) where T : B {}
こうするとか

469:デフォルトの名無しさん
23/10/27 10:15:54.51 nBxrDXuS0.net
なぜ基底クラスの方を使う
基底クラスの操作は基底クラスに書きやがれ

470:デフォルトの名無しさん
23/10/27 10:38:48.98 4nGOHp4Z0.net
件の関数が派生クラスに書かれているかどうか明記されてないし

471:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/10/28 10:34:16.28 Wr7RJXLy0.net
OpenCVSharpを使い始めたんだが思いの他情報が少なくてつらいな
chatGPTを叱り付けながらpythonのコードから変換してる
コードが正しいんだか判らないからpythonてうんこ環境も結局入れる羽目になってる
うんこー

472:デフォルトの名無しさん (ワッチョイ 5101-LiJd)
23/10/28 11:04:10.33 LbOhwKX60.net
OpenCVSharpてのがラッパーとして定番なら使いやすくできてるのだろう
昔同様にopenCLラッパーを使ったが、良く出来てるなと思った(オレには作れん)
CPUとGPUに同じソース書けて、同時に全開で使うのは脳汁でたわ

473:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/10/28 11:11:57.05 Wr7RJXLy0.net
pythnから置き換える中でしばらくこの行が何をしてるのか意味不明だったのだが
avg = gray.copy().astype("float")
C#ではこういうことらしい
avg = gray.Clone();
avg.ConvertTo(avg, MatType.CV_32F);
この辺りいくらぐぐっても全く出てこないのでC#でOpenCV始めようとする俺みたいな馬鹿は参考にするように

474:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/10/28 11:14:57.25 Wr7RJXLy0.net
どうやらOpenCVではMatがCOMで言うVARIANTみたいな全知全能型らしい
つまりCOMみたいな泥臭い動的型変換を割と頻繁にやらされるうんこライブラリみたいね

475:デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
23/10/28 11:32:14.34 5r3ES/EEM.net
OpenCVを語りたいならC++の方からアプローチして何を考えて作られたのか理解したほうがいい
pythonだと曖昧で魔法的に見えるだけ

Matも納得できるだろう
何が必要とされてそのようになったのか理解も進むと思う
そして二度と上のようなカキコはしなくなると思われる

476:デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
23/10/28 11:49:26.77 5r3ES/EEM.net
入門者にこんなことを言ってもい意味がないけど

高級言語でしか考えられなくなると
単純なメモリ構造やアセンブラレベルでの高速動作へのノウハウなどへの理解が低下する
何が要求されているかの思いが至らず狭い世界での物差しで全てを測ろうとしてしまう

それが絶対的に悪いと言うことではないがこれから世界を知ろうとするなら人間的に損だと思う

477:デフォルトの名無しさん (スップ Sd73-hjvO)
23/10/28 11:57:59.55 Q5mUhCaNd.net
またおじいちゃんのピンボケ説教が始まった

478:デフォルトの名無しさん (ワッチョイ 1bbc-H9h+)
23/10/28 12:01:21.10 sHjfoUv70.net
この視点は必要だと思うけれど。

479:デフォルトの名無しさん (スップ Sd73-hjvO)
23/10/28 12:08:36.36 Q5mUhCaNd.net
不要だとは言ってないよ?
ピンボケだと言ってるだけ

480:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/10/28 12:23:05.53 Wr7RJXLy0.net
>>470-471
損得の観点が違うな
OpenCVでpython(以降うんこ)が使われてるのはOpenCV自体が十分速いからだな
でうんこ使ってるやつはOpenCVの中で何が起きてるかなんてどうでもいい
俺がC#でやり始めた理由はうんこを入れる必要が無くて孤立したうんこよりもWindowsではだいぶ楽できるなと踏んだからだ
まあ検証のために一時的にうんこ入れたけど慣れたらうんこなんて不要になると考えてる
ああ、C++には一切興味無いから本スレで存分に語りなよ

481:デフォルトの名無しさん (ワッチョイ eb10-yv/+)
23/10/28 12:50:06.14 Se05+6CE0.net
公式にサポートしてないC#を使って公式にサポートしてるpythonを落とすやつ…
URLリンク(www.klv.co.jp)

482:デフォルトの名無しさん (ワッチョイ 33bd-CP9B)
23/10/28 13:53:54.87 wwtVontY0.net
5年くらい前にOpenCVSharpを使ったけど、使いやすかったな。
WEBカメラの動画表示とキャプチャくらいしかしてないけど。

483:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/10/28 14:15:21.84 Wr7RJXLy0.net
>>476
公式サポートがうんこみたいなラインナップなのは知ってる
そしてここはC#スレね

484:デフォルトの名無しさん (ワッチョイ eb10-yv/+)
23/10/28 14:17:52.54 Se05+6CE0.net
>>478
そしてここは初心者スレ

485:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/10/28 14:25:16.30 Wr7RJXLy0.net
>>479
初心者ワードは荒れる元だから空気読んでわざわざ避けてた俺の気遣いを無駄にしたな
過去ログでも読んで反省してこい

486:デフォルトの名無しさん (ワッチョイ eb10-yv/+)
23/10/28 15:28:56.35 Se05+6CE0.net
>>480
なにこの俺ルール
気遣い(笑)
じゃあ最初からこのスレに来るな

487:デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
23/10/28 16:41:40.98 9hkTJ9Z90.net
そう、C#スレかつ初心者スレ、OpenCVスレではない

488:デフォルトの名無しさん (アウアウエー Sa23-HPAJ)
23/10/28 17:13:29.55 VEuygnOSa.net
自治中うざ
opencv/pyathonならスレチだけど
opencv/c#なら別にいいだろ。opencvネタでスレ埋まる勢いならどっか行けって感じだけどさ

489:デフォルトの名無しさん (スプッッ Sd73-7IV3)
23/10/28 18:54:33.76 hqVJRLxwd.net
大好きなうんこワードがアレルゲン

490:デフォルトの名無しさん
23/10/28 19:31:43.92 R/03Lugt0.net
pyathon
ぴゃそん!

491:デフォルトの名無しさん
23/10/28 19:48:40.91 hfV6FxbxM.net
openCVの元になったSPIDERのver1はVAX FORTRANで実装されている。
そこまで戻る?😅

492:デフォルトの名無しさん
23/10/28 19:57:30.47 5r3ES/EEM.net
> OpenCVSharpを使い始めたんだが思いの他情報が少なくてつらいな
> chatGPTを叱り付けながらpythonのコードから変換してる
このあたりから加齢臭がするから初心者でも知ったような口を利くジジイなんだろうなw

493:デフォルトの名無しさん
23/10/28 20:26:07.01 cD9jg3Vs0.net
お爺ちゃんから加齢臭言われてて草

494:デフォルトの名無しさん
23/10/28 20:54:21.57 +siiqQCh0.net
今日はカレー食べて良いって聞いてきた

495:デフォルトの名無しさん
23/10/29 04:07:56.42 qLQkMhra0.net
ちょこっとExcelのファイル読むためにCloseXml入れたら
exeフォルダにアホみたいにdll置かれて吐きそうになった

496:デフォルトの名無しさん (ワッチョイ eb10-H9h+)
23/10/29 08:05:44.72 U4tz9u7X0.net
Excelのファイルとか、Zip解凍して中見ればよくね

497:デフォルトの名無しさん
23/10/30 01:37:09.90 2YMOstZ/0.net
>>478
うんこでも漏らしたのか?

498:デフォルトの名無しさん
23/10/30 19:54:00.78 sJLYeqSha.net
ナイトライダーみたいなプログレスバーってどうやって作るの?

499:デフォルトの名無しさん (ワッチョイ 8978-vgKx)
23/10/30 22:25:37.91 WdZXFUgO0.net
>>493
URLリンク(dobon.net)

500:デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
23/10/31 08:36:18.12 uBGe6XWc0.net
もし往復させたい方なら、自分で描け

501:デフォルトの名無しさん (アウアウエー Sa23-c8RC)
23/10/31 09:11:22.59 A/eQJHdaa.net
できた

502:デフォルトの名無しさん
23/11/01 02:12:45.08 tzHICVYNd.net
こういうアニメーションに凝りだすと夢中になって本業を忘れる

503:デフォルトの名無しさん
23/11/01 08:02:21.06 c2Ch+IZA0.net
わたしも画像編集でPhotoShopに凝りだすと夢中になって本業を忘れる

504:デフォルトの名無しさん
23/11/01 08:17:23.82 uY4c0qsQ0.net
>>497
こだわって時間掛けた物ほどユーザから邪魔とかもっとスッキリさせてと言われるんだよねw

505:デフォルトの名無しさん
23/11/01 10:47:07.49 FsETBNtv0.net
あるあるww

506:デフォルトの名無しさん
23/11/01 10:54:49.35 WpcHr6kk0.net
注文内容の9割が見た目だからデザインに凝るのは悪いことではない
ただしデザインセンスとプログラミングの技量は別物、両方持ってる人はごくわずか
例えば警告にColors.RedやMessageBoxを使っちゃう人は絶望的に足りてないので、素直にコンポーネント屋から買ってきた方がいい

507:デフォルトの名無しさん
23/11/01 11:33:32.33 kzDrlSAv0.net
凝ってみるのはアルアルだろ
(パパッと仕上げてしまう人とか特に)
凝っても時間のムダだなとやってみてわかることもある

508:デフォルトの名無しさん
23/11/01 11:44:46.59 r0MV67Oa0.net
プログレスバーの話題って最近別のとこでも見た気がするな
長時間掛かる事が予測可能な処理で使う分には便利には違いないから
パーセンテージやタスク数で進捗視認できる手段は用意した方がいいだろうね
ナイトライダーは俺や客を怒らせるぐらいの効果しか期待できないから注意した方がいい

509:デフォルトの名無しさん (ワッチョイ 199f-CP9B)
23/11/01 12:36:46.89 eYGfI0F50.net
0%...1%...のまま長時間待たされていきなり99%になるやつか

510:デフォルトの名無しさん (ワッチョイ 215f-OpKz)
23/11/01 13:47:15.73 nOPPTWkh0.net
「デザイン」という言葉を「外観や視覚要素を指す表現」として用いるおじさん

511:デフォルトの名無しさん (ワッチョイ 19ae-zW/F)
23/11/01 14:13:09.44 KHH8FqfT0.net
「プログレスバーの進捗を正確にしてくれ」というオーダーは良く聞くな

512:デフォルトの名無しさん (ラクッペペ MM8b-8VXL)
23/11/01 14:49:14.25 w6vqB0t/M.net
言われなくてもやれよ

513:デフォルトの名無しさん (ワッチョイ 1379-JwVi)
23/11/01 14:56:29.53 r0MV67Oa0.net
俺が遊んでたソシャゲのアップデートはパーセンテージで小数点第二位まで出して糞でかいアップデートでもちびちび進んで判りやすかったから
多少速度を犠牲にしても1万ぐらいの解像度で進捗出てくれば良い感じに見えるんじゃねえかな

514:デフォルトの名無しさん
23/11/01 18:10:47.25 i3Lw7J6rd.net
仕事量を進捗にしつつ、時間を予測
じゃダメなのか

515:デフォルトの名無しさん
23/11/01 19:47:38.04 gNV0JjwF0.net
>>506
「一番遅く計測した値をちょっとかさ増しして、普通にすすめるか。時間足りなかったらフリーズしたことにして、再起動させることにしよ」

516:デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
23/11/01 21:04:31.75 e0PJZdQsM.net
MSの場合100%超えても続いてるのが頭にくる
100% = 終わってると思うんだけど

517:デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
23/11/01 21:11:50.04 e0PJZdQsM.net
話をもどそう
昔いくつか論文を読んだけど単純に活用できそうな例はあまりなかった

プログレスバーの進捗状況は時間とは限らないので
ファイル読み込みながら処理してる場合はファイルの読み込んだ位置で出してる(MSもこの方式なのかもなあ…)

データの内容で処理時間に偏りがある場合は時間と捉えてる人はイライラするんだろう
でも完全に予測不能だから仕方がない

518:デフォルトの名無しさん (スッップ Sd33-hjvO)
23/11/01 21:30:40.26 8Rtg2gaed.net
おじいちゃん論文とか言い出しちゃったよ

519:デフォルトの名無しさん (ワッチョイ 9b42-2DB6)
23/11/01 21:36:12.10 2ai15zcw0.net
こっちの本音はナイトライダーにしてスピード上げる方に力を入れたいだわな

520:デフォルトの名無しさん (オイコラミネオ MM6d-H9h+)
23/11/01 21:41:59.26 e0PJZdQsM.net
パターンがある場合はデータをもってヒューリスティックに%出すことも出来るけど
まあその場合も完全ではないので最終的にかなりずれてたら利用者も不満に思うわな

521:mdysdev ◆XSDsAilQpD0E (ワッチョイ 1bda-E3Tq)
23/11/01 21:55:26.88 9U3nJwO/0.net
「ヒュンヒュン」いうサウンドファイルまでつけて配布バイナリのサイズアップもしておきました。

522:デフォルトの名無しさん (ワッチョイ 13cb-OpKz)
23/11/01 22:08:52.60 az8MV/pf0.net
追跡モードボタンを用意した上で、それを押した時に流す動画も同梱しておこう
以後文句が出ることもなくなるはず

523:デフォルトの名無しさん
23/11/01 22:49:46.11 TVifX6FS0.net
ちょっと話ずれるけど、
画面からの登録処理を非同期にしてあるけどその間その画面で他に操作するような用途ない
とかありがち
頑張って進捗報告しても終わったその後は画面閉じるだけならあんまり意味ないよなぁ

524:デフォルトの名無しさん (ワッチョイ 33bd-CP9B)
23/11/01 23:44:12.35 64ol45tY0.net
待っている間にその画面でミニゲームができるようにしておけ。

525:デフォルトの名無しさん
23/11/02 01:02:40.00 WZq6ELi/0.net
登録処理程度なら進捗報告頑張らずにナイトライダーで動いてますよアピールしておけば事足りるだろう

526:デフォルトの名無しさん
23/11/02 09:32:02.01 kxWwWLf8a.net
>>511
ほんそれ

527:デフォルトの名無しさん
23/11/02 09:37:59.13 kxWwWLf8a.net
>>466
chatGPTは
OpenCVSharpで描かれたサンプルと
Pythonのcv2とかで描かれたサンプルと
C++で描かれたサンプルを
それぞれ区別出来ていると思うか?

528:デフォルトの名無しさん
23/11/02 09:41:16.63 kxWwWLf8a.net
>>468
avg.ConvertTo(avg, MatType.CV_32F); ← これは OpenCV の関数だが
gray.copy().astype("float") ← これは OpenCV ではなく numpy の機能を利用してるはずで高速でもある
もちろんデータの中身は相互に使える前提でやってる

529:デフォルトの名無しさん
23/11/02 09:42:35.77 kxWwWLf8a.net
>>469
COM は泥臭いけど cvMat はスマートだ

530:デフォルトの名無しさん
23/11/02 13:44:36.55 1Z+krstx0.net
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";
のどっちが正しいのでしょう

531:デフォルトの名無しさん (ワッチョイ eb10-H9h+)
23/11/02 16:54:53.47 bF76OlLL0.net
定数は上
下は定数じゃなくて静的変数
しかもreadonlyついてないから中身変わる

532:デフォルトの名無しさん (ワッチョイ 9b3e-ij9q)
23/11/02 17:28:53.15 qUNY/xJi0.net
staticプロパティは、そのクラスの名前空間をxmlns:hoge="..."で定義してるとして
<Image Source="{x:Static hoge:constdata.hoge_string}"/>
という風に参照できるが、フィールドとかconstとかはどうだったかな…。

533:デフォルトの名無しさん (ワッチョイ 13e5-H9h+)
23/11/02 18:35:57.66 O0TENg7J0.net
constも hoge:[クラス名].[const名] で参照できたはず

534:デフォルトの名無しさん
23/11/02 20:05:34.94 1Z+krstx0.net
>>526-528
ありがとうございます。
上手く行きました
"{x:Static hoge:constdata.hoge_string}"
こういう書式ってどこで勉強したらいいのでしょう

535:デフォルトの名無しさん (ワッチョイ eb10-H9h+)
23/11/02 21:05:57.33 bF76OlLL0.net
「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

(すまんがスラッシュは半角に変換してくれ……)

536:デフォルトの名無しさん
23/11/03 14:30:46.23 rKkfliCa0.net
constはコンパイル時解決
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある

537:デフォルトの名無しさん
23/11/03 14:30:58.24 rKkfliCa0.net
constはコンパイル時解決
readonlytついてても変数は実行時解決
xamlは知らんが、dllとか作ると問題になるときがある

538:デフォルトの名無しさん (ワッチョイ 5374-OMHE)
23/11/03 15:44:06.59 olK1WazS0.net
constはコンパイル時解決
readonlytついてても変数は実行時解決

xamlは知らんが、dllとか作ると問題になるときがある

539:デフォルトの名無しさん (ワッチョイ 5374-OMHE)
23/11/03 15:44:31.98 olK1WazS0.net
大事なことなので3回言いました。

540:デフォルトの名無しさん
23/11/04 16:36:18.05 zFKBPz8N0.net
排他制御のlock()の中って適当なobject型いれていいんですかね
この理屈がいまいち分かりません、おまじないみたいな認識でおkですか?

541:デフォルトの名無しさん (ワッチョイ c2e5-wdyj)
23/11/04 18:06:17.74 Piez7dab0.net
ダメ

542:デフォルトの名無しさん (ワッチョイ 62f5-UfbY)
23/11/04 18:37:44.75 h505bWOx0.net
プログラムにおまじないなんかねぇーよ

543:デフォルトの名無しさん (ワッチョイ 4279-ztC3)
23/11/04 19:11:44.76 W1fOq5zR0.net
何も判ってないみたいだしマルチスレッド入門サイト的な所か本を一通り読んだ方がいいよ
プラットフォーム毎に少しやり方が違うだけだからC#に限らない

544:デフォルトの名無しさん (オイコラミネオ MM49-wdyj)
23/11/04 19:31:09.98 RNqT3ZjLM.net
>>535
入り口で番号提示して入場しようとすると番号当り一人しか入れない仕組み
objectのアドレスが番号になってるぐらいに考えて…

545:デフォルトの名無しさん (ワッチョイ 0642-+qK8)
23/11/04 20:01:30.54 hziOgXuw0.net
おまじないはあるよ
絶対はいらないエラー検査ロジックを書いておくと
修正でミスってもバグらないことがある

546:デフォルトの名無しさん
23/11/04 21:05:19.08 h505bWOx0.net
そういうロジックにハイルだけ
ぉ前の知らんとこで入っでるだ

547:デフォルトの名無しさん
23/11/06 14:35:53.28 uDRsGne/0.net
何人だよお前w

548:デフォルトの名無しさん
23/11/07 14:28:59.04 yst4YU0a0.net
ListboxでCtrl+C押すとCから始まる要素に選択が移るの無効化する方法はありますか?
というかCtrl+任意のアルファベットでそれから始まる要素を順番で選択していくよくわからない仕様

549:デフォルトの名無しさん
23/11/07 15:25:13.30 Pq/Tl9vhd.net
PrviewKeyDownかな

550:デフォルトの名無しさん (スププ Sd62-VAE4)
23/11/07 16:53:35.09 XhD41j9dd.net
マルチやめろ

551:デフォルトの名無しさん
23/11/07 21:29:35.15 yst4YU0a0.net
ごめんなさい初心者スレで聞けみたいなのが合ったのでこっちにも質問しました
解決したんですけどもう一つ疑問があってビルドしたときに〇〇.exe.configってファイルができるんですけどこれに個人情報などは含まれたりしないですかね。
publicKeyTokenとか書いてあるんですけど他人に見られても問題ないようなものですか?

552:デフォルトの名無しさん (ワッチョイ 6d09-fzVy)
23/11/08 12:51:28.99 4rFdbjcs0.net
>>546
脳みその量が足りない人はプログラミングとかしない方が良いと思うよ

553:デフォルトの名無しさん
23/11/08 21:55:40.45 wPZy88vc0.net
lockについての質問したやつです
おまじないでないことは漸く理解できました
次なんですが
lockによって排他制御されるものは変数だけですか?
ファイルへのアクセスも排他制御したいです
例えばスレッド2つ走らせてA.txtを同時に読み込もうとしたときに
どっちかのスレッドがリジェクトされたら成功ってな感じにしたいです
どうやって状況つくります?

554:デフォルトの名無しさん
23/11/08 22:08:02.38 /gqdz8KH0.net
ファイル排他はlookでは無理だねぇ

555:デフォルトの名無しさん
23/11/08 22:11:21.15 5o5qiXKK0.net
ほれ
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();
}
}

556:デフォルトの名無しさん
23/11/08 22:44:34.72 wPZy88vc0.net
>>550
うんん?どこに仕掛けがあるの

557:デフォルトの名無しさん
23/11/08 22:57:10.85 5o5qiXKK0.net
知らん眠い
後は自分で直して遊んでね

558:デフォルトの名無しさん (スップ Sd62-uaP8)
23/11/09 00:12:36.42 +ZNjn+w4d.net
聞く方も答える方も馬鹿
ファイルはそもそも排他機能があるだろ

559:デフォルトの名無しさん
23/11/09 08:04:59.33 oWEPbbig0.net
おまじないでは無いことが理解できたとしても、結局lockがどういう機能かは全然理解してない感じやな
ファイルアクセスを排他制御したいなら↓使っとけ
FileShare.None指定すれば完全排他だ
File.Open(string path, FileMode mode, FileAccess access FileShare share)
File.Openをnew FileStreamにしても一緒

560:デフォルトの名無しさん
23/11/09 11:48:42.57 Fo7n9qIpa.net
reject されたら失敗やん?

561:デフォルトの名無しさん
23/11/09 12:00:00.13 Qu68QkTK0.net
1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる理由や状況によってどういうアーキテクチャがいいかは変わる

562:デフォルトの名無しさん
23/11/09 12:54:41.26 oWEPbbig0.net
そもそも「1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる」かどうかわからんのだが

563:デフォルトの名無しさん
23/11/09 12:55:39.07 oWEPbbig0.net
例�


564:ヲばじゃなくて実際どう作ってるのか言ってくれないとなぁ



565:デフォルトの名無しさん
23/11/09 14:28:35.71 Qu68QkTK0.net
> 例えばスレッド2つ走らせてA.txtを同時に読み込もうとしたときに
額面通りに受け取れば「1つのプログラムの複数スレッドで同時に1つのファイルを読み込もうとしてる」
まあ本当に解決したい問題と書いてる内容が合ってるとは限らないけどね

566:デフォルトの名無しさん (ワッチョイ 6df0-q0f1)
23/11/09 14:43:43.38 b1R9Hs+L0.net
ファイル読む分には同時だろうが関係ないよな?
ライブラリがリエントラントになってればだけどw

567:デフォルトの名無しさん
23/11/09 16:45:55.75 R7Sf/2Of0.net
ファイルの内容を1度しか処理したくない
みたいな別の理由があるんじゃね?

568:デフォルトの名無しさん (ワッチョイ d2bd-/9BA)
23/11/09 18:51:49.12 3GBMooqu0.net
希望の通りに実装したら、同時に読み込もうとしたら後の方は先の読込み結果を返すになる。甘々に希望を読めば。
だけれども、同時でなくて後からもう一回呼んだ場合にはもう一度ファイルを読み込むんだよな。
>>561の通りに一度しか読み込みたくないのかもしれず、後から呼んだ場合には前の結果を
残しておいてそれを使うのがいいケースもあるが、それだとメモリを食い続けるという問題も
あるので、何をしたいか次第だ。

569:デフォルトの名無しさん (ワッチョイ 2e10-wdyj)
23/11/09 18:54:11.91 dtnjnmBG0.net
同一プロセス別スレッドで同一ファイルへのアクセスを排他制御したいなら
lockブロックの中にファイル処理入れるしかないんじゃね?

570:デフォルトの名無しさん (ワッチョイ 2e10-wdyj)
23/11/09 18:55:43.66 dtnjnmBG0.net
>>550に対して>>551みたいな反応するようじゃ、危なすぎてまだ早いって言いたくなるけど

571:デフォルトの名無しさん (ワッチョイ 62f5-UfbY)
23/11/09 18:57:46.82 Mwi0lSOi0.net
まあ普通はファイル自体はロックしないで
レコードロックじゃね

572:デフォルトの名無しさん (オイコラミネオ MM49-wdyj)
23/11/09 19:01:49.30 RZ9WOZDMM.net
550は全く実用的ではないけどまあそのうち気が付くんだろうな・・・

573:デフォルトの名無しさん (ワッチョイ 4d42-+qK8)
23/11/09 19:29:43.00 yc1G0XhC0.net
俺ならファイルを読み込むスレッドを一つにして、ひたすらqueueなどに積んで
処理用のたくさんのスレッドでそれを個別に読み込み処理なんて考えるな
ファイル読み込み部分を並列処理してもトラブルが出るだけでろくなことにならない

574:デフォルトの名無しさん (オイコラミネオ MM49-wdyj)
23/11/09 19:34:43.74 RZ9WOZDMM.net
一応書いておくけど~
文字列でlockするのは全くおすすめできない
なぜならデッドロックの恐れがあるから

それとパスを使うなんて論外だな

575:デフォルトの名無しさん (ワッチョイ 4279-ztC3)
23/11/09 20:53:01.49 qzya0pVE0.net
一体いつから正解が貼られると錯覚していた?と続けようとしたら眠くなっただけだからね
あー釣れた釣れた

576:デフォルトの名無しさん (ワッチョイ 62f5-UfbY)
23/11/09 20:57:33.11 Mwi0lSOi0.net
そりゃそーだ
優しくレスするスレやもん

577:デフォルトの名無しさん (ワッチョイ 4601-4YU8)
23/11/09 21:25:44.13 Guim9pgh0.net
>>569
言い訳乙

578:548 (ワッチョイ ffda-XI6K)
23/11/11 09:48:46.02 MfZ2/qTS0.net
やりたいのは
計算結果をテキストに書くってのがやりたいです。

A,Bスレッドがそれぞれ計算します。

KeisanKekka.txt
↓↓
KeisanKEKKAA
KeisanKeKKAB

順番が逆になるってのはダメです。なのでファイル排他必要です。

579:デフォルトの名無しさん (ワッチョイ 7f3f-vmna)
23/11/11 09:55:37.59 7zFGiPDR0.net
>>572
何の順番?

580:デフォルトの名無しさん (ワッチョイ ffda-XI6K)
23/11/11 09:56:22.71 MfZ2/qTS0.net
>>573
書き込み順番

これはダメ

KeisanKeKKAB
KeisanKEKKAA

581:デフォルトの名無しさん (ブーイモ MMd3-3/qp)
23/11/11 10:17:38.60 6SW4sVwrM.net
XY問題の匂いが漂う

582:デフォルトの名無しさん
23/11/11 10:43:59.03 B6ZfAYMe0.net
>>572
>>574
正確に説明をする能力を身に着けなさい
・「テキストに書く」とはどこに書くのか。
・書き込み順番が末尾B、末尾Aではダメなのは何故なのか。

583:デフォルトの名無しさん
23/11/11 10:49:32.88 RSKqgUUO0.net
順番ってスレッドが開始した早い方が先に書き込むのか?
それともどちらもが出した計算結果の昇順に書き込むのか?
もし後者なら書込みプロセスは1つにするだけ
前者なら計算終わるの待つだけ

584:デフォルトの名無しさん
23/11/11 11:21:39.38 vbI3i7Vz0.net
・ファイルの書き込み自体は並列化出来ない
・計算に比べてファイル書き込みが圧倒的に遅い
・ファイルの排他処理自体も少しではあるが時間がかかる
ってことなので、素直にシングルスレッドで処理した方がいい
どうしても並行処理をやってみたいのなら、ファイル書き込みと計算の2つのスレッドで並行処理をしてみるべきかな
そうするとファイルI/O街のタイミングで計算できるから物凄く微妙に速度が上がるかもしれない

585:デフォルトの名無しさん
23/11/11 11:27:11.95 RSKqgUUO0.net
てか計算結果でソートするなら
処理分けてオペレーションで対応すりゃよくね?
無理やりプログラムでやるもんでもないでしょ
プログラムはなるべくシンプルがいいよ

586:デフォルトの名無しさん
23/11/11 11:27:33.55 MfZ2/qTS0.net
>>576
テキストファイルの終わりに書きます。
追加するイメージです。

587:デフォルトの名無しさん
23/11/11 11:53:52.65 wxiCP7Qj0.net
>>580
排他制御だと先着順にしかならないけど
スレッドがA,Bの順番で計算が終わってファイルに書こうとする保証はあるの
それが保証されるなら、ファイルの排他機能を使うより、lockを使うのがシンプルで良いと思う

588:デフォルトの名無しさん (ワッチョイ ffda-XI6K)
23/11/11 12:18:07.23 MfZ2/qTS0.net
>>581
Aが書き終わったことが見てわかる変数を作っておくことで対応します。

589:デフォルトの名無しさん (ワッチョイ ff01-vmna)
23/11/11 12:48:18.44 9HxScUhQ0.net
これはもう手に負えないわ
諸君の健闘を祈る

590:デフォルトの名無しさん (ワッチョイ 7f79-l6lv)
23/11/11 12:56:28.59 JXC3KAMY0.net
そもそも同一ファイルを複数スレッドで読み書きするのは公立が良くない
私立にしなさい

591:デフォルトの名無しさん (ワッチョイ ffda-XI6K)
23/11/11 13:07:33.16 MfZ2/qTS0.net
伝え方が悪くてどうもすいませんでした
冷静に考えたら変数使えば排他制御いらないじゃんって思えてきた
何を聴講してんだか

592:デフォルトの名無しさん (ワッチョイ ffcf-Zoup)
23/11/11 13:44:16.19 LlCaH/Ey0.net
排他制御順序制御をスレッドAB間で直接行えばいい話でファイルアクセスどうこうは関係ないってことだろう

593:デフォルトの名無しさん (オイコラミネオ MM13-Zoup)
23/11/11 13:51:34.21 uCuKaL40M.net
スレが伸びてると思ったら

複数スレッドで変数…
フラグが立った気もする

大学に聴講生いたな
おばちゃんだったけど新しいことを学ぼうとする姿勢が偉い

594:デフォルトの名無しさん (スップ Sd1f-Zoup)
23/11/11 14:02:50.08 rffcSM1cd.net
スレッド起こした順に書込みも順にしたいの?
起こしたときに番号振ってファイルAにみな書込みするようにして
書き込む結果は振り番と結果書き込ませて
そのファイルAを監視して順番に書き出すスレッドなりで
目的のファイル作れば?

595:デフォルトの名無しさん
23/11/11 15:16:06.79 RSKqgUUO0.net
聴講って何かの誤変換かと思ってたけど
聴講生だったのか
道理で

596:デフォルトの名無しさん (ワッチョイ ffda-XI6K)
23/11/11 16:05:06.98 MfZ2/qTS0.net
>>588
順番はAが書き込んでBが書き込む
Bが早く終わろうがAが書き込みした後しか書き込み無理ってことです。
もうひとつの厄介ありました。
Aが書き込み終わったよっていうフラグを立てる時間
Aが書き込んだ時間
にタイムラグある場合どうしよう。
もちろんAが書き込みする関数呼んだあとにフラグ立てるんだけど
フラグ立てたときってほんとに書き込み終了してる?って話です。

597:デフォルトの名無しさん (スプッッ Sd1f-4LBs)
23/11/11 16:24:57.12 CPZqzXvFd.net
もういい、消えろ

598:デフォルトの名無しさん (ワッチョイ ff7b-gzdM)
23/11/11 16:42:12.75 oxGqzPfa0.net
今後の質問者には先にChatGPTである程度やり取りしてもらって
それでもわかんなかった所だけ聞きに来てもらうほうが
お互い幸せになれる気がする

599:デフォルトの名無しさん (ワッチョイ ffbc-Zoup)
23/11/11 16:57:49.93 NvFe8ImE0.net
それ以前に、もう少し、こう、コミュニケーションというものを考えて、せめて一度くらいは推敲してから書き込んでもらえるとお互いに幸せかもね。

要件としてはこんなところなんだろうか。
・何らかの処理を行うためにスレッドを起動する。
・その処理(スレッド)は複数ある可能性がある。
・その処理の結果を一定の規則でファイルに出力する。

自分だったら、メインスレッド(処理用のスレッドを立ち上げる側)に処理スレッドの結果を返すようにして、処理スレッドがすべて終わった後にメインスレッドで規則に従ったファイル出力を行うように作るけど。

600:デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
23/11/11 17:08:03.68 B6ZfAYMe0.net
Win32APIで非同期書き込み

・CreateFile() FILE_SHARE_WRITE FILE_FLAG_OVERLAPPED
・AのWriteFile() OVERLAPPED構造体のOffsetとOffsetHighに指定する書き込み開始位置に、
 現在のファイルサイズを指定(後述するが0xFFFFFFFFでの追記は避けること)
・BのWriteFile() OVERLAPPED構造体のOffsetとOffsetHighにBで渡したファイルサイズ+Aで書き込むサイズ

WriteFile()は指定サイズ全てを1回で書き込めるとは限らないので、書き込んだサイズ分
OffsetとOffsetHighをずらしながら残りをWriteFile()する。
位置をずらして指定していくのとBの分を並列で書き込むので0xFFFFFFFFでの追記を行ってはならない。

書き込んだサイズは
・GetOverlappedResult()で調べる(呼ぶタイミングが分からない)
・WriteFileEx()でlpCompletionRoutineを指定する(完了ルーチンでWriteFileEx()を繰り返すとスタックが溢れる恐れあり)
・IOCP
・スレッドプールI/O
のいずれかを使う。

C#で同等のことを行う方法は知らん。

601:デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
23/11/11 17:09:02.17 B6ZfAYMe0.net
訂正:Bで渡したファイルサイズ→Aで渡したファイルサイズ

602:デフォルトの名無しさん (ワッチョイ ff02-FvvN)
23/11/11 17:11:14.77 6Uwmj7p80.net
古典的な方法は

書き込む前に「書き込み中だよ」というファイルを作って
おもむろに書き込んで終わったらファイルを消去する
他のプロセスは「書き込み中だよ」ファイルがないことを
確認してから「書き込み中だよ」ファイルを作る

あるいはDBに任せるかな

603:デフォルトの名無しさん (ワッチョイ 7ff5-1DlE)
23/11/11 17:14:49.80 RSKqgUUO0.net
書き込む前に配列作るだけな気もするけど

まぁ書き込みたいならしゃーない

604:デフォルトの名無しさん (ワッチョイ ff01-bJ+2)
23/11/11 17:24:04.61 G8HZ7IiV0.net
>>590
static async Task Main(string[] args)
{
var taskA = Task.Run(()=> CalcA());
var taskB = Task.Run(()=> CalcB());
var resultA = await taskA;
await Save(resultA);
var resultB = await taskB;
await Save(resultB);
}

これを一般化してtaskをListに追加していって
Listを回して計算結果をawaitしながら直列で書き込めばいい

605:デフォルトの名無しさん
23/11/11 18:15:19.76 GzLBx05/d.net
馬鹿は馬鹿だから設計も実装もできない
馬鹿の考え休むに似たりとはこのこと
こんな馬鹿はシングルスレッドにしとけよ

606:デフォルトの名無しさん
23/11/11 18:17:22.37 MfZ2/qTS0.net
>>596
>>おもむろに書き込んで終わったらファイルを消去する
書き込んで終わったことをどうやって判断するんですか?

607:デフォルトの名無しさん
23/11/11 18:29:22.82 6Uwmj7p80.net
>>600
駆動したプログラムが自分で消去する
パスワードファイルの編集とかそうやっている

608:デフォルトの名無しさん
23/11/11 18:46:23.39 wxiCP7Qj0.net
>>596
マルチスレッド向きの方法じゃない
動くけど面倒なだけ

609:デフォルトの名無しさん
23/11/11 18:58:24.74 JXC3KAMY0.net
>>596
その手順ではアトミック性が損なわれるから正常に機能しない
プロセスが最初にやるべきは盲目的に「書き込み中だよ」ファイルを作ろうとする事
ファイルを所有できたかはファイルの作成の成否で判定する…つまりこんな馬鹿なことは今すぐ辞めるべき

610:デフォルトの名無しさん
23/11/11 19:32:29.94 QEeEkTCo0.net
それぞれのスレッドが各々でファイルを書かなきゃいけない理由がなんかあるんかな?
そうじゃないならそれぞれの計算結果を親スレッドが受け取って
親スレッドがまとめて書き込めばいいんじゃないかなぁ

611:デフォルトの名無しさん
23/11/11 19:33:39.57 2HJkyP1va.net
ファイルはだめだけど
ディレクトリ作成はok

612:デフォルトの名無しさん
23/11/11 19:44:09.90 kflznpjK0.net
>>604
俺ならこれ
場合によってはスレッドの意味が薄くなるけど、設計としては明白になりやすそう
もしくは各スレッドの結果?の書込処理について統合して管理するクラスを作る
順序を定義しといてキューに溜めとく感じ

613:デフォルトの名無しさん
23/11/11 19:55:09.06 6Uwmj7p80.net
linuxのパスワード書き換えプログラム vipw
がファイルを生成して排他制御をしているのだが
問題があったという話を聞いたことがないけど

614:デフォルトの名無しさん
23/11/11 20:07:11.14 mqML6fZGd.net
Aが書きこまないとBが書き込めない?
Aが新規ファイルに書き込んで
Bがそれ見つけてから書き込むようにしろ

615:デフォルトの名無しさん (ワッチョイ 7f94-gzdM)
23/11/11 20:35:27.62 wxiCP7Qj0.net
>>607
ロックファイルを用いた排他制御の手法をちょっと間違えて覚えてるな
> 「書き込み中だよ」ファイルがないことを確認してから
って部分が無意味
確認後にファイルを生成するまでの間に他のプロセスがファイルを生成するかもしれない

616:デフォルトの名無しさん (ワッチョイ 9f04-RgHV)
23/11/11 20:58:58.22 piBb8Nie0.net
>>604
おれもそうするわ

617:デフォルトの名無しさん (ワッチョイ 7f31-vmna)
23/11/11 21:32:07.49 bCDMs/TZ0.net
>親スレッドがまとめて書き込めばいいんじゃないかなぁ
“まとめて”の意味合いにもよるけどAの書き込み処理はBの計算結果を待たずに開始できる点に留意する必要がある

618:デフォルトの名無しさん
23/11/11 21:55:20.34 QEeEkTCo0.net
>>611
待たずに開始できるであって待たずに開始しなければいけないではないし
A・Bそれぞれの完了を待ってはいけない理由でもあるんか?

619:デフォルトの名無しさん
23/11/11 21:56:20.93 QEeEkTCo0.net
あと、待ってるのはあくまで親であって、AとBの計算はパラで進めてくれて一向にかまわん
話の内容からして、Aの結果をもとにBが計算するわけでも無いだろうし

620:デフォルトの名無しさん
23/11/11 23:26:02.16 T+Kc9o9H0.net
こういう複雑さを考えるとRDBってよく出来てるなあ

621:デフォルトの名無しさん (スプープ Sd9f-Zoup)
23/11/11 23:42:10.88 hf5ytgdCd.net
AとBを同列に考えるからだめなんだ
Aが終わらないとBが結局終われないのだったら
BがAの親になればいいんだw

622:デフォルトの名無しさん (ワッチョイ 7fcb-MsHe)
23/11/12 00:18:55.26 IOHJkfoT0.net
>>572がいち早く嗅ぎつけたように、質問者は真の目的に対して無自覚に不適切な実現手段を選定している(それ故に、不適切な実現手段における実装上の課題、つまり二次的な課題を相談するハメなってる)
C#での実装手続きを検討する前段に立ち戻ることをオススメする

623:デフォルトの名無しさん
23/11/12 06:54:13.24 QHBv8+9D0.net
嗅ぎつけたて、>>572は質問者だぞ

624:デフォルトの名無しさん
23/11/12 08:46:46.16 KfSfv59+0.net
TikTok LiteでPayPayやAmazonギフトなどに変換可能な4000円分のポイントをプレゼント中!
※既存TikTokユーザーの方はTikTokアプリからログアウトしてアンインストールすればできる可能性があります
1.SIMの入ったスマホ・タブレットを用意する
2.以下のTikTok Litのサイトからアプリをダウンロード(ダウンロードだけでまだ起動しない)
URLリンク(lite.tiktok.com)
3.ダウンロード完了後、もう一度上記アドレスのリンクからアプリを起動
4.アプリ内でTikTok未使用の電話番号かメールアドレスを使用して登禄
5.10日間連続のチェックインで合計で4000円分のポイントゲット
ポイントはPayPayやAmazonギフト券に変換可能!
家族・友人に紹介したり通常タスクをこなせば更にポイントを追加でゲットできます。

625:デフォルトの名無しさん
23/11/12 08:50:55.63 IOHJkfoT0.net
>>617
アンカ間違えた。正しくは >>575

626:デフォルトの名無しさん
23/11/12 09:30:41.24 qtbaU10h0.net
一番の問題は、処理時間の大半を占めるだろうファイルの書き込み自体が並立処理ができないし
オープン、書き込み、クローズ等の回数が増大して処理時間が遅くなることだな
もちろんスレッドの切り替えや排他制御や順序の制御など色々仕事が増えるし、この部分も並列処理できない
マルチスレッドの練習ならいいけど、実用ソフトの作成ならシングルスレッドで書いたほうが遥かに早いものができる

627:デフォルトの名無しさん
23/11/12 10:50:45.23 0qXKJ0sK0.net
もう完全にスレチになんだけど。
>>620 みたいな決めつけってどうなんだろう。
素人がわざわざスレッドなんて言い出してるんだから、質問者が説明できていないだけでスレッドが必要な背景があるのかもしれない、と考えてあげてもよさそう。
自分も質問スレ等を利用したことがあるけど、意図して説明を省略したところの説明を強要されたり決めつけられたりすると、う~んと思うこともあったからね。
まあきちんと説明できない側が悪いのだけど。
言い訳的には誰にでもきちんと理解させられるほど状況を整理できてるなら、質問スレに頼る必要はほぼないかもしれない、とか。

628:デフォルトの名無しさん
23/11/12 11:01:35.90 EoAEw2XZ0.net
別にいいけど、しっかりと要点を説明できなきゃ、的外れな助言をされても文句は言えないからねぇ

629:デフォルトの名無しさん
23/11/12 11:04:51.41 FeTL5mFV0.net
>>618
鬼コスパだな

630:デフォルトの名無しさん
23/11/12 11:17:52.90 1lLdbIkC0.net
そもそもでいうなら、順番を待たなきゃいけない設計を見直さんとね
決まった順番で同じファイルに書き込まなきゃ理由がわからんからね
中のファイルが構造的でなきゃいけない場合、単純に順番に書込むだけでそれが担保出来てるのか、とか
例えばよくあるデータ形式にしても、
CSVならあまり順番意識しないから追記ってのもあるだろうけど、jsonで追記とかまあ自分は聞かないし
目の前の要求が満たせていればいい、っていうのも分からなくはないが
そこら辺の前提がないと最善などわからんよね

631:デフォルトの名無しさん
23/11/12 11:22:02.03 EoAEw2XZ0.net
>>623
氏ね自演

632:594
23/11/12 11:24:38.62 O1mU2H+U0.net
>>620
>>594に書いたけど、ファイル書き込みの並列処理は可能だ。
面倒な上に書き込みサイズが小さいとすぐ終わるから並列処理するうまみがないが。
実用性を考えると根本的にやることを見直すべきなのは同意だ。

633:デフォルトの名無しさん
23/11/12 11:47:28.89 P9Q12+Ee0.net
>>618
ポイントを秒でゲットするのか

634:デフォルトの名無しさん
23/11/12 12:02:09.85 qtbaU10h0.net
>>626
別スレッドで細切れに書き込みするのはできるけど
複数スレッドで並列で同時にファイルに書いたら壊れるでしょ

635:デフォルトの名無しさん
23/11/12 12:11:57.36 QHBv8+9D0.net
同期処理しなきゃいけないのを並列は無理では

636:デフォルトの名無しさん
23/11/12 12:21:50.53 0qXKJ0sK0.net
>>622
まあそうだね。
回答者の側にも自分の答えられる範囲に無理矢理誘導しようとしてる節があるのも気になるけど。

637:デフォルトの名無しさん
23/11/12 12:50:38.93 kSd1xzHw0.net
決まった順番で同じファイルに書き込みたい状況やファイル書き込みより計算処理の方が遥かに時間がかかる状況なんていくらでもあるでしょ
処理速度向上のために並列化した計算結果を直列化するのはmap/reduceと同じで並列処理の基本パターンだと思うが
その際にメモリ効率や後続処理の都合でファイルに書き出しながらreduce相当の集約処理をするのもよくあるやり方

638:デフォルトの名無しさん
23/11/12 12:57:53.27 eSav3yyhM.net
ついでに言うと真の目的を自覚してそれを他人に誤解なく伝えられるように言語化できる人間ってのはそうそういない
自分の言いたいことを相手に伝えようとする努力はもう少ししろよとは思うが真の目的を言語化すること初心者に求めるのは酷

639:デフォルトの名無しさん
23/11/12 12:57:57.10 92tzwC/W0.net
>>598で(細かい所は端折られてるが)質問者の要望を満たしたほぼ完璧な回答が出てるのに何の議論をしてるんだろうか
>>620
マルチスレッド何だから、オープンしたファイルクラスオブジェクトを共有すれば良いだけ
各スレッドでファイルのオープンとクローズをやる必要は無い

640:デフォルトの名無しさん
23/11/12 13:02:14.64 O1mU2H+U0.net
>>628
壊れないよ。
追記でなく他のスレッドが書き込むサイズを把握して書き込み開始位置(現在のファイルサイズよりも先)
をちゃんと指定すれば大丈夫。
FILE_SHARE_WRITE指定だから複数スレッド同時に書き込めるし、
なんなら複数プロセスでも書き込める。

641:デフォルトの名無しさん
23/11/12 14:27:16.22 0qXKJ0sK0.net
>>632
初心者というか熟練者でもというか、それを不足なく出来ている人はあんまりいないような。
少なくともここで議論()してる連中は全滅だね。

642:デフォルトの名無しさん
23/11/12 15:28:30.84 qtbaU10h0.net
>>634
資源を複数のTHREADでShareしているだけで並列処理とは違うよね
同時に書けるのは一つのポイントだけだからCPUが増えても速度が2倍4倍とかにならない

643:デフォルトの名無しさん
23/11/12 16:27:53.40 O1mU2H+U0.net
>>636
並列処理だよ。
ファイルポインタの場所に対して書き込んでるのではなく、
OVERLAPPED構造体で指定した位置からそれぞれのスレッドが非同期で同時に書き込む。

644:デフォルトの名無しさん
23/11/12 17:03:04.73 EoAEw2XZ0.net
.NETのソース隅から隅までは読んでないけど、FileStreamの内部でoverlapped構造体使用してたような記憶

645:デフォルトの名無しさん (ワッチョイ 1ff8-Qkct)
23/11/12 19:11:35.86 iHK6/ooK0.net
その認識で合ってるよ
.NET4以降ならメモリマップドファイル使えるからそちらで共有するけど

646:デフォルトの名無しさん (ワッチョイ 7f79-l6lv)
23/11/13 00:49:40.70 AJp6/mRY0.net
ファイルはシーケンシャルで書くのが一番効率が良い
順番に並べる必要があるなら後でソートできるようにレコードをきちんと設計しておけば問題は起こらない
上でされてるいくつあるかも判らないスレッドごとに開始位置をシークして…なんて主張は馬鹿の発想

647:デフォルトの名無しさん
23/11/13 06:47:10.31 7hRFN4TL0.net
ちゃんと設計しないと逆にパフォーマンス落ちるぞって、当のMSがWriteFileのドキュメントで言ってるからね

648:デフォルトの名無しさん
23/11/13 07:44:08.86 7oSmY/Hz0.net
妄想だけど、HDD、SSDよりも異次元レベルで速いストレージの時代になったら
それも変わってくるんかなとか思ったり
十年とかでそうなることはないやろけど

649:デフォルトの名無しさん
23/11/13 07:55:21.10 flxB0Vsk0.net
確かにハードの進化がソフトを凌駕するからなぁ
windowsも出た頃は二世代後くらいのハードを想定して作ったとか後付で言ってたかな、遅くて使い物にならなかったよな最初の頃は(笑)

650:デフォルトの名無しさん
23/11/13 08:20:50.07 Rx9sePM0M.net
タイル時代のは記事で読んだぐらいやな

651:デフォルトの名無しさん
23/11/13 08:36:15.51 PVSRWaiLM.net
Windows1.0は日本未発売

652:デフォルトの名無しさん
23/11/13 08:43:08.32 gHMVnHfM0.net
ストレージアクセスはずっとボトルネックだから

653:デフォルトの名無しさん
23/11/13 09:12:26.25 jo7KeTmv0.net
>>645
URLリンク(funkygoods.com)
98版出ているし、触ったことあるわ

654:デフォルトの名無しさん (ワッチョイ 1f01-AVwT)
23/11/13 19:08:34.41 +fGKUdks0.net
>>647
3.0からだな
95β見た(入れた)瞬間は窓から投げ捨ててやろうかと思ったわ
巷の公式販売では祭りだったし買ったけどw

655:デフォルトの名無しさん (ワッチョイ ff10-Zoup)
23/11/14 07:15:31.76 LV/qT8Ke0.net
まともに触ったWindowsは95からだなぁ
伯父さんの家に3.1あったけど、ちょっとゲーム触らせてもらった程度だし

656:デフォルトの名無しさん (ワッチョイ 1fad-VGCZ)
23/11/14 07:31:15.46 Uvtmi6Yw0.net
OS2がまだ生きていた頃だな

657:デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
23/11/14 19:07:18.84 xujXPfzz0.net
新しい.net来るぞ

658:デフォルトの名無しさん
23/11/15 00:40:01.81 LrsG+7gI0.net
3日くらいぶっ続けでカンファレンスやってるみたいだけど英語わからんからやめとこ…

659:デフォルトの名無しさん
23/11/15 09:04:48.81 4gx9dXmF0.net
.NET 4.8.2が来るの!?

660:デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
23/11/15 09:53:23.29 bUMQZh1h0.net
4.8.1は.NET Frameworkであって.NETじゃないが

661:デフォルトの名無しさん (ワッチョイ 9f49-IE43)
23/11/15 10:00:02.34 cCd4X74c0.net
そろそろ.NETの頭のドット消して欲しい
色々紛らわしかったりめんどい

662:デフォルトの名無しさん (ワッチョイ 9f33-KpL6)
23/11/15 10:16:57.55 oY0624hB0.net
頭のドットもだが、もうちょっと固有な名前を付けてほしいよな
検索時のS/N比が…

663:デフォルトの名無しさん (ワッチョイ 1fcb-xj5q)
23/11/15 11:25:14.79 cN4uQIA10.net
dot NET

664:デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
23/11/15 11:41:16.01 S5z+rJ9T0.net
>>652
英語分からんってヤバくね
IT業界で1番必要なスキルだと思うが?

665:デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
23/11/15 11:46:04.08 4gx9dXmF0.net
SilverLight<よっしゃ
XNA<固有な名前なら任せろ

666:デフォルトの名無しさん (ワッチョイ 7f74-n7Dx)
23/11/15 12:41:13.13 D0hDoGTF0.net
>>658
Don't worry.
My English skills are much better than yours.

667:デフォルトの名無しさん (ワッチョイ 9f49-Lcu7)
23/11/15 13:16:29.77 cCd4X74c0.net
Waimo eigo tyoto Dekiruyo !!

668:デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
23/11/15 13:18:03.10 bUMQZh1h0.net
Makotoni I'm Sorry

669:デフォルトの名無しさん (ワッチョイ 7f4b-4qIk)
23/11/15 13:39:33.53 GITsN6v60.net
Windowsで.net5以上でshift-jis使うのに
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
この1行いるのは知ってます

System.Text.Encoding.CodePagesを参照する必要があると書いてあるところと
いらないしいると書いてあるのは間違いだと書いてあるところがあったので
どちらが正しいのでしょうか?

670:デフォルトの名無しさん (ワッチョイ ffcb-KpL6)
23/11/15 13:55:26.89 IR5/gHhj0.net
.NET Core 3.0か3.1あたりで本体に入ったから今はもういらない

671:デフォルトの名無しさん (ワッチョイ 7f74-n7Dx)
23/11/15 14:05:48.88 D0hDoGTF0.net
>>662
Kono Hage!!

If you have no hair at all, shut up and get out of here.

672:デフォルトの名無しさん
23/11/15 14:08:52.32 bUMQZh1h0.net
SJISのためにRegisterProviderするのに何かアセンブリ参照追加する必要は無いね

673:デフォルトの名無しさん
23/11/15 14:17:23.51 amYyW+se0.net
>>665
この辺にしとこうぜベイビー。
C#ラブな同士トゥギャザーで仲良くしようぜ。

674:デフォルトの名無しさん
23/11/16 01:21:21.36 AO/C3SS40.net
>>664,666
thx

675:デフォルトの名無しさん
23/11/16 16:07:12.51 IwsAzKF60.net
Windowsに限らず、AndroidやiOSやLinuxなどほとんどのOSで、
ファイル名に使って想定外の動作をしない記号って、アンダーバー「_」くらいでしょうか?
アンダーバーでも誤動作するOSってあります?

676:デフォルトの名無しさん
23/11/16 16:37:54.57 grFWv2Y10.net
そめそもファイル名に使える記号自体が、ハイフンかアンダーバーくらいじゃ

677:デフォルトの名無しさん
23/11/16 17:50:29.03 BDsDlHWv0.net
ファイルシステムによる

678:デフォルトの名無しさん
23/11/16 18:03:46.46 Ms4DzmXb0.net
ファイル名 禁止文字でググれば使えない文字がわかるので
それ以外なら使えるってことだ
mac や linuxはwindowsで使えるやつはOKのようだ

679:デフォルトの名無しさん
23/11/16 18:33:52.17 K6GSt0E9M.net
>>672
チルダは?

680:デフォルトの名無しさん
23/11/16 21:16:19.40 ybAKbR/C0.net
SwiftLint使ってると、大文字や小文字で始まるか、キャメル式かスネーク式かいちいち文句付けてうざいぞぉw

681:デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
23/11/17 10:11:24.65 QjfY8ooq0.net
>>670
ハイフンはMS-DOSがNGだから、ちょっと怖いかなと

682:デフォルトの名無しさん (スプッッ Sd1f-4LBs)
23/11/17 11:06:24.34 RPLwg0XBd.net
コンピュータ名はアンスコ使えなくてハイフンは使える謎

683:デフォルトの名無しさん (スプッッ Sd7f-Xzxn)
23/11/17 11:28:27.47 180/Rc


684:iHd.net



685:デフォルトの名無しさん (ワッチョイ 9f49-IE43)
23/11/17 12:59:38.86 O8YSwnHi0.net
のーみそコネコネ

686:デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
23/11/17 13:19:03.32 QjfY8ooq0.net
半角括弧()がどのOSでも使えるって出てきましたけど、本当でしょうか?

687:デフォルトの名無しさん (ワッチョイ 1f5f-MsHe)
23/11/17 13:33:20.62 Sl2+FwO30.net
>>679
キミが「どのOSでも」「使う」という表現に込めた意味を、それぞれ詳しく教えて

688:デフォルトの名無しさん (ワッチョイ 1f08-IE43)
23/11/17 18:14:02.34 TreZcExv0.net
ボーダーラインを探すなんて無駄なことしてないで、
自分が対象にするOSで使える文字だけ使っときなよ、と思いました

暇ならとことん網羅して論文でも書いていてくれ

689:デフォルトの名無しさん
23/11/17 18:44:22.53 dfpiw+/X0.net
割と知られていないけど、cr,lfなどの制御文字もファイル名に使えたりするね
explorerじゃ対応していないからアプリ作る必要があるが

690:デフォルトの名無しさん
23/11/17 18:53:29.25 peW3mEg+0.net
>>675
それどこ情報?

691:デフォルトの名無しさん
23/11/17 20:14:07.64 h0n5cOPg0.net
そもそも使う意味

692:デフォルトの名無しさん (ワッチョイ ffda-u+Tp)
23/11/17 21:37:23.41 wLQk0c+b0.net
条件文がめんどくさい
x>=a かつ x<=b を
if( a <= x <= b )
って書ける言語ないですか?

693:デフォルトの名無しさん (ワッチョイ 9f57-ElWn)
23/11/17 21:40:25.75 PqMW4vo50.net
あったとして、どうするんだ?

694:デフォルトの名無しさん (ワッチョイ 9f42-/zbX)
23/11/17 22:14:39.43 dfpiw+/X0.net
ロックバルーンは99

695:デフォルトの名無しさん (ワッチョイ 9f01-M2ys)
23/11/17 22:17:29.52 7wOEc1lI0.net
>>686
倉庫番の人だよ

696:デフォルトの名無しさん (ワッチョイ 9f57-ElWn)
23/11/17 22:23:01.37 PqMW4vo50.net
Pythonがそう書けるってさ

697:デフォルトの名無しさん (ワッチョイ ffda-u+Tp)
23/11/17 22:27:32.02 wLQk0c+b0.net
マジですか。
C#にも導入してくれないかなぁ

698:デフォルトの名無しさん
23/11/18 07:03:20.87 i2qRQSqI0.net
特段必要性を感じないからどうでもいいかな

699:デフォルトの名無しさん (ワッチョイ e960-jFON)
23/11/18 18:37:11.62 mbkKOvAd0.net
関数の返り値を比較するときに2回書けないから一旦値で受ける、
なんて必要がなくなるから無いよりはある方がいいな。

700:デフォルトの名無しさん (ワッチョイ 22f5-1Z4Z)
23/11/18 18:41:07.35 ypjk0x+00.net
if(( a <= x )&(x <= b ))
でいいよ

701:デフォルトの名無しさん (JP 0H4a-tZqO)
23/11/18 18:52:35.99 jd9YdmKPH.net
最近のパターンマッチングを使って
if (x is >=a and <=b)
と書いてもいい

702:デフォルトの名無しさん
23/11/18 19:32:58.55 iMqzxnwJ0.net
boolでも無いのにifの条件だけで使ってしかも範囲判定条件の戻り値とかあるんか

703:デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
23/11/24 19:38:01.29 6FJDI0Q/0.net
task1~3までをUIスレッドで開始して、それからは
task1→task2→task3→task1みたいに自分の処理が終われば
別taskに処理を移すみたいな感じのソースコードを作りたいです。
処理はすぐ終わる計算でいいです。どうしますか?
ちなみに処理が終わったことがわかる変数などを使うってのは無しにしたいです。

704:デフォルトの名無しさん (ワッチョイ c95f-uy16)
23/11/24 20:01:17.48 wNRDz5oc0.net
>>696
>>自分の処理が終われば

「自分の処理」とは?

705:デフォルトの名無しさん (ワッチョイ 221f-1Z4Z)
23/11/24 20:07:57.51 qxyJ/uo00.net
順繰りに起動すりゃいいだけ

706:デフォルトの名無しさん (ワッチョイ 221f-1Z4Z)
23/11/24 20:09:10.20 qxyJ/uo00.net
てか順にやるならスレッドにする必要ねーな

707:デフォルトの名無しさん (ワッチョイ 8291-PfDU)
23/11/24 20:59:34.65 y2ZJO/eV0.net
そもそも、タスクとスレッドの関係をどういうもんだと思ってるんだか・・・・

708:デフォルトの名無しさん (ワッチョイ 92bd-f5/H)
23/11/24 21:23:25.88 zyxlA+5J0.net
使ったことないけど、Task.ContinueWith()

709:デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
23/11/24 21:28:48.64 6FJDI0Q/0.net
>>698
ごめんなさい誤解ありました。

task1→処理1

task2→処理2

処理1と処理2とかは並列処理です

順繰りというのは難しいのではって感じです。

710:デフォルトの名無しさん
23/11/24 21:33:36.46 6FJDI0Q/0.net
task1→処理1

task2→処理2

task3→処理3

task1→処理1の2回目
処理1の2回目がミソです
処理1の2回目と処理1も並列になっててほしいんです
ちょっぴり無茶なプロセスですかね?

711:デフォルトの名無しさん
23/11/24 21:36:35.38 wNRDz5oc0.net
XY問題再び

712:デフォルトの名無しさん
23/11/24 21:45:07.71 pe/5i+Cu0.net
コルーチンのことかな
一定の処理まで終わらせたら明示的な命令によって他のタスクに切り替えて行くやり方
C#的にはIEnumerator<T>型を返すやつね
コルーチン自体はスレッドに依存しないので必ずしも複数スレッドで非同期処理をやるというわけでもなく
同期的に書けば排他制御が不要になる

713:デフォルトの名無しさん
23/11/24 21:48:48.25 z45fHQco0.net
//また同じやつだな
await 日本語を整理しろ();
回答はそれからだ();

714:デフォルトの名無しさん
23/11/24 22:22:10.58 6FJDI0Q/0.net
>>704
特にやりたいことはないですよ
開始の時間printfしてみたら
処理1
処理2
処理3
処理1の2回目
処理2の2回目
ってなってればいいんですよ

715:デフォルトの名無しさん
23/11/24 22:24:19.01 qxyJ/uo00.net
だから並列で処理する意味ないやろ

716:デフォルトの名無しさん
23/11/24 22:34:42.42 6FJDI0Q/0.net
>>708
特に作りたいものがないんですが思いついたのは
並列処理だと時間短くならね?ですね

717:デフォルトの名無しさん
23/11/24 22:50:29.15 wNRDz5oc0.net
並列関係にあるタスク同士を「矢印」で接続してしまう珍妙なセンスの持ち主

718:デフォルトの名無しさん
23/11/24 22:50:44.86 4bKY7cSe0.net
>>709
今のお前がやってもかえってパフォーマンス悪くなるだろうな

719:デフォルトの名無しさん
23/11/24 22:56:14.00 A049oz9t0.net
また後出しのあいつか

720:デフォルトの名無しさん
23/11/24 23:02:25.18 uPf7hF5o0.net
なんか良くわからん…

721:デフォルトの名無しさん
23/11/24 23:09:30.59 6FJDI0Q/0.net
task1~3までをUIスレッドで開始して、それからは
ここ違いますね、UIスレッドで起動するのはtask1
task1を起動してからは上に書いたとおりです。
後だしではないんでそこは分かってほしい。

722:デフォルトの名無しさん
23/11/24 23:21:12.17 kO4eXafJd.net
ボール1から三つ投げて
どのボールが先に落ちてもいい
全部地面に落ちたら
また1から投げるってことだろ

723:デフォルトの名無しさん
23/11/24 23:27:15.24 GWBHs7u/0.net
それだと処理が終わっでない
終わってから都賀のタスクなんだから
3人いる
長男が投げる、落ちるのを確認したら
次男が投げる、落ちるのを確認したら
三男がなげる、落ちたらサイクル終わり
また最初に戻る
じゃね?

724:デフォルトの名無しさん
23/11/24 23:29:33.37 wNRDz5oc0.net
「後出しではない」と「後出しを自覚できていない」は別の概念

725:デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
23/11/24 23:42:55.25 6FJDI0Q/0.net
>>716
伝わってませんね
落ちるのを確認ではなく投げるのを確認ですかね
長男が次男に投げたからお前も投げろよって声掛けする感じです

726:デフォルトの名無しさん (ワッチョイ 91e5-fy5B)
23/11/24 23:49:18.55 mLC3ri5P0.net
それ単純に順次Task.Run()していくだけじゃん

727:デフォルトの名無しさん (ワッチョイ cd85-4Kip)
23/11/24 23:56:23.11 uPf7hF5o0.net
はぁはぁ
716でいうと三男が投げ出すと長男も2回目を投げろと(長男の1回目は終わってないかもしれない

728:デフォルトの名無しさん (ワッチョイ bfe5-1fOb)
23/11/25 00:01:28.56 5JaI+Sbl0.net
>>719
書いて貰えると嬉しいです
Task1をもう一回呼ぶなんてできます?
1回目はUIスレッドから
2回目はTask3スレッドからです

729:デフォルトの名無しさん (ワッチョイ dfbd-1fOb)
23/11/25 00:03:58.41 6TmsaT3E0.net
>>719 の言う通り、順次Task.Run()すればキューに積まれて順に取り出されて
スレッドプールで実行されるんじゃね。
但し、>>707 で積んだ順番でprintfされることを期待しているようだが、
各Taskが並列実行されるので、Task開始順とprintfの順番が一致する保証はない。

730:デフォルトの名無しさん (ワッチョイ dfbd-1fOb)
23/11/25 00:06:31.50 6TmsaT3E0.net
>>719 じゃないけど、自分で書けない理由を答えろ。
Task1をもう一回呼べない理由を答えろ。
書いてコンパイルして動かせ。

731:デフォルトの名無しさん
23/11/25 00:19:31.02 5JaI+Sbl0.net
Taskの理解間違ってました
Taskってのは関数みたく何度も呼べるもんなんですね知らなかった

732:デフォルトの名無しさん
23/11/25 08:10:48.30 D4bWuN2p0.net
そもそも特に作りたい物も無いのに考えるのがナンセンス

733:デフォルトの名無しさん
23/11/25 08:13:50.02 qghurl9U0.net
それはそう
頭でっかちで理屈だけ先行しがち

734:デフォルトの名無しさん
23/11/25 08:33:26.29 cvmNBgFA0.net
Taskの理解もスレッドの理解もできてなさそう
スレッドだって実体はただの関数で何度でも同じ内容を開始できるが

735:デフォルトの名無しさん
23/11/25 12:16:24.94 +bZiOimW0.net
Taskはスレッドプールを使いやすくしたものだしね
※LongRunningオプションをつけてTaskを生成した場合は専用のスレッド

736:デフォルトの名無しさん (ワッチョイ 5f91-YR7l)
23/11/25 12:44:24.22 2HfGPNlX0.net
基礎の理解を大きく欠くメチャクチャな質問に対して、わからないのに答えるメチャクチャな回答者が大勢出てくる・・・・
知恵袋のことを笑えんな

737:デフォルトの名無しさん (ワッチョイ 67c0-C+qQ)
23/11/25 12:58:31.09 hcYVkcJO0.net
そのうちたまに出るバグに悩まれそう

738:デフォルトの名無しさん (ワッチョイ dfc6-AnfR)
23/11/25 13:11:43.69 Q+BtNXr10.net
スレッドとタスクとプロセスの違いをしっかり説明出来る奴は少ない

739:デフォルトの名無しさん (ワッチョイ c7d4-K+ZK)
23/11/25 13:21:16.14 GnFdMEyV0.net
LWPも含めて説明してくれ

740:デフォルトの名無しさん (ワッチョイ 5f1f-KBoc)
23/11/25 13:51:42.24 QjoVuBi10.net
ここ初心者スレなのよね

741:デフォルトの名無しさん (ワッチョイ dfbd-1fOb)
23/11/25 14:28:34.44 6TmsaT3E0.net
アプリケーションドメインは滅びの道?

JavaのVirtual Threadが気になる。

742:デフォルトの名無しさん
23/11/26 03:09:57.86 TxNzhOp40.net
TASK1~3をそれぞれキュー1~3にどんどん入れていって、
そのキューから同期的にタスク1-3を取り出せばいんじゃね
つか
>ちなみに処理が終わったことがわかる変数などを使うってのは無しにしたい
とかいう条件はなぜに必要なのか
その条件だとタスクではほぼ何もできないわけだが

743:デフォルトの名無しさん
23/11/26 03:09:58.20 TxNzhOp40.net
TASK1~3をそれぞれキュー1~3にどんどん入れていって、
そのキューから同期的にタスク1-3を取り出せばいんじゃね
つか
>ちなみに処理が終わったことがわかる変数などを使うってのは無しにしたい
とかいう条件はなぜに必要なのか
その条件だとタスクではほぼ何もできないわけだが

744:デフォルトの名無しさん
23/11/26 06:34:19.55 WuUXccWm0.net
まず自分の書き込みキューをなんとかしようず

745:デフォルトの名無しさん
23/11/26 06:43:14.79 Yqv2nl500.net
すみません、単刀直入にお尋ねしたいのですが
配列の各要素に入れらた構造体、ないしはクラスがあるとして
その中でそいつらが「自分の現在の添字を確認する」方法ってありますか?
配列の何番目に入っているのかってのを確認したいです。
例えば、自分の現在の添え字を返す関数とかあると嬉しいのですが。
調べてみても、ある値を要素から探してその添字を求めるーみたいなのはあっても
ストレートに自分の今の添字を返すーとかは無いのです。

746:デフォルトの名無しさん
23/11/26 07:52:19.12 Zpp5xLGV0.net
無いもんはない

747:デフォルトの名無しさん
23/11/26 08:39:42.47 rln84VAX0.net
そんなにあれこれ言語知らないけど
配列の内側から自分のIndexを取得できるような言語存在したっけ

748:デフォルトの名無しさん
23/11/26 09:26:10.80 Yqv2nl500.net
>>739
なんで無いんでしょうかね。。需要ある気がしますが。。
調べたい場合簡単なコードで解決するからでしょうか?
配列に入ってる側から自分の添え字を調べる方法ってありますか?

749:デフォルトの名無しさん
23/11/26 09:39:06.68 N0k0I/0p0.net
親オブジェクトを子オブジェクトのプロパティ等に保存して必要な時にIndexOfで取得する

750:デフォルトの名無しさん
23/11/26 09:41:54.74 sVRUNFWaM.net
あえて理由付けするなら、最近の言語では配列をコレクションとして考える傾向が強くインデックスを意識しないようになってきている
リストや連想配列ではインデックスは抽象化されているので直接操作するのを避けるようにするので需要が低い
実際for each文ではインデックスを意識しないだろ

751:デフォルトの名無しさん
23/11/26 10:18:36.32 t46bGHL+d.net
倉庫番君?

752:デフォルトの名無しさん
23/11/26 10:20:36.87 aOnl3nzuM.net
>>741
ない理由は簡単だよ
主な理由は無駄だから
任意の要素は複数のコレクションに入れられるし一つのコレクションに複数入れることが出来るから
要素側で添え字を持つ場合にはそれを区別することになる
そしたら親クラスと添え字のペアは何で保存する?dictionary?独自の保存クラスのインスタンス?
要素数だけ保存インスタンス作るの?と言う話になる

753:デフォルトの名無しさん
23/11/26 10:24:23.79 aOnl3nzuM.net
無くて不便だなと感じるなら一度作ってみたらいいよ
それが使いやすいなら使えばいいしそれに対して他の誰も文句を言わない

754:デフォルトの名無しさん
23/11/26 10:29:28.53 WuUXccWm0.net
配列中のIndexが重要なら固定で作れ
固定が嫌だと言うなら自分のIndexを気にしなきゃいけないような作りにするな

755:デフォルトの名無しさん
23/11/26 10:34:56.71 Mj7uGAuQ0.net
倉庫番の人を相手にする人達

756:デフォルトの名無しさん
23/11/26 10:57:22.74 YkBy/87/0.net
今回は1度の質問で相手に伝わる日本語になっているので合格!!
初心者あるあるの質問だしね

757:デフォルトの名無しさん
23/11/26 11:29:02.31 aOnl3nzuM.net
コレクションの要素の添え字をコレクションで持つ
その要素の添え字をコレクションで持つ
そのまた…
と永遠に終わらない

758:デフォルトの名無しさん
23/11/26 11:42:58.44 xrmT/xcU0.net
どんな手段であろうともきちんと動けばいいんじゃね?(適当

759:デフォルトの名無しさん
23/11/26 12:00:02.74 t46bGHL+d.net
9月から配列配列と言い続けているのに驚く
まだやってんのかよ

760:デフォルトの名無しさん (ワッチョイ 6781-1+JT)
23/11/26 13:02:10.49 xrmT/xcU0.net
それで作品は完成したのか

761:デフォルトの名無しさん
23/11/26 13:41:55.38 YjDORt8e0.net
彼は作品を作ってるんじゃない
ただ配列と格闘してるだけや

762:デフォルトの名無しさん
23/11/26 15:26:09.65 06WEnIxy0.net
配列たのしいよねでんちゃ!でんちゃ!
こうですかね

763:デフォルトの名無しさん
23/11/26 16:57:15.49 ebkpzwLn0.net
自分のindexを知りたいとか思ったことないな

764:デフォルトの名無しさん
23/11/26 17:43:50.21 t46bGHL+d.net
自分でプログラムしてるならわかる
必要ならパラメータで渡す
そんなものいらんよ

765:デフォルトの名無しさん
23/11/26 20:59:21.90 DSb557XU0.net
>>754
格闘家か

766:デフォルトの名無しさん
23/11/27 13:01:29.90 YdGgb4vX0.net
ディクショナリで似たようなことした気がする(うろ覚え)

767:デフォルトの名無しさん
23/11/27 18:34:33.66 fu5uNpvk0.net
>>738
配列aの3番目と配列bの1番目と配列cの99番目と変数dが全部おなじインスタンスだったらどうするんだよ?

768:デフォルトの名無しさん
23/11/27 19:53:58.80 /cbu4sL+0.net
1億円と2千円前から愛してるー
8千円過ぎた頃からもっと恋しくなあった

769:デフォルトの名無しさん
23/11/27 20:52:07.36 2/xPn6oY0.net
そもそも配列自体は同じクラスや構造体の繰り返しやろ
そこにクラスAさんいまどの添字にいまかーって聞いても、添字分の回答が来るだけやねわら

770:デフォルトの名無しさん
23/11/28 00:25:46.05 KjOVbCNK0.net
非同期処理は自分も全然理解出来てないな…
分かりやすい記事や書籍あったら教えてほしい

771:デフォルトの名無しさん (スップ Sd7f-GgRN)
23/11/28 01:35:09.95 l/zJ2rcOd.net
>>738
TreeNodeみたいにparentでもつけたclassでも作って配列に突っ込んでIndexOfで調べろ
順番固定なら配列に突っ込まれるときにindexつけろ

772:デフォルトの名無しさん
23/11/28 06:04:30.08 MDNg41Je0.net
それこそTreeNodeCollectionとかDataColumnCollectionみたいに専用コレクションクラス作ってやれ

773:デフォルトの名無しさん (ワッチョイ 6733-dIgO)
23/11/28 08:36:24.26 5Cyhyx4r0.net
>>763
非同期・並列処理がテーマのC#の本ってあんまりないのよね
実際に読んだことあるのは↓の二つ

『C#によるマルチコアのための非同期/並列処理プログラミング』 山本康彦 技術評論社
ちょっと古いけど、backgroundworkerの時代からawait asyncまで一通り歴史的経緯含めて網羅されている

『C#によるWindowsシステムプログラミング』 北山 洋幸 カットシステム
システムプログラミングと題されているけれど、非同期・並列処理に紙面の多くが割かれている

で、今正しいタイトルをチェックするついでに見つけた
読んでないので内容はわからん。2番目のやつと同じ著者によるもの
『C# 非同期・並列プログラミング入門』 北山 洋幸 カットシステム

774:デフォルトの名無しさん (ワッチョイ 5f79-/KuA)
23/11/28 20:41:13.81 QlCOA+Xa0.net
Windowsでスレッドと言えば昔からこれがオススメ
URLリンク(www.%61mazon.co.jp)

775:デフォルトの名無しさん (オイコラミネオ MM9b-GgRN)
23/11/28 20:45:13.20 ahJUusiRM.net
>>766
Xamarinするには、まず人脈♪の人じゃねそれ?

776:デフォルトの名無しさん
23/11/28 20:52:01.03 gZII95OC0.net
>>767
kindle化されてない本は存在しないも同じ

777:デフォルトの名無しさん
23/11/28 20:52:41.51 QlCOA+Xa0.net
余裕があればAdvanced Windowsも読んどくといいぞ

778:デフォルトの名無しさん
23/11/28 23:06:15.03 iNny4p+X0.net
>>766
最初の買ったかな
非同期ずっと書きにくいな見づらいなと思ってて、asyncで本命きたか?と
エレガントさに感動した

779:デフォルトの名無しさん (ワッチョイ 8701-OYus)
23/11/28 23:29:30.06 33+xOP+f0.net
オレンジ色のやつ?
周りもみんな持ってたわ

780:デフォルトの名無しさん (ワッチョイ 67f8-0ikQ)
23/11/28 23:53:42.79 aEnj/fWV0.net
stephan clearyのConcurrency in C#が鉄板

781:デフォルトの名無しさん (ワッチョイ dfbd-1fOb)
23/11/29 00:08:00.51 jjIrrfV/0.net
C#でasync、awaitの説明を読んでも頭にさっぱり入らなかったが、
CでIOCPとスレッドプールI/Oを使って、非同期処理を理解した。

782:デフォルトの名無しさん (ワッチョイ 7f10-GgRN)
23/11/29 06:14:57.35 P/h6PCbf0.net
>>769
小説や漫画ならともかく、実用書は紙の本の方が使いやすいわ

783:デフォルトの名無しさん
23/11/30 09:38:15.32 VDjO8Cq20.net
実用書こそ検索できる電書じゃないと実用性ないだろ

784:デフォルトの名無しさん
23/11/30 09:58:45.01 o2lKkOtg0.net
紙面画像ベタ貼りの検索できない電書というアカンやつもあってな…

785:デフォルトの名無しさん
23/11/30 10:33:15.32 bJSk0Mwq0.net
最初に一気に読む、理解するには本がベター
わかってしまえばあとはネット検索で可

786:デフォルトの名無しさん
23/11/30 10:35:19.33 faN/LqhT0.net
単なる習慣だから、生まれてから電子書籍しか知らないなら何も困らない

787:デフォルトの名無しさん
23/11/30 11:02:18.40 wG+4D/Bo0.net
技術書の必要性が凄い勢いで無くなってくのは何か寂しいな
とは言え自分もググってCopilotも併用しているけども

788:デフォルトの名無しさん
23/11/30 11:21:02.38 XNXKu7/N0.net
別に有用性はなくなってないけどな
アウトプット先が増えてるだけで、高度に専門的な情報は書籍(電子含む)が強い
論文とかも電子になる時代だし、AI含め、色んな人のアウトプットを大多数が受け取れる便利な時代になったよ
紙は特定の存在が物理的に抱え込むためのものになりつつある

789:デフォルトの名無しさん
23/11/30 12:27:53.48 0vX9CguP0.net
えーっと確かこの本のこの辺にって実本めくる方がだいたい早いからしょうがない

790:デフォルトの名無しさん
23/11/30 12:54:08.28 AHaSUwRO0.net
質問です
C♯で中規模以上のプロジェクト開発してるときってやっぱり毎回ビルドには時間かかったりするのでしょうか?
PHPから乗り換えようか迷ってんだけどC♯はビルドとかめんどくさそうで悩んでます

791:デフォルトの名無しさん
23/11/30 14:20:54.36 7CM8sx7Oa.net
C#が最適だとは言わないがPHPの方がクソなのは言うまでもない

792:デフォルトの名無しさん
23/11/30 19:03:12.17 7TTksUWH0.net
WPFでWindows.Formを呼び出したいんだけど、
参照開いてWindows_Formとかはあるけど、
Windows.Formがない、どうやって追加したらいいんですかね?

793:デフォルトの名無しさん
23/11/30 19:04:01.23 7TTksUWH0.net
バージョンは.NET 6です

794:デフォルトの名無しさん
23/11/30 19:40:56.51 4nwqW1NG0.net
<PropertyGroup><UseWindowsForms>true</UseWindowsForms></PropertyGroup>

795:デフォルトの名無しさん
23/11/30 19:44:16.86 jJtFC2b00.net
うる覚えだけどcsprojに<UseWindowsForms>true</UseWindowsForms>を追加したら良かった気がする
WPFプロジェクトなら<UseWPF>true</UseWPF>って項目があるはずだからその一つ下にでも追加してみるといい

796:デフォルトの名無しさん
23/11/30 19:56:33.31 7TTksUWH0.net
>>788
ありがとうございます
そこらへんって本には載ってないんですかね

797:デフォルトの名無しさん
23/11/30 20:03:06.67 faN/LqhT0.net
>「うろ覚え」を「うる覚え」と言う人に会ったことがあるかもしれません。実は一部の地方では、話し言葉として「うる覚え」が慣用的に使用されています。
「うろ」の文字や音が似ていることから「うる」に変わったとされています。
ただし、ビジネスシーンや書き言葉では「うろ覚え」が正しいので、間違わないように気をつけましょう。

798:デフォルトの名無しさん
23/11/30 20:04:01.72 BRv3/z1v0.net
ここはビジネスシーンじゃねーから関係ないね

799:デフォルトの名無しさん (ワッチョイ 7f21-pENz)
23/11/30 20:38:41.31 RWZc3ygH0.net
一時期うる覚え撲滅委員会やってたけど面倒く臭くなってやめた

800:デフォルトの名無しさん (ワッチョイ c7d4-OX+t)
23/11/30 20:39:36.41 RpgM53cz0.net
うるかしておいて

801:デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
23/11/30 21:05:23.75 faN/LqhT0.net
「うろ」は「空」または「虚」または「洞」の読み方だから
「うる」じゃ意味が分からなくなるんだよね

802:デフォルトの名無しさん (ワッチョイ 5f1f-KBoc)
23/11/30 21:26:06.29 BRv3/z1v0.net
そろそろ板違い

803:デフォルトの名無しさん
23/11/30 22:56:39.86 AHaSUwRO0.net
>>784
なんで?

804:デフォルトの名無しさん
23/12/01 13:52:35.60 pq7rhG040.net
完全な初心者なのですが、C#の変数宣言におけるvarって
パフォーマンス的なデメリットなどは存在しないのでしょうか?
読み辛さがなければ便利につかってよいものと考えていいですか?

805:デフォルトの名無しさん
23/12/01 13:57:09.40 rKLFf3Nx0.net
パフォーマンスは関係ないよ
使う使わないも好みの問題なので、自分が良いなら使えば良い

806:デフォルトの名無しさん
23/12/01 14:03:49.94 0wDimeZp0.net
varは推論型なので内部でintやstringに変換してくれる
むしろ宣言時に初期化してなくて推論出来ないとエラーが出る
var a; // 初期化してないのでエラー
var b=null; // 何のnullかわからないのでエラー
var c=0; // int型なのでOK
var d=','; // char型なのでOK

807:デフォルトの名無しさん
23/12/01 14:05:25.14 T/T91xwv0.net
varはコンパイル時に型が決まるからね

808:デフォルトの名無しさん
23/12/01 14:09:27.27 pq7rhG040.net
ありがとうございます! パフォーマンスは気にしなくてよいのですね……!
便利に使います!

809:デフォルトの名無しさん (ラクッペペ MM8f-oR+T)
23/12/01 15:12:36.39 j+kKKSjnM.net
コンパイルにかかる時間が余計かかるのでは?

810:デフォルトの名無しさん (ワッチョイ 5f34-KBoc)
23/12/01 15:30:54.58 OXWkzWRJ0.net
余計って
何ミリ秒とかじゃねーの?

811:デフォルトの名無しさん (ワッチョイ 5fe5-GgRN)
23/12/01 15:54:55.96 rKLFf3Nx0.net
コンパイル時っつーか、EXEやDLLビルドする時(コンパイルって言うと実行時のコンパイルと誤解する)

812:デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
23/12/01 17:32:54.38 NZuUNSBe0.net
どちらも似た様なもんだろw

813:デフォルトの名無しさん (ワッチョイ 4778-0ikQ)
23/12/01 17:38:45.74 NB+NfP/p0.net
型推論時は右辺を評価してその結果の型が変数の型になる
型を明記した場合は右辺を評価してその結果の型と明記した型が一致するかどうかをチェックしてる
varが使える状況か否かの確認に追加ステップが必要だったとしても差は出ないんじゃないかと思う
でも少し興味あるので誰かに大きいコードベースでベンチマークして貰いたいかも

814:デフォルトの名無しさん (ワッチョイ 6733-dIgO)
23/12/01 17:42:43.52 GGR/f3/i0.net
ビルド以外のその時に動いている別プロセスの影響による誤差以上に差が出る気がしないけどなぁ

815:デフォルトの名無しさん
23/12/01 19:25:57.27 nYA3mcmA0.net
>>806
まぁこれだよな
有意な差がデータから読み取れるのなら確かに見てみたい

816:デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
23/12/01 21:24:13.90 NZuUNSBe0.net
コード生成は一度やれば済むんだから、その一度の時間差なんて厳密に測って意味あるの?

817:デフォルトの名無しさん (ワッチョイ 5f79-/KuA)
23/12/01 21:32:13.38 Jz3SJDE50.net
varって値を入れたら瞬時に型が決まるから人間が想像するような推論ではなくパターンマッチと言った方が近いかもー

818:デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
23/12/01 21:35:41.22 NZuUNSBe0.net
右辺の型なんかコンパイラは分かってるからねぇ
むしろ左辺の型と合ってるか比較する方が時間掛かってんじゃね?
知らんけど

819:デフォルトの名無しさん (ワッチョイ 7f10-GgRN)
23/12/01 21:45:38.66 LLEebJ7P0.net
>>805
ソースコードからのビルドと、JITは相当違うが

820:デフォルトの名無しさん (ワッチョイ 7f99-GgRN)
23/12/01 23:30:19.67 Cli0BVfg0.net
場外乱闘が大好きなんだな。

821:デフォルトの名無しさん
23/12/02 13:18:43.89 3ChpQtq/0.net
使ってるお絵かきソフトのカスタマイズがしたいんですが
オープンソースじゃないお絵描きソフトのキャンバスに色を塗ったりするのって不可能なんですかね?

822:デフォルトの名無しさん
23/12/02 13:22:15.93 dC73Xol+M.net
開発元に仲間にしてもらえ

823:デフォルトの名無しさん
23/12/02 14:11:34.69 GMhCNfLc0.net
自動化ソフトでペイントブラシにお絵かきしてた人はいたな

824:デフォルトの名無しさん
23/12/02 15:13:30.76 3ChpQtq/0.net
オープンソースじゃないと自動化やカスタマイズは難しいって結論でいいですかね?

825:デフォルトの名無しさん
23/12/02 15:23:11.83 HayA9ddu0.net
自動化はオープンソースかどうかはあまり関係ないし
カスタマイズはオープンソースかどうかよりもカスタマイズできる機能が用意されてるかどうかの方が重要
なのでその結論はどちらかと言えば間違い

826:デフォルトの名無しさん
23/12/02 15:50:54.90 O517Z4Pz0.net
カスタマイズは金出せばたいていのものは出来るぞ

827:デフォルトの名無しさん (ワッチョイ 5942-RTS9)
23/12/02 18:12:32.52 9irNWnk20.net
プラグイン方式のAPIが用意されているなら出来るかもしれんね

828:デフォルトの名無しさん (ワッチョイ 3abd-zrcD)
23/12/02 18:52:29.11 6VKi/HQz0.net
GIMPでPython-Fu

829:デフォルトの名無しさん
23/12/02 19:54:35.50 9ebigAxN0.net
dyspyで改造すればいい

830:デフォルトの名無しさん
23/12/03 11:50:27.21 wHVkOda/0.net
>>818
ありがとうございます。公式でそんなのなかったんで諦めます。

831:デフォルトの名無しさん
23/12/03 12:07:42.81 X1j6LHWz0.net
珍しくやさしい

832:デフォルトの名無しさん (ワッチョイ a536-6R1a)
23/12/06 05:15:37.44 TkvZFS2b0.net
Cで作ったDLL関数の引数が構造体のポインタでrefで呼び出し出来ていたんだが、C#側のstruct文をclass文に変えたことでメンバ変数に正しく伝わらなくなって悩みました。
何故でしょうか?

833:デフォルトの名無しさん (ワッチョイ 6610-tBUZ)
23/12/06 07:26:11.29 bubLwMtd0.net
structをclassに変えたからだろ自分で言ってるじゃないか

834:デフォルトの名無しさん (ワッチョイ 6ae5-tBUZ)
23/12/06 11:51:31.60 aWUIe7Q50.net
>>825
Cのポインタと、値渡し・参照渡しを勉強して

835:デフォルトの名無しさん (ワッチョイ a536-6R1a)
23/12/06 12:09:56.44 TkvZFS2b0.net
>>826
メンバー関数なしのclassはstructと同じと思ったの。publicは付けるとして。

836:デフォルトの名無しさん (ワッチョイ 6ae5-tBUZ)
23/12/06 13:15:20.57 aWUIe7Q50.net
答えはclassにするならrefを取れなんだが
まずclassとstructの違いをちゃんと勉強しような?

837:デフォルトの名無しさん (ワッチョイ 65cb-Q9JY)
23/12/06 13:46:33.35 NPFUhgut0.net
初心者です。
.NET Standard 2.1を使用しています。
マルチスレッドの同時接続数の設定で、ServicePointManager.DefaultConnectionLimitの値をできる限り上げたいのですが、Int32.MaxValueを設定しても問題ないのでしょうか。
一般的にServicePointManager.DefaultConnectionLimitの値はどうやって決めるものなのでしょうか。

838:デフォルトの名無しさん
23/12/06 18:55:54.49 ODgvh3rC0.net
ライブラリが勝手にアプリ全体の制約値変えていいのか?というのはまあおいといて
HttpClientが使ってるHttpClientHandlerやSocketsHttpHandlerのMaxConnectionsPerServerもInt32.MaxValueだし別に設定するのは問題ないよ
実際の同時接続を増やしすぎたらサーバによっては蹴られるとか攻撃扱いされるとかあるかもしれんが一般化できるもんではないな
あと接続繰り返すうちにクライアント側もソケットを使い果たす可能性もあるぞ

839:デフォルトの名無しさん
23/12/06 19:55:44.60 wX85cynNM.net
>>830



840:経験や知識のあるものが実測値などを基に決める 初心者が及びもつかないこと 普通に無理ゲー



841:デフォルトの名無しさん
23/12/06 19:56:05.75 +EnqVXDC0.net
System.Windows.Forms.Timer
これで呼び出した関数の中で
テキストボックスとか操作できちゃう理由が知りたいです。
内部的にInvoke使ってるんですか?

842:デフォルトの名無しさん
23/12/06 20:32:33.68 wX85cynNM.net
>>833
URLリンク(atmarkit.itmedia.co.jp)

843:デフォルトの名無しさん
23/12/06 20:35:22.09 74V1WVL70.net
UIスレッドで実行されているからコントロールを操作できる
URLリンク(learn.microsoft.com)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch