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)
844:デフォルトの名無しさん
23/12/06 20:42:07.51 +EnqVXDC0.net
>>835
for(int i=0;i<100000000;i++)
{
textBox.Text="test";
}
UIスレッドにこうかいてもループ終わるまで何故かtestって文字でないですけど何故ですか?
でもSystem.Windows.Forms.Timerでこれ呼んだら速攻で"test"ってでると思うんですが
845:デフォルトの名無しさん
23/12/06 21:21:27.26 NPFUhgut0.net
>>831
Int32.MaxValueでも問題ないんですね。ご教授いただきありがとうございます。
ちなみに作っているのはライブラリではなくUnityアプリとサーバです。
今回HttpClientではなくHttpWebRequestを使用しています。
HttpClientだとソケットが枯渇しやすいという話はよく見ていますが、HttpWebRequestでもソケット枯渇は問題なのでしょうか。
タイムアウトした接続が解放されずにカウントされたままになる、という情報を見て、ServicePoint.ConnectionLeaseTimeoutを適当に一分とかに設定していますが、この設定だけだと問題が起きてしまうんでしょうか。
846:デフォルトの名無しさん
23/12/06 21:34:33.42 wX85cynNM.net
HttpWebRequestはかなり前から非推奨だったと思うが…
847:デフォルトの名無しさん
23/12/06 21:57:10.39 /yWKgeqZ0.net
Loop中に処理権限渡さなあかんやろ
848:デフォルトの名無しさん
23/12/06 21:58:33.69 bAVe0RWP0.net
つか、UIスレッドにループとか書くな知障
849:デフォルトの名無しさん
23/12/06 21:59:34.08 EazbNqt3d.net
>>836
しらんけど
Listboxとか大量に突っ込んでる途中は表示されないでしょ
DoEventとかいれないと
850:デフォルトの名無しさん
23/12/06 22:01:16.10 ODgvh3rC0.net
>>836
UIスレッドの名前通りUIの更新もそのスレッドでやってるから
スレッドがループで独占されてて画面を更新できない
> でもSystem.Windows.Forms.Timerでこれ呼んだら
「これ」ってforを含んだものじゃないよね?
>>837
Unityは詳しくないからコメントできないな
851:デフォルトの名無しさん
23/12/06 22:04:36.80 +EnqVXDC0.net
>>841
勘違いかもしれないんでもう一辺試します
すいませんでした
852:デフォルトの名無しさん
23/12/06 22:15:36.73 +EnqVXDC0.net
>>842
でもSystem.Windows.Forms.Timerって動いてる時に
中でループ大量に走ってても
フォーム動かせたりしちゃいますよね?
これってUIの更新ではないですかね。
Mainとかにループ書くとフォーム動かせないのに。
853:デフォルトの名無しさん
23/12/06 22:16:58.97 +EnqVXDC0.net
実はループしてるときは動かせはするけど鈍くなってるんですかね。
854:デフォルトの名無しさん
23/12/06 22:39:56.04 ODgvh3rC0.net
> でもSystem.Windows.Forms.Timerって動いてる時に
> 中でループ大量に走ってても
状況が分からん 中ってなんだ ループって何を指してるんだ
855:デフォルトの名無しさん
23/12/06 22:43:06.05 RjlgKzha0.net
tickの中でループすると固まるでしゃろ
2.1は固まらないのか…?
856:デフォルトの名無しさん
23/12/06 22:45:04.51 +EnqVXDC0.net
>>846
こうです
public void clock(object sender, EventArgs e) {
for(int i=0;i<100000000;i++)
{
textBox.Text="test";
}
}
857:デフォルトの名無しさん
23/12/06 22:50:59.79 +EnqVXDC0.net
>>847
鈍くなってただけっぽい
858:デフォルトの名無しさん (スップ Sdea-ws2i)
23/12/06 23:40:36.62 2DYN/adQd.net
もしかして倉庫番君か?
859:デフォルトの名無しさん
23/12/07 07:29:21.20 P2Gy3zkS0.net
>>847の言う2.1が何のことかわからんけど
.NET Framework 4.8.1でも.NET6でも、>>848をやれば
ループ中はTextBoxの表示は変わらないしWindowも動かせないがな
860:デフォルトの名無しさん
23/12/07 07:54:02.73 Y2nxiOLtd.net
外部からのwm_paintで描画される事はあるかも
鈍くなるとは
861:デフォルトの名無しさん
23/12/07 08:31:54.73 H2AyE6420.net
WinFormのTimerのOnTickってWncProcから呼び出されてるけど
その状態でWM_PAINTとか来てもキューに積まれてるだけじゃない?
862:デフォルトの名無しさん
23/12/07 08:32:18.57 H2AyE6420.net
鈍くなってただけとかマジでわからんけどw
863:デフォルトの名無しさん
23/12/07 08:39:50.14 /dQqqyqX0.net
初心者の曖昧で雑な表現に振り回されるスレ民の図
864:デフォルトの名無しさん
23/12/07 08:46:18.88 Y2nxiOLtd.net
>>853
wm_paintはキューを無視して飛んでくるよ
865:デフォルトの名無しさん
23/12/07 08:58:54.25 H2AyE6420.net
あれ、そうだったっけ
昔見たMSのドキュメントにはDispatchMessageによって送信されて
WindowProcを介して受け取るって書いてあった気がしたけど
記憶違いかスマン
866:デフォルトの名無しさん (スプッッ Sdea-4wu8)
23/12/07 09:27:54.62 1UPy/6u0d.net
メインスレッド止めてるのに描画されるとか、ちょっとしたホラーだな
見えざるスレッドがいるのか
メインスレッドと思ってたものが実は違ったとか
もしくは、自動的に実行位置がコロコロ変わってる可能性も
867:デフォルトの名無しさん (ワッチョイ 6d9f-zrcD)
23/12/07 09:34:30.90 Q56eC8Dw0.net
今時のCPUじゃぁ100000000回ループなんてあっという間だから、メッセージ処理が少し滞ってもっさりした感じになる程度で済むんだろう
868:デフォルトの名無しさん (ワッチョイ 9140-JrwL)
23/12/07 09:53:06.28 fQltjmnX0.net
>>859
最適化されただけちゃうか?
869:デフォルトの名無しさん
23/12/07 17:59:27.07 qtD13wly0.net
>>851
2.1は>>830で書いてる.NET Standard 2.1
870:デフォルトの名無しさん
23/12/07 18:00:29.07 qtD13wly0.net
って違う質問だったよごめん
871:デフォルトの名無しさん (ワッチョイ 35c4-zrcD)
23/12/08 02:47:09.87 iIL14t3x0.net
Control.Refresh
872:デフォルトの名無しさん (スップ Sdbf-MP5X)
23/12/09 09:10:55.97 Z2D8kHNzd.net
text変更してもinvalidateされるだけ
ループ終わってから無効領域まとめてWM_PAINTメッセージがsendされる
873:デフォルトの名無しさん
23/12/10 00:55:08.49 rdr3TtNc0.net
ワンドライヴに保存して開いたら、エディタで開いたような感じになったぜ。
874:デフォルトの名無しさん
24/01/04 11:26:57.05 97h1wBCI0.net
URLリンク(wikiwiki.jp)
875:デフォルトの名無しさん
24/01/06 14:32:52.12 AYkaYTA3d.net
hage
876:デフォルトの名無しさん
24/01/06 14:33:11.04 AYkaYTA3d.net
ageh
877:デフォルトの名無しさん (ワッチョイ ffe1-JApz)
24/01/08 11:55:48.31 6WLOFFsr0.net
c#でパソコンの使用時間をカウントできないですかね?
フリーソフトであるんですが何故か正しくカウントできてない。
僕的には起動時間が使用時間であってほしいんです。
増えてはいるんだけど例えば10時間つけっぱなしにして+10時間ってなってないんですね
878:デフォルトの名無しさん (ワッチョイ df01-9rua)
24/01/08 12:05:41.91 6CrO7J2H0.net
windowsの起動日時をc#で取得する方法
を、bing等のaiに聞いてみる
879:デフォルトの名無しさん
24/01/08 12:15:04.04 60lS1oIG0.net
リアルタイムでなくていいならEventLog.GetEventLogsと以下参考にして算出したら?
URLリンク(faq3.dospara.co.jp)
> 僕的には起動時間が使用時間であってほしいんです。
> 増えてはいるんだけど例えば10時間つけっぱなしにして+10時間ってなってないんですね
ActivityWatchなら無操作時間もAFKとして記録してくれたような…
880:デフォルトの名無しさん
24/01/08 12:20:36.50 q5367SyVd.net
timer作ってカウントすりゃええんでないの?
窓起動時間は入らんけどさ
881:デフォルトの名無しさん (ワッチョイ 7fe5-mfjK)
24/01/08 12:40:06.35 GgkACOkl0.net
System.Environment.TickCount使え
882:デフォルトの名無しさん (オイコラミネオ MM7f-pi+W)
24/01/08 12:40:07.18 2Dy3ldbmM.net
イベントログに起動した時刻やスタンバイに入った時刻が記録されてる
883:デフォルトの名無しさん (ワッチョイ 7fe5-mfjK)
24/01/08 12:44:53.54 GgkACOkl0.net
1日内だの数日だのならこれで十分
32bit値によるミリ秒カウントだから49日ちょいで一回りしてしまうから
それ以上の日数で調べたいならDllImportしてGetTickCount64使う
884:デフォルトの名無しさん (ワッチョイ ff10-mfjK)
24/01/08 12:47:38.02 aeUHKPs00.net
DllImportしなくてもEnvironmentにTickCount64があった気がする
885:デフォルトの名無しさん
24/01/08 13:09:27.15 6WLOFFsr0.net
みなさん有難うございます。
>>874
それ全部合計できます?
>>876
累計調べたいですが出来ますかね?
886:デフォルトの名無しさん
24/01/08 13:22:01.18 aeUHKPs00.net
>>877
TickCountもTickCount64も、OSの起動時からの累計だぞ
Environment.TickCountでググってみるとかしてみるといい
887:デフォルトの名無しさん
24/01/08 13:37:16.51 6WLOFFsr0.net
>>878
有難うございます。とりあえずそれで1年間の起動時間調べてみます。
888:デフォルトの名無しさん
24/01/08 15:11:08.87 q5367SyVd.net
どーでもいいことだが
イベントログって放置してる?
赤いエラー見えると内容確認して消してしまうわ
889:デフォルトの名無しさん
24/01/08 15:27:59.54 uhZegW9c0.net
赤いとエラー、障害対応
890:デフォルトの名無しさん
24/01/08 15:28:40.80 uhZegW9c0.net
エラーじゃねえアラート
891:デフォルトの名無しさん
24/01/08 15:36:41.86 QVW1Svf+0.net
黄色は放置でいいけど
赤は駄目やろ
892:デフォルトの名無しさん
24/01/08 16:05:07.96 q5367SyVd.net
えー
DCOM に登録しませんでした
て無視しね?
893:デフォルトの名無しさん
24/01/08 16:48:18.97 bZA8rO/S0.net
>>875,876
.NET Frameworkには無いけど、.NET5(厳密には.NET Core3.0)以降ならEnvironment.TickCount64がある
894:デフォルトの名無しさん
24/01/08 17:14:34.76 DQpaADHn0.net
メソッドのアクセス修飾子は、internal と public どっちがいいんでしょうか?
仕事で見るソースコードはほぼ全て (internal・public のどちらでもいい箇所は) public ですし、
自分で書く時も public ばっかり使っています。
他のアセンブリから参照されないメソッドは積極的に internal にするべきでしょうか?
895:デフォルトの名無しさん
24/01/08 17:41:32.85 Zq5bmw
896:pv0.net
897:デフォルトの名無しさん
24/01/08 17:53:55.46 Rp8wcscb0.net
モノクロディスプレイじゃなければ
898:デフォルトの名無しさん
24/01/08 18:06:19.35 9oT8CVge0.net
>>880
消すって、すべて解決してるの?
すごいね
899:デフォルトの名無しさん
24/01/08 18:32:12.13 aeUHKPs00.net
>>886
メソッド持ってるクラスがpublicなら、公開すべき物以外はpublicにしない
900:デフォルトの名無しさん (ワッチョイ df01-9rua)
24/01/08 18:47:08.96 6CrO7J2H0.net
顧客にwinサバ納品の条件に、赤いのは対処して無くしておくこと、というのがあってすごく面倒だった思ひ出
無視すりゃエエやんて愚痴りまくったわ
901:デフォルトの名無しさん (ワッチョイ 5f78-03E5)
24/01/08 19:56:55.35 X79wlzmD0.net
あれってWindows側のバグだと思うんだけど全部消す事ってできるの?
902:デフォルトの名無しさん (ワッチョイ ff21-yk8x)
24/01/08 20:00:32.85 Zq5bmwpv0.net
ああ、一行丸ごとに色が付いてるんじゃなくて
行頭のエラーレベルのアイコンのことか
903:デフォルトの名無しさん
24/01/08 22:28:47.96 izlDBt/z0.net
イベントログサイズを0バイトにすればエラーなし(そうじゃない)
904:デフォルトの名無しさん
24/01/08 23:26:25.07 FNFcnj+v0.net
>>891
でも赤いの消すのってメーカーPCとかの製品では必須なのでは
見つかったら絶対問い合わせ来るやつじゃん
905:デフォルトの名無しさん
24/01/09 01:27:31.91 kKdORG5L0.net
>>895
必須ではない
一覧にあるエラー分は無視で構いません
でokなとこもある
906:デフォルトの名無しさん (ワッチョイ ff47-JApz)
24/01/10 18:42:27.41 rO8r+DU/0.net
他のパソコンの起動時間をリアルタイムでTCPIP通信で受け取りたいんですが
URLリンク(dobon.net)
上URLのクライアントのコードにおいて
↓これはサーバーに向けての送信だからわかるんです。
ns.Write(sendBytes, 0, sendBytes.Length);
でもループの中の
↓これが分かりません。
ms.Write(resBytes, 0, resSize);
msっていう変数にWriteする必要性って何ですか?
コメントだと //受信したデータを蓄積する
って書いてて今一そうしてる意味が分かりません。
907:デフォルトの名無しさん (ワッチョイ ff7b-ipwt)
24/01/10 19:13:08.65 wiBCpBDR0.net
>>897
そのページに記載のサーバーとクライアントの仕様をちゃんと呼んだ上で
実際にサンプルプログラム動かして確認してたらその質問は出ないと思うんだが試したのか?
それはそうとDOBONはもう更新するつもり無いなら注意書きつけてほしいわ
サンプルコードが古すぎて害にしかなってない
908:デフォルトの名無しさん (ワッチョイ 5fff-NF1f)
24/01/10 19:14:10.09 xhKI3zeu0.net
>>897
MemoryStreamって書いてあんだろ
メモリーに流し込むクラスだろうね
909:デフォルトの名無しさん (スプープ Sd1f-mfjK)
24/01/10 20:44:19.99 vG4IIubdd.net
>>898
対象のバージョンや記事書いた時期でもあればよかったのにね
でもまぁコードなんて最新の事情に合わないなんてよくあること
古くても読み物としてありよ
910:デフォルトの名無しさん
24/01/11 06:55:27.49 LIuE+Fi80.net
ページ内に履歴があるだろメクラかお前ら
911:デフォルトの名無しさん (スプープ Sd1f-mfjK)
24/01/11 12:23:34.54 Fle+/cCtd.net
初稿の履歴ないのがねぇ
仮に2000年初稿で2024年の初修正があったらわけわかめ
912:デフォルトの名無しさん
24/01/11 19:36:49.57 CdeueIId0.net
>>898
良く見るとTCPIPとは関係無いコードでしたね。
データを保存してるっぽいですね。ありがとうございます。
913:デフォルトの名無しさん
24/01/17 13:48:13.58 ScFPuN2i0.net
URLリンク(twitter.com)
(deleted an unsolicited ad)
914:デフォルトの名無しさん (ワッチョイ bfed-EFyZ)
24/01/23 20:11:36.23 AWqpAujf0.net
タブページの中に別のフォームを埋め込むって出来ますか?
変数ってフォームごとに所有権があって変数名が被る心配がないじゃないですか。
実際複数のタブにわたってテキストボックスとか置くと頭に付ける文字の区別とかがしんどいです。
これ何とかなりますか?
915:デフォルトの名無しさん
24/01/23 21:23:50.81 mwhYOn0kd.net
ようわからんわ
オブジェクト思考?
usercontrol作れ?
なんだろこれ
916:デフォルトの名無しさん
24/01/23 21:32:11.32 6U+6gI+/0.net
ひょっとして「ユーザーコントロール」で検索すると幸せになれたりして?
917:デフォルトの名無しさん
24/01/23 21:39:08.05 JcNbHQUDp.net
内部クラスっぽく出来たと思ったよ
918:デフォルトの名無しさん
24/01/23 21:45:42.88 AWqpAujf0.net
>>907
おおやりたいことが無事実現しましたw
同じ名前でも全然競合しないし最高ですねこの機能
919:デフォルトの名無しさん
24/01/24 00:40:45.85 pnQLU1ii0.net
やっぱりwinformsってguiフレームワークとしては一番手軽よね
920:デフォルトの名無しさん
24/01/24 11:37:50.43 2akkljXY0.net
手軽なだけなら一番はVB6かな
921:デフォルトの名無しさん
24/01/24 11:54:14.72 i18Ivvk80.net
C#スレでその答えはいかがなものか
922:デフォルトの名無しさん
24/01/24 13:00:22.05 4H3THdR1M.net
今のブラウザなら数値専用や日時専用があるからwinfomより簡単じゃね?
923:デフォルトの名無しさん
24/01/24 14:11:00.83 lOva81w60.net
アンカーやドックなどがあるから、もうVB6は無いな
924:デフォルトの名無しさん
24/01/24 15:26:22.66 pLKcXdg3H.net
vb6はエディタが糞
耐えられない
925:デフォルトの名無しさん (ワッチョイ e7ae-zQB7)
24/01/25 09:42:48.26 Y/Dhb+kB0.net
Excel VBAはいつになったらエディタを更新するんだ・・・?
926:デフォルトの名無しさん (オイコラミネオ MM1f-TBl5)
24/01/25 11:19:28.66 39FMXzwMM.net
public static string[] GetFiles (string path, string searchPattern);
searchPattern
String
path 内のファイル名と対応させる検索文字列。 このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。
これなんですが*.jpgと*.pngを返すにはどうしたらいいですか?
927:デフォルトの名無しさん (ワッチョイ 5f0e-jRVG)
24/01/25 11:34:16.17 oZfM3pz30.net
2008年の情報
URLリンク(bbs.wankuma.com)
2014年の情報
URLリンク(devlabo.blogspot.com)
928:デフォルトの名無しさん
24/01/25 12:29:17.22 3r459Fy60.net
>>917
GetFilesを2回実行しよう!
929:デフォルトの名無しさん (ワッチョイ 5fe5-zwhO)
24/01/25 14:30:48.16 iiTXKpYa0.net
*.jpgと*.pngで1回ずつGetFilesするか
*.*でGetFilesして返ってきた配列をWhereしとけ
930:デフォルトの名無しさん (ワッチョイ e701-xqld)
24/01/25 17:25:22.28 omI3X5NY0.net
Microsoft.Extensions.FileSystemGlobbingってのがあるよ
URLリンク(learn.microsoft.com)
931:デフォルトの名無しさん (ワッチョイ e701-xqld)
24/01/25 17:31:07.30 omI3X5NY0.net
サブディレクトリを対象にする必要がなければEnumerateFilesとかの結果を自分でフィルタリングするコードを書いたほうが簡単かもしれない
932:デフォルトの名無しさん
24/01/25 19:55:17.14 Rn+lT0/uM.net
>>918-921
ありがとう上手くいきました!
933:デフォルトの名無しさん
24/01/26 13:12:48.82 AOloEcvR0.net
ASP.Net Coreって、いつになったらPasskeyに対応するの?
934:デフォルトの名無しさん
24/01/28 13:38:31.37 W2P22Djg0.net
VisualStudioのC#で開発して配布した過去バージョンのexeに何かしら問題が起きてソースを追ってデバッグする必要が出てきた時、
必要なのはそのexe本体とそのバージョンのpdbファイルだけでいいですか?
デバッグにはそのバージョンのソースコードもやっぱり必要?
また、配布したexeのpdbファイルはバージョン毎に残しておいたほうがいいという話を聞いたのですが
それはそのバージョンでビルドし直さなくてもよくなるからという認識で合ってますか?
気軽にバージョンを戻して再ビルド出来る環境がある場合、pdbファイルは残しておかなくても問題ないという認識で合ってますか?
935:デフォルトの名無しさん
24/01/28 13:59:23.66 GB+X/o1PM.net
pdbファイルでググって意味がわからないならまあ必要はないかな
936:デフォルトの名無しさん
24/01/28 14:50:18.85 J3Axde5H0.net
上から目線で情報ゼロ
937:デフォルトの名無しさん
24/01/28 14:57:53.56 UOEDMTUj0.net
そんなもんよ
やればわかる事やしな
938:デフォルトの名無しさん
24/01/28 15:01:53.02 93fehYxc0.net
c#住民の民度低く
939:デフォルトの名無しさん
24/01/28 15:11:21.96 +LjN+GoR0.net
VBNetからC#の移行ってハードルは高いですか?
元々趣味レベルでVB6やってた流れでVBnetに移行してしまったけど、
C#の方が参考文献も多いし簡単に移行出来るのなら、そうしたい
940:デフォルトの名無しさん
24/01/28 16:32:47.76 MXIL7WQC0.net
簡単だと思うけどな
ILレベルだと同じだし
941:デフォルトの名無しさん
24/01/28 17:12:06.60 ohe9LYAg0.net
C#→VB.netだと辛いだろうけど逆なら楽だろうね
コンバータもあるみたい
URLリンク(github.com)
942:デフォルトの名無しさん
24/01/28 17:14:07.15 6vdR+iWz0.net
細かい違いはあるけどVB.Net⇔C#は大丈夫でしょ
943:デフォルトの名無しさん
24/01/28 17:24:12.17 Y9bW3h9B0.net
昔趣味でVB.NETで書いたけど、何年か前にSharpDesktopの変換機能を使ってVB.NETからC#にして、
その後はC#で書いている。
VB.NETは今後機能強化は見込めない。
Visual Basic 言語の戦略 - Visual Basic | Microsoft Learn
URLリンク(learn.microsoft.com)
>Microsoft は、アナライザー、コード修正、IDE 生産性機能の提供など、
>Visual Basic 開発者向けの Visual Studio のエクスペリエンスを引き続き向上させます。
>Microsoft は、VB でサポートされている既存のシナリオを今後も重視し、
>Web フロントエンドやクロスプラットフォーム UI フレームワークなどの
>新しいワークロードのサポートを追加する予定はありません
944:デフォルトの名無しさん
24/01/28 17:59:36.01 LPBT5UB60.net
>>931
嘘吐き
VB.NETの方は余計なコードがくっついてくるぞ
945:デフォルトの名無しさん
24/01/28 18:01:50.46 0jJ0H9gA0.net
SharpDevelopのコンバーターさんはかなり有能
946:デフォルトの名無しさん (ワッチョイ 5e31-IHfd)
24/01/28 20:44:42.49 OcG9H8Hh0.net
c++のスレッドいつの間にか無いんでここで聞きます。
簡単なデスクトップのアプリケーション作る時に
今時winfomじゃなしにmfcを使うメリットはありますか?
有る程度コンポーネント揃ってるし何より格好がいいとは思いますが。
947:デフォルトの名無しさん (ワッチョイ 8a0e-/c6K)
24/01/28 20:55:25.22 UOEDMTUj0.net
自分でメリット書いてるやん
948:デフォルトの名無しさん (ワッチョイ 5e31-IHfd)
24/01/28 21:07:30.55 OcG9H8Hh0.net
>>938
mfc難しくて未だに簡単なのも作れてません
動作の軽さはどっちがいいですか?経験してたらここが早くていいとか教えて欲しいです
949:デフォルトの名無しさん (ワッチョイ ea79-hxBP)
24/01/28 21:47:38.13 24KrtbEi0.net
むしろ簡単なデスクトップアプリならC#だろうに
このスレに来たのはつまりそういう事だな
でなければただの変なやつだぞ