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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 07:31:00.51 ID:2LMOL5Ty0.net]
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part157
https://mevius.5ch.net/test/read.cgi/tech/1669349768/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 13:05:39.10 ID:14FiY4OPM.net]
C#でググれって自己紹介なのに
しばらくC#でググっても上位に出て来なかったから焦ってるのか?

3 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 13:34:29.41 ID:tXMVQqKEd.net]
やっぱりアンチじゃないですかー

999 デフォルトの名無しさん (オイコラミネオ MM49-3uzD) sage 2023/03/26(日) 13:01:14.46 ID:14FiY4OPM
単発うざすぎる
本人かよ
結局次スレのテンプレに入れてる
テンプレに入れても利用者は誰の得にもならないのに

4 名前:デフォルトの名無しさん [2023/03/26(日) 14:32:22.87 ID:AZqv4ccCM.net]
ここまで必死だと気持ち悪い
本人以外に考えられないよね

5 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 17:42:06.89 ID:xVxTUxS70.net]
匿名掲示板で本人認定するのって、20年前の話じゃないか

6 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 20:08:58.07 ID:rDmXEFHlr.net]
atmarkitのC#入門・・・・はもうバージョンが古すぎて勧められないよなあ
書籍だと独習C#が定番だったなあ・・・・と検索したら第5版(2022/7)でC#10.0まで対応するアップデートが入ってるみたいだ
著者も信用できるし最新の「独習C#」を買って読むのがいいかな
ufcppはさすがに初心者には酷だとは思うけど否定されるべきサイトじゃないような

7 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 21:05:29.84 ID:NpxeEyN90.net]
古いと言えばdobonも古いよな
とはいえ、比較的新しい内容にまで追従していて初心者向けでそれなりに広範囲を網羅しているようなところが有るかといえば思いつかないが

8 名前:デフォルトの名無しさん (ブーイモ MM26-pkhP) [2023/03/26(日) 21:42:52.51 ID:5JOAAmYfM.net]
今はもう公式サイトが充実してるから言語を新しく学ぶ人はまず公式から
逆引き的な調べ方をするときだけ外部サイトで補完したほうがいい

9 名前:デフォルトの名無しさん (ワッチョイ 426a-3Jul) mailto:sage [2023/03/26(日) 21:55:31.79 ID:NpxeEyN90.net]
公式は機械翻訳がクソすぎるのがなぁ
初心者に英語力まで期待するのは酷ではなかろうか

10 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 00:54:34.52 ID:ypfR6BT30.net]
機械翻訳のせいで進めない自体になったことねぇわ



11 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 01:40:39.65 ID:b0l2Peyd0.net]
C#で書かれた、比較的著名なOSSプロジェクトって何がある?
活動が滞ってるものも含めて挙げてもらえるとうれしい(できればプロジェクトページへのリンク付きで)

12 名前:デフォルトの名無しさん [2023/03/27(月) 02:14:06.44 ID:SicRvVGw0.net]
またお前か

13 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 19:16:40.86 ID:RuCYY04Cd.net]
Bingチャット便利だね。ファイル整理とか言葉通りにすぐロジック組んでくれるし。
言い間違えたのか、無限にサブフォルダ掘られたことあったけど。

14 名前:デフォルトの名無しさん [2023/03/27(月) 19:57:46.20 ID:nOVTz35cp.net]
ファイル整理って何をすることなの?

15 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 20:09:26.13 ID:RuCYY04Cd.net]
>>14
テキストファイルの中身に応じてファイル名を付け直したりフォルダを移動したり。

16 名前:デフォルトの名無しさん (ワッチョイ 45e4-z+CU) mailto:sage [2023/03/27(月) 22:01:14.56 ID:dHqJNHXN0.net]
何年か前に独習買ったけど興味のあるところだけ読んだだけで7割くらいは手付けてないな
ちゃんと読んだら勉強になるんだろうけどあの分厚さを前にすると気が進まない

17 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 00:47:21.91 ID:pwf3y6wyM.net]
独習よりatmarkitのC#入門の方が合う人も多数いると思う
古いから現状にあってない場所が多いけど基本的な考えは違っていないと思う

書いてあることをそのまま読み進めるか誘導されて何か感じるかと言う面で違いがある
前にも書いたけど何冊も読めばいいと思う

18 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 01:39:12.84 ID:XplxSxwAr.net]
なんでこの子は未確認飛行にだけ当たりが強いのかね
不思議

19 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 06:58:33.53 ID:8x+Qo82z0.net]
どの本を読んでもどのサイトを読んでもいいけど、
安易にプログラミング言語学習サイト?と高額契約をしないようにね。
どんなのか知らんけど。

20 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 06:58:57.22 ID:u3ImWfVR0.net]
思い込みの強い子なんだろう



21 名前:デフォルトの名無しさん [2023/03/28(火) 10:07:29.75 ID:fedCMYV90.net]
>>11
著名なOSSってほぼ完成してるからなぁ
個人的に欲しいのはOpenTKのWinUI対応だったりかなぁ
https://github.com/opentk/opentk

22 名前:デフォルトの名無しさん (スップ Sd62-M8+T) mailto:sage [2023/03/28(火) 15:57:24.36 ID:VZEZBvEld.net]
オイコラは未確認飛行に何か恨みを持っていて敵視してるフシがある
妙に感情的になるし

23 名前:デフォルトの名無しさん (オイコラミネオ MM49-3uzD) mailto:sage [2023/03/28(火) 19:36:33.78 ID:hi78eiG+M.net]
webランク上げすんなよw

24 名前:デフォルトの名無しさん (オイコラミネオ MM49-3uzD) mailto:sage [2023/03/28(火) 19:39:32.97 ID:hi78eiG+M.net]
++ c++になにも恨みはないよ
なぜか急に不必要に持ち上げる人間が急に出てきたのがキモイだけ
信者が出るようなサイトじゃないのに

がつがつワード出てくるしランク上げしてんのかと思うわ
本当に馬鹿らしい

25 名前:デフォルトの名無しさん (ササクッテロラ Spf1-wUZC) [2023/03/28(火) 19:51:13.78 ID:fqy2U+UFp.net]
いや明らかにお前の方がキモい
不必要にサゲようとする明確な意思を感じる

26 名前:デフォルトの名無しさん (ワッチョイ 4d42-3uzD) mailto:sage [2023/03/28(火) 20:01:09.83 ID:AImc2+ci0.net]
初心者しかWEB見ないという前提なんだろうか?

27 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 20:32:05.53 ID:VZEZBvEld.net]
これが持ち上げランク上げとか認知バイアスにも程がある
アンチが出るようなサイトじゃないのに不思議

28 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 21:05:53.00 ID:qqfu2Biw0.net]
不必要に持ち上げてるように見えてるだけだろ。

29 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 05:46:59.03 ID:iyrXPlc80.net]
ufcppだけで0から学べるだろ

30 名前:デフォルトの名無しさん (ワッチョイ 49e5-wSlO) mailto:sage [2023/03/29(水) 08:32:42.86 ID:eQpjbl980.net]
>本当に馬鹿らしい
鏡見てどうぞw



31 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 16:36:19.86 ID:nqaTcUCud.net]
>>29
他言語をそこそこ扱えるならC#ではどう書くのか調べるにはいいと思うけど
プログラミング自体が初めてとかだとちときびしいかねぇ
入門とは銘打ってあるけども

32 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 16:52:02.42 ID:eQpjbl980.net]
そんなド素人レベルだと>>1のどれ見ても無駄だと思う

33 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 17:11:42.62 ID:HnYXmqUq0.net]
すみません、質問です
名前付きパイプを作りたいのですが下記のエラーが出てしまいます
Pythonなどだとエラーが出ないのでパーミッション関係ではないと思うのですが、
何が問題なのでしょうか?

環境 visual studio 2022
参考にしたサイト
https://learn.microsoft.com/ja-jp/dotnet/api/system.io.pipes.namedpipeserverstream?source=recommendations&view=net-7.0

エラー内容
System.UnauthorizedAccessException: 'Access to the path is denied.'

プログラム
private static void ServerThread(object data)
{
using (NamedPipeServerStream pipeServer = new NamedPipeServerStream("testpipe"))
{

}
}

34 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 20:04:16.04 ID:LcQDukOu0.net]
>>33
そのまま動かしてみたけどエラー再現しないなあ。learn.microsoftのサンプルで動いて自分のコードでエラー出るのならそこに書いてないusingの中身に問題があるのでは

35 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 22:54:15.98 ID:q8lCl2vf0.net]
>>33
俺もMicrosoftのコードをそのまま動かしたけど、例外が発生せず動作する。
Windows 11、Visual Studio 2022、Administrator、UAC昇格なし。

サーバープログラムは普通のexe? それともWindowsサービス?

UnauthorizedAccessException と named pipe でぐぐったらちょっと引っかかるけど何か該当するのある?

36 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 23:07:01.22 ID:Mqqhb1VW0.net]
"testpipe" を変更しても同じになるか、とか、テストしてる PC を再起動しても同じかとか、気になるかも。

37 名前:デフォルトの名無しさん mailto:sage [2023/03/30(木) 01:52:26.63 ID:9v5VPr0Ga.net]
VSCode でもRuby とかやっていると、たまにある。
外部プログラムからフォルダへのアクセス禁止のダイアログが表示されて、それで許可する

VSCodeがバージョンアップされたら、また起こるのかも?

38 名前:デフォルトの名無しさん (ワッチョイ 2ef2-uluY) mailto:sage [2023/03/30(木) 06:33:08.35 ID:kkhtfcLh0.net]
>>34
不要なUsingを全て削除してもエラーがでました
Formアプリを作っているのですが、問題を切り分けるためCLIで試してみようと思います

>>35
ググってヒットしたやつも試しました
PipeSecurityクラスを使って云々とあるのですが、
VS 2022だとPipeSecurityクラスがなく手詰まりになりました

例えばこのページの説明:
https://stackoverflow.com/questions/3478166/named-pipe-server-throws-unauthorizedaccessexception-when-creating-a-second-inst

マニュアルにはあるんですがVS2022だとそんなクラスありませんとエラーになります
コンパイルのターゲットバージョン等が影響してるんでしょうか?
プロジェクトのプロパティを見てもターゲット指定箇所がなくて試せていませんが、、、
Visual Studio 2022の使い方で躓いているのかも、、
https://learn.microsoft.com/ja-jp/dotnet/api/system.io.pipes.pipesecurity?view=net-8.0

とりあえず、先に書いた通り CLI で試して、それでだめならVS2019に落としてみようと思います

>>36
パイプ名の変更は試しました
\\.\pipe\ を名前の前につけたりもしたのですがダメでした

PC再起動は盲点でした
試してきます

返信が遅くなりすみません
取り急ぎ、アドバイスありがとうございます

39 名前:デフォルトの名無しさん (ブーイモ MMb6-pkhP) [2023/03/30(木) 11:52:28.88 ID:snzoMESKM.net]
>>38
>マニュアルにはあるんですがVS2022だとそんなクラスありませんとエラーになります
必要なassemblyが参照されてるかどうかを確認してみたら?

40 名前:デフォルトの名無しさん (ワッチョイ fd54-+95c) mailto:sage [2023/03/30(木) 15:06:07.07 ID:WhgIs81G0.net]
>>38
パーミッション関係ではない可能性も高いけど、VS Code を管理者権限で起動して試してみるとか?
※手間が少ないので提案



41 名前:デフォルトの名無しさん (スッップ Sd62-M8+T) mailto:sage [2023/03/30(木) 15:20:47.34 ID:mJKS0zrLd.net]
VSのバージョンを疑うよりはターゲットフレームワークやアセンブリ参照を確認するのが先決ではなかろうか

42 名前:デフォルトの名無しさん (ワッチョイ 49e5-wSlO) mailto:sage [2023/03/30(木) 16:11:20.51 ID:AE9DWlm70.net]
そもそもフレームワークのバージョン指定を何でやってるんだ?っていうのもあるけど
.NET Frameworkでも.NETでも基本セット内にあるアセンブリだから
普通にプロジェクト作成してたらあるはずだけどな

43 名前:デフォルトの名無しさん (ワッチョイ 49e5-wSlO) mailto:sage [2023/03/30(木) 16:14 ]
[ここ壊れてます]

44 名前::04.93 ID:AE9DWlm70.net mailto: CoreとかStandardでやってる可能性?
こいつらにはPipeStreamはあってもPipeSecurityは無かった気がする
[]
[ここ壊れてます]

45 名前:デフォルトの名無しさん (アウアウアー Sad6-z+CU) mailto:sage [2023/03/30(木) 20:01:10.08 ID:vNTBUBZQa.net]
何聞いてもそれなりに知ってる人がいるのはやっぱ凄いなここ

46 名前:デフォルトの名無しさん (ワッチョイ be2d-+ld4) mailto:sage [2023/03/30(木) 21:15:23.20 ID:CLZl5Xie0.net]
PipeSecurityは.NET Core 2.1/2.2/3.0/3.1, .NET 5の場合は標準で入っていないから
nugetでSystem.IO.Pipes.AccessControlを入れる必要がある

learn.microsoft.comで適用対象が.NET Platform Extensionsになっているものはこのパターン

47 名前:デフォルトの名無しさん (ワッチョイ be2d-+ld4) mailto:sage [2023/03/30(木) 21:17:11.19 ID:CLZl5Xie0.net]
.NET 6以降はまた標準で入ってるよ

48 名前:デフォルトの名無しさん (ワッチョイ e510-JI+e) mailto:sage [2023/03/30(木) 21:47:27.26 ID:PQ2EGsE80.net]
UWPで作ってるんじゃないの

49 名前:デフォルトの名無しさん (ワッチョイ 3d07-+ld4) [2023/03/30(木) 23:08:36.03 ID:9GC6l0iD0.net]
すいません。どうしてもわからないところがあるので質問したいです
ヴィジュアルスタジオ2019つかっています
「開始」をクリックしてプログラムが実行はされるんですが、そのあと「続行」
という表示がでて、「開始」の表示が出てこず、プログラムを作成して実行することができません
どうすればよろしいでしょうか?

50 名前:デフォルトの名無しさん (ワッチョイ 426a-40X5) mailto:sage [2023/03/30(木) 23:16:09.92 ID:AqWZdwW30.net]
なんかエラー出て停まってるとか?



51 名前:sage (ワッチョイ 3d07-+ld4) [2023/03/30(木) 23:23:36.52 ID:9GC6l0iD0.net]
>>49
いや、プログラムの実行は成功していて、エラーが出てる様子はないですね

52 名前:デフォルトの名無しさん (ワッチョイ be2d-uhGV) mailto:sage [2023/03/30(木) 23:52:54.11 ID:CLZl5Xie0.net]
意図せずクリックしてブレークポイントが設定されてそこで止まってるんじゃないかな
再開を押してみたら

53 名前:33 (ワッチョイ 2ef2-uluY) mailto:sage [2023/03/31(金) 00:13:56.73 ID:w3z1Snlm0.net]
>>39-47
色々アドバイスありがとうございました
再起動では直らず、CLIで試したところ動きました

>>47 さんがご指摘頂いたようにUWPで作っているのが原因でした
WPFに変更したところ無事NamedPipe通信ができました

趣味のツール作りでUIが簡単に作れそうだと思いC#を試してたのですが、
マルチプラットフォームが意識されているだけあって出力ターゲットによって振る舞いが大きく変わるんですね
勉強になりました

皆様、ありがとうございました!

54 名前:デフォルトの名無しさん (ワッチョイ 3d07-+ld4) [2023/03/31(金) 00:42:46.76 ID:RPSTRQwt0.net]
きのう、レスの番号が48だった者です。
解決しました。「ビルド」から「ソリューションのリビルド」をクリックした後、
画面の中央に{デバックを中止しますか?}というコメントが出て、「はい」をクリックしたら
「続行」から「開始」へと切り替わり、プログラム作成画面になりました。でも、なぜでしょうか?

55 名前:デフォルトの名無しさん (ワッチョイ 494f-+ld4) mailto:sage [2023/03/31(金) 04:34:09.75 ID:gyiRYrVS0.net]
以前に「開始」したプログラムがまだ終了してなかったから

56 名前:デフォルトの名無しさん (ワッチョイ 2e10-Jabn) mailto:sage [2023/03/31(金) 06:02:33.93 ID:axb4XKnm0.net]
アマゾンのKDPのダラダラ書いてあるC#とかの入門書に買う価値なしと☆1のレビュー付けたら著者が顔真っ赤にして開示請求されたわ
もちろん開示を断ったらそれまでだったが

57 名前:デフォルトの名無しさん (ワッチョイ ffa7-9P2W) mailto:sage [2023/04/01(土) 18:53:33.93 ID:efFm48HR0.net]
>>29>>31
正にプログラミング自体初心者だったときはufcpp筆頭にググって上位に出てくるサイトだけで習得余裕だったけどな
「いかがでしたでしょうか?」系のぺージはブラックリスト放り込んでたので必然的にほぼほぼufcppかdobonで学習していたが

58 名前:デフォルトの名無しさん (スッップ Sd9f-7hna) mailto:sage [2023/04/02(日) 10:28:56.98 ID:JLr3Pvuvd.net]
そりゃまあそういう人も中にはいるかもね

59 名前:デフォルトの名無しさん (ワッチョイ ffbc-Cn9/) mailto:sage [2023/04/02(日) 11:53:54.95 ID:hVTPoi+J0.net]
最近じゃ AI がかなりいい回答を出してくれるそうじゃない。
もうすぐ AI 自身がプログラムを組んでくれるようになるだろうから、それまで粋がってればいいじゃない。

60 名前:デフォルトの名無しさん (ワッチョイ df78-kVuH) mailto:sage [2023/04/02(日) 12:06:01.91 ID:8yMDXZM90.net]
出力結果が正しいかどうか判断できる能力がないと使いこなせないぞ



61 名前:デフォルトの名無しさん (ワッチョイ 5f5f-Fdr2) mailto:sage [2023/04/02(日) 12:21:03.35 ID:8ArPExQV0.net]
自然言語対話エージェントによって「ソフトウェア設計の外注・検収の粒度」が劇的に小さくなった(作業者と直で対話するレベルに降りてきた)だけであって、今までと同じく成果物の正当性を判断できない人に(外注は)は使いこなせない

62 名前:デフォルトの名無しさん (ササクッテロラ Sp33-Vyvl) [2023/04/02(日) 12:52:31.04 ID:u6xNxXPcp.net]
みずほの案件はAIにやらせた方が人的被害少なくていいかも

63 名前:デフォルトの名無しさん (ブーイモ MM4f-e2c1) [2023/04/02(日) 12:57:43.89 ID:b86hlElpM.net]
>>60
成果物の正当性を判断するテストや手順をAIに作らせることができるから使い手次第になるけど相当にハードル低いよ

自然言語で正確に要件が書けて
その要件をテストする方法を理解してればいい
テストといってもユーザーテストのレベルで概ね問題ない

64 名前:デフォルトの名無しさん (ワッチョイ 7fbd-icd+) mailto:sage [2023/04/02(日) 15:24:34.96 ID:2lYBmHPa0.net]
テストプログラムもAIに作らせるなら、それが正しいかは現状人間がチェックする必要があるな。
それをAIにやらせると、それをチェックするAIが必要になって収束しない。

65 名前:デフォルトの名無しさん (ワッチョイ 5f79-mXbH) mailto:sage [2023/04/02(日) 15:30:41.44 ID:Rf8vlqHG0.net]
ユーザ「操作もAIにやってもらうからどうでもええよ」

66 名前:デフォルトの名無しさん (ブーイモ MM4f-e2c1) [2023/04/02(日) 17:48:28.78 ID:D0YauKDyM.net]
>>63
段階的に抽象度があがるので発注者/要求者の理解できる範囲に収束させられる
やり方によって質の違いはでるけど広い分野で発注者/要求者が十分と思える質が出せるようになる

67 名前:デフォルトの名無しさん (ワッチョイ ff2d-wDYO) mailto:sage [2023/04/02(日) 17:50:37.49 ID:8MKS+oyN0.net]
似て非なるものが出来上がって来ることが多くてなかなか収集付かなそうだ
バグのある部分だけ修正とか器用なことは苦手なようだし

68 名前:デフォルトの名無しさん (ワッチョイ ffbc-Cn9/) mailto:sage [2023/04/02(日) 20:02:28.99 ID:hVTPoi+J0.net]
いや、それって現状もそうなんじゃないかと。

確かに AI と発注者?の仲立ちする人材は必要だろうけど、それってどのくらいだろうね。
大部分は失業しそう。

・・・とか言うことを以前にここだか他だかで書いたときの反応とまるで違うのが面白い。それだけ現実的になってきたってことかな。

69 名前:デフォルトの名無しさん (ワッチョイ 5f79-mXbH) mailto:sage [2023/04/02(日) 22:11:23.74 ID:Rf8vlqHG0.net]
>>67
無理無理
設計書すら満足に書けねえのが現実

実はプログラムってのは
脳みそなんか使う必要ない
考えなければならないとしたら
それは詳細設計書が不出来だから
プログラムは常に
設計書通りに動くこと
をチェックすればいい

70 名前:デフォルトの名無しさん (スプッッ Sd1f-7hna) mailto:sage [2023/04/03(月) 01:45:50.22 ID:9Lwny+qrd.net]
暴論吐いて悦に浸ってるだけではなぁ



71 名前:デフォルトの名無しさん (アウアウウー Sa23-mFyV) mailto:sage [2023/04/03(月) 10:27:57.20 ID:efbJG7yXa.net]
>>68
設計者とただのコーダーを区別すればそうだな

72 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) mailto:sage [2023/04/03(月) 10:29:46.04 ID:qa3KNP21p.net]
>>68
詳細設計書なんてアテにしてたら動かないものが出来上がる定期

73 名前:デフォルトの名無しさん (ワッチョイ 5f01-icd+) mailto:sage [2023/04/03(月) 14:40:55.62 ID:XxTTMVFq0.net]
フォームに設置したメニューのアイテムが20個以上あるのですが
それらのアイテムに割り当てるイベントも20個あります
アイテムごとにファイルを分けるためにpartialで分割するのはありでしょうか?

74 名前:デフォルトの名無しさん (ワッチョイ ff2d-wDYO) mailto:sage [2023/04/03(月) 15:16:52.52 ID:UR8U39nS0.net]
個人的意見だが、無しだな
見通しが悪くなるだけであまりメリットが無い
partialはIDE等の自動生成のためだけに留めておいた方が良いと思う

75 名前:デフォルトの名無しさん (ブーイモ MM4f-OlzB) mailto:sage [2023/04/03(月) 15:40:40.31 ID:FBDQFNn3M.net]
偏った書き方になるから万人受けはしないだろうけど・・・
・Form内に内部クラスとしてContextMenuStripを継承したクラスを宣言
・MenuItem(クリック時処理含む)をデザイナを使わず継承クラス内にすべて手書き
するのであれば、内部クラス1個ごとにpartialにする価値あり

内部クラスなんでformのprivateメンバも問題なく読み書きできて便利だから自分もたまによくこの書き方をする

76 名前:デフォルトの名無しさん (ワッチョイ df42-kVuH) mailto:sage [2023/04/03(月) 18:46:41.53 ID:7cJzGFyX0.net]
フォームのクラスに処理全部を書こうとするから見通しが悪くなる
フォームのクラスにはイベントハンドラと画面の制御ぐらいだけにして
残りは別クラスを作ってそこで処理をする
そうすりゃハンドラが20ぐらい並んでいても見通しが悪くなることはない

77 名前:デフォルトの名無しさん mailto:sage [2023/04/03(月) 20:26:43.72 ID:F18sx3nF0.net]
別のクラスにフォームクラスのインスタンスを渡してゴニョゴニョするのかな?

78 名前:デフォルトの名無しさん mailto:sage [2023/04/03(月) 21:09:06.76 ID:u50VhsXZ0.net]
デザインを別にするならだけど。
フォームクラスのイベントハンドラを1つにまとめて、sender だったかのパラメータでイベントの発生元を識別するようにする。
この手の処理はイベントの発生元に限らずだいたい同じなので、このイベントハンドラ内の処理を共通化してすっきりさせる。

これまでは大体これでどうにかなったな。

79 名前:デフォルトの名無しさん (ワッチョイ 5fe5-9P2W) mailto:sage [2023/04/04(火) 08:49:37.59 ID:2LySch560.net]
>>76
UI制御はフォーム側に書いておきゃインスタンス渡す必要なかろう

80 名前:デフォルトの名無しさん (スップー Sd1f-rBMF) mailto:sage [2023/04/04(火) 18:26:02.88 ID:J80P79rXd.net]
c++clrから移住して最初につまずいた
c#難しい



81 名前:デフォルトの名無しさん (ワッチョイ 7fbd-icd+) mailto:sage [2023/04/05(水) 00:11:03.06 ID:pugUgjF60.net]
C++/CLIよりはるかに簡単だと思うけど…。

82 名前:デフォルトの名無しさん (ワッチョイ df2f-DB2t) mailto:sage [2023/04/05(水) 00:46:45.79 ID:wtS5Em1S0.net]
つまずいたポイントを教えてほしい

83 名前:デフォルトの名無しさん (ワッチョイ ff10-MhB/) mailto:sage [2023/04/05(水) 07:04:36.94 ID:7c3G3tWr0.net]
KDPのC言語本てステマが法律で禁止されたのにようやるなと

84 名前:デフォルトの名無しさん (ワッチョイ ffcf-icd+) mailto:sage [2023/04/05(水) 07:42:57.81 ID:87qn8azV0.net]
>>80
バックグラウンドが違えば感じ方も違うだろ。
C++とC++/CLIの差分よりC#の仕様の方がだいぶ大きいわけだし。

85 名前:デフォルトの名無しさん (ワッチョイ 5f01-Vyvl) [2023/04/05(水) 08:14:21.55 ID:YgLkUvh+0.net]
>>82
またお前か

86 名前:デフォルトの名無しさん (ワッチョイ 5fe5-9P2W) mailto:sage [2023/04/05(水) 08:45:34.25 ID:PNvz4EJs0.net]
昔Javaを多少触りはしたが基本的にC++とVB6しかやってなかったけど、C#移住全然躓かんかったけどな

87 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 09:16:23.63 ID:jU3TV3ZDa.net]
C#の名前にCがついてるから文法も概念も同じだと勘違いしてるやつが結構躓いてるぞ
最初から別物と思わないとstructとか使い方全然違うからな

88 名前:デフォルトの名無しさん (ワッチョイ ff10-MhB/) mailto:sage [2023/04/05(水) 09:31:30.78 ID:7c3G3tWr0.net]
CPU言語は表層が違うだけでやってる事は機械語に解読してるからみんな一緒だろ
結局アセンブラでもBASICでも1つを完璧に知ってればなんとかなる
むしろ割り込みの仕組みとかシリアル通信とか基礎のハードウェアを知らんとヤバイ

89 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 09:39:54.87 ID:jU3TV3ZDa.net]
想像で物を言うとそういうイタいことになる

90 名前:デフォルトの名無しさん (スプッッ Sd1f-7hna) mailto:sage [2023/04/05(水) 09:41:25.21 ID:zOhuKeKbd.net]
>結局アセンブラでもBASICでも1つを完璧に知ってればなんとかなる
こういう極論をしたがるの一定数いるよね



91 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:02:18.58 ID:jU3TV3ZDa.net]
JavaScriptですら最終的にはマシン語に翻訳されることを知らんとか同じコンパイル言語でもそれぞれできることが違うのを知らんとかも大概だし割り込みやシリアル通信はモダンな言語だとだいたい隠蔽されて考えなくていいようなライブラリがあるんでプログラミングしたことないやつが見栄を張ってるようにしか見えんのですわ

92 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) mailto:sage [2023/04/05(水) 10:04:39.32 ID:1qZSc/I2p.net]
>>90
javascriptはマシン語には翻訳されないよ
マシン語で動作している翻訳プロセスを介して動くけどな

93 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:14:21.30 ID:jU3TV3ZDa.net]
>>91
JITコンパイラを調べて赤面してろよ

94 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:17:08.89 ID:jU3TV3ZDa.net]
と言ったが調べる能力もなさそうだからこれ読んどけ
https://devsakaso.com/javascript-about-just-in-time-compiler/

95 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) mailto:sage [2023/04/05(水) 10:17:48.47 ID:1qZSc/I2p.net]
>>92
だからさ、Java自体がマシン語なんてもんにゃならないんだよw

96 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:18:28.61 ID:jU3TV3ZDa.net]
JavaScriptとJavaの違いも知らんとは恐れ入ったな

97 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) mailto:sage [2023/04/05(水) 10:19:34.90 ID:1qZSc/I2p.net]
あーおまえはパソコンの世界しか知らないからそうなんだなw

98 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:20:34.20 ID:jU3TV3ZDa.net]
JITコンパイラを一言で言うと実行寺にソースを機械語に直すコンパイラだ
このくらい今は常識だから覚えとけ

99 名前:デフォルトの名無しさん (ワッチョイ df5f-O8+C) mailto:sage [2023/04/05(水) 10:28:48.07 ID:TPpnJ1X/0.net]
C#スレでなにやってんだ

100 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:32:48.94 ID:jU3TV3ZDa.net]
C#の話か?
ソースからILという仮想機械の機械語に翻訳される
これをコンパイルと呼ぶ
しかし実際には仮想機械を立ち上げるわけじゃなく実行時にこの仮想機械語を実行環境の機械語にコンパイルする
この時に環境に合わせた最適化も行われるので高速動作が可能になっている
つまり事前コンパイラとJITコンパイラの二段構えなわけだ



101 名前:デフォルトの名無しさん (ワッチョイ 5f5f-Fdr2) mailto:sage [2023/04/05(水) 10:56:42.54 ID:e64l6plW0.net]
初心者用スレでよくわからん自説を連投する様は、ただただ痛々しい

102 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 10:58:30.02 ID:jU3TV3ZDa.net]
よくわからんのはお前が頭悪いからだよ
常識だと言ったろ
初心者でもみんな知ってることだ

103 名前:デフォルトの名無しさん (スップ Sd9f-7hna) mailto:sage [2023/04/05(水) 12:18:02.53 ID:rtFMpRjvd.net]
そのへんにしとかないと心証を悪くするだけだよ

104 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 12:22:16.13 ID:jU3TV3ZDa.net]
名無しさんの?w

105 名前:デフォルトの名無しさん (ワッチョイ 5fe5-9P2W) mailto:sage [2023/04/05(水) 12:32:52.22 ID:PNvz4EJs0.net]
心証なんざ既にマイナスだろw

106 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 12:47:44.97 ID:jU3TV3ZDa.net]
初心者相手だと思って雑魚が嘘ばっか並べてるスレだと嘘を見破れる人は心証悪いよなあ
すまんすまん
続けてくれ

107 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 13:03:35.19 ID:jU3TV3ZDa.net]
JITコンパイラという常識を語るとJavaとJavaScriptの区別もつかんような雑魚と愉快な仲間たちがワラワラ湧いて出て一ミリも反論できず心証云々言ってるのはなかなか笑えたよ

ほらどうした
初心者を騙してマウント取る作業を続け給えよ

108 名前:デフォルトの名無しさん (スッップ Sd9f-YxMi) mailto:sage [2023/04/05(水) 13:11:30.10 ID:xBlgsSX7d.net]
はいはいそろそろお薬の時間でちゅよ

109 名前:デフォルトの名無しさん (スップ Sd9f-7hna) mailto:sage [2023/04/05(水) 13:20:25.40 ID:rtFMpRjvd.net]
>>106
違う違う
主張の内容自体に対してどうこうじゃなくて
売り言葉に買い言葉ではそれまでの発言や立場を毀損するよって言いたかったのよ

110 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 13:25:12.55 ID:jU3TV3ZDa.net]
名無しさんの立場?w



111 名前:デフォルトの名無しさん (スップ Sd9f-7hna) mailto:sage [2023/04/05(水) 13:34:30.89 ID:rtFMpRjvd.net]
別に反論するつもりも敵対するつもりもなくて
ただ憂慮してのつもりだったんだけど汲み取ってもらえないものかね・・・

112 名前:デフォルトの名無しさん (ワッチョイ 5fe5-9P2W) mailto:sage [2023/04/05(水) 13:47:57.71 ID:PNvz4EJs0.net]
何言うても無駄だと思うぞ

113 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 13:49:05.84 ID:jU3TV3ZDa.net]
ごまかし方が下手過ぎて笑えるが本気でやってんのそれ?

114 名前:デフォルトの名無しさん (ワッチョイ df5f-O8+C) mailto:sage [2023/04/05(水) 13:54:30.23 ID:TPpnJ1X/0.net]
> なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
> C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです

115 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/05(水) 14:06:42.90 ID:jU3TV3ZDa.net]
>>113
よう荒し

116 名前:デフォルトの名無しさん (スップ Sd9f-7hna) mailto:sage [2023/04/05(水) 14:29:22.61 ID:rtFMpRjvd.net]
>>112
それ俺に対して言ってる?

117 名前:デフォルトの名無しさん (ワッチョイ ff10-MhB/) mailto:sage [2023/04/05(水) 14:51:15.57 ID:7c3G3tWr0.net]
CPUの基礎構造も知ってるとええで
アキュムレータとかスタックポインタとかプログラムカウンタとかレジスタとか言われてもわからんだろ
その辺の概念がわかるとどの言語も楽勝
割り込みも概念が解ってないと割り込みルーチンで長文書くとかアホなことしだす

118 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/05(水) 15:08:53.71 ID:sB818/CP0.net]
割り込みルーチン使うとか今どきねーよ

119 名前:デフォルトの名無しさん (ブーイモ MM9f-e2c1) [2023/04/05(水) 15:13:47.52 ID:BHJ5CxFKM.net]
>>116
C#もJavaもJavaScriptも全然理解してないことが露呈したあとに
どの言語も楽勝とか言っても恥ずかしいだけですよ

120 名前:デフォルトの名無しさん (オッペケ Sr33-vkAy) mailto:sage [2023/04/05(水) 22:11:02.39 ID:sz/zgQ2Fr.net]
無責任にデカいこと言った方が勝ちみたいなゲームはそろそろ卒業してほしい



121 名前:デフォルトの名無しさん (ワッチョイ 7fbd-icd+) mailto:sage [2023/04/05(水) 23:52:36.91 ID:pugUgjF60.net]
Z80アセンブラ→68000アセンブラ→C→C++→Java→C#→C++/CLI ときたのでつまづかなかった。
あとTcl/TK、sh、Perl、JavaScript、PowerShell、Python。
Rustを試したいが時間が取れない。

122 名前:デフォルトの名無しさん (スプッッ Sd1f-j25d) [2023/04/06(木) 00:06:12.09 ID:3X1nsxKId.net]
>>120
マシン語直接入力がないのでやり直し

123 名前:120 (ワッチョイ 7fbd-icd+) mailto:sage [2023/04/06(木) 00:14:30.25 ID:XbnIA9J60.net]
>>121
Z80時代はハンドアセンブルしていた。まだ小学生でアセンブラを買う金がなかったので。
よく使う命令は16進の値を覚えていた。

124 名前:デフォルトの名無しさん (オイコラミネオ MM53-icd+) mailto:sage [2023/04/06(木) 00:23:17.66 ID:2IAiy+HBM.net]
RET C9 サイクル10的なのを覚えてたんだろ
ノートに相対ジャンプのアドレス計算書いたり
それで言語ができると何の関係があるんだろうか?

125 名前:デフォルトの名無しさん (ワッチョイ ff8e-j25d) [2023/04/06(木) 02:08:29.77 ID:5BQAgGMd0.net]
>>122
後付け乙

126 名前:デフォルトの名無しさん (ワッチョイ 7f4b-pTXX) mailto:sage [2023/04/06(木) 05:40:05.28 ID:ehcl4uYU0.net]
小学生でマイコンとか渋いな

127 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/06(木) 08:39:03.94 ID:hFBJipKZa.net]
>>122
その当時の普通だ
プアな環境でハンドアセンブル繰り返してりゃ自然に覚えるわ
そこから数十年かけて全く進歩できてないのは無能としか言いようがない

お前の培った技能は今全部自動化されてるんだよw
コンピュータはお前より遥かにハードを使いこなして上手に最適化するからお前は完全に無用の長物というわけだ

128 名前:デフォルトの名無しさん (ラクッペペ MM4f-+zBY) mailto:sage [2023/04/06(木) 09:29:45.22 ID:1UIy0vwOM.net]
マイコン
オーディオ
アマチュア無線

80年代頃の趣味の最先端

129 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) [2023/04/06(木) 09:53:23.79 ID:etBQDNCap.net]
Z80は拡張命令があって命令数が腐るほどあったから全部覚えてられなかったよな?

130 名前:デフォルトの名無しさん (ワッチョイ 7f79-u6c4) mailto:sage [2023/04/06(木) 09:56:07.98 ID:UaY7mTo60.net]
>>127
それってどれも手段であって趣味ではないよね
その最先端のを使ってどんなコンテンツを楽しんでるかが趣味なんだよね
きっとろくでもないんだろうね



131 名前:デフォルトの名無しさん (ラクッペペ MM4f-+zBY) mailto:sage [2023/04/06(木) 10:01:32.18 ID:WxcUnJlHM.net]
その後90年代あたりからオタク化するか理系エリート化するかが人生の分岐点

132 名前:デフォルトの名無しさん (オッペケ Sr33-vkAy) mailto:sage [2023/04/06(木) 10:02:41.19 ID:50z6rG5Kr.net]
何でもいいからとにかく人に噛み付きたいみたいなのはそろそろ卒業してほしい

133 名前:デフォルトの名無しさん (ラクッペペ MM4f-+zBY) mailto:sage [2023/04/06(木) 10:06:14.44 ID:WxcUnJlHM.net]
まだ専攻分野で情報分野を扱う大学なども少なく大体は電気科か電子科で学ぶものが多かった時代

134 名前:デフォルトの名無しさん (ワッチョイ df5f-O8+C) mailto:sage [2023/04/06(木) 10:15:38.38 ID:cLuUm0Wb0.net]
スレチだっつの
マ板の雑談部屋行けよ

135 名前:デフォルトの名無しさん (アウアウウー Sa23-doF5) [2023/04/06(木) 22:05:52.10 ID:7WsUOQMza.net]
こんばんは
専門学校で情報処理を2年間学び、今春からIT会社入社です
学校ではC#を学び、それを活用できる会社に入ったのですが、上司からC++が中心と言われてしまいました
使用感としてはC#と大差ないと言われたのですが、実際にどちらも使用したことがあるPGさん目線ではどんな感じでしょうか

136 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/06(木) 22:17:08.18 ID:O4MLKnY ]
[ここ壊れてます]

137 名前:M0.net mailto: 大差ないとか大嘘で草
テンプレートスパゲティの洗礼を受けるがいい
[]
[ここ壊れてます]

138 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/06(木) 22:18:50.54 ID:O4MLKnYM0.net]
あとC++はまともに日本語が扱えない
C#と用途が被ることってゲームくらいじゃね

139 名前:デフォルトの名無しさん (スプッッ Sd1f-j25d) [2023/04/06(木) 22:50:32.42 ID:9OXigCoVd.net]
>>134
お前落ちこぼれだろ
金と2年間も時間を使ってC#とC++の違いもわからんとは使いものにならんわ

140 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/06(木) 22:58:34.92 ID:O4MLKnYM0.net]
ていうか派遣か超絶ブラックな気配しか感じないわ
まともな企業なら会社が就職希望者を選抜するがお前の会社は嘘をついて人を集めてる
こんなわかりやすい地雷が見えてるなら地雷も一つだけじゃなく他にも心当たりあるだろ



141 名前:デフォルトの名無しさん (ワッチョイ ffbc-Cn9/) mailto:sage [2023/04/06(木) 23:10:52.40 ID:0qi4RJoe0.net]
>>134
素人には見た目は同じように見えるかも。
C# では考えられないような罠があちこちにあったりするから最初はタイヘンかもしれないけど、頑張れ。

コツが分かればかなり自由にいろいろ出来て、自分的にはかなり好きな言語なんだけどね。

142 名前:デフォルトの名無しさん (ワッチョイ 7f79-u6c4) mailto:sage [2023/04/07(金) 00:20:18.59 ID:hzbXpJpo0.net]
断言しておくけど専門でC#の学習経験しかない奴にC++の案件は100%こなせない
今後C#案件が自分に回ってこなさそうであれば完全に入る会社を間違ったな
あーあ経歴にさらに傷が付いちゃった

143 名前:デフォルトの名無しさん (オイコラミネオ MM53-icd+) mailto:sage [2023/04/07(金) 00:47:18.51 ID:zb+54C3zM.net]
専門学校でC#を教えてるなんて

選ぶ学校間違えてる
そんなところに行かなくても独習でとは思う

144 名前:デフォルトの名無しさん (スッップ Sd9f-j3u0) mailto:sage [2023/04/07(金) 00:50:58.62 ID:jfyWzwkJd.net]
まーたっくの初心者で趣味でC#やろうとしたが言語仕様の壮大さに負けてKotlin~Flutter目指すことにしたサヨナラ

145 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/07(金) 01:19:52.32 ID:1Moiy0gQ0.net]
一つの言語すら怖気づくやつが目指しても無駄だけどな

146 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) [2023/04/07(金) 09:53:19.46 ID:9oOSsjTpp.net]
言語仕様はそんなに壮大じゃ無いが、使えるクラスとメソッドが異常に多いし、クラス毎に出来る事が偏ってるから面倒だとは思う

147 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/07(金) 10:00:57.11 ID:UzsORH9Sa.net]
winformsとかwpfとかuwpとかxamarinとかmauiとかunoとかblazorとかアプリ用フレームワークの乱立と迷走が酷いのは事実
さっさと統一しろおら

148 名前:デフォルトの名無しさん mailto:sage [2023/04/07(金) 11:53:01.40 ID:GJ9VlQpa0.net]
MS<もうWinFormsは機能強化しないって言ったのに、みんな使い続けてる・・・

149 名前:デフォルトの名無しさん (ワッチョイ 5fe5-9P2W) mailto:sage [2023/04/07(金) 12:29:32.20 ID:NtDbqE3F0.net]
じゃあWindowsなんとかしろよw

150 名前:デフォルトの名無しさん (ササクッテロラ Sp33-KR65) [2023/04/07(金) 12:43:55.58 ID:y1ANyd0Sp.net]
WinFormsまた機能強化しますと言えばいいだけのこと



151 名前:デフォルトの名無しさん (アウアウウー Sa23-doF5) [2023/04/07(金) 13:32:40.19 ID:kQPpgDuua.net]
>>141 だいたいの専門学校の情報処理科だとC#は必ずやってるもんだよ
はよやめろとも思うが需要がそれなりにあるんだからしゃーない

152 名前:デフォルトの名無しさん (ワッチョイ dfae-1sX2) mailto:sage [2023/04/07(金) 13:50:48.21 ID:GJ9VlQpa0.net]
MS<機能強化はしないと言ったけど、仕方ないから高解像度に対応してあげるからね
MS<機能強化はしないと言ったけど、仕方ないからUWPのライブラリを呼べるようにしてあげるからね

地味だけど大きい改良してるんだよなw

153 名前:デフォルトの名無しさん (ラクッペペ MM4f-gzdx) mailto:sage [2023/04/07(金) 13:55:07.67 ID:yidNy5+ZM.net]
がっこうって四則演算とコンソールアプリ程度ジャネーの?
しらんけど

154 名前:デフォルトの名無しさん (スフッ Sd9f-YxMi) mailto:sage [2023/04/07(金) 15:06:19.52 ID:ekvLskPDd.net]
youtuber育成科でもあったら受講してみたいな
引退後はお喋り配信でもして暮らしたい

155 名前:デフォルトの名無しさん (オッペケ Sr33-9xvd) [2023/04/07(金) 15:06:57.10 ID:MubD/dkJr.net]
>>150
もうすぐMVVM対応の改良もはいるよ

156 名前:デフォルトの名無しさん (ワッチョイ dfae-1sX2) mailto:sage [2023/04/07(金) 15:11:03.21 ID:GJ9VlQpa0.net]
>>153
ツンデレ面倒見が良すぎるなw

157 名前:デフォルトの名無しさん (ワッチョイ 5f5f-0Qwp) mailto:sage [2023/04/07(金) 17:28:59.51 ID:n3YFdE+90.net]
>>153
え?マジで??

158 名前:デフォルトの名無しさん (ワッチョイ df07-DB2t) [2023/04/07(金) 18:24:33.31 ID:ZyGCTKiu0.net]
すいません 
本に書いてあったコードで質問があるのですが、

d(オブジェクト名).Text (プロパティ)="変数aの値は"+a+"です。"

というコードを打ってもエラーが出ます。
本には「この2つの+演算子の一方のオペランドには“ “でかこまれた文字列の値が含
まれています。このとき+演算子は四則演算の加算ではなく、
文字列として連結するという処理を行います」
とかいてありますが、なぜ

変数aの値はaです。

という文字が出ず、エラーが出るのですか?

159 名前:デフォルトの名無しさん (ワッチョイ ff7b-UQeZ) mailto:sage [2023/04/07(金) 18:32:13.85 ID:78O19JXu0.net]
>>156
なぞなぞかな?原因をそれだけでエスパーしろと
dがnullの可能性、aが定義されてない可能性?
ともかくエラー内容というか把握している情報くらい書いてくれ

160 名前:デフォルトの名無しさん (スプッッ Sd9f-j25d) [2023/04/07(金) 18:32:16.65 ID:nu6NXWXzd.net]
馬鹿ってエラーメッセージも提示しないよな
馬鹿過ぎるから、オブジェクト名とかプロパティとか全角()を打ち込んでいそう



161 名前:デフォルトの名無しさん (オイコラミネオ MM53-icd+) mailto:sage [2023/04/07(金) 18:33:21.02 ID:377j0hRUM.net]
どこかで間違えてるからでしょう
とりあえずエラー内容を書いてください

あと
これは打ち込んだコードをそのままコピーしてませんよね?
全角文字と半角文字が混ざってて普通は動きません
行末に ; を付けましょう
それと変数aの値はaですか?

162 名前:デフォルトの名無しさん (ワントンキン MMdf-FlsS) [2023/04/07(金) 18:41:20.55 ID:htDU62+OM.net]
>>159
全角;を入力するぞ

163 名前:デフォルトの名無しさん (ワッチョイ 5f01-9xvd) [2023/04/07(金) 18:48:43.17 ID:C4KkKia50.net]
>>155
メニューやボタン類がICommand対応になる的な

164 名前:デフォルトの名無しさん (オイコラミネオ MM53-icd+) mailto:sage [2023/04/07(金) 19:04:25.43 ID:377j0hRUM.net]
質問者の人はビビらないで続けて欲しい
誰でも最初はこんなもんだ

一番の馬鹿はテンプレが読めず初心者相手にマウント取るしかできないんでそういうのは無視でいい

165 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/07(金) 19:07:05.47 ID:lYV4UoJIa.net]
5chで聞くとこうなるのがわかってるのにアホなのかな?

166 名前:デフォルトの名無しさん (ワッチョイ df07-DB2t) [2023/04/07(金) 19:32:22.30 ID:ZyGCTKiu0.net]
ありがとうございます
原因調べてみます
たぶん;の付け忘れか
型名 a
というふうにaを変数化してなかったからだと思います。

167 名前:デフォルトの名無しさん (ワンミングク MM03-FlsS) [2023/04/07(金) 19:35:04.00 ID:g9oDCLqTM.net]
あくまでエラーメッセージを書かない馬鹿

168 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/07(金) 19:35:52.08 ID:1Moiy0gQ0.net]
>>161
とっくに対応してるが?

169 名前:デフォルトの名無しさん (ワッチョイ 5f07-VQD5) mailto:sage [2023/04/07(金) 19:37:35.11 ID:1Moiy0gQ0.net]
>>165
いいんだよ
解決しなくても話し相手になればそれで満足して帰ってくれるんだから
車のエンジンがかからないからどうしようと女に聞かれたらバッテリーがどうこう言っちゃだめ
同情して雑談するのが正解

170 名前:デフォルトの名無しさん (ワンミングク MM03-FlsS) [2023/04/07(金) 19:41:22.07 ID:g9oDCLqTM.net]
>>167
林檎を一緒に買いに行くのか!



171 名前:デフォルトの名無しさん (アウアウウー Sa23-VQD5) mailto:sage [2023/04/07(金) 19:43:55.45 ID:lYV4UoJIa.net]
>>168
マックのシェアが上がったのはそういうわけ

172 名前:デフォルトの名無しさん (オイコラミネオ MM53-icd+) mailto:sage [2023/04/07(金) 19:47:35.73 ID:377j0hRUM.net]
以前17歳の少年にmacはwindowsも動くから開発するならmac一択でwindows機は買わなくていいって言われたよ
そういう理由でユーザーを増やしてる面もある
情報系の大学ではmac持ってる生徒が多い

173 名前:デフォルトの名無しさん (ワッチョイ 5fe5-gzdx) mailto:sage [2023/04/07(金) 19:53:07.95 ID:0nhk3VLO0.net]
>>170
https://twitter.com/desk_novel_3260/status/1499848946780614656/photo/1
(deleted an unsolicited ad)

174 名前:デフォルトの名無しさん (オイコラミネオ MM53-icd+) mailto:sage [2023/04/07(金) 19:54:54.12 ID:377j0hRUM.net]
自分はmac上のwindowsでしか起こらないバグもあるかもしれないから意味ないと思うと答えたが
そんなの言いだしたらきりがないなと後で思った

175 名前:デフォルトの名無しさん (ワッチョイ 92bd-Rzwh) mailto:sage [2023/04/08(土) 00:55:25.26 ID:3Ljte8fK0.net]
Windowsのライセンスを用意してMacで動かすくらいなら、
安いWindows PCも買ったほうが同時に使えるし便利だと思う。

176 名前:デフォルトの名無しさん (ラクッペペ MM66-DefY) mailto:sage [2023/04/08(土) 02:10:45.67 ID:HLFl9C7qM.net]
どうせライセンス違反の不正使用だろ

177 名前:デフォルトの名無しさん (ワッチョイ 92bd-Rzwh) mailto:sage [2023/04/08(土) 02:25:03.68 ID:3Ljte8fK0.net]
>>134
プログラミング言語は複数覚えていったほうがいいから、まあ頑張れ。

178 名前:デフォルトの名無しさん [2023/04/08(土) 18:34:36.54 ID:fmzyFWYH0.net]
文法が似ているだけで、C++とC#とでは必要な知識の幅が全然違うような気がしてしまう

179 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 19:26:35.54 ID:3Ljte8fK0.net]
C++と言っておきながら、実はC++/CLIだったりするとさらに大変。

180 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 21:45:50.77 ID:CCnvrQGQ0.net]
>>134
STLも使えるしC言語よりはマシ



181 名前:デフォルトの名無しさん (ササクッテロロ Spd1-pbGt) [2023/04/09(日) 14:11:13.69 ID:E8Nnpiwgp.net]
C#がイニシアチブ取れる最大の理由はライブラリやクラスメソッドの豊富な点
CやC++は環境依存が高過ぎて無理だった

182 名前:デフォルトの名無しさん (ワッチョイ 0279-90pI) mailto:sage [2023/04/09(日) 15:24:20.69 ID:I9Qf3W7D0.net]
C#は実行環境が基本Windowsで処理系も1個しかなく
外部が作った最大公約数的な規格やらに振り回される事もないからね
言語の在り方としてはDelphiからC#まで設計の中心に居たアンダースヘルスバーグの影響が一番でかいだろうけども

183 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/09(日) 15:42:52.26 ID:0jWwjzccM.net]
へじたんというかボーランドから引っ張って来たグループ全体の影響だね

へじたんは10年ぐらい前にtsに行っちゃって多分だけどずっといない
tsの改善提案もたまにする
twitterでts10周年について言及してたけどC#は言及されない

184 名前:デフォルトの名無しさん (ワッチョイ 412d-dXWb) mailto:sage [2023/04/09(日) 16:10:51.58 ID:fcL4nlHr0.net]
C++は美しくないので使うのやめた方がいい

185 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/09(日) 16:22:39.13 ID:0jWwjzccM.net]
c++はパフォーマンス目的じゃないと使うべきじゃないかな(個人の感想です)
でも本当にパフォーマンス目的なら積極的に使うべきで地球の温暖化予防になる

.net frameworkの古い部分はc++的に書かれてるところが点在してる
変数名とか…

ヘルパークラスの中身に多い気がする
そもそもがC#はデビューしてなかったんだからMSの中にいたのは大部分がCかC++プログラマだったから仕方がない

186 名前:デフォルトの名無しさん (ワンミングク MM52-k0ie) [2023/04/09(日) 17:02:57.88 ID:IIry9qCTM.net]
>>183
>そもそもがC#はデビューしてなかったんだから

なぜこういう嘘を書くのか

187 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/09(日) 17:10:39.08 ID:0jWwjzccM.net]
>>184
え?どこが嘘だと思った?
はっきり指摘してくれよ

C#発売前にどうやってネイティブのC#プログラマ募集すんの?
2002年にC#が発売されたんだけどその時,net framewarkはついていた

188 名前:デフォルトの名無しさん (スプッッ Sd22-RMXA) [2023/04/09(日) 18:39:12.85 ID:99/FlESqd.net]
>>185
MS内部の開発は何を使ってると思っているんだ?
それとも発売されないと内部で使ってはいかんのか?

189 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/09(日) 18:56:34.94 ID:0jWwjzccM.net]
>>186
話がかみ合ってないと言うかなんでIDコロコロしてんの?
それとどこが嘘なのかはっきり書けよ

,net frameworkを開発したときにC#で書いたプログラマはもともとなにプログラマでしたか?
ネイティブC#プログラマじゃないでしょ?

おそらくCかC++(それかボーランドから流れて来たobject Pascalプログラマ)じゃないの?
だから.net frameworkのソースにC++のような名残が多いんだろ?

C#ブートストラップも最初からC#で書いてたと思ってそうで怖い

190 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/09(日) 19:02:10.71 ID:0jWwjzccM.net]
MS内部の開発者の多くはCかC++プログラマ
それまで存在しなかったC#で書かれた.net frameworkのソースを書いたのはC#を覚えたその人たち

どうしてこんな簡単なこともわからないんだよ



191 名前:デフォルトの名無しさん (スプッッ Sd82-RMXA) [2023/04/09(日) 20:48:24.64 ID:cX6/BjZ9d.net]
>>187
馬鹿って例えばDelphiのライブラリは何で作ってあると思っているんだ?

192 名前:デフォルトの名無しさん (ワッチョイ a968-pZgd) mailto:sage [2023/04/09(日) 20:59:09.16 ID:y3zvbzeA0.net]
C++からC#を覚えたんだけど、ヘッダー不要、メモリー解放不要ってだけでほれぼれしたわ

193 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 22:59:42.51 ID:0jWwjzccM.net]
>>189
いい加減に理解しようよ

新しい言語が出来てその言語でライブラリを書く人は他の言語の経験がある人だろ
プログラムもOOPも始めての人間には不可能てわかるだろ
もちろんその言語は初心者で他のプロジェクトなんて経験してない

なんでこの人は小学生並みの思考力もないんだろうか?

194 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 23:13:41.21 ID:jMM6L0eg0.net]
今、画面をC#で作って、性能が必要な部分をCで書いてる。実質C++みたいな書き方してるけど。
固定長配列でよいところは固定長にして余計はメモリ確保・解放を排除、
スタックを使いすぎないようにTLSにしたり、
スレッドプールで実行スレッドがコロコロ変わるけど同一スレッドの間だけTLSを使ったり。
性能は良く、ワットパフォーマンスも良いと自画自賛しているけど、
書くのに時間がかかるし、メモリ管理で二重Freeや誤って0バイトメモリで変な落ち方して
調査に時間がかかった。

195 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 23:23:40.43 ID:a3JbCGzy0.net]
C言語はB言語で書かれたが直ぐにC言語で書き直されたという
故にC言語のライブラリはC言語で開発されている

と、例外中の例外を書いてみる

196 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 23:31:44.05 ID:fcL4nlHr0.net]
セルフホストは別に例外じゃないよ
コンパイル型の言語は最終的にセルフホストになるだろ

197 名前:デフォルトの名無しさん (ワッチョイ c5ae-izbf) mailto:sage [2023/04/10(月) 13:30:15.85 ID:ezn0wDlC0.net]
>>153
>MVVM ツールキットの概要
>このパッケージは .NET Standard を対象としているため、任意のアプリ プラットフォーム (UWP、WinForms、WPF、Xamarin、Uno など) で使用できます。

いつの間に対応してたんだ・・・
これでInvokeしなくて済むのか

198 名前:デフォルトの名無しさん (ワッチョイ 4666-cPl8) [2023/04/10(月) 13:39:28.19 ID:gE7mrU5A0.net]
下記のコードでcomboBox1.Textに"a2"を設定しているのですが
comboBox1は"a"のままです。設定を反映する方法はあるでしょうか。

public Form1()
{
InitializeComponent();

comboBox1.Items.Add("a");
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1.Text = "a2";
}

199 名前:デフォルトの名無しさん (ワッチョイ 412d-dXWb) mailto:sage [2023/04/10(月) 14:10:01.67 ID:GqegRxcS0.net]
comboBox1.Items.Add("a2");
これを先に書かないから変更されない

200 名前:デフォルトの名無しさん (ワッチョイ 6e7b-k+0N) mailto:sage [2023/04/10(月) 18:04:17.45 ID:qyQrCJTA0.net]
>>196
まずcomboBox.TextとcomboBox.Itemは別のプロパティでTextを変えても表示されない。表示されるのはcomboBox.Item
Item"a"を選択したときに表示を"a2"に変えたいということなら
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1.SelectedIndexChanged -= comboBox1_SelectedIndexChanged;//Indexを変えるのでイベントを外す
if (comboBox1.SelectedIndex == comboBox1.Items.Count - 1)//登録されている最後のIndexを参照する
{
comboBox1.Items.RemoveAt(comboBox1.Items.Count - 1);//Itemコレクションの内容を変えるために元のアイテムを削除する
comboBox1.Items.Add("a2");//"a2"を新しく登録する
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;//コレクションの内容を変えるとIndexが変わるのでIndexを指定する
}
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
}
たぶんこのくらい必要



201 名前:デフォルトの名無しさん (ワッチョイ 5234-Ay2p) mailto:sage [2023/04/10(月) 19:06:06.56 ID:CWrknl8o0.net]
comboBoxのテキストを変更できるようにするプロパティがあったよね?

202 名前:デフォルトの名無しさん (ワッチョイ 25e4-eWK2) mailto:sage [2023/04/10(月) 19:44:46.51 ID:1G6uJTu10.net]
ワーカーサービスとサービスアプリって別物なの?

203 名前:デフォルトの名無しさん (ワッチョイ 6e10-+HcC) [2023/04/10(月) 19:54:33.42 ID:025b1B4Q0.net]
>>196
BeginInvoke(new Action(() => comboBox1.Text = "a2"));

204 名前:デフォルトの名無しさん (ワッチョイ 8205-QZiB) [2023/04/11(火) 07:47:00.52 ID:p3uKa8IZ0.net]
comboBoxの者ですが例示頂いたサンプルコードで期待の動作をしました
ありがとうございます
.Textのセッターで書き換えられたら直感的だなと思いつつ別の仕様で都合悪いんでしょうね

205 名前:デフォルトの名無しさん (ワッチョイ 6e10-bvj9) mailto:sage [2023/04/11(火) 10:42:20.15 ID:LwvkJIu70.net]
大学だとmacは買うなと名指しで書かれてた
買うのはWindows11入りi5以上RAM8G以上のoffice付

206 名前:デフォルトの名無しさん (ササクッテロロ Spd1-pbGt) [2023/04/11(火) 10:44:39.71 ID:u/0zmHtvp.net]
>>204
Mac「も」買えば無問題だぞ

207 名前:デフォルトの名無しさん (ワッチョイ 495f-h/KG) mailto:sage [2023/04/11(火) 10:56:37.78 ID:U1LmOZAY0.net]
365のアカデミック垢(Education A3/A5)を配布してない大学なんだろうか?

208 名前:デフォルトの名無しさん (ワッチョイ a9e5-/aea) mailto:sage [2023/04/11(火) 11:00:45.32 ID:bVzsGz390.net]
>>204

209 名前:デフォルトの名無しさん (ワッチョイ 6e10-bvj9) mailto:sage [2023/04/11(火) 11:18:50.69 ID:LwvkJIu70.net]
officeは大学によって配布とそうじゃないとこがあるな
合格通知に付いていたパソコン購入の栞にはどこも同じようなスペックを書いてあった
毎年トラブルになってるらしくmacは非推奨、忘れてたけどSSDを強く推奨されてた。

210 名前:デフォルトの名無しさん (オッペケ Srd1-QZiB) [2023/04/11(火) 12:05:57.60 ID:Owu2Qdxkr.net]
>>203
情報系大学ならOS問わず乗り越えて欲しいよね
強いて言えばニンテンドースイッチをハックしてOffice365動作させるくらいの気概が欲しい



211 名前:デフォルトの名無しさん (ワッチョイ 412d-dXWb) mailto:sage [2023/04/11(火) 13:07:41.05 ID:0aEeU09s0.net]
東大はMacだもんな

212 名前:デフォルトの名無しさん (ワッチョイ 6e10-bvj9) mailto:sage [2023/04/11(火) 15:24:29.19 ID:LwvkJIu70.net]
CPUが非intelな時点で選択肢には入らんでしょ

213 名前:デフォルトの名無しさん (ワッチョイ 4642-Ay2p) mailto:sage [2023/04/11(火) 15:24:33.92 ID:M16SAa5X0.net]
>>207
SSDをSODと空目して、時間を止めるボタンを購入しちまう人もいるだろうさ

214 名前:デフォルトの名無しさん (ワッチョイ a9e5-/aea) mailto:sage [2023/04/11(火) 15:35:49.07 ID:bVzsGz390.net]
amdは許して

215 名前:デフォルトの名無しさん (ワッチョイ c5ae-izbf) mailto:sage [2023/04/11(火) 15:57:37.42 ID:E8WJry610.net]
経済学部とかならOS関係なくクラウドで全部出来るけども、
情報系なら機器制御とかもやるから、OS問わずは無理だろ

216 名前:デフォルトの名無しさん (ワッチョイ eebb-9Wvd) [2023/04/11(火) 17:07:55.85 ID:xhbQUVf+0.net]
授業内容によってはMac非推奨もあり得るだろう
ただどこの大学のどの学部なのか書かないことには、何に向かないのか参考にもならないだろう

217 名前:デフォルトの名無しさん (ワッチョイ 6e7b-k+0N) mailto:sage [2023/04/11(火) 18:13:31.92 ID:SxJtNgeT0.net]
ワッチョイ 6e10 3回
サクッテロロ Spd1
ワッチョイ 495f
ワッチョイ a9e5
オッペケ Srd1
ワッチョイ 412d
ワッチョイ 4642
ワッチョイ a9e5 2回
ワッチョイ c5ae
ワッチョイ eebb

218 名前:デフォルトの名無しさん (ワッチョイ 9194-izbf) mailto:sage [2023/04/11(火) 19:01:55.92 ID:yYayl2te0.net]
https://books.google.co.jp/books?id=4CJdEAAAQBAJ&pg=PA112#v=onepage&q&f=false
の内容に関しての質問なんだけど、
Fooのコンストラクタをstaticコンストラクタに書き換えると、何で3 3になるの?

Console.WriteLine(Foo.X); // 3

class Foo
{
public static Foo Instance = new Foo();
public static int X = 3;

static Foo() => Console.WriteLine(X); // 3
}

219 名前:デフォルトの名無しさん (ワッチョイ d907-NO7/) mailto:sage [2023/04/11(火) 19:08:53.25 ID:gigFj8HV0.net]
なんでってConsole.WriteLineが2回呼ばれてんじゃん

220 名前:デフォルトの名無しさん (ワッチョイ 9194-izbf) mailto:sage [2023/04/11(火) 19:14:24.00 ID:yYayl2te0.net]
>>217
いや、だから static を付けない場合は、最初の出力は 0 なんだって
で、何故 static を付けると、3 になるかという事を聞きたいわけ



221 名前:デフォルトの名無しさん (ワッチョイ d907-NO7/) mailto:sage [2023/04/11(火) 19:17:23.77 ID:gigFj8HV0.net]
何がわからんのかマジでわからん
初期化したらそれが出力されるのは当たり前じゃね?

222 名前:デフォルトの名無しさん (ワッチョイ 9194-izbf) mailto:sage [2023/04/11(火) 19:19:52.43 ID:yYayl2te0.net]
>>219
で、static を付けた場合と付けなかった場合の出力結果の違いはどういう理由?

223 名前:デフォルトの名無しさん (ワッチョイ 9194-izbf) mailto:sage [2023/04/11(火) 19:21:27.61 ID:yYayl2te0.net]
>>220
デフォルトコンストラクタ Foo() の直前の static の事ね

224 名前:デフォルトの名無しさん (ワッチョイ d907-NO7/) mailto:sage [2023/04/11(火) 19:22:18.16 ID:gigFj8HV0.net]
どこにstaticつける話をしてるのか知らんけどクラスメンバーかインスタンスメンバーかの違い
静的コンストラクタはクラスメンバーがアクセスされる時点で初期化が終わってることが保証される

225 名前:デフォルトの名無しさん (ワッチョイ d907-NO7/) mailto:sage [2023/04/11(火) 19:23:14.19 ID:gigFj8HV0.net]
>>221
それはコンストラクタじゃなくて静的コンストラクタだぞ
多分その本のもっと前に書いてある

226 名前:デフォルトの名無しさん (ワッチョイ 9194-izbf) mailto:sage [2023/04/11(火) 19:39:59.03 ID:yYayl2te0.net]
>>222-223
staticを付けない、コンストラクタの場合、class Fooの最初の行でインスタンスが生成された時点では、Xが3に初期化されてないので、0になるが、
staticを付けた静的コンストラクタの場合、class Fooの最初の行とは無関係に、既にXが3に初期化された状態で Console.WriteLine(X) が実行済みなのね

public static Foo Instance = new Foo();

をコメントアウトして実行させてみて、やっと気付いた

有難う

227 名前:デフォルトの名無しさん (ワッチョイ 4201-BePx) mailto:sage [2023/04/11(火) 23:11:43.43 ID:/nZPjbDG0.net]
1: Console.WriteLine(Foo.X); // 3
2: class Foo {
3: public static Foo Instance = new Foo();
4: public static int X = 3;
5: static Foo() => Console.WriteLine(X); // 3
6: }

静的コンストラクタのあるクラスの場合は
静的コンストラクタが実行される直前に静的イニシャライザが定義順で実行される

1行目のFoo.Xで静的コンストラクタがトリガーされるけど
その前に静的イニシャライザが3行目、4行目の定義順で実行される
3~4行目の実行が完了してから5行目の静的コンストラクタが実行されるのでXは3

3行目のnew Foo()で実行されるのはインスタンスコンストラクタで
staticがついた5行目の静的コンストラクタとは別のものになる

228 名前:デフォルトの名無しさん (ワッチョイ 9194-izbf) mailto:sage [2023/04/12(水) 01:51:45.88 ID:3I+WNe+L0.net]
>>225
分かりやすい説明有難う御座いました。

229 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 08:44:45.21 ID:75Jdcna40.net]
静的イニシャライザの実行順は不定

230 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 08:58:31.49 ID:5OqrGPiIr.net]
そもそもこんな使い方することってある?
こんなわかりにくい実装したらバグしか生まないだろ



231 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 09:17:16.51 ID:g9fBg21da.net]
どういう順序で実行されるか解説するテキストで実験的なコードが紹介されてるだけだろ
本文が3行以上読めないやつがここで聞いただけ

232 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 10:30:19.47 ID:mXnPigifr.net]
いちいち質問者を貶すようなことでもなかろうに

233 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 11:26:53.10 ID:yAM4RrWLM.net]
どちらかと言うと本文を読んでいないのが >>229 でみんな雰囲気で答えてるだけ
英語嫁

234 名前:デフォルトの名無しさん (アウアウウー Sa05-NO7/) mailto:sage [2023/04/12(水) 12:21:14.58 ID:bugel0eha.net]
バグしか生まない実装を紹介する本ねぇ
読んだと自称するやつにはそう見えるのか
春だなぁ

235 名前:デフォルトの名無しさん (ブーイモ MM66-Udzl) mailto:sage [2023/04/12(水) 12:29:42.24 ID:USOc3PY3M.net]
実際質問の出力結果示さずにこのスレの連中にstaticありなしの出力結果予想させたら3割も正解しなさそう

236 名前:デフォルトの名無しさん (オッペケ Srd1-ZlFW) mailto:sage [2023/04/12(水) 12:31:58.00 ID:gsM5MkRcr.net]
そういう意味ではアンチパターンだな

237 名前:デフォルトの名無しさん (オッペケ Srd1-HvLO) mailto:sage [2023/04/12(水) 13:45:09.09 ID:4Can4aDGr.net]
C#の挙動がなぜそうなってるかの理由を知ることと、それを実際に開発に使用するかどうかは話が別だろう

当の本もこの挙動を利用して実装しろと勧めてるわけでもなし、バグしか生まない~などと腐すのも筋違い

238 名前:デフォルトの名無しさん (ワッチョイ 4201-BePx) mailto:sage [2023/04/12(水) 14:11:43.79 ID:uWUQySNG0.net]
本に書いてあるコードでは>>225の5行目にstaticはついてない
3行目と4行目を入れ替えると出力結果が変わるようなことになるという注意を促して
イニシャライザの実行順序を理解させようとしている

static fieldの定義順に依存したコードはアンチパターンと言ってもいい気はするが
現実には↓こういうコード書く人がいるので動きを理解してることは重要
https://stackoverflow.com/questions/54692923/

239 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/12(水) 17:54:22.82 ID:lYmUspEYM.net]
本にはこのコードのstaticはついてないのでいくら読んでもそういう話にはならない
コード提示した人が自分でstaticつけて疑問に思ったことを書いてるだけ

チャンと英語読めば批判してる人の脊髄反射でしかないとわかる

240 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/12(水) 17:57:59.05 ID:lYmUspEYM.net]
>>232
英語嫁と上で書いてやったのに読まない馬鹿



241 名前:デフォルトの名無しさん (オイコラミネオ MM29-Ay2p) mailto:sage [2023/04/12(水) 18:00:18.84 ID:lYmUspEYM.net]
>>232
ごめん自分が読めてなかった

自分が馬鹿だったわ…

242 名前:デフォルトの名無しさん (ワッチョイ d907-NO7/) mailto:sage [2023/04/12(水) 21:13:56.15 ID:75Jdcna40.net]


243 名前:デフォルトの名無しさん (ワッチョイ c5ae-izbf) mailto:sage [2023/04/13(木) 17:15:29.58 ID:Zu8K3N7a0.net]
過去にはAny CPUを選ぶと32bitライブラリか64bitライブラリかわからなくてエラーになる事があるから、
x86かx64に固定するのを推奨とかどこかで見た気がするけど、
今はそんな事無くなったのかな?

244 名前:デフォルトの名無しさん (ワッチョイ c7e5-S3w6) mailto:sage [2023/04/18(火) 09:43:52.47 ID:8GgykzJw0.net]
ifで非null判定してからアクセスしてんのにnullの可能性がありますとか警告出す最近のC#はほんとクソ

245 名前:デフォルトの名無しさん (ワッチョイ 4707-uZLY) mailto:sage [2023/04/18(火) 09:47:05.00 ID:zIS6YJzM0.net]
>>242
出さねーよw

246 名前:デフォルトの名無しさん (ワッチョイ bfda-wFhX) mailto:sage [2023/04/18(火) 10:17:07.64 ID:HhMbwi3l0.net]
コンパイラのnullチェックを混乱させる凄い(≠素晴らしい)コードなのかもしれない

247 名前:デフォルトの名無しさん (ササクッテロロ Spfb-tEYI) mailto:sage [2023/04/18(火) 10:21:16.50 ID:dDei21Qyp.net]
見落としてる分岐があるだけだろ

248 名前:デフォルトの名無しさん (アウアウウー Sacb-uZLY) mailto:sage [2023/04/18(火) 10:22:53.46 ID:HoHH5EgOa.net]
多分チェックした後に別の値を代入するか値が変化するものを使ってるんだろうな
たとえばプロパティは一回目のアクセスと二回目のアクセスで同じ値が得られるとは限らない
変数に入れろ
そしたら多分警告消えるから

249 名前:デフォルトの名無しさん (ワッチョイ dfbd-baic) mailto:sage [2023/04/19(水) 07:26:32.14 ID:9LVfV8Mo0.net]
警告が消えるのに時間がかかったり、Visual Studioを立ち上げ直したら警告が消えたことがある。

250 名前:デフォルトの名無しさん (ワッチョイ 4707-uZLY) mailto:sage [2023/04/19(水) 07:56:31.56 ID:A9DJak9S0.net]
マシンが遅いだけ



251 名前:デフォルトの名無しさん (ワッチョイ bf42-sFbk) mailto:sage [2023/04/19(水) 08:18:39.49 ID:/RLG/xCj0.net]
不必要なhoge?.hage();が残っているとnull判定されることがあるね
?取るとワーニングが消える

252 名前:デフォルトの名無しさん (ワッチョイ 4707-uZLY) mailto:sage [2023/04/19(水) 09:00:29.09 ID:A9DJak9S0.net]
hoge?.hoge()はhoge!=null?hoge():nullと同じ
nullが返る可能性があることを示すコードだからそりゃnullの可能性があると判定されるわな

253 名前:デフォルトの名無しさん (ワッチョイ bf42-sFbk) mailto:sage [2023/04/19(水) 09:16:28.63 ID:/RLG/xCj0.net]
>>250
問題はhoge?.hoge()のところではワーニングが出ずに、離れた場所にあるhoge.bar()でワーニングが出るから
知らないと混乱するってことだね

254 名前:デフォルトの名無しさん (ワッチョイ 4707-uZLY) mailto:sage [2023/04/19(水) 09:45:55.68 ID:A9DJak9S0.net]
そこで問題がないのに出るわけないじゃん
離れた場所にあるなら一度変数に入れなよ
そしたらnullの可能性があるかどうかマウスホバーで教えてくれるから

255 名前:デフォルトの名無しさん (ワッチョイ 4707-uZLY) mailto:sage [2023/04/19(水) 09:47:07.48 ID:A9DJak9S0.net]
結局この警告はバグを潰してくれてるものだから文句を言うのは筋違いだぞ
本来なら警告の代わりに実行時エラーになってたものだからな

256 名前:デフォルトの名無しさん (ワッチョイ bf42-sFbk) mailto:sage [2023/04/19(水) 10:04:51.79 ID:/RLG/xCj0.net]
>>252
コンストラクタなどで初期化していて本来はワーニングが出るはずがないのに
途中でhoge?hage()なんてコードがあるからヌルが入る可能性があると判断されるようだ
だから?を外すと解決するんだが、それに築くのが大変って話ね

257 名前:デフォルトの名無しさん (ワッチョイ 4707-uZLY) mailto:sage [2023/04/19(水) 10:18:42.95 ID:A9DJak9S0.net]
そこでnullを代入してるのに気づくのが大変てことはないと思うがな
警告が出ないなら大変かもしれんけど

258 名前:デフォルトの名無しさん (アウアウウー Sacb-uZLY) mailto:sage [2023/04/19(水) 10:25:41.00 ID:ozyRSzfKa.net]
たとえばUnityなんかだと暗黙の代入演算子をいじっててnullでないものがnullエラーを出すよ
コンストラクタで生成してすぐnullになるオブジェクトも作れる
そういうのを実行前に警告として教えてくれてるんだから親切以外のなにものでもないだろ

警告があれば何か問題があることにすぐ気づけるし気づいたらマウスをちょっと動かせば原因がわかる
コーディングが簡単になりこそすれ難しくなることなんかないだろ

259 名前:デフォルトの名無しさん (ササクッテロロ Spfb-tEYI) [2023/04/19(水) 10:29:18.14 ID:wTDlMyrbp.net]
nullableなboolean変数を条件判断させるとき
nullだったらどっちに判定されるんだ?

260 名前:デフォルトの名無しさん (アウアウウー Sacb-uZLY) mailto:sage [2023/04/19(水) 10:43:36.85 ID:ozyRSzfKa.net]
どっちでもない
nullはnull



261 名前:デフォルトの名無しさん (ワッチョイ 7ff2-iKPJ) mailto:sage [2023/04/19(水) 12:47:18.86 ID:/ifWvnPE0.net]
勉強になった!

262 名前:デフォルトの名無しさん (スプッッ Sdff-wBI8) mailto:sage [2023/04/19(水) 14:16:39.58 ID:mDR4Tmnid.net]
(bo

263 名前:ol)null []
[ここ壊れてます]

264 名前:デフォルトの名無しさん (ワッチョイ ff79-e5FP) mailto:sage [2023/04/19(水) 18:22:12.39 ID:oWlQU8HM0.net]
もうnullだったら死んでくれていい
プログラムでぬらぶるってるとムカつく
いいんだよ例外でもなんでも死ねば

265 名前:デフォルトの名無しさん (ワッチョイ ff79-e5FP) mailto:sage [2023/04/19(水) 18:32:54.51 ID:oWlQU8HM0.net]
プログラムの99.998%は概ねnullになんかなんないところばっかりなのに
なんでこんなクソ構文作ったのかわからん
現場で書くと嫌われるコード
こんなもんチェックするより他にやることはいくらでもある

266 名前:デフォルトの名無しさん (ササクッテロロ Spfb-tEYI) [2023/04/19(水) 19:21:06.22 ID:Yh/qVtVOp.net]
bool値に三状態あるのかw

267 名前:デフォルトの名無しさん (ワッチョイ 5f79-uE6i) mailto:sage [2023/04/19(水) 19:27:25.28 ID:Gw9y9MAb0.net]
ヌルヌルヌールヌル

268 名前:デフォルトの名無しさん (オイコラミネオ MM5b-baic) mailto:sage [2023/04/19(水) 19:28:11.01 ID:ol2MoW3SM.net]
DBだと伝統的に3値だったりが当たり前
かなり問題がある作り

269 名前:デフォルトの名無しさん (ワッチョイ 7f7b-i286) mailto:sage [2023/04/19(水) 19:33:27.51 ID:fW0fg9Ti0.net]
null 許容値型
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/nullable-value-types
null許容値型(Nullable<T> 型)
https://ufcpp.net/study/csharp/sp2_nullable.html

270 名前:デフォルトの名無しさん (ワッチョイ bfe9-Naft) [2023/04/19(水) 20:30:00.61 ID:C4s4zrWJ0.net]
FormアプリでForm1とForm2を作る
Form1にラベルを作る
Form2にボタン1,ボタン2を作る
ボタン1を押すとラベルに"1"ボタン2を押すとラベルに"2"を、
Form2を閉じることなく設定するプログラムを作りたいのですが
どういう作り方をすれば実現できるでしょうか。
Form2にプロパティを作りForm1で文字を受け取る方法だとForm2を閉じないと値が設定できません。
よろしくお願いします。



271 名前:デフォルトの名無しさん (ワッチョイ 7f7b-i286) mailto:sage [2023/04/19(水) 20:35:45.45 ID:erb9d6p60.net]
>>267
別のフォームのデータを取得、設定する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html

272 名前:デフォルトの名無しさん (ワッチョイ bfe9-Naft) [2023/04/19(水) 22:15:32.11 ID:C4s4zrWJ0.net]
>>268
記事中のOwnerプロパティを使うことでやりたいことができました。
ありがとうございます。

273 名前:デフォルトの名無しさん (ワッチョイ 7f10-S3w6) mailto:sage [2023/04/20(木) 21:58:50.89 ID:XyBZLb7d0.net]
ぬるり

274 名前:デフォルトの名無しさん [2023/04/22(土) 21:40:28.10 ID:nV5+mUIN0.net]
自作メソッドが投げる可能性がある例外の表記方法についての質問です。
ドキュメンテーションコメントの<exception>タグに、throw する可能性がある例外を表記出来ますが、
例えば下記のメソッドの場合・・・
void MyMethod(string filename)
{
//ZipFile.OpenRead() メソッドと、StreamReader.ReadLine() メソッドを使用する。
}

上記の場合、
ZipFile.OpenRead() は下記の例外を throw する可能性があります。
ArgumentException
ArgumentNullException
PathTooLongException
DirectoryNotFoundException
IOException
UnauthorizedAccessException
FileNotFoundException
NotSupportedException
InvalidDataException

StreamReader.ReadLine() は下記の例外を throw する可能性があります。
OutOfMemoryException
IOException

こうなると、MyMethod() は、上記の計11種類の例外を throw する可能性があるという事になるのですが、
理想論的には、全てをドキュメンテーションコメントの <exception> に表記する必要がありますか?
そうでない場合、表記するべき例外と、そうでない例外はどういう基準で判断すればよいでしょうか?

275 名前:デフォルトの名無しさん mailto:sage [2023/04/22(土) 22:30:09.44 ID:XuPaU8GB0.net]
>>271
めんどくさいから例外を吐くMethodを記載して、詳細はソチラでにしちゃうかな

276 名前:デフォルトの名無しさん mailto:sage [2023/04/23(日) 00:52:29.94 ID:qbQJEsvk0.net]
>>271
例外なんて元々どんぶりなんだから
そんな厳密に何かやろうとするなら
そもそも使うなでFA

277 名前:デフォルトの名無しさん mailto:sage [2023/04/23(日) 09:59:39.79 ID:UBkEK/lQ0.net]
ZipFile使ってること書いてそっち参照とし、独自のは詳細書くとか?

278 名前:デフォルトの名無しさん mailto:sage [2023/04/23(日) 10:04:39.68 ID:DUqm0gOHM.net]
書いたことがない

自分で使うなら覚書として必要な範囲で
他人に提供するライブラリでも普通は書かない
使われないし必要とされてないから

常識的にそれが何をしているか想定できる場合は書かない
今だったらファイルアクセスしてますよとか引数を取りますよで利用側もある程度想像できる

標準ライブラリの例外でないものを投げる可能性があり
それに回復手段がある場合に書くぐらいなんじゃないかなと

279 名前:デフォルトの名無しさん (ワッチョイ 6610-ASru) mailto:sage [2023/04/24(月) 06:43:49.53 ID:P+2JsUDo0.net]
ドキュメンテーションコメントなんか書いたことないな・・・

280 名前:デフォルトの名無しさん (アウアウクー MM7d-pS66) mailto:sage [2023/04/24(月) 08:26:23.98 ID:F+RPKNFDM.net]
ウチはコーディング規約で必須
どこも書いてるかと思ってたけど違うんだね



281 名前:デフォルトの名無しさん (アウアウウー Sa21-ZiWf) mailto:sage [2023/04/24(月) 08:47:42.51 ID:iy7IhEXOa.net]
今はドキュメンテーションコメント書いたらコパイロットがコード書いてくれるんじゃね

282 名前:デフォルトの名無しさん (ワッチョイ 3679-ByXY) mailto:sage [2023/04/25(火) 07:51:13.18 ID:kQ+fG+er0.net]
JavadocやDoxygenってゴミにしかなんなくね?

283 名前:デフォルトの名無しさん (ワッチョイ a95f-SH/E) [2023/04/25(火) 08:17:55.28 ID:wOLFytDy0.net]
>>279
成果物のかさ増しには最適なんだよw

284 名前:デフォルトの名無しさん (スプッッ Sdea-8Xzj) mailto:sage [2023/04/25(火) 08:42:20.58 ID:2JpsSRmdd.net]
詳細設計書の雛形を自動で作ってくれる…
んだぜ

285 名前:デフォルトの名無しさん (ワッチョイ a5e5-ASru) mailto:sage [2023/04/25(火) 08:45:42.17 ID:XCOYQ77g0.net]
詳細設計してからコード書いてクレメンス

286 名前:デフォルトの名無しさん (ワッチョイ aade-RykB) mailto:sage [2023/04/25(火) 10:50:36.92 ID:KrvjcZC00.net]
質問なんですが、コントロールのボタン1~9のイベントハンドラを全部実行したいとき
Button1_Click(null, null);
Button2_Click(null, null);
Button3_Click(null, null);
Button4_Click(null, null);
Button5_Click(null, null);
Button6_Click(null, null);
Button7_Click(null, null);
Button8_Click(null, null);
Button9_Click(null, null);

これをもっとスマートに書く方法ありますか?
それとも20個程度ならダラダラ書いたほうがいいですか?

287 名前:デフォルトの名無しさん (ワッチョイ 1507-ZiWf) mailto:sage [2023/04/25(火) 11:03:26.95 ID:h+X7r+oZ0.net]
ViewModelも使わないような泥縄式プログラミングならダラダラ書けばいんじゃね
インスタンスを何らかの方法(前もって配列に入れるとかタグをつけるとか)でフィルタリングすればループが使えるし何ならイベントハンドラ自体一つにまとまるくらい同じことしかしてないんじゃないかとも推測できるが

288 名前:デフォルトの名無しさん (ワッチョイ 1507-ZiWf) mailto:sage [2023/04/25(火) 11:05:37.36 ID:h+X7r+oZ0.net]
あとイベントハンドラを直接呼び出すのは良くないぞ
イベントハンドラの中から実際の処理を行う関数を呼び出すように作ってイベントハンドラを他の関数から呼びだしたい時には代わりにその処理の方を呼び出すんだ

289 名前:デフォルトの名無しさん (ワッチョイ 1507-ZiWf) mailto:sage [2023/04/25(火) 11:07:12.18 ID:h+X7r+oZ0.net]
どうしてもハンドラの方を呼び出さなきゃいけない時はButton.PerformClickな

290 名前:デフォルトの名無しさん (ワッチョイ aade-RykB) mailto:sage [2023/04/25(火) 12:14:00.34 ID:KrvjcZC00.net]
>>284,285,286
サンクスです、まずViewModelがわかりません。ググルとandroidやzamarinの事がヒットします。
windowsのformでプログラム作ってます。もうちょと調べてみます。
イベントハンドラの中のメソッドを呼びだすのですね、Button.PerformClickと迷ったのですが
2つの違いがいまいちわかってなくて、もらったアドバイスでもうちょと考えてみます



291 名前:デフォルトの名無しさん (スプッッ Sdea-8Xzj) mailto:sage [2023/04/25(火) 13:05:52.77 ID:+0i9aSeod.net]
適当なコレクションに入れてforeachでperformclickだな

292 名前:デフォルトの名無しさん (ワッチョイ aade-RykB) mailto:sage [2023/04/25(火) 17:08:17.65 ID:KrvjcZC00.net]
>>288
レスサンクスです
List<Button> buttons = new List<Button>();
for (int i = 1; i<10; i++)
{
Button button = new Button();


foreach (Button button in buttons)
{
button.PerformClick();
}
こんな感じでしょうか(途中で挫折した)

293 名前:デフォルトの名無しさん (ワッチョイ a5e5-ASru) mailto:sage [2023/04/25(火) 17:34:19.71 ID:XCOYQ77g0.net]
フォームに他にボタンが無いなら↓でもやれる

foreach(Control childItem in Controls) {
if(childItem is Button button)
button.PerformClick();
}

294 名前:デフォルトの名無しさん (オイコラミネオ MMb5-/HYv) mailto:sage [2023/04/25(火) 17:41:31.18 ID:jwlAeKCmM.net]
まずボタンから処理を分けようか?
リファクタリングでメソッドに書き直そう

private void Button_Click(object sender, Args e)
{
//ここは実際に何かやってるが仮にコメントにしてある
//
//ここまで
}

仮にこんなコードだとして

//から始まる3行を選択して右クリックすると出てくるメニュー上の方に "クイックアクションとリファクタリング" というのがあるから
それをクリックすると "メソッドを抽出する" と言うのが出てくるので選ぶ
そのあとメソッド名をつけるだけでイベントハンドラじゃなくて単純なメソッドになる

ボタンをクリックしたと言う名前じゃなくて処理にあった名前にできるしそうするべき
いちいちボタンNが何をしていたか調べたり覚えなくて済む

こういうふうにしてあちこちの処理を簡単にメソッドにできるので
処理の区切りでメソッドにしよう
処理に名前を付けて流用できるようにしよう

295 名前:デフォルトの名無しさん (ワッチョイ aade-RykB) mailto:sage [2023/04/25(火) 20:49:06.41 ID:KrvjcZC00.net]
>>290
レスさんくすです
こんなシンプルにかけるんですね、ちょと理解がむずいところがあるけど
これをもとにちょっといじくってみます

>>291
丁寧な解説ありがとう
なるほどイベントハンドラからメソッド切り出すのはこうすればいいのですね
他からメソッド呼び出すとき意味も分かりやすく、見通しもよくなりますね
リファクタリングはやったことなかた

296 名前:デフォルトの名無しさん (オイコラミネオ MMb5-/HYv) mailto:sage [2023/04/25(火) 23:36:51.46 ID:jwlAeKCmM.net]
>>292
これだけできるとコードの書きやすさが格段に上がるよ

メソッド内全部じゃなくてもいい
適当に切り出しても引数とかもちゃんとくくりだしてくれる
出来ない場合は理由があるのでそれも勉強になる

失敗してもアンドゥしたらいいだけだし

297 名前:デフォルトの名無しさん (ワッチョイ 3abd-/HYv) mailto:sage [2023/04/26(水) 00:00:21.94 ID:lnboBUB50.net]
>>291
こんな機能あったんか…。知らんかった。

298 名前:デフォルトの名無しさん (オイコラミネオ MMb5-/HYv) mailto:sage [2023/04/26(水) 00:31:44.42 ID:1VlSMqUTM.net]
他にもいろいろ機能があるよ
いろいろ試してね

299 名前:デフォルトの名無しさん (ワッチョイ f1e4-n/u1) mailto:sage [2023/04/26(水) 06:43:05.45 ID:aS9C8tBv0.net]
>>291
こんな機能知らなかった
勉強になったわ

300 名前:デフォルトの名無しさん (ワッチョイ 6a7f-p1wa) [2023/04/28(金) 01:40:04.13 ID:EFykGfO70.net]
ほんとVisual studioは神



301 名前:デフォルトの名無しさん (ワッチョイ ea79-lTfL) mailto:sage [2023/04/28(金) 01:47:14.94 ID:yqQLE+sa0.net]
それっぽい名前を付けるのが一番面倒だから
そこは処理をAIに要約させて付けて貰う
完璧だな

302 名前:デフォルトの名無しさん (ワッチョイ 4954-YWDm) [2023/04/28(金) 04:28:06.22 ID:SQeM8rhL0.net]
非同期メソッドを実行する時「戻り値は特に必要ないが、例外は伝えてほしい」という場合、
戻り値は適当に int とかにしても問題ないでしょうか?
理想的な方法があれば教えてください。

例:
public Task<int> SomeMethod()
{
  return await Task.Run(()=>
  {
    try
    {
      //非同期で実行したいメソッド。
      return 1;
    }
    catch
    {
      throw;
    }
  });
}

303 名前:デフォルトの名無しさん (ワッチョイ 6610-ASru) mailto:sage [2023/04/28(金) 07:28:54.39 ID:dvpYRirO0.net]
戻り値無くても例外は発生するぞ
ていうかthrowするだけならtry要らないだろ

304 名前:デフォルトの名無しさん (ワッチョイ 6663-Be6V) mailto:sage [2023/04/28(金) 07:38:28.05 ID:4gfllXQT0.net]
public async Task SomeMethod()

305 名前:299 (ワッチョイ 4954-YWDm) mailto:sage [2023/04/28(金) 07:46:32.72 ID:SQeM8rhL0.net]
>>300-301
ありがとうございます。
本当に助かりました。

306 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/02(火) 15:27:13.55 ID:+P/djKKr0.net]
>>300
以外と例外処理って勘違いしてる奴が多いんよ

例外が発生する可能性がある場所にtry catch書くべきって思ってる奴が7割ぐらい居る

正解は例外が発生した場合にリカバリー処理を書く場合に使用する

307 名前:デフォルトの名無しさん (アウアウウー Sa1b-gncP) [2023/05/02(火) 15:48:44.54 ID:k2jSiG28a.net]
リカバリー処理とは?

308 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/02(火) 15:54:32.37 ID:+P/djKKr0.net]
そのままの意味どうすよ
回復や復帰を意味する言葉通り

例えば通信中に環境が悪く回線切断
例外からそれは分かるので回線が繋がりやすい場所は移動する様にメッセージを出した後に再接続して通信を続行させる

309 名前:デフォルトの名無しさん (ワッチョイ 7f79-tpgI) mailto:sage [2023/05/02(火) 16:24:14.51 ID:2rV8iq3c0.net]
UIソースでtrycatch書くための仕組みだろ

返せる例外は複数も行けるけど1つしか想定してないからどんぶりの類

本処理中と終了処理があるような処理は想定外
終了処理は行われないで帰ってくる
厨房の工作キット

310 名前:デフォルトの名無しさん (アウアウアー Sa4f-ef8y) mailto:sage [2023/05/02(火) 16:28:46.70 ID:GVM+dlL1a.net]
リカバリー処理とは限らんでしょ



311 名前:デフォルトの名無しさん (ワッチョイ 375f-Hgfr) mailto:sage [2023/05/02(火) 16:48:17.59 ID:4Yks9dbV0.net]
まあ、自分の業務だけが全ての人は知見が狭くてかなわんなw

312 名前:デフォルトの名無しさん (ワッチョイ 97cf-hzXf) mailto:sage [2023/05/02(火) 17:26:39.90 ID:ID016ee+0.net]
復帰とも書いてるから、例外の伝播をそこで止めて通常動作に戻すこと全般を言っているんなら
大体合ってるんじゃないかな。

313 名前:デフォルトの名無しさん (ワッチョイ 9f4b-gncP) [2023/05/02(火) 18:28:49.42 ID:2Pbut5Rc0.net]
独自の例外に変換することもあるのでは

314 名前:デフォルトの名無しさん (ワッチョイ 3754-wHlW) mailto:sage [2023/05/02(火) 18:29:31.06 ID:yUli7OqN0.net]
try catch はリカバリー処理とかユーザー通知も含めて、"例外が起きたら何かしたい" 時に使う物くらいにしか考えてなかったなぁ。

void Method() {
try {
 処理
} catch (Exception ex) {
 //if (この場で復旧処理したい) { 復旧処理 }
 //if (メソッド呼び出し元に例外が起きたことを伝播したい) { 例えば、throw する }
 //if (ログを出力したい) { ログ出力する }
 //if (別のプロセスを起動したい) { 別のプロセスを起動する }
 //if (その他諸々何かしたい) { その他諸々何かの処理 }
}

315 名前:デフォルトの名無しさん (ワッチョイ 9f7f-ExZu) [2023/05/02(火) 18:29:58.08 ID:Iiod3Ljm0.net]
相手サーバーに拒否されたとかそのままコケて欲しい時はcatchしなくて良いしな

316 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 21:03:09.39 ID:N5mno8Ao0.net]
質問いいですか?
form1からform2を呼び出して、form2からform1のbutton1をクリックしたい
public partial class Form2 : Form
 {
  private Form1 _form1;

  public Form2(Form1 form1)
   {
   InitializeComponent();
   _form1 = form1;
   }
 }

ここでform2から
_form1.button1.PerformClick(); //うまくいきます

Button selectedButton = (Button)_form1.Controls["button1"];
selectedButton.PerformClick(); //うまくいきませんnull

317 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 21:04:43.29 ID:N5mno8Ao0.net]
>>313
途中で投稿してしまった

これはなぜうまくいかないのでしょうか?

318 名前:デフォルトの名無しさん [2023/05/02(火) 21:11:45.34 ID:V30afgjZ0.net]
動くけどなー

319 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 21:19:48.53 ID:N5mno8Ao0.net]
まじでっ

320 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 21:20:16.79 ID:yUli7OqN0.net]
別フォームからクリック出来たよ。
ソース全体が不明だから何とも言えないけど、
1. Form2 クラスの form1 ・ _form1 変数は、ちゃんと Form1 のインスタンスを参照出来てる?
2. 自動クリックされる Form1 のボタンは、ちゃんと Name = button1 になってる?



321 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 21:21:01.87 ID:yUli7OqN0.net]
間違えた。
Name = "button1"

322 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 22:19:38.01 ID:XpNDWH0U0.net]
キャストってプロパティより優先順位低かったっけ?

323 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 22:21:39.83 ID:N5mno8Ao0.net]
>>315
サンクスです、文法問題ないのだったら、ここに書き漏らしてる何かが悪いのだろうか
>>317
さんくすです、うまくうごくのですね _form1 は
_form1.button1.Text = "hogehoge";
がうまくいくのでインスタンスを参照できてるかな、NameもVSのプロパティそのままで

324 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 22:29:06.71 ID:N5mno8Ao0.net]
>>319
俺への回答でしょうか?試しに
(Button)(_form1.Controls["button1"])
みたいにやってみたけどうまくいかず

325 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 22:47:23.62 ID:NVQj7oowr.net]
「うまくいかない」の内容をもう少し詳しく書くようにしよう
何も起こらないのかそれともエラーが出るのか
エラーが出るなら具体的にどんなエラーメッセージなのか

326 名前:デフォルトの名無しさん [2023/05/02(火) 22:51:11.59 ID:V30afgjZ0.net]
>>320
もしかしてForm1のPanelとかの中にbutton1が入ってるんじゃ
そしたら_form1.panel1.Controls["button1"]よ

327 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 23:02:01.80 ID:N5mno8Ao0.net]
>>322
失礼しました、例外がスローされます
selectedButton.PerformClick();のところで止まってselectedButtonがnullみたいです
System.NullReferenceException: 'オブジェクト参照がオブジェクト インスタンスに設定されていません。'

328 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 23:06:31.60 ID:HZAuKpK5M.net]
>>324
それ単純に名前ミスってるだけだよ…

329 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 23:09:12.69 ID:N5mno8Ao0.net]
>>323
ビンゴでした、うまく動きました
グループボックスの中にボタン入ってました、こんなのいるんですね
ありがとうございました

330 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 23:12:57.82 ID:N5mno8Ao0.net]
>>325
名前はインテリセンスで出てこないから要注意ですね
一応単語を選択すると同じ単語が色分けされるから、そこで確認しました



331 名前:デフォルトの名無しさん (ワッチョイ 9fde-fitb) mailto:sage [2023/05/02(火) 23:32:01.14 ID:N5mno8Ao0.net]
たすかりました
ありが㌧

332 名前:デフォルトの名無しさん (オイコラミネオ MM6b-hzXf) mailto:sage [2023/05/02(火) 23:46:40.83 ID:HZAuKpK5M.net]
テキストでコントロール指定したりPerformClick()使うのは最初だけだから
初心者だからなんでも使えばいい
そこから出られるのかどうか

333 名前:デフォルトの名無しさん (ワッチョイ 9f79-zzYQ) mailto:sage [2023/05/03(水) 00:32:32.38 ID:Kv12u2jn0.net]
>Controls["button1"]
こんなもん使うなカスボケってことは理解できたんかな?

334 名前:デフォルトの名無しさん (ワッチョイ d7ac-9Trp) mailto:sage [2023/05/03(水) 01:23:01.23 ID:Ia3mFb590.net]
まあ他人の実際のコードを見るようになってからじゃね
自分で書いて動かすだけで手一杯なんやろ

335 名前:デフォルトの名無しさん (ワッチョイ 9f4b-gncP) [2023/05/03(水) 02:28:32.14 ID:vL8FscsM0.net]
しっけーなおまえ等

336 名前:デフォルトの名無しさん (ワッチョイ 3754-wHlW) mailto:sage [2023/05/03(水) 05:15:12.14 ID:X2wTGB2Y0.net]
自分は、DataGridViewColumn.DataPropertyName でプロパティ名を文字列で指定してカラム参照してるわ。
本職はプログラマーじゃないから許してクレメンティン。

337 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 05:27:13.82 ID:iydNsBEo0.net]
別に良いんだよ
馬鹿なプログラマはこうするべきだってって感じで言うけどただの無能
動けば良いんだよ
実際売れてるとか人気のアプリのコードなんて糞みたいなもん

音楽で考えると分かりやすい
人気の音楽や長年聴かれる音楽って結構シンプルやろ

ギターとかの超絶テクニックやら奏法が特殊なら良い音楽かって言えば違うやろ
実際はミリオンセラーの音楽なんて小学生が少し練習すれば弾ける様になるのが結構ある

338 名前:デフォルトの名無しさん (アウアウクー MM8b-ef8y) mailto:sage [2023/05/03(水) 05: ]
[ここ壊れてます]

339 名前:33:27.84 ID:0APi2HUGM.net mailto: エンタメとソフトウェア技術を同列に語っちゃう人
例え話って自分に都合の良いものを引き合いに出しがち
[]
[ここ壊れてます]

340 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 05:54:45.19 ID:iydNsBEo0.net]
同じやで

都合も良いも無いやろ
何の為にソフト作るんや
使う側にして見りゃ中のコードが糞かどうか関係無いやん
ちゃんと動いて結果が出れば良いだけなんだから



341 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 05:56:22.47 ID:iydNsBEo0.net]
アレかなもしかしてエンジニアって勘違いしてるパターンか?

俺らって大抵はエンジニアじゃなくてサラリーマンだぞ

342 名前:デフォルトの名無しさん (ワッチョイ 1707-rvTa) mailto:sage [2023/05/03(水) 07:46:05.28 ID:7KJ/CzIt0.net]
>>334
音楽で考えるとわかりやすいんじゃなく音楽と違うものを音楽にしてしまったことで話が変わってるだけだぞ
プログラミングはロジックの塊
音楽より論文に近い
思いついたことをまとまりなく書き連ねたらダメ出しされるのは当然だろ
小論文ならそれでもまだ読めるかもしれんがな

343 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 07:52:55.78 ID:iydNsBEo0.net]
>>338
動けば問題無いよ

論文と違って無駄があろうが何だろうが結果が正しければ良い
例え途中が間違っていても奇跡的にでも結果が正しければ問題無い

お前の例えの方が全然違うやんw
無能やな

344 名前:デフォルトの名無しさん (ラクッペペ MM8f-N7xh) mailto:sage [2023/05/03(水) 08:03:49.34 ID:s1e64EMrM.net]
楽しければいいんだよ
法律やルールなんてくそ食らえ
…とかいう人なの?

345 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 08:13:38.78 ID:iydNsBEo0.net]
違うぞ

ルールや法律に違反しなきゃ何やっても良いって言ってるだけや

346 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 08:19:44.90 ID:iydNsBEo0.net]
ついでに言うならペナルティが罰金の場合
罰金払ってでも儲かるなら違法な行為はする


ちなみ大企業は堂々とそういう事してる

例えば特定保健指導の実施率のペナルティ
大企業だと自身で保険組合持ってる場合が多い
従業員も多く色々な対策に金使うよりペナルティ払った方が安い場合もある

そういう場合は普通に違反してペナルティ払ってる
一例を挙げるならトヨタがそれに当たる

347 名前:デフォルトの名無しさん (ワッチョイ 975f-VSqy) mailto:sage [2023/05/03(水) 08:25:24.40 ID:eaeSSGs50.net]
「正しく動く」は単なる前提に過ぎず、目指すものではない
エンジニアリングにおける「Easy」と「Simple」を区別できないおじさんは淘汰される

348 名前:デフォルトの名無しさん (スッップ Sdbf-oJ27) [2023/05/03(水) 08:27:58.97 ID:s1pMNzuQd.net]
そう言うなよ世の中の7割はルールに従って真面目にやれば出世や稼げると勘違いしてる無能なんだからさ

有能で稼げる奴は法律やルールでさえ損得を天秤に掛けて儲かる場合は普通に違法行為を行える

勿論逮捕とかされるような事案には手を出さないが1億10億の罰金払って100億稼ぐのが有能

349 名前:デフォルトの名無しさん (ワッチョイ 9fde-fitb) mailto:sage [2023/05/03(水) 08:34:50.09 ID:aEnVTx4R0.net]
>>329
PerformClick()使う理由は
ADIR01P USB赤外線リモコンアドバンス
https://github.com/bit-trade-one/ADIR01P-USB_IR_Remote_Controller_Advance
このアプリをいじって、追加機能やform2でボタンだけのコンパクトなUIが欲しかったからです

>>330
確かに気持ち悪い感じはしますね、form2で10個ほどのボタンにtagつけて、
対応するform1のボタンと同じ働きさせるにはこれぐらいしか思いつかない

>>334
動けばいいと思って書いてますが、こうするべきだって話は聞きたい

350 名前:デフォルトの名無しさん (アウアウウー Sa1b-rvTa) mailto:sage [2023/05/03(水) 08:34:58.86 ID:Zrw+HhQra.net]
>>339
動くのは最低限だぞw
お前のレベルの話で済むのは一人で作るちっこいアプリだけだw



351 名前:デフォルトの名無しさん (ワッチョイ 3702-ITaW) mailto:sage [2023/05/03(水) 08:39:30.63 ID:XU1+7Xhm0.net]
そもそも有能な奴はこんなところに来ない

352 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 09:16:01.84 ID:iydNsBEo0.net]
>>346
ほんと無能だな

大規模だってまともに動かなきゃ意味ないだろ
そういう意味でも動けば良いんだよ

353 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 09:17:54.09 ID:iydNsBEo0.net]
なんで動かなきゃってのがどのアプリやシステムでも同じレベルだと勘違いしてるんやろ

それぞれにレベルっていうか難易度があってその上で動くレベルに決まってるのに
ほんと思考が無能

354 名前:デフォルトの名無しさん (ワッチョイ 1fbd-hzXf) mailto:sage [2023/05/03(水) 09:32:23.88 ID:7Db4yG9j0.net]
>>1
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです

355 名前:デフォルトの名無しさん (アウアウウー Sa1b-rvTa) mailto:sage [2023/05/03(水) 09:39:20.03 ID:Zrw+HhQra.net]
>>348
動くのは最低限の当たり前でその上で保守の話をしてるのにお前一人だけ動かないものの話をしてるなw

356 名前:デフォルトの名無しさん (アウアウウー Sa1b-rvTa) mailto:sage [2023/05/03(水) 09:52:09.50 ID:Zrw+HhQra.net]
やっと意味がわかったかもしれん
要するに疎結合とかが理解できなくてそこまで要求されると動くものが作れないから騒いでるのか

ふつう作れるよ?w

357 名前:デフォルトの名無しさん (ワッチョイ 1fbd-hzXf) mailto:sage [2023/05/03(水) 09:54:21.80 ID:7Db4yG9j0.net]
>>1

358 名前:デフォルトの名無しさん (オッペケ Sr8b-/vMP) mailto:sage [2023/05/03(水) 10:02:18.52 ID:AjLrekoLr.net]
ワッチョイ7c-はNGになってるわ
前にも暴れててそれで入れたんかな

359 名前:デフォルトの名無しさん (ブーイモ MMcf-SYdp) [2023/05/03(水) 10:14:01.23 ID:HGdhPxDoM.net]
GUIDの人やな

360 名前:デフォルトの名無しさん (ワッチョイ 97e5-By2c) mailto:sage [2023/05/03(水) 10:27:52.20 ID:vzDzSdqv0.net]
いきなり無能だなんだと言い出す言動ですぐわかるな



361 名前:デフォルトの名無しさん (オッペケ Sr8b-/vMP) mailto:sage [2023/05/03(水) 10:35:48.95 ID:sp9+jxair.net]
>>355
ソレダ!

362 名前:デフォルトの名無しさん (ワッチョイ 1701-E+2s) [2023/05/03(水) 11:02:59.86 ID:Fpkn6yKr0.net]
ルールってーと、フリーウェア作るときみんなライセンスとかどうしてるの?
いろいろ種類あって何採用していいのかよくわからない
ソース付きで、改変/配布/商用利用好きにしてって場合とかさ
MIT?

363 名前:デフォルトの名無しさん (ワッチョイ ff7b-vJGv) mailto:sage [2023/05/03(水) 11:04:19.17 ID:g2t1b8zF0.net]
>>358
【License】ライセンス総合【利用許諾】
https://mevius.5ch.net/test/read.cgi/tech/1266247461/

364 名前:デフォルトの名無しさん (ワッチョイ 77e4-ydUa) mailto:sage [2023/05/03(水) 11:36:28.25 ID:bhz/zA6o0.net]
>>343
これかっこいい
使わせてもらお

365 名前:デフォルトの名無しさん (ワッチョイ 7f79-Wy6e) mailto:sage [2023/05/03(水) 12:06:52.63 ID:0fnUMlbu0.net]
>>360
実績が伴わないとしょっぱい空気になりそう

でもお前の給料20万じゃん・・・?
的なw

366 名前:デフォルトの名無しさん (ワッチョイ 1701-ef8y) mailto:sage [2023/05/03(水) 12:17:42.17 ID:GN2zt4Uy0.net]
上で出てる動けばいいじゃん精神よりは億倍マシかと

367 名前:デフォルトの名無しさん (ワッチョイ 9f7f-ExZu) [2023/05/03(水) 12:24:06.51 ID:XvXH8q6A0.net]
easyかつsimpleがいいならpythonやっとけ

368 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 12:27:13.86 ID:iydNsBEo0.net]
動けば良いじゃん精神の方が金は稼げるよ

だってIT技術者でも無い会社経営層は技術持ってても評価しないもん
技術持ってる持ってない関係なしに稼げるシステム作った奴を評価する

つうかこの板使っておいて元の2ちゃんねる作った億稼いだひろゆき自体が動けば良いじゃん精神だぞ
自身の配信でもそう言ってるじゃん
こういう技術どうこう言う技術者は無能ってさw

369 名前:デフォルトの名無しさん (ワッチョイ 375f-Hgfr) mailto:sage [2023/05/03(水) 12:31:50.95 ID:6d/7YSFK0.net]
そそ、使いもしない単体モジュールの境界テストとか負荷テストとか無駄
トータルできちんと動いてくれればそれで良い

370 名前:デフォルトの名無しさん (スッップ Sdbf-fitb) [2023/05/03(水) 12:48:43.53 ID:foxDzL7Ed.net]
test



371 名前:デフォルトの名無しさん (ワッチョイ 57ad-0AmK) [2023/05/03(水) 13:19:12.96 ID:PpDaqr1l0.net]
そんであるとき負荷が掛かったりちょっと改修したときに爆発する

372 名前:デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr) mailto:sage [2023/05/03(水) 13:25:11.18 ID:ll4FWYPGp.net]
>>367
改修したらトータルできちんとテストしたら良いだけだろ

373 名前:デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr) mailto:sage [2023/05/03(水) 13:25:47.69 ID:ll4FWYPGp.net]
むしろ改修した箇所だけのテストとかあり得ないよな

374 名前:デフォルトの名無しさん (ブーイモ MMbf-SYdp) [2023/05/03(水) 13:27:55.56 ID:t3wVQNi7M.net]
使いもしない単体モジュールがそもそもなぜあるの?
テストするまでもなく削除すればいいのに

375 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 13:28:01.67 ID:RLCA5WWQ0.net]
その「トータルできちんとテスト」ってなんだ?

376 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 13:31:19.49 ID:iydNsBEo0.net]
結合テストとかの事やろ

377 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 13:35:10.87 ID:RLCA5WWQ0.net]
結合テストすることを「トータルできちんとテスト」って呼ぶ層があるんだ
俺の知らん世界だな…

378 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 13:35:53.83 ID:iydNsBEo0.net]
>>370
普通にあるやろ

使うと思ってとか今後の拡張性の為にとかオーバーロード関数用意したけど使われてないとか

特に多いのが今後の拡張性云々とかカスタマイズ用とかってやつ
実際に拡張とかカスタマイズする時に使い物にならなくて設計からやり直す
つまり全くの無駄

379 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 13:39:34.40 ID:iydNsBEo0.net]
>>373
結合テストは俺が勝手に言っただけや
でもリリース前ってそれだけじゃ無いじゃん
しかもそれって会社とかでも違うやん
だからどれとは言えないもんやで

俺の会社だと結合テスト以外だと外部にセキュリティテスト依頼したり社内の品管のテストとシステム監査が入る

380 名前:デフォルトの名無しさん (ワッチョイ 975f-VSqy) mailto:sage [2023/05/03(水) 13:41:01.73 ID:eaeSSGs50.net]
使われないモジュールを書いてしまうおじさんや、非機能要件を無視する(あるいは認識できない)おじさんも淘汰される



381 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 13:45:11.16 ID:RLCA5WWQ0.net]
> セキュリティテスト依頼したり社内の品管のテストとシステム監査が入る

こんなテストや監査が想定されてる中、ユニットテストが無駄だって思ってるってこと?

382 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 13:51:12.96 ID:RLCA5WWQ0.net]
ちょっとまって!

> 外部にセキュリティテスト依頼したり社内の品管のテストとシステム監査が入る

こんなプロジェクトで「動けばいい」ってスタンスで仕事してんのか?
マジか

383 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 13:51:42.78 ID:iydNsBEo0.net]
>>377
俺が言った訳じゃ無いけどなw

まあ俺は単体テストはアリだと思うぞ
単体テストの結果でもって要は作業完了証明やろ
逆に言えば以降は俺の責任じゃ無いと言えるし仕様変更は別に金取れる

384 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 13:53:02.57 ID:iydNsBEo0.net]
>>378
そうだぞ

だって製品の検査で調べるのはその動くかどうかじゃん
中のコードがどうとか技術がどうとか関係無いやん

385 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 13:55:01.32 ID:RLCA5WWQ0.net]
すごいな。そのプロジェクト
俺の知ってる世界だと、そんなコード見せられたらレビュアーが怒り狂うわ

386 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 13:57:38.37 ID:iydNsBEo0.net]
>>381
多分お前が普段使ってる様なアプリもそんなもん

その神経質で無能なレビューアーが関係してるお前のシステムって世界でどんだけ売れてんのって話

387 名前:デフォルトの名無しさん (ワッチョイ 1707-rvTa) mailto:sage [2023/05/03(水) 13:59:04.86 ID:7KJ/CzIt0.net]
動けばいいとしつこく言ってるやつはただの無職だよ
無職の妄想の中ではそうなんだろうさ
現実には動くのは当然で最低限でしかないんだけどね

388 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 14:03:35.88 ID:iydNsBEo0.net]
>>383
そうは言ってるけどじゃあそれ以上に何が必要か言えてないやん

ちなみに話の流れは
>>330
>>333
みたいなコードの内容から来てるんやで
こういうコードが糞だろうが動けば良いって話だから脱線するなよ
お前等っていつも前提間違ってるからなw

389 名前:デフォルトの名無しさん (ワッチョイ bfbc-o+T5) mailto:sage [2023/05/03(水) 14:06:31.39 ID:5+L69Iha0.net]
まああんまり完璧なコードを書くと、その後の仕事がなくなるからな。

390 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 14:09:44.71 ID:RLCA5WWQ0.net]
> 777c-KiN+
ついでに聞くけど、お前の中でシステム監査ってどんなもんなの?



391 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 14:15:23.93 ID:iydNsBEo0.net]
>>386
すまん無能の質問の意味が分からん

システム監査って経済産業省とかIPAに定義あるよね
普通はそれに準拠したものが一般的だと思うんだ
つまり共通認識じゃないの?

無能の頭の中って俺俺監査があるん?

392 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 14:19:36.70 ID:RLCA5WWQ0.net]
> だって製品の検査で調べるのはその動くかどうかじゃん

こんなこと言ってるし、また俺の

393 名前:シラン世界があるのかと []
[ここ壊れてます]

394 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 14:26:32.08 ID:iydNsBEo0.net]
>>388
アホw

まさか動くかどうかが機能要件や非機能要件 セキュリティ要件満たしてないと思ってる?
それこそ最低限満たした上で動く事だよね

その上で中のコードが>>384で言った様な糞コードかどうか関係無いよねって話だ

ほら言った様に話の流れが分かって無い
理解してない
前提を間違ってる

無能だな

395 名前:デフォルトの名無しさん (ワッチョイ 9f4b-gncP) [2023/05/03(水) 14:26:49.46 ID:vL8FscsM0.net]
GWだねぇ

396 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 14:30:01.23 ID:RLCA5WWQ0.net]
>>389
> まさか動くかどうかが機能要件や非機能要件 セキュリティ要件満たしてないと思ってる?

システム監査ってそういうことじゃないぞ
お前の中のシステム監査ってどんなもんなん?

397 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 14:37:49.92 ID:iydNsBEo0.net]
>>391
繰り返すアホ

398 名前:デフォルトの名無しさん (スッップ Sdbf-oJ27) [2023/05/03(水) 14:42:38.57 ID:s1pMNzuQd.net]
>>391
お前が間違ってるんじゃ?
経済産業省のシステム監査基準だとセキュリティガイドライン等に準拠してるか云々って書いてあるしそういう事を監査するもんじゃないの?

399 名前:デフォルトの名無しさん (ワッチョイ ffbb-zzYQ) mailto:sage [2023/05/03(水) 14:48:38.92 ID:RLCA5WWQ0.net]
俺の知ってる世界だと、システム監査ってのは雑に言うとシステムを体制として担保する方法ができてるかを確認するもの

で、「機能要件や非機能要件 セキュリティ要件」に関連した箇所でいうと、それらの要件が正しく永続的に保証できる証跡が残せるか?って観点で監査される

つまり、

> だって製品の検査で調べるのはその動くかどうかじゃん

ってことにはならんのよ
だから、コーダーが「動けばいい」ってスタンスで仕事してたら、レビュアーが体制としてブチ切れるんだわ

で、お前の中のシステム監査ってどんなもんなん?

400 名前:デフォルトの名無しさん (ワッチョイ 9f2f-g9Ql) mailto:sage [2023/05/03(水) 15:09:07.11 ID:fD0yPqm80.net]
動けばいいってのは
なぜそう書かないほうが良いのか、ちゃんと理解して説明できないやつの言い訳
まあそう書くなって言ってる奴もちゃんと説明できてないんだがな



401 名前:デフォルトの名無しさん (ワッチョイ ff10-By2c) mailto:sage [2023/05/03(水) 15:19:09.40 ID:YldI9T9X0.net]
>>390
GW終わって2ヵ月ちょい経つと今度は夏だねぇってなるんだよな

402 名前:デフォルトの名無しさん (ワッチョイ 1f3d-VWCj) mailto:sage [2023/05/03(水) 15:26:23.95 ID:49Yy066J0.net]
ぼんやりとした質問ですが、

Form1にWebView2が合ったとして、Form2でお気に入りを作って、Form2からForm1の
WebView2にナビゲートしたいんです。

やってみたんですが、Form1にあるはずのWebViewがForm2から出てこないんです。

調べてみたらキャスト?とかいうのが必要らしくて、キャストはちんぷんかんぷんです。

コード書いておくので誰かお助けを~

後Form1のWebview2にアクセスしようとしたら保護がかかってしまいました。
ランタイムを噛ませたりとかよく分かりません。

こんな超初心者の俺ですが、助けてください。

private async Task InitializeAsync()
{
await webView21.EnsureCoreWebView2Async(null);
}
private async void Form1_Load(object sender, EventArgs e)
{
await InitializeAsync();

webView21.CoreWebView2.Navigate("https://web.biz-prog.net/");
}

403 名前:デフォルトの名無しさん (ワッチョイ 1f3d-VWCj) mailto:sage [2023/05/03(水) 15:26:47.58 ID:49Yy066J0.net]
private void button1_Click_1(object sender, EventArgs e)
{
Form2 f2 = new Form2(this); // 自フォームへの参照を渡す
f2.Show(); // サブ・フォームを表示
}

ここからForm2

public partial class Form2 : Form
{
Form1 f1;
private object webView21;

public Form2(Form1 f)
{
f1 = f;
InitializeComponent();


試して見たんですが、オートコンプリートに((Form1)).webview2が出てきません

404 名前:デフォルトの名無しさん (ワッチョイ ff10-By2c) mailto:sage [2023/05/03(水) 16:36:13.15 ID:YldI9T9X0.net]
Form1に配置してるWebView2がprivateで宣言されてるからじゃないかね
VS使ってるならデザイナーで選択してプロパティウィンドウのModifiersを確認して
PrivateになってるならInternalかPublicにしたらいいよ

405 名前:デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr) mailto:sage [2023/05/03(水) 16:48:57.57 ID:rOyAnSv/p.net]
プライベートのままアクセサ作れば良くね?

406 名前:デフォルトの名無しさん (ワッチョイ bf42-fitb) mailto:sage [2023/05/03(水) 17:56:30.72 ID:DnrzKFHb0.net]
そもそも素人コーディングをやるやつがマトモなアプリ書けるとは思えん
アプリの作り方を勉強した人ならマシなコード書くからな

407 名前:デフォルトの名無しさん (ワッチョイ 1f3d-VWCj) mailto:sage [2023/05/03(水) 19:51:19.18 ID:49Yy066J0.net]
>>399-401
解決しました。ありがとうございます。

408 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 21:30:59.09 ID:iydNsBEo0.net]
>>394
あのさちゃんと読んだ?

お前は前提を勘違いしてるんだよ
動けば良いってそういう事じゃ無いんよ

409 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 21:35:17.93 ID:iydNsBEo0.net]
>>394
もっと分かりやすい例を出そう

例えば同じ処理を100箇所コピペ出実装したとする
普通なら関数化してってやるわな

こんな100箇所コピペした糞コードでもシステム監査や他のテストでは一切問題にならない
動けば良いんだよ

410 名前:デフォルトの名無しさん (ワッチョイ 1707-rvTa) mailto:sage [2023/05/03(水) 21:36:12.63 ID:7KJ/CzIt0.net]
アスペしつこいな



411 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 21:40:43.87 ID:iydNsBEo0.net]
>>405
お前みたいな無能が多くて困ってる

412 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 21:42:02.40 ID:iydNsBEo0.net]
もっというと例えばMV系フレームでこの処理はモデルに書くべきだとかどうとか
こういうのもどうでもいい

モデルで書くべきだろうが書くべきで無かろうが

動けば良いんだよ

413 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 21:43:26.02 ID:iydNsBEo0.net]
オブジェクト指向もそう
クラス設計がどうだの継承がどうだのどうでもいい

動けば良いんだよ

414 名前:デフォルトの名無しさん (ワッチョイ 777c-KiN+) mailto:sage [2023/05/03(水) 21:46:03.28 ID:iydNsBEo0.net]
このクラスでカプセル化されてないから云々
どうでも良い

動けば良いんだよ

415 名前:デフォルトの名無しさん (ワッチョイ 3702-ITaW) mailto:sage [2023/05/03(水) 21:55:41.82 ID:XU1+7Xhm0.net]
触らぬキチに祟りなし

416 名前:デフォルトの名無しさん (オッペケ Sr8b-0AmK) [2023/05/03(水) 22:10:57.21 ID:7dxnHkZLr.net]
まあ中小規模だと“動けばいい”でやってるのも事実だからなぁ
エクセルにチェックつけてペタペタしてソースは見ないなんてのもザラ
なんならちょっとしたものなら本人が動いてる!で終わりとかね

417 名前:デフォルトの名無しさん (ワッチョイ 7f79-YtWG) mailto:sage [2023/05/03(水) 22:36:48.59 ID:0fnUMlbu0.net]
>>411
動けばいいよりちょっと良くなると
何が良くなるの?
資料も書かないくせに余計な拡張要素入れたがるやつってぶっ殺したくなるんだけど?
お前もその類?

418 名前:デフォルトの名無しさん (スップ Sdbf-orLb) mailto:sage [2023/05/04(木) 01:49:28.43 ID:s0gu/juAd.net]
可読性がよくなる
バグが入り辛くなる
後釜がコード読んで罵倒せずにすむ
自分がクソコードに遭遇する可能性が減る

419 名前:デフォルトの名無しさん (アウアウアー Sa4f-ef8y) mailto:sage [2023/05/04(木) 03:35:15.40 ID:FCXcO5KQa.net]
資料を書く・書かないとコードを改善する・しないは別問題なのになんかキレ散らかしてるの怖・・・

420 名前:デフォルトの名無しさん (ワッチョイ ff10-By2c) mailto:sage [2023/05/04(木) 06:46:14.26 ID:gb1C7wFP0.net]
なんぞ嫌なことでもあったんだろうw



421 名前:デフォルトの名無しさん (アウアウウー Sa1b-rvTa) mailto:sage [2023/05/04(木) 07:31:56.06 ID:iNiPzsH8a.net]
糞コード納品してリテイク食らって動けばいいといくら主張しても却下されてここで八つ当たりしてんじゃね

422 名前:デフォルトの名無しさん (ブーイモ MMbf-SYdp) [2023/05/04(木) 08:16:56.65 ID:2P3iGn2SM.net]
寿命の短いゲームの開発とかには動けばいいだろのメンタリティでコード書いてるやつが多い結構いる
実際クソコードだからバグ修正のアプデでまたバグるのも日常茶飯事

423 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 10:57:14.77 ID:KzOav63c0.net]
オマエらって普段からそんな立派なコード書いてるの?

皮肉でも何でもなく、大手さんの寄越したコードでもネットのサンプルをそのままコピペとか普通にあったんだけど。
アマゾンの AWS 用のサンプルコードとかでも整理なにそれなコードも普通にあるし。
ああいうレベルのものでも水準を満たしていたりするんだろうか。

まあ自分も普段は納品する側の中小だけど。

424 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 11:02:54.68 ID:vtPK3lgJ0.net]
>>1読め

425 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 12:11:12.80 ID:7U0ATqEaM.net]
>>413
ドキュメントでも書いてよ

426 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 13:12:46.06 ID:nZfQ3MKS0.net]
>>418
PSNの個人情報流出思い出した
dobon(だったはず)丸パクリの暗号化だった。"saltは8バイト以上"っていう文字列で復号化できた
オレが作った社内システムも同じことしてた。
社内システムだからセキュリティは気にしてないが。

427 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 13:16:44.41 ID:mx5edemad.net]
>>420
クソコードをドキュメントに起こすときのモチベーション低下もあるな
規則性がないからな
あの頃の俺はなんでこんな変な処理を……

428 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 15:58:14.71 ID:/htkaizY0.net]
>>422
言い訳はいいから書いて

429 名前:デフォルトの名無しさん mailto:sage [2023/05/04(木) 16:21:40.44 ID:FCTf23V0d.net]
?意味わからん
まさか今から書いて上げろって言ってる?

430 名前:デフォルトの名無しさん (ワッチョイ 9354-ouLR) [2023/05/06(土) 20:43:47.65 ID:8uPWyiyX0.net]
非同期ファイルコピーのサンプルを探していたら、FileStream を使う方法と File.Copy を使う方法があるようなのですが、どっちがいいのでしょうか?
それぞれのメリット・デメリットが知りたいです。

//方法 1 (FileStream)
private static async Task CopyFileAsync(string sourceFilePath, string destinationFilePath)
{
 using (var sourceStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, true))
 using (var destinationStream = new FileStream(destinationFilePath, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 4096, true))
 {
  await sourceStream.CopyToAsync(destinationStream);
 }
}
//方法 2 (File.Copy)
private static async Task<bool> CopyFileAsync(string srcFileName, string destFileName)
{
 await Task.Run(() => File.Copy(srcFileName, destFileName));
 return true;
}



431 名前:デフォルトの名無しさん (ワッチョイ cb10-W4Ad) mailto:sage [2023/05/06(土) 22:50:57.94 ID:v1IlMQax0.net]
とりあえず機能させたいならFileCopyで十分
中断とか進捗状況確認とか融通が利くのがFileStream

432 名前:デフォルトの名無しさん (ワッチョイ c2bd-O5MS) mailto:sage [2023/05/06(土) 23:28:08.83 ID:TzwbEMRu0.net]
File.Copyだと同期処理がスレッドを専有しそう。
FileStream.CopyToAsyncだとそうならないように実装されているのかな?

433 名前:425 (ワッチョイ 9354-ouLR) mailto:sage [2023/05/07(日) 00:12:10.49 ID:/tWxMywy0.net]
>>426-427
ありがとうございます。
FileStream を使うことにしました。

434 名前:デフォルトの名無しさん (ワッチョイ 9354-ouLR) mailto:sage [2023/05/07(日) 00:41:03.38 ID:/tWxMywy0.net]
>>425 の方法でファイルコピー後、コピー先ファイルのタイムスタンプを変更しようとしたら、例外が発生します。
頻度は10回に1回あるかないか程度です。
何が原因でしょうか?

static async Task Main(string[] args)
{
await CopyFileAsync("コピー元ファイル名.txt","コピー先ファイル名.txt");
}

static async Task CopyFileAsync(string srcFileName, string destFileName)
{
using (var srcStream = new FileStream(srcFileName, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, true))
using (var destStream = new FileStream(destFileName, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize: 4096, true))
{
await srcStream.CopyToAsync(destStream);
//試しにFlush・Close・Dispose 入れてみたけどダメでした。
srcStream.Flush();
destStream.Close();
srcStream.Close();
destStream.Dispose();
srcStream.Dispose();
}
var lastWriteTime = File.GetLastWriteTime(srcFileName);
File.SetLastWriteTime(destFileName, lastWriteTime); //ここで、: '別のプロセスで使用されているため、プロセスはファイル 'コピー先ファイル名.txt' にアクセスできません。'

435 名前:425 (ワッチョイ 9354-ouLR) mailto:sage [2023/05/07(日) 00:57:48.70 ID:/tWxMywy0.net]
方法 2 (File.Copy) の方法でも発生しました。
まったく原因の見当がつきません・・・

436 名前:デフォルトの名無しさん (ワッチョイ 5eda-xrk/) mailto:sage [2023/05/07(日) 00:58:07.18 ID:AUxqabWy0.net]
ef coreでDBからレコードを大量に取得する場合、
(A)
foreach( var row in await query.ToListAsync() )
で取得する場合と
(B)
foreach( var row in query )
で取得する場合、どちらがアプリサーバで消費するメモリが多いでしょうか?
queryはIQueryable<T>型です。
DBサーバとアプリサーバは分かれています

(A)だとDBサーバから結果が全部返るまで待ってからループ開始、
(B)ならストリーミングで読み出せたところからループ処理
って勝手に想像してたんですが、ef coreで使用するDBMSのミドルウェアに依存でしょうか

具体的にはDBMSはpostgresqlです。
このあたりのドキュメントあったらURL教えてください

437 名前:デフォルトの名無しさん (ラクッペペ MMde-yLVR) mailto:sage [2023/05/07(日) 01:21:55.84 ID:m4wk6w14M.net]
onedriveとかgoogledriveとかdefenderとかnortonとか

438 名前:425 (ワッチョイ 9354-ouLR) [2023/05/07(日) 01:29:00.89 ID:/tWxMywy0.net]
とりあえず原因不明なので、最大10回を上限に、例外発生したらリトライするようにしました・・・

int j = 0;
bool b = false;

while (!b || j < 10)
{
 try
 {
  //コピー処理
  b = true;
 }
 catch
 {
  continue;
 }
 j++;
}

439 名前:デフォルトの名無しさん (ワッチョイ 9354-ouLR) mailto:sage [2023/05/07(日) 01:37:17.63 ID:/tWxMywy0.net]
>>432
Windows Defender 無効にしたら例外が発生しなくなりました!
天才さんありがとうございます!(>▽<)

440 名前:デフォルトの名無しさん (オッペケ Src7-KeI6) mailto:sage [2023/05/07(日) 08:06:15.51 ID:ZcKb5BN5r.net]
>>431
DB絡んでないけど一般論としては
https://atmarkit.itmedia.co.jp/ait/articles/1409/24/news105.html
もっともODBCドライバとかDBプロパイダの作りがザルだとクエリ実行結果を一気に全件取り出して
アプリサーバ上のメモリ上に保持してる可能性もゼロではないけど、postgresならそんなことはないだろう

実体化したくないけど非同期でレコードを取り出したいってことなら
await foreach( var row in query.AsAsyncEnumerable() )



441 名前:デフォルトの名無しさん (ワッチョイ 5eda-xrk/) mailto:sage [2023/05/07(日) 11:06:44.59 ID:AUxqabWy0.net]
>>435
ありがとうございます。
ToList()やToListAsync()はすべての結果が利用可能になるまで何も返されない、つまり
大量レコード処理には向かない

(B)の場合でもAsNoTracking()をつけて変更検知をOFFにしないと
Linq to DBがキャッシュしてしまいメモリ使用量が大きくなる

(B)でさらにI/Oをブロックしたくない場合、非同期ストリームを利用する

ということで大量レコードをチビチビ処理する場合は
async foreach( var row in query.AsNoTracking() )
という書き方に落ち着きました

他の参考URL
https://stackoverflow.com/questions/56176176/difference-between-tolistasync-and-asasyncenumerable-tolist
https://stackoverflow.com/questions/3688213/iterating-through-iqueryable-with-foreach-results-in-an-out-of-memory-exception

442 名前:デフォルトの名無しさん (ワッチョイ 5eda-xrk/) mailto:sage [2023/05/07(日) 11:09:18.20 ID:AUxqabWy0.net]
ミス
最終的に
async foreach( var row in query.AsNoTracking().AsAsyncEnumerable() )
という書き方に落ち着きました

443 名前:デフォルトの名無しさん (ワッチョイ 4679-U4yn) mailto:sage [2023/05/07(日) 11:24:15.43 ID:4ZIcGn3M0.net]
終わるまでにめっちゃメモリ使って死ぬ感じある

444 名前:デフォルトの名無しさん (ワッチョイ 1279-y4C+) mailto:sage [2023/05/07(日) 14:06:12.41 ID:O0op5Uvp0.net]
Defenderやらが邪魔するのはそうなんだろうけど
C/C++でACLや属性変更でリトライなんてしてた覚えないからC#のDisposeでファイルがちゃんとクローズできてないだけな気もする

445 名前:デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea) mailto:sage [2023/05/08(月) 10:05:23.91 ID:3mw2N0vvp.net]
Disposeでクローズなんかしないだろ?
つかそんな実装頼みの使い方してたら痛い目に遭うぞ

446 名前:デフォルトの名無しさん (ワッチョイ b7e5-tcUg) mailto:sage [2023/05/08(月) 13:04:12.03 ID:h5IiweHd0.net]
using制御しかしてないわ

447 名前:デフォルトの名無しさん (スプッッ Sd52-8wHc) mailto:sage [2023/05/08(月) 13:11:33.93 ID:x7lJRSufd.net]
>>439-441
>>429はWidows Defenderのせいにして終わってるから
納得できる形で解決してみせてよ

448 名前:デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea) mailto:sage [2023/05/08(月) 13:27:23.81 ID:Rh3bbmbap.net]
>>442
非同期なら当たり前に発生するなw

449 名前:デフォルトの名無しさん (ラクッペペ MMde-yLVR) mailto:sage [2023/05/08(月) 13:29:30.54 ID:QcInbmeDM.net]
ファイルを閉じるから横取りされるんだぞ

450 名前:デフォルトの名無しさん (スッップ Sd32-KeI6) mailto:sage [2023/05/08(月) 13:38:05.76 ID:TxJAG0JMd.net]
今回みたいなケースでファイルクローズ直後にファイルいじろうとすると使用中の様な警告出ることあるから
基本的にリトライするようなコード入れてるけどそんなことないのかね



451 名前:デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea) mailto:sage [2023/05/08(月) 13:53:31.24 ID:xSxPowKip.net]
OS側の処理も非同期なんだと予想

452 名前:デフォルトの名無しさん (スプッッ Sd52-8wHc) mailto:sage [2023/05/08(月) 15:24:20.83 ID:NYRttg47d.net]
いちいちリトライなんか仕込んてたらハゲそう
イラネーヨって言ってくれ

453 名前:デフォルトの名無しさん (ワッチョイ c2bd-O5MS) mailto:sage [2023/05/08(月) 23:17:00.86 ID:n3psyKuA0.net]
>>440
IDisposableを継承しているのにクローズしなかったら使い物にならないだろ。

例えばFileStreamクラスのDispose()には、
Stream によって使用されているすべてのリソースを解放します。
とあるので、当然Closeもする。

454 名前:デフォルトの名無しさん (ワッチョイ c2bd-O5MS) mailto:sage [2023/05/08(月) 23:18:14.32 ID:n3psyKuA0.net]
あ、継承じゃなくて実装だ。

455 名前:デフォルトの名無しさん (ワッチョイ cb7c-DUGT) mailto:sage [2023/05/09(火) 04:40:15.34 ID:fisd8t0i0.net]
Disposeの処理の中でClose普通に呼んでたはず
ソース見りゃ分かるやろ

456 名前:448 (ワッチョイ c2bd-O5MS) mailto:sage [2023/05/09(火) 04:54:39.15 ID:b+hc+8Ui0.net]
>>450
>>440が「そんな実装頼みの」って言ったので、あえてソースを見ずにドキュメントの内容で答えた。

457 名前:デフォルトの名無しさん (アウグロ MMb3-G648) mailto:sage [2023/05/09(火) 07:21:46.18 ID:2h4Q3q9eM.net]
asyncawaitに対応してない何かがあるのかもな

458 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 08:53:33.61 ID:F+qDabIr0.net]
自作じゃない.NET純正で、Taskを返す〇〇Asyncメソッドがasyncawait対応してないは無いでしょ

459 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 10:25:27.81 ID:wTiHbcrZp.net]
だから、OSだって非同期にファイル処理してるんだろ?
で、完了通知なんて受けて無いw

460 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 11:26:49.94 ID:TDrxScizd.net]
C#のファイル操作が遅いからファイルコピーと属性変更との間にWindowsDefebderが割り込んでスキャンされて妨害されるのかもしれない
知らんけど



461 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 11:28:32.40 ID:LwvaBWbia.net]
>>455
win32apiを使ってるのでさすがにそれなはい
削除してもすぐにファイルが消えないのはあるあるだからリトライするのが定番

462 名前:デフォルトの名無しさん [2023/05/09(火) 11:46:04.35 ID:vAJE1vUCr.net]
とはいえ
頻度は10回に1回あるかないか程度
Windows Defender 無効にしたら例外が発生しなく
なら妥当かもしれない

463 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 16:21:49.31 ID:GXFqLAgP0.net]
>>429
これ閉じる前にFileStream.SafeHandle使ってSetLastWriteTime(SafeFileHandle, DateTime)のオーバーロード使うのはどうなの?

464 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 20:43:33.82 ID:ZCATFg/N0.net]
質問なんですが
formのbutton1.textをテキストボックスから取得したいのですが、
テキストが長い場合、ボタンのテキストが改行されてしまいます

表示が後半隠れてしまうのは別に構わないのですが、
改行がおこるとテキストがボタンの上側に移動してしまいます
button1.textを改行しないようにできないでしょうか?

465 名前:デフォルトの名無しさん mailto:sage [2023/05/09(火) 22:36:11.30 ID:ZhePtJGs0.net]
ボタンのPaintイベントで自前描画すればOK

466 名前:デフォルトの名無しさん (ワッチョイ 1279-y4C+) mailto:sage [2023/05/09(火) 22:41:53.48 ID:U2HEifZi0.net]
button1.AutoEllipsis = true;

467 名前:デフォルトの名無しさん (ブーイモ MMdb-mskx) mailto:sage [2023/05/10(水) 10:41:28.62 ID:B1N+exWkM.net]
どなたか教えてくださいC#です
public class Person
{
public Name Name { get; set; }
}
public class Name
{
public string NameText { get; set; }
}
こういうクラスがあったとして、

var p = new Person
{
Name = {},
};
Console.WriteLine(p.Name);
これはnullが出力されるんですが、構文解析時のName={}の右辺はどういう評価をされてるんでしょうか?
また
var p = new Person
{
Name = {NameText=""},
};
これもコンパイルは通りますが実行時にObject reference not set to an instance of an object.で落ちます
Name = {NameText=""},
の{NameText=""}は構文解析時にどういうモノとして扱われてるんでしょうか?
本来はName= new Name{NamText=...}とするところで、new {クラス名}を書き忘れたらビルドが通っていたのでなんだろうと思った所存です

468 名前:デフォルトの名無しさん (ワッチョイ b74f-hGOv) mailto:sage [2023/05/10(水) 11:20:13.56 ID:iQXLAALm0.net]
オブジェクト初期化子
1つ目のケースは初期化するプロパティがないので何もしない
2つ目のケースはこれと同じ意味になる
var p = new Person();
p.Name.NameText = "";

https://ufcpp.net/blog/2016/12/tipsobjectinitializer/

469 名前:デフォルトの名無しさん (ワッチョイ 52de-KeI6) mailto:sage [2023/05/10(水) 11:21:23.96 ID:tkTpg3dz0.net]
>>460
レスありがとう、Paintイベント追加で自力でやるのはけっこう大変そうですね

>>461
ありがとう、...省略はできたけど、文字は上側に寄ったままでした

button1.Padding.Topに4ぐらいいれたら解決しました

470 名前:デフォルトの名無しさん (ブーイモ MMdb-mskx) mailto:sage [2023/05/10(水) 11:27:39.61 ID:NYVeTygZM.net]
>>463
なるほど!ありがとうございます!
いやーこれはコンパイル時に落としてほしい…



471 名前:デフォルトの名無しさん (ワッチョイ ff2d-vOwS) mailto:sage [2023/05/10(水) 11:28:45.20 ID:qs6QvCEc0.net]
Formsで独自描画はバッドノウハウに近いと思う 
スケーリング考慮してないのばっかり

472 名前:デフォルトの名無しさん (ワッチョイ b74f-hGOv) mailto:sage [2023/05/10(水) 13:49:34.03 ID:iQXLAALm0.net]
>>465
AのコンストラクタでNameがnewされてたら問題ないわけだし使い分けでしかないね
nullableを有効化しとけばこのケースだとAのNameがnull許容でもnull非許容でも警告出してくれるよ

473 名前:デフォルトの名無しさん (ワッチョイ c23d-Lyct) [2023/05/10(水) 14:23:44.58 ID:6sAnxqBz0.net]
C#でASP.NETでHTMLコード書くにはどこいじればいいの?

474 名前:429 (ワッチョイ 9354-ouLR) [2023/05/10(水) 17:05:27.60 ID:QPN4FwhI0.net]
私にとっての解決後も議論があったようですが、
Windows Defender を無効化 ( Windows Defender の [除外] に、コピー先フォルダを登録する ) してから、1回も発生していません。
for(int i = 0; i < 100; i++){}
での 100回ループテストを何度か行っても発生していないので、自分の中では解決済みになっています。

475 名前:デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea) mailto:sage [2023/05/10(水) 18:11:17.94 ID:rAs2Y7NDp.net]
ファイル内容変更したからウイルスチェックが走ってんじゃん
ってオチかよw

476 名前:デフォルトの名無しさん (ワッチョイ 1610-tcUg) mailto:sage [2023/05/10(水) 18:54:24.51 ID:6aE3wdSe0.net]
オチかよも何も、最初からそういう話だったのに
DisposeがちゃんとやってないんだろとかOSの遅延がうんたらとか頭でっかちが騒いでるだけやで

477 名前:デフォルトの名無しさん (ワッチョイ 4679-jUDw) mailto:sage [2023/05/10(水) 18:59:46.60 ID:KHK6MiQv0.net]
asyncawaitってスレッドセーフのメソッドじゃなくても使っていんだっけ?

478 名前:デフォルトの名無しさん (アウアウウー Sac3-16n5) mailto:sage [2023/05/10(水) 19:16:24.65 ID:PlKEk/pSa.net]
>>456で結論書いてやったのにまだやってたのか

479 名前:デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea) mailto:sage [2023/05/10(水) 19:57:37.80 ID:n33wvc2tp.net]
>>473
全く結論になって無いよあれ
単なる対症療法なだけだろw

480 名前:デフォルトの名無しさん (アウアウウー Sac3-16n5) mailto:sage [2023/05/10(水) 20:01:05.91 ID:PlKEk/pSa.net]
その対症療法が唯一の治療法なんだがまだそれもわからないのかよw



481 名前:デフォルトの名無しさん (アウアウウー Sac3-16n5) mailto:sage [2023/05/10(水) 20:03:31.18 ID:PlKEk/pSa.net]
リソースを占有できるのがそのスレッドだけではない場合
つまり今回と同様の場合だな
原因がセキュリティソフトかバックアップソフトか何かは全く関係ない
時間を置いて何度かリトライしてそれでもだめなら例外を投げる
基本中の基本だぞ?

482 名前:429 (ワッチョイ 9354-ouLR) mailto:sage [2023/05/10(水) 20:19:03.60 ID:QPN4FwhI0.net]
議論再燃させて申しわけありません。
消えます。

483 名前:デフォルトの名無しさん (ワッチョイ 4679-jUDw) mailto:sage [2023/05/10(水) 21:49:28.98 ID:KHK6MiQv0.net]
みんな参加できるし
いい内容だと思う

484 名前:デフォルトの名無しさん (ワッチョイ 1610-tcUg) mailto:sage [2023/05/10(水) 22:26:34.42 ID:6aE3wdSe0.net]
>>1
> 議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。

485 名前:デフォルトの名無しさん (ワッチョイ ff2d-vOwS) mailto:sage [2023/05/10(水) 23:13:27.93 ID:qs6QvCEc0.net]
>>475,476
今回の場合(>>429)は、ファイルを一旦解放するのが問題なんだから、>>458の方法で上手く行くでしょ

486 名前:デフォルトの名無しさん (ワッチョイ ff2d-vOwS) mailto:sage [2023/05/10(水) 23:27:09.51 ID:qs6QvCEc0.net]
ファイル削除のことならリトライは必要だけど、今回のと関係ないね

487 名前:デフォルトの名無しさん (ワッチョイ 335f-Z7Ea) mailto:sage [2023/05/10(水) 23:39:29.79 ID:+U2L2taI0.net]
てか、ファイル操作するのに、排他しなきゃだよな?
一度手放したら他のプロセスに横取りされちゃうだろ

488 名前:デフォルトの名無しさん (ワッチョイ 335f-LLT0) mailto:sage [2023/05/10(水) 23:54:07.74 ID:of34847N0.net]
もう一度再現させた上でロックしているプロセスが本当にWindows Defenderだったのか確認しない限り不毛な議論では?

489 名前:デフォルトの名無しさん (ワッチョイ 4679-U4yn) mailto:sage [2023/05/11(木) 02:59:54.64 ID:YOUU3VFS0.net]
っていうかどうしたいんだろ
コピー後のファイルを
誰かがつかんだままにすれば
似たようなエラーはいつでも
起こせるし起きちゃうじゃん

それがこのアプリにとってレアケースでないなら他アプリがつかんだママのときの動作を仕様で定義するべきだと思う

490 名前:デフォルトの名無しさん (ワッチョイ ff2d-vOwS) mailto:sage [2023/05/11(木) 03:21:28.69 ID:rPH4vL1P0.net]
>>484
>>429のソースを見るに、ファイルの最終書き込み時刻を保ったままコピーしたいんでしょうよ

コピー先のファイル作成とタイムスタンプ操作を1回の排他モードオープン〜クローズの間にまとめてやれば
他のプロセスに割り込まれようが無いし、その後につかまれてもやること終わってるから問題無い



491 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 08:30:37.64 ID:deoSAjL+a.net]
>>481
今回のセキュリティーソフトわ切るやり方こそ対症療法だろw

492 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 10:12:30.60 ID:NldGOlLod.net]
>>458
これ知らなかったんだけど、実際に存在する?
コード書いてもでてこないんだけど
ちなみにGetLastWriteTime はあるようだ

493 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 10:37:35.73 ID:rPH4vL1P0.net]
>>487
.NET7で追加された
.NET6以前はP/InvokeでWin32API使えば同等のことは出来るけど時刻の扱いが面倒臭いね

494 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 10:44:53.88 ID:ihHVpLbGp.net]
そもそもファイルのタイムスタンプを合わせる仕様が本当に必要なのか小一時間

495 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 10:54:15.13 ID:NldGOlLod.net]
>>488
thx
>>489
他人の仕様にケチ付けちゃだめ

496 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 11:24:35.10 ID:ihHVpLbGp.net]
タイムスタンプなんて危ういものを何に使おうってんだ?
生成時刻が重要ならファイル名に組み合わせしまうとか
他の方法の方がよっぽど確実だぞ

497 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 12:16:13.48 ID:RpUziWGf0.net]
DateTime.ToFileTimeみたいな関数あったはずだからWin32利用したら案外簡単

498 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 12:31:50.44 ID:NldGOlLod.net]
コードも提供せずにこういうことやりたいと言ってるわけでもないし、
今回問題となっている部分についてだけで話すればいいんじゃないの
質問者が他のやり方ないですかみたいな質問ならまだしも
回答者が勝手に仕様かえて変な回答しないほうがいいと思うなぁ

499 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 12:45:05.52 ID:OsVl9AaP0.net]
俺は基本更新時刻の新しい順で並べるからファイルやフォルダのコピーごときでファイルスタンプは変わって欲しくないな

500 名前:デフォルトの名無しさん [2023/05/11(木) 12:56:38.62 ID:CPAv1ED5M.net]
コピー元のタイムスタンプを維持したいユースケースなんていくらでもあると思うんだけどな
cp -pのように最初からそういうオプションが用意されてないのが不思議なくらい



501 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 13:00:19.05 ID:8tWYoMH60.net]
>>491
お前の考えなど知らん
コピー先のファイル名はそのままである必要があるんだよ

502 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 13:03:05.25 ID:azf3P6SKM.net]
あれ、File.Copy()でコピーすればファイルの更新時刻とかはコピー元ファイルのままだと思ってたんだけど、違うの?
わざわ

503 名前:エLastWriteTimeを転記する処理なんか不要じゃないかな []
[ここ壊れてます]

504 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 13:20:41.79 ID:YOUU3VFS0.net]
結局なんで死んでんだっけ?
スレッドセーフじゃないメソッド呼んでたから?

505 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 13:22:58.00 ID:Kl8HQqiW0.net]
FileStreamを開放したところでDefenderに掴まれてるから

506 名前:デフォルトの名無しさん [2023/05/11(木) 13:26:07.70 ID:IsUfqIsW0.net]
>>470
ノートン先生が毎回俺がコンパイルしたexe没収しやがるのな

507 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 13:28:13.33 ID:/kketneYM.net]
gdriveの横槍でvsのビルド失敗しやがるからな

508 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 14:04:15.95 ID:/lX/zRJGp.net]
>>496
だからファイル作成時刻が重要ならタイムスタンプに頼る様な仕様は事故のもとだから仕様から考え直さないと後で泣くのはおまえさんとこだって話だw

509 名前:デフォルトの名無しさん [2023/05/11(木) 14:06:17.73 ID:IsUfqIsW0.net]
ファイルの作成時刻が大事で、ファイル名も変えたくないなら
実データの内に時刻もっておいて逐次参照するしかないか

510 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 14:15:18.91 ID:5HC1/c5B0.net]
タイムスタンプをバージョン番号にするのが一時流行ったな



511 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 14:18:46.36 ID:NldGOlLod.net]
>>497
コード提供部分にはない仕様でコピー中の進捗管理もしたいからブロックコピーみたいな事したいんじゃないのと思ってるけどね

512 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 16:32:36.54 ID:Kl8HQqiW0.net]
ファイルコピーツールでタイムスタンプ類もそのままって普通のことでは?

513 名前:デフォルトの名無しさん mailto:sage [2023/05/11(木) 16:59:27.45 ID:OsVl9AaP0.net]
そうだよ
その当然のことがC#だとなぜか上手くいかないねってマヌケな話を続けてるのよ

514 名前:デフォルトの名無しさん (ワッチョイ b7e5-tcUg) mailto:sage [2023/05/11(木) 17:30:13.71 ID:Kl8HQqiW0.net]
違うよ、Defenderに割り込まれて失敗してただけなのに、C#が悪いとか実装だよりがうんたらとか明後日の話してるだけ
あとなぜかタイムスタンプ同期を敵視するおかしな輩

515 名前:デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea) mailto:sage [2023/05/11(木) 17:43:23.58 ID:rQf2HOBdp.net]
タイムスタンプって言えば、マイナンバーの他人データ事件

516 名前:デフォルトの名無しさん (アウアウエー Saaa-tcUg) [2023/05/11(木) 20:37:45.66 ID:WmrOv4hCa.net]
asp.net 7.0/razorでTest.razorファイルを作って中身を
@page "/test/{text}"
<h1>Hello, world!</h1>
とすると、localhost/test/aaaaaaaは期待通りTest.razorにアクセスするんだけど
localhost/test/ にアクセスしようとするとエラーページ(app.razorの<NotFound>)に飛んでしまいます
エラーページに飛ばずにTest.razorに導くにはどうしたらいいのでし

517 名前:デフォルトの名無しさん (アウアウエー Saaa-tcUg) mailto:sage [2023/05/11(木) 20:50:19.55 ID:WmrOv4hCa.net]
自決。重複指定できるんだね
@page "/test/{text}"
@page "/test/"

518 名前:デフォルトの名無しさん (ワッチョイ 4679-jUDw) mailto:sage [2023/05/12(金) 05:08:25.71 ID:wvdezX0Z0.net]
ループしつつ例外来たらリトライぐらいしかないんだな
ファイルアクセスって

519 名前:デフォルトの名無しさん (ワッチョイ 1610-tcUg) mailto:sage [2023/05/12(金) 06:06:11.81 ID:knxa7qRm0.net]
絶対に他のプロセスがアクセスすることが無いファイルでもなきゃそうだろうね

520 名前:デフォルトの名無しさん mailto:sage [2023/05/12(金) 10:06:17.76 ID:6p7rgQrNp.net]
一度握ったら離さない様にすれば良いだけ
まあ、握るまで待つ事はあるだろうけどさ



521 名前:デフォルトの名無しさん mailto:sage [2023/05/12(金) 10:09:45.59 ID:6p7rgQrNp.net]
ファイルロックくらいしろって事でFA

522 名前:デフォルトの名無しさん (ワッチョイ 5eda-xrk/) mailto:sage [2023/05/12(金) 20:52:48.39 ID:QyvjIFa10.net]
タイムリーな話題

Microsoft Defender がファイルコピー速度を大幅に低下させるというテスト結果
https://security.srad.jp/story/23/05/11/212256/

523 名前:デフォルトの名無しさん (ワッチョイ cfa7-55dJ) mailto:sage [2023/05/13(土) 11:11:48.89 ID:tW4K4KGI0.net]
当たり前の話じゃないの?
アンチウイルスって実行ファイルの中身チェックするのが仕事なんだし

524 名前:デフォルトの名無しさん (ワッチョイ cfbb-ScEU) mailto:sage [2023/05/13(土) 12:02:01.86 ID:7xfulSMu0.net]
>>517
コピーされるファイルも実行ファイルの中皆の?

525 名前:デフォルトの名無しさん (ワッチョイ 137c-Zn+e) mailto:sage [2023/05/13(土) 12:58:27.54 ID:WLwqntQA0.net]
別にチェックするのは実行ファイルだけじゃ無い
基本的には全部

拡張子変えて実際は実行ファイルって場合も有る

特殊な方法で画像や音声ファイルに別ファイルを入れる事も出来る
普通に開いても画像や音が流れるけどやけにファイルサイズ大きい

526 名前:デフォルトの名無しさん (ワッチョイ 03e5-Phjm) mailto:sage [2023/05/13(土) 14:46:09.37 ID:mZrGEceU0.net]
除外指定されてないもの全部検査対象だよな

527 名前:デフォルトの名無しさん (ワッチョイ ffde-ZkZz) mailto:sage [2023/05/13(土) 15:08:50.76 ID:xlpBDV6S0.net]
んでウィルスでもないものも消していってくれるし

528 名前:427 (ワッチョイ bfbd-Np+b) mailto:sage [2023/05/14(日) 08:52:03.33 ID:kc3awa8x0.net]
>>428
非同期I/Oについて以前別件で調べていたページをブラウザで開いたまま放置してて、
そこを読んだら、
・FileStreamは~Async()メソッドを呼ぶだけだと、同期メソッドをTask.Runしているイメージと同じ
・非同期IOにするには、FileStreamのコンストラクターでuseAsyncをtrueにする
とあった。

529 名前:デフォルトの名無しさん (ワッチョイ 8f79-PTT8) mailto:sage [2023/05/14(日) 11:04:56.63 ID:8prSF4JO0.net]
そもそもIOって物理的に非同期にできんのかな?
って疑問はある
ファイル名(パス)を変更するとして
それが既存と被らないことをチェックするためには
HDD全部が排他対象になっちゃうと思うんだけど・・・?

世の中には頭のいい人がいるからな
Windowsもうまいことなってるのかもしれん

530 名前:デフォルトの名無しさん (ワッチョイ 137c-Zn+e) mailto:sage [2023/05/14(日) 11:24:11.66 ID:C7+mn9jn0.net]
アホすぎる
基本情報技術者試験からやり直せ



531 名前:デフォルトの名無しさん (アウグロ MMdf-PTT8) mailto:sage [2023/05/14(日) 11:25:33.88 ID:YHEEjM6QM.net]
>>524
マジで?載ってる?

532 名前:デフォルトの名無しさん (ドコグロ MMe7-GJof) mailto:sage [2023/05/14(日) 11:30:50.36 ID:cZZGCVt9M.net]
FileStreamの~Async()メソッドの話をしているのに
ファイル名を変更する話をし始める人

533 名前:デフォルトの名無しさん (ワッチョイ 8f79-LM5x) mailto:sage [2023/05/14(日) 13:29:51.43 ID:8prSF4JO0.net]
>>526
あ、そっか
やっぱりそこは
どうにもならねえんだよな

534 名前:デフォルトの名無しさん (ワッチョイ 8f79-LM5x) mailto:sage [2023/05/14(日) 13:35:41.81 ID:8prSF4JO0.net]
まずIOいじるときは
プロセスセーフである必要があって
それをサポートするAPIはないと
次にスレッドセーフである必要も
あってそこはAPIがあるのと
プロセスセーフの仕組みに載せてしまってもよい
みたいな?

535 名前:デフォルトの名無しさん (スップ Sd1f-ZkZz) mailto:sage [2023/05/14(日) 15:32:18.00 ID:cBUUr2ypd.net]
別に考えるのは悪いことじゃないけどここで書くような事か?
チラシにでもかけよ

536 名前:デフォルトの名無しさん (ワッチョイ cfa7-55dJ) mailto:sage [2023/05/14(日) 16:46:00.64 ID:AbKJzFQD0.net]
>>523
出来るも何もむしろ必須レベル
正常なディスクであればファイルIOは即終わるが壊れかけとかだとめちゃくちゃ時間かかる事もある
要するに完了時間は不定だから多数に公開しようとしたらファイルIOはWin32のオーバーラップを利用した非同期化は必須
C#であれば手軽に使えるasync版もあったはずだが

537 名前:デフォルトの名無しさん (ワッチョイ 8f79-cPXU) mailto:sage [2023/05/14(日) 18:25:49.02 ID:8prSF4JO0.net]
>>530
なんかごちゃごちゃうっせーけど
OSとAPIに任せて勝手にやってくれるわけではないよね?

538 名前:デフォルトの名無しさん (ワッチョイ 1310-TD+p) mailto:sage [2023/05/14(日) 19:42:00.49 ID:LqBBoBzl0.net]
やってくれてなかったらOSもプロセスもディスクアクセスのたびに死んでるわ

539 名前:デフォルトの名無しさん (ワッチョイ 8f79-cPXU) mailto:sage [2023/05/14(日) 21:25:59.89 ID:8prSF4JO0.net]
>>532
だから死んでるじゃん
エラー出して
ハンドリングはしてないよね?

540 名前:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz) mailto:sage [2023/05/14(日) 21:34:27.06 ID:pb1Dbmn7M.net]
スレ伸びてるなと思ったら荒れてたのか
スルーしたほうがいいのかな?答えたほうがいいのかな?



541 名前:デフォルトの名無しさん (ワッチョイ 1310-TD+p) mailto:sage [2023/05/14(日) 23:37:37.55 ID:LqBBoBzl0.net]
ハンドリングしてるからエラー出せるんだろうに

542 名前:デフォルトの名無しさん (ワッチョイ a32d-QNcS) mailto:sage [2023/05/14(日) 23:52:11.86 ID:TlAvKTIL0.net]
デバイスとファイルシステムの区別が付いてないし基本的な知識が欠けてる
相手にするだけ無駄かと
スレチだし

543 名前:デフォルトの名無しさん (ワッチョイ ff2f-o00x) mailto:sage [2023/05/15(月) 01:10:46.89 ID:LL0MvYiW0.net]
まあふらっとだしC#にかかわる範囲で答えてやれば良いとは思うが

そもそも>>523は非同期IOってどんなもんだと思ってるんだ

544 名前:デフォルトの名無しさん (ワッチョイ 8f79-PTT8) mailto:sage [2023/05/15(月) 03:01:17.91 ID:MbkFonvu0.net]
>>535
プロセスセーフにはならないってことだよね

545 名前:デフォルトの名無しさん (ワッチョイ 8f79-PTT8) mailto:sage [2023/05/15(月) 03:14:56.69 ID:MbkFonvu0.net]
streamreaderwriterで死ぬってことはOSの機能じゃなくて
あくまでアプリ側がそう組んだからそう動くってことでおk?

546 名前:デフォルトの名無しさん (ワッチョイ cfa7-55dJ) mailto:sage [2023/05/15(月) 10:50:41.17 ID:pV2Ms8mh0.net]
>>531
勝手にやってくれない?
お前はDeviceIOControlでも利用して一々マニュアルでハードウェア制御してるのかよ
普通に全部勝手にやってくれるよ

547 名前:デフォルトの名無しさん (ワッチョイ ff80-wac6) mailto:sage [2023/05/15(月) 15:46:46.09 ID:rEJ0AvWA0.net]
ReactiveExtensionsって現場では結構使われてるんですかね?

548 名前:デフォルトの名無しさん (ワッチョイ bfbd-Np+b) mailto:sage [2023/05/15(月) 23:44:43.69 ID:7dwhbD/A0.net]
>>530
Win32APIで最近非同期のコードを書いているけど、
ReadFile()/WriteFile()が途中までで返ってくることも踏まえてループ処理にするとして、

1) ReadFile()/WriteFile()で同期(OVERLAPPED構造体なし)
→同期
2) ReadFile()/WriteFile()で非同期(OVERLAPPED構造体あり)、WaitFor~、GetOverlappedResult()
→スレッドを明示的に手放す?
3) 1)をCreateThreadpoolWork()
→スレッドプールのスレッド内で同期処理
4) 2)をCreateThreadpoolWork()
→スレッドプールのスレッドで動作するが、途中でスレッドを明示的に手放す?
IOCPならその間に他のスレッドが動きそうだが、スレッドプールAPIでもそうなるか知らない。
5) CreateThreadpoolIo()、ReadFile()/WriteFile()で非同期(OVERLAPPED構造体あり)、
IoCompletionCallbackで続きのReadFile()/WriteFile()を行う
→これが一番効率的だと思う。

最近5)で書いてる。めんどくさい。うまく動かなかった時に調査のために同期処理にしてみることができない。
C#のasync/awaitは神。
.NET Framework/.NETのライブラリがどこまでやっているのかまだソースをほとんど調べていない。

549 名前:デフォルトの名無しさん [2023/05/16(火) 15:21:40.99 ID:x5Idn1prM.net]
>>542
ReadFileEx()/WriteFileEx()に対して何かアドバンテージあるの?

550 名前:542 mailto:sage [2023/05/16(火) 23:17:52.90 ID:ArIN9ivM0.net]
>>543
ReadFileEx()/WriteFileEx()のlpCompletionRoutineを使ったことはないけど、
LPOVERLAPPED_COMPLETION_ROUTINEのページに、
システムが完了ルーチンを呼び出すたびに、アプリケーションのスタックの一部が使用されます。 完了ルーチンが追加の非同期 I/O とアラート可能な待機を行うと、スタックが大きくなる可能性があります。
とあるから、完了ルーチンでさらに非同期I/Oを繰り返すと、スタックがあふれる恐れがあるんじゃないかなあ?



551 名前:デフォルトの名無しさん [2023/05/17(水) 00:05:39.06 ID:UJN2K8xqM.net]
>>544
なるほど
.NETのFileStreamもReadFile()やWriteFile()を使ってるのはそれが理由かも

552 名前:デフォルトの名無しさん (ワッチョイ 835f-keH4) mailto:sage [2023/05/17(水) 02:11:11.09 ID:BW67Dsb50.net]
ファイルIO飽きたぁ

553 名前:デフォルトの名無しさん (ワッチョイ cfa7-55dJ) mailto:sage [2023/05/17(水) 09:38:13.97 ID:J+vPZ/2W0.net]
>>545
いや完了ルーチン内で更に完了ルーチン呼び出しするなんて実装メリット無さ過ぎて普通しないからそれが理由ではない
単純に最も効率的な非同期IOはスレッドプールを利用した完了ポートだからだよ
C#のasync awaitも完了ポートベース、nodejsもWindows版では完了ポートベース

554 名前:デフォルトの名無しさん (ワッチョイ 8f79-cPXU) mailto:sage [2023/05/17(水) 09:41:37.77 ID:x4D/IoKq0.net]
>>546
どうした?
実はこれまで組んだファイル周りの実装がまずいことに気が付いたのか?

プロセスセーフまで保証しろって言われたら正直俺もやってねえ
っていうかもっかいやってくれればええやんってポリシー

だったけどこのスレ見たやつが指摘してきた(笑)
面倒くせえw

555 名前:デフォルトの名無しさん (ワッチョイ cfa7-55dJ) mailto:sage [2023/05/17(水) 09:47:10.85 ID:J+vPZ/2W0.net]
プロセスセーフってなんだ?
一つのファイルを複数プロセスで扱う場合においても別に難しい事はないけどな
排他モード指定したら良いだけなんだから

556 名前:デフォルトの名無しさん (ササクッテロ Sp87-eWQc) mailto:sage [2023/05/17(水) 09:52:57.56 ID:BC9U1gYmp.net]
>>549
一度に完了しないでチマチマ複数回アクセスする類いだろ

557 名前:デフォルトの名無しさん (ワッチョイ 8f79-cPXU) mailto:sage [2023/05/17(水) 09:56:54.00 ID:x4D/IoKq0.net]
>>549
いや、他のやつにアクセスされてると死ぬねん
その時いつまで待てばええのか仕様がないねん
タイムアウト付けるとじゃあその時できんかった処理をいつやるのか仕様を考えろって言われて辛いねん
さらにそれが終わる前に他の処理が進んでしまってもまずいときあんねん
こんなレアケース相手にしとうなかったねん

558 名前:デフォルトの名無しさん (ワッチョイ cfa7-55dJ) mailto:sage [2023/05/17(水) 10:04:34.84 ID:J+vPZ/2W0.net]
>>551
それファイルIOの問題ではないな
非同期プログラミング全般の問題

559 名前:デフォルトの名無しさん (ササクッテロ Sp87-eWQc) mailto:sage [2023/05/17(水) 10:04:36.01 ID:BC9U1gYmp.net]
まあ、昨今のマイナンバー絡みの誤配信あるし
つまらないレアケースを突いて来る奴増えたよな

560 名前:デフォルトの名無しさん (ワッチョイ 8f79-cPXU) mailto:sage [2023/05/17(水) 10:07:50.36 ID:x4D/IoKq0.net]
いい手を考えた

それってこの間作ったやつも
同じですよね?
解決しているのであれば
対策方法を教えてほしいです

って比較的暇そうな
プロジェクトも誘爆させてみる



561 名前:デフォルトの名無しさん (ワッチョイ 13e5-zI38) mailto:sage [2023/05/17(水) 10:20:18.08 ID:r4L2F7830.net]
元々はファイルクローズ直後に約10%程度日付の書き換えに失敗するという質問で
原因はDefenderと結論付けて解決している
対策はリトライ、検索除外、ファイルを閉じる前に日付を書き換えるなどが上がっている

なお非同期書き込みは関係ない

562 名前:デフォルトの名無しさん (ワッチョイ ff2f-3DBk) mailto:sage [2023/05/17(水) 10:26:42.10 ID:GG5VHMy50.net]
>>551
レアケースでもなんでもなくて、当然設計段階で考慮しとくべき話
コーディング以前の問題

>>553
レアケースでも、それが発生する可能性がある以上、発生したらどうするか考えとかないとダメ
エラーで落とすとかどうもしないとかも含めてな

つかマイナンバーのやつは、レアケースというほどレアな条件が重なってるとは思えん
たんなる設計不良とテスト不足だろ

563 名前:デフォルトの名無しさん (ササクッテロ Sp87-eWQc) mailto:sage [2023/05/17(水) 10:27:49.23 ID:BC9U1gYmp.net]
>>555
Defenderが変化のあったファイルを即握るから一度手放したら持って行かれるってのが原因だよ?
この場合Defenderは一例に過ぎない、他に同じ様なプロセスが走ってたら同じ事

564 名前:デフォルトの名無しさん (ラクッペペ MM7f-zI38) mailto:sage [2023/05/17(水) 10:33:05.14 ID:ayW9U2wIM.net]
>>557
そう書いてるけど何か?
非同期書き込み関係ある?

565 名前:デフォルトの名無しさん (スップ Sd1f-ZkZz) mailto:sage [2023/05/17(水) 10:38:32.93 ID:JdW1FdHOd.net]
>つまらないレアケースを突いて来る奴増えたよな
つまるつまらない関係なく安全なシステム構築が原則じゃねーの
こんなこと言う奴が実装してると思うと怖いな

566 名前:デフォルトの名無しさん (ササクッテロ Sp87-eWQc) mailto:sage [2023/05/17(水) 10:39:10.69 ID:vxhNqJEJp.net]
>>558
だから原因はDefenderじゃ無いだろw
対策でDefender切るなw

567 名前:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz) mailto:sage [2023/05/17(水) 12:01:27.36 ID:F24a8wLtM.net]
主張がおかしい
少なくとも例外=死ではないわな

いくら他言語知っててwin32api知ってても例外回りというかそこら辺の理解が出来ずに対応が出来ないから初心者なんだろう
ご愁傷様

568 名前:デフォルトの名無しさん (アウグロ MMdf-PTT8) mailto:sage [2023/05/17(水) 12:26:38.86 ID:gUH2EQh+M.net]
でもこれって排他で掴んじゃうテキストエディタでファイル開いたまま放置されたとかなったら回避不能だよね
新しいファイルを作っちゃうって手も残ってるけど
正しいソフトウェアのあるべき姿って言われても困るわけだが?

まあ、新しいファイルを作っちゃっていいなら作っちゃうが・・・?
読んでくるとき常に最新読むってすれば簡単だし

569 名前:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz) mailto:sage [2023/05/17(水) 12:39:44.91 ID:F24a8wLtM.net]
普通はメッセージを出すだろ?アプリ作ったことがないのか?

570 名前:デフォルトの名無しさん (アウグロ MMdf-PTT8) mailto:sage [2023/05/17(水) 12:48:19.60 ID:gUH2EQh+M.net]
>>563
まあ、ログにも通知にも残すけど
定期処理とかだと
夜中中出しっぱだったので一切他の処理やらんかったぜもない話で



571 名前:デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz) mailto:sage [2023/05/17(水) 12:55:33.17 ID:F24a8wLtM.net]
責務以外のことまで考慮する必要はない

書き込みしようとしたらHDDが容量不足だったは普通はそこまで考慮したソフトは書かない
一般的なリトライの範囲かせいぜいメッセージ出して人間が対応する
録画ソフトなどで事前に想定された範囲内で必要となるなら用意する

一般的なライブラリの範疇の話じゃない難癖レベル

572 名前:デフォルトの名無しさん (ワッチョイ 03e5-Phjm) mailto:sage [2023/05/17(水) 12:58:10.45 ID:HpY9MMf50.net]
排他で掴んじゃうエディタで開いたままにする関係者が悪いのであってやるなというだけの話
人が排他で開いたままにしちゃうかも、まで考慮することじゃない

573 名前:デフォルトの名無しさん (ワッチョイ ff79-Phjm) mailto:sage [2023/05/17(水) 13:09:21.57 ID:0e0u0fXr0.net]
オートリトライでFDDを延々とカッコンカッコン鳴らしてやるぜ

574 名前:デフォルトの名無しさん mailto:sage [2023/05/17(水) 13:22:55.46 ID:c+t3TSTMp.net]
>>567
FDDだとファイル一杯になった処理は必ず必要だよな
あんな容量の小さなメディアだしな

575 名前:デフォルトの名無しさん mailto:sage [2023/05/17(水) 14:21:29.85 ID:JdW1FdHOd.net]
>>562
当初の質問の流れだと①ファイル出力②タイムスタンプ変更を連続してるわけだから言ってる話(①のファイルをエディタなどの人為的操作でつかまれる)はおかしくない?
少なくともやりたかったことがどこかにあるファイルを別の場所にコピーする、ファイルのタイムスタンプは同じにするなら
①いったん別名でファイル出力
②タイムスタンプ変更 ※リトライ含む
③正しいファイル名に変更 ※リトライ含む
ぐらいがいいんじゃないかと思うけどね③まで正常終了したらOK

576 名前:デフォルトの名無しさん mailto:sage [2023/05/17(水) 14:23:16.58 ID:/6qavqYtp.net]
>>569
連続してる様に見えるけど、CPUから見たら隙間だらけだからなぁw

577 名前:デフォルトの名無しさん [2023/05/17(水) 21:24:44.21 ID:WYa1maRz0.net]
FDDってプレーンテキストくらいしか保存できないよね?

578 名前:デフォルトの名無しさん mailto:sage [2023/05/17(水) 21:52:19.55 ID:6s1sKbMg0.net]
2HDのFDにDOSと一太郎とATOKは入ったぞ
ちなみに媒体をFD、ドライブ装置をFDDというのだぞ

579 名前:デフォルトの名無しさん mailto:sage [2023/05/17(水) 22:00:37.91 ID:nVMR4RZGd.net]
知識としてしか知らないと>>571みたいな認識になってしまうのか

580 名前:デフォルトの名無しさん mailto:sage [2023/05/17(水) 22:55:44.00 ID:lFYANmkBM.net]
Aドライブでアプリケーションソフト起動してBドライブはFEPの辞書ファイル入れて使うのが一般的だった気がする



581 名前:デフォルトの名無しさん [2023/05/18(木) 00:09:06.95 ID:PrSBwdky0.net]
ハードディスクがCドライブから始まってるのはその名残りだよな

582 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 00:33:26.61 ID:M0TxVFb20.net]
1KB程度のデータしかない住民票を印刷するのにバカでかいPDFなんぞをワザワザこしらえてご丁寧に暗号化復号化レンダリングイメージ化などいらんことしてるから日本はダメなんだよ

583 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 00:49:20.46 ID:+SWCVuhH0.net]
>>576
そりゃコンビニのコピー機で発行できるようにそうしてるんだろ
もしかして、コピー機の方を改修したほうが良いと思ってるのかい?
どんだけ費用かけるつもりだよ

584 名前:デフォルトの名無しさん [2023/05/18(木) 10:06:50.15 ID:Osufe4Tap.net]
画像PDFは改変対策だろ?
まあ、テキストPDFでもプロテクト掛けられるけどな

585 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 10:10:35.46 ID:4KlPbS1ta.net]
>>571
今だとその程度の使いみちしかないかもな
FDDしか無かった頃はあらゆるデータが貧弱だったが

586 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 10:11:37.45 ID:ufQPk5+j0.net]
名前などの文字部分は当然テキストよ
だけど印刷内容は文字だけじゃないだろ
役所で公的文書取ったことないんか?

587 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 10:20:46.30 ID:4KlPbS1ta.net]
>>580
枠線とか印刷とか要らんから電子署名したデータだけ寄越せと言ってるんだと思うぞ
そんなことしたら年寄りは生きていけなくなるがな

588 名前:デフォルトの名無しさん [2023/05/18(木) 10:29:30.52 ID:Osufe4Tap.net]
全部テキストにして
電子署名はQRコードで出せば良いのでは?

589 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 11:39:25.32 ID:ufQPk5+j0.net]
>>581
で、それでどうやって今の社会システムに対して公文書行使するんだ?

590 名前:デフォルトの名無しさん (スッップ Sd1f-ie1o) mailto:sage [2023/05/18(木) 13:00:51.89 ID:gc1pBp/rd.net]
QRコードはandroidTVとかのアカウント認証で使われてるね
読み取るとurlにデコードされてwebブラウザで認証するやつ
スマホやPCがある事前提



591 名前:デフォルトの名無しさん (アウアウウー Sa67-9mXs) mailto:sage [2023/05/18(木) 13:18:31.14 ID:Vg51lua1a.net]
>>583
できないからダメだって話だろw
効率的に電子決済するにはしがらみが多すぎるんだよ

592 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 18:54:25.63 ID:BvTK4XNb0.net]
で、お前らいつまでスレチ続けるんだ?w

593 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 19:35:19.78 ID:wNPIsLPx0.net]
>>586
なんか聞きたいことあんの?

594 名前:デフォルトの名無しさん [2023/05/20(土) 18:00:33.33 ID:BNhw9lNy0.net]
>>576
記入可能なPDFを端末で持っておいて
テキストだけサーバーから送れば爆速で処理終わるよね

595 名前:デフォルトの名無しさん [2023/05/20(土) 18:23:59.40 ID:9iccQhCKM.net]
PDFを悪用する人がいても書類を受け取った人が偽造かどうかオンラインとかで確認できるようならそれでもよかったのかもね
コンビニ出力と役所出力の公文書で受け取った側の運用が変わるデメリットを受け入れられたらの話だけど

596 名前:デフォルトの名無しさん mailto:sage [2023/05/20(土) 19:08:07.55 ID:NojZsJmh0.net]
>>588
リッチクライアントならそうだね。
シンクライアントなら全てサーバーで処理することになる。

597 名前:デフォルトの名無しさん mailto:sage [2023/05/20(土) 20:26:37.10 ID:H7GfaBHz0.net]
>リッチクライアントならそうだね。

もしかして:ファットクライアント

598 名前:デフォルトの名無しさん mailto:sage [2023/05/20(土) 21:50:52.69 ID:o5dUfSpn0.net]
>>588
PDFってそんなでかいっけ?
テキストと分離した程度で爆速なんてでないだろ

599 名前:デフォルトの名無しさん (ワッチョイ def2-cUXk) mailto:sage [2023/05/21(日) 17:54:47.82 ID:aSGZarsp0.net]
>>592
無圧縮の画像があると重いかもね

600 名前:デフォルトの名無しさん (ワッチョイ 677c-bsHd) mailto:sage [2023/05/24(水) 06:48:02.27 ID:dEtAkKea0.net]
夜中からBUILD眠い



601 名前:デフォルトの名無しさん (ワッチョイ 6f5f-GCa2) [2023/05/25(木) 23:41:52.29 ID:HnExcI2y0.net]
よく聞かれることかもしれませんが、教えてください。

私はいま、VisualC#の本を見ながら勉強しています。自分で作ったソフトのウィンドウが表示されて
ボタンをクリックしたら「こんにちは」とメッセージが出てるのを見て喜んでるレベルです。
夢は仕事で使うシステム(Windowsソフト)を作ってパートさんたちの仕事を楽にすることです。
今やっている本を買う前に買ってしまった「C#入門」的な本がいくつかあるんですが、それを
見ると、私が勉強しいるのとはまったく別の技術のように見えます。
VisualがつかないC#って、本当に文字で記述するための文法や構文の解説ばかりのようで、
ウィンドウやコマンドボタンの作り方ひとつ解説してないみたいです。

お聞きしたいのですが、VisualのつかないC#を習得した人って、どんなものを作るようになるのでしょうか?
また、ただのC#を学んだ人って、私のようなVisualC#だけを学んでいる人のことが幼稚な低レベルに
見えてるんじゃないかという気がするのですが、それでも小さい企業にあるWindowsパソコンで使う業務システム
を作るにはVisualの方がずっと楽で有利だと思うんです。

いかがでしょうか?

602 名前:デフォルトの名無しさん mailto:sage [2023/05/25(木) 23:48:35.78 ID:8mbdG19r0.net]
VisualのつかないC#とはいったい...
c++とC#なら別物だぞ

603 名前:デフォルトの名無しさん mailto:sage [2023/05/25(木) 23:51:32.00 ID:MENdj7XW0.net]
よく分からん感情がにじみ出ていて真の質問が分かりづらいのでもう一回まとめ直してください

604 名前:デフォルトの名無しさん [2023/05/26(金) 00:00:07.73 ID:MvHB7l4o0.net]
VisualC#の本を読んで勉強してるけど、Windowsアプリの作り方を勉強してるつもり。
C#の入門書も見たことあるけど、プログラム文の書き方のようなことで終始していて、
ウィンドウの作り方やボタンの設置のしかたすら解説されていないみたい。ぜんぜん違う。

Visualが付かない方の本でC#を勉強した人って、何が作れるようになるの?
Visualが付く方のC#だとwindowsアプリが作れて使い道が多そうなんだけど。


これが質問の主旨です。

605 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:09:36.83 ID:V/JNO+4j0.net]
VC++というかMSVCっていうとMicrosoftによる実装って意味合いもあるが
Visual C#というと殆ど開発環境を指してしか言わないと思うんだけど

別にフォームデザイナーがなくとも自動でコード生成してるだけだから
コードだけ書いてもGUIアプリは作れるし、他のIDEでも良い
かたや開発環境を前提としたアプリの作り方
かたや言語仕様の解説みたいな感じじゃないのか

606 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:10:18.48 ID:muRHf0j+0.net]
まずVisual C#というのがVisual Studioのものすごく古いバージョンなんだわ

607 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:11:06.11 ID:W5uHLn8jM.net]
意味が分からない人が多くて困るな
C#は言語そのものでVisualと言ってるのはGUI付きと言うことを言ってるんだろ

>>595
別のようだけどそれは基本的には同じものです

入門の仕方は様々ある
ざっくりとたとえると英語で言えば文法の本と日常会話の本に当たります
文法の方にはhelloは書いてなくて日常会話の方には未来完了とか書いてないでしょ?

表示技術はあなたの言うvisualで学べるけど文法の方やライブラリなどの使い方は学べない
文法を学ぶのにいちいちウィンドウを出していたら手間がかかる

アプリの作り方をある程度学んだら言語自体+ライブラリの使い方だけ学んでも問題はないのです

608 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:12:52.83 ID:muRHf0j+0.net]
意味が分かる人が言ってることに草生える

609 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:18:27.28 ID:W5uHLn8jM.net]
>>598
windwos上で使ってる一般の人は両方とも勉強します

基本的にはwindows上でしかGUIは提供されていないけどライブラリやwebサービスはGUIがなくても書けるし需要はある
GUIで出来ることは表層だけで中の処理は言語仕様やライブラリを知らないといけない

本格的にGUIを勉強しようと思っても今はそれ向けの本がほぼないので自習になる

610 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:19:15.41 ID:A9A3Khm00.net]
書籍だと割と最近出たのでもタイトルにVisual C#って付いてるのがいくつかあるね



611 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:19:40.32 ID:W5uHLn8jM.net]
>>602
絶望的に頭がわるいでしゅーと言う主張は情けなくてみっともねえwwwwwwwwwwwww

612 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:22:15.78 ID:W5uHLn8jM.net]
基本的に何かで一通りアプリの作り方を学んだら
C#の言語仕様についてしっかりその文字だけの本を読んで勉強することになる

613 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:22:55.79 ID:VY0JKlLq0.net]
アプリっつっても、デスクトップアプリ、コンソールアプリ、Webアプリなどあるからな
他にも、サービスとか、WebAPIとか、ライブラリとか
何を作るかで、使うライブラリやフレームワークが変わってくるし

614 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:23:25.62 ID:muRHf0j+0.net]
>>605
こんな感じの頭いかれてるやつだってことを素人にもわかりやすく伝える親切さまであったか

615 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:24:06.06 ID:W5uHLn8jM.net]
>>608
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

616 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:27:48.77 ID:muRHf0j+0.net]
そういう問題じゃねえよw
頭いかれてるやつが優しく教えるスレってどんな地獄だw

617 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:28:46.96 ID:W5uHLn8jM.net]
ID:muRHf0j+0が一番頭いかれてる

揚げ足取りか初心者相手にくだらないレスして悦に入ってるクソ人間

618 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:32:07.63 ID:A9A3Khm00.net]
>>598
GUI(ウィンドウやボタン等がある)アプリを作るには、C#の文法と、GUI(ウィンドウ等)の作り方の両方を覚える必要がある
どっちを先に覚えるかの違いでしかないよ
(GUI無しのアプリは使い道が限られるけど、文法を学習するのに向いてる)

619 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:35:39.02 ID:W5uHLn8jM.net]
今出てる本だけではGUIについてしっかりと学べる本はほぼないと思う
大体がWindowsフォームについてでWPFやUWPについて学べる本は少ない

620 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:35:42.24 ID:muRHf0j+0.net]
"); //]]>-->
621 名前:/tech/1679783460/605" rel="noopener noreferrer" target="_blank" class="reply_link">>>605
これを自分で見直して頭いかれてると思えないメンタルよw
[]
[ここ壊れてます]

622 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:36:14.97 ID:MvHB7l4o0.net]
>>601>>603
ご回答ありがとうございました!
外国語の学習の比喩でなんとなく理解できた気がします。
理屈から入る人ととにかく外人と話したがる人がいるけど、けっきょくマスターするには
どっちの学習も必要になるという感じなんですね。

私の質問に回答してくださったせいで、あなたを小馬鹿する人が現われてしまったようで
本当に申し訳ないです。

ありがとうごさいました。

623 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:36:43.99 ID:W5uHLn8jM.net]
>>614
一個でもまともな回答レスが書けるか?
自分のレス見返してみw

624 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:38:53.91 ID:MvHB7l4o0.net]
>>612
GUIなしのアプリって、素人にもイメージしやすいものですとどんなのがありますか?
GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージでしょうか?

625 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:41:07.66 ID:W5uHLn8jM.net]
C#のコンパイラ

626 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 00:41:42.15 ID:muRHf0j+0.net]
>>616
お前のまともなレスどれ?w
例の小馬鹿にされたやつ?w

627 名前:デフォルトの名無しさん [2023/05/26(金) 01:23:01.30 ID:c1jHvuSF0.net]
ウィンドウだしマウス使えるじゃんって突っ込みなしならコマンドプロンプトとか?

628 名前:デフォルトの名無しさん (ワッチョイ 6b2d-cUXk) mailto:sage [2023/05/26(金) 01:29:21.24 ID:A9A3Khm00.net]
>>617
GUI無しのアプリは素人が使うことはほぼ無いから、分かりやすい例を挙げるのは難しいな…。
小さなツール類が多いけど、そう言われてもピンとこないよね。

> GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージ
GUI無しのアプリは単体でも使えるけど、GUIアプリから呼び出して使うこともあるよ。
ライブラリはそれだけでは動作しないのでアプリとはちょっと違う。

629 名前:デフォルトの名無しさん (ワッチョイ 6b2d-cUXk) mailto:sage [2023/05/26(金) 01:31:58.89 ID:A9A3Khm00.net]
>>620
果たして、コマンドプロンプトは通じるのだろうか

630 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 05:17:04.99 ID:llcbKXvOa.net]
例えば、ウェブ開発のバックエンドは、Ruby on Rails。
OS(Linux, サーバー)とのやり取り。
ファイル操作、テキスト処理、データベース処理などで表示部分なし

一方、フロントは表示部分で、HTML, CSS, JavaScript

Railsの給料が高いのは、1人でバック/フロントの両方を作るから。
これをフルスタックエンジニアと言う

これを複数人で分けて作る場合は、
意思疎通・打ち合わせコストが掛かるので面倒



631 名前:デフォルトの名無しさん (ワッチョイ 03e5-FIIW) mailto:sage [2023/05/26(金) 09:07:00.86 ID:We9CfcI80.net]
>>620
>>622
PowerShellでもおk?

632 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 12:03:03.90 ID:ESB2ogqid.net]
powershellはC#コードも埋め込みできて、ある意味最高の環境と言えるけど
どちらにも習熟してる必要がある
C#学習には遠回り

633 名前:デフォルトの名無しさん (ワッチョイ 635f-T+0c) mailto:sage [2023/05/26(金) 13:27:28.71 ID:qCbIeycU0.net]
起動がおっそいんだよね。Pwershellは

634 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 14:43:40.75 ID:VY0JKlLq0.net]
ワイのマシンだとサックサクやが

635 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 16:09:35.41 ID:H1TABfb/0.net]
powershellはダブルクリックで動かないから使いにくい

636 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 19:54:48.14 ID:muRHf0j+0.net]
>>628
動くようにできるぞ
ダブルクリックで動くようにしたらお前らがまたトロイにひっかかって大騒ぎするからデフォではできなくしてるだけだ

637 名前:デフォルトの名無しさん [2023/05/26(金) 20:34:46.49 ID:u2vLXVTG0.net]
今コピーツールを作ってるんだが、Powershellと連動させたら需要あるかね?

みんなPowershellで何をやってるんだ?

638 名前:デフォルトの名無しさん [2023/05/26(金) 20:48:28.57 ID:u2vLXVTG0.net]
javaには戻れないからC#の案件が増えてくれるのを期待するのみ。

エラーがどこに出てるかさっぱりわからんかったJavaは。

今でも動かないコードあるし、何が何だかさっぱり分からない。

その点C#はMicrosoft様が一括でやってくれるので俺でもできた。

javaやるくらいならKotlinやるよ。

面倒くさすぎ

639 名前:デフォルトの名無しさん (スッップ Sdea-6Vlr) [2023/05/26(金) 21:17:54.23 ID:TqdGfdUid.net]
馬鹿には無理なだけだぞ

640 名前:デフォルトの名無しさん (ワッチョイ 7bac-MKim) mailto:sage [2023/05/26(金) 21:33:51.93 ID:te4x+q3p0.net]
まあJavaよりKotlinC#って気持ちは同意



641 名前:デフォルトの名無しさん (ワッチョイ 0ade-FIIW) mailto:sage [2023/05/26(金) 22:20:09.88 ID:H1TABfb/0.net]
>>629
人に渡すときの事考えるとやっぱりちょっと
ダブルクリックしたら警告する程度でよかたのに

642 名前:デフォルトの名無しさん [2023/05/26(金) 23:24:33.59 ID:G1kfSu5s0.net]
Kotlinは好き

643 名前:デフォルトの名無しさん mailto:sage [2023/05/26(金) 23:56:40.58 ID:wgfazHWx0.net]
>>634
restrictedを指定したバッチファイルと一緒に配布すればいいよ。

644 名前:デフォルトの名無しさん (ワッチョイ 9f2f-AKtI) mailto:sage [2023/05/27(土) 03:35:48.04 ID:OwhwG7LR0.net]
Javaの検査例外とはいったい何だったのか

もうちょっとあれが正常進化しなかったのかなぁ

645 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 08:52:14.00 ID:6hc4zw7M0.net]
>>634
人に渡すならC#でいんじゃね

646 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 08:55:45.91 ID:6hc4zw7M0.net]
>>637
リスコフの置換原則を強制するためのものだけど土方にはそんな強制不要だし検査例外だけじゃ強制できないから中途半端で使いにくくなるだけなんだよね

647 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 13:23:39.47 ID:huktXfN70.net]
>>636
ちょっとなんだかなあって感じするけど、それがベストか

>>638
テキストエディタとかで簡単に修正できたほうがいいかなって

648 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 16:16:22.11 ID:A4bXwFD8M.net]
>>617
自動化とかのコンテキストで、GUI無しの業務App増えてきたよ

649 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 17:17:59.98 ID:luIlnn62r.net]
コンテキストの使い方間違ってないか?

650 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:10:08.90 ID:A4bXwFD8M.net]
>>642
コンテキスト=文脈ってことで指摘を受けること無いと思うんだけど、なにか癇に障った?



651 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:14:06.41 ID:4YJ0U8GR0.net]
>>642
問題なく伝わる使い方だよ(「文脈」を指す表現)

652 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:39:01.46 ID:1jtsLrYta.net]
https://kotobank.jp/word/%E6%96%87%E8%84%88-23024
文脈
> ある単語や句や文に対して,その前後の単語や句や文が及ぼす意味的規定力。

653 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:43:24.60 ID:1jtsLrYta.net]
ウェブ開発のコンテキストでAPIはウェブAPIを指す
Windowsネイティブアプリ開発のコンテキストでAPIはWin32APIを指す

↑こういう使い方は「コンテキスト」の使い方として正しい

>>641のコンテキストは俺も見たことない使い方だから説明要るんじゃね

654 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:44:03.03 ID:luIlnn62r.net]
>>643-644
コンテキスト言いたいだけやろ
要らんやん

655 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:51:45.58 ID:t60D5gLTM.net]
状況や流れで変わる何かが合って
その時の状況や流れが コンテキスト にあたる

全く同じことをしていても解釈が違うのはコンテキスト依存だから

656 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:57:36.16 ID:gMKf+OGS0.net]
どんどんアホみたいな方向に話が展開していく
This is the bikeshedding

657 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 19:58:22.03 ID:t60D5gLTM.net]
正直なところ今回の用法ではあまりマッチしてるようには感じない
とりあえずそれが何かとの勘違いだとして何と勘違いしたのかを考えてみよう

658 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 20:05:30.51 ID:luIlnn62r.net]
なんだよ自動化のコンテキストって
夜間バッチかな、メッセージングかな、FAかな
どうせコンテキスト使うならコンテキスト境界を明確にしろっつうの

659 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 20:15:18.43 ID:t60D5gLTM.net]
セグメントあたりかな?

カテゴリー、ジャンルやフィールドとかそういうのの狭い分野とかそういう事を言いたいんじゃないかと

660 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 20:29:32.13 ID:1lF7S9LF0.net]
>>651
イマドキ自動化って言われたらRPAやろ
まあ無能には分からんか



661 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 20:40:46.31 ID:mBQrOHHnr.net]
コンテキストの使い方としては問題ないだろうけど、その言葉を選ぶことが場にそぐわないというか
匿名掲示板の会話の中で使うと浮く言葉だという感覚は多少あるかな

662 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 20:50:51.87 ID:1lF7S9LF0.net]
なんでもいいけどプログラムの話しろよ無能ども

663 名前:デフォルトの名無しさん [2023/05/27(土) 20:57:34.82 ID:Iuy4wHgO0.net]
くっだらなね。

664 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 20:59:33.78 ID:luIlnn62r.net]
>>653
元レスからの文脈を辿ればRPAは出てこねんだわ

665 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 21:04:07.97 ID:t60D5gLTM.net]
void Say(string text){
Console.WriteLine(text);
]

void Display(string text){
Console.WriteLine(text);
]
みたいのがあって中身が同じだけど別になってるのはコンテキストが違うから

コンテキスト無視してvoid Print()なんかにまとめちゃってからやっぱセリフは水色表示しましょうとなると修正が大変

と無理やりプログラムに絡める

666 名前:デフォルトの名無しさん [2023/05/27(土) 21:22:29.54 ID:FRBwBfHVd.net]
>>653
馬鹿ってバッチ処理とか知らんのかね

667 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 21:24:53.37 ID:1lF7S9LF0.net]
>>659
今時って言ってるやん
馬鹿って理解できないのかねw

668 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 21:25:19.63 ID:1lF7S9LF0.net]
>>657
それってお前が馬鹿なだけやろ?

669 名前:デフォルトの名無しさん [2023/05/27(土) 21:27:26.31 ID:FRBwBfHVd.net]
>>660
こういう馬鹿が夜間で終わらないバッチ処理を作って訴訟になる

670 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 21:32:00.54 ID:1lF7S9LF0.net]
>>662
アホすぎw



671 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 21:35:35.76 ID:t60D5gLTM.net]
処理内容が同一でもコンテキストが同一とは限らない
処理内容が同一でもコンテキストが異なれば処理内容は同一であり続けるとは限らない

処理内容が同一でもコンテキストとして違いがあるのであればメソッドは別々にするのが望ましい

672 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 21:40:14.44 ID:/3dI5F000.net]
>>661
じゃあRPAと絡めたGUIなしアプリの具体例を出してみろよ

673 名前:デフォルトの名無しさん (ワッチョイ 6b5f-tyRn) mailto:sage [2023/05/27(土) 22:45:19.23 ID:4YJ0U8GR0.net]
>>651
それらが元々GUIを備えていると本気で思っているのか?w

674 名前:デフォルトの名無しさん (ワッチョイ 9f01-d/9P) mailto:sage [2023/05/27(土) 22:57:22.60 ID:A+Fg27pW0.net]
「文脈」の使い方が間違ってるよね

675 名前:デフォルトの名無しさん (ワッチョイ ab07-8jEt) mailto:sage [2023/05/27(土) 23:16:21.54 ID:6hc4zw7M0.net]
「文脈」は死語なんじゃね
前後の文読まないやつが大増殖してもう慣れたわ

676 名前:デフォルトの名無しさん mailto:sage [2023/05/27(土) 23:49:42.44 ID:jeBcG8q10.net]
「死後」の意味も判ってない模様

677 名前:デフォルトの名無しさん [2023/05/28(日) 00:12:05.41 ID:oxdpIcYI0.net]
マの板でアメリカがデフォルトの危機言われて
頭ん中??????????????ってなる人たち?

678 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 01:01:41.22 ID:rmgfnmD+a.net]
>>669
突然関係ない話をしてどうした?

679 名前:デフォルトの名無しさん (ワッチョイ 0f10-S+HU) mailto:sage [2023/05/28(日) 06:52:03.18 ID:7NA4xXcX0.net]
なんか急に賑やかになってると思ったらお前らww

680 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 11:02:05.14 ID:LhRRD0FE0.net]
ちょっと聞きたいんだがさらに一歩難いアルゴリズムについてね
本屋に基礎的なアルゴリズムを開設してる本はいっぱいあるし理解できるけど
海外の学者が書いた超分厚い専門書的なもんはマジでわからん

最適化とか巡回セールスマンとか群論とかトポロジーとかそのレベルも理解必要なんですかね?
C#できます!基本的なアルゴリズム理解できます!だけはちょい恥ずい

皆さんC#の言語仕様詳しいけど俺はさらに上を行ってるって自信を持てるには言語使用だけで
十分なんですかね?やっぱアルゴリズムも欲しがるべき?



681 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 11:06:53.24 ID:7NA4xXcX0.net]
そのへんの業務アプリ開発のコーダーくらいなら要らないんじゃね

682 名前:デフォルトの名無しさん [2023/05/28(日) 11:15:47.39 ID:eP2DgR+S0.net]
要らんよね。
どこで使うんだろ

683 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 11:19:53.53 ID:pYaNr1fI0.net]
ゲーム開発とか

684 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 11:25:22.80 ID:1uqhjo5xa.net]
>>673
それは本当に専門書なのか?
割と基礎の部類に入るからQiitaでもいくつも記事あると思うぞ
土方には必要のない知識だけど使えるようになっておけば収入が高い職場に行けるかもしれんからやっておいて損はない

685 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 11:55:29.61 ID:MoCGpZK6M.net]
実際にコードが書けなくても必要な時にそのパターンに当てはまると知っているだけ良い
たまに概念などを興味本位で知る程度で十分
キーワードを知ってるだけで強い

自分が大学で最初に習ったアルゴリズムはソート
複数のソートの手法を学ぶ
それで計算量などの基礎的概念を刻み込む
それが出来るなら最適化についての段階は踏める

じゃあ数式を見てコードに落とせるかと言えば無理だと思う
そこから本気出すかライブラリ探すかになる

686 名前:デフォルトの名無しさん [2023/05/28(日) 12:04:46.44 ID:9AZMVk0MM.net]
一般的なソートや検索のアルゴリズムは本屋にある基礎的なアルゴリズム解説本でカバーされてるやろ
今広く一般的に使われてるソート関数で使われてる細かい最適化の中身まではカバーされてないけど

687 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:07:38.06 ID:1uqhjo5xa.net]
ていうか自信の持ち方がいびつな気がするな
作ったアプリで自信持てば?
C#ならUnityでストア販売できるだろ
売上見てニヤつけよ

688 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:19:40.75 ID:MoCGpZK6M.net]
知りたいときに知りたいことを学べばいい
ライブラリで済むなら勉強することもないかもしれない

大学でオペレーションズリサーチの講義を取った
そこでは問題の概念について軽く学んで後はずっと確率などの微積分を行う
コードなどは一切書かないし手順すら学ばない
試験も同じで計算や数式を証明したりする

一般的なコーディングにはほぼ意味がないけど何かの問題解決するためには必要な人には必要
大体の人には無縁

難しい本だけど大学の教科書の内容ですら半年かけて講師に教わって学ぶ内容なので本を開いてぱっと理解できなくても何も問題ない
そういうものだと

689 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:24:36.31 ID:MoCGpZK6M.net]
1950~1970ごろにそういったサイエンスが花開いて多数の天才たちが研究し確立した手法を
今後追いで勉強してる

急ぐことはない

690 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:29:49.04 ID:pYaNr1fI0.net]
業務アプリではまず使わん
ソートも探索もコレクションクラスのメソッドを使うだけ
黎明期ならまだしも今はPCの性能が上がって最適化の性能差もほとんど問題にならない
リアルタイムゲームとか機械学習系では使うだろうけど



691 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:46:59.48 ID:1uqhjo5xa.net]
>>683
トポロジカルソートはタスクの優先順位を決めるのに使うだろ
ライブラリにあるか?

692 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:49:42.09 ID:uUhZbJL9a.net]
トロピカルフルーツ?

693 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:52:11.08 ID:1uqhjo5xa.net]
群論というのは0個以上の要素を扱う時に使う
JSのfilterやmapやreduceはそのカテゴリに入る
何でもかんでもforでやってたら複雑になりすぎるし逆に何でもかんでもreduce使っても複雑になりすぎる
こういう時に汎用的に使える関数を作れたら生産性上がるぞ

694 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 12:58:01.84 ID:o9dc7/1oa.net]
初歩的な質問ですみません。
アドバイスを頂きたいです。

ある通信機器から10分間隔で指定のデータを取得し、そのデータをファイルに記述するプログラ厶をサービスアプリで作成しました。

追加の要件としてユーザーからの操作でデータ収集を停止/再開させる機能が必要になりました。
操作用のボタンが必要になるのですが、サービスアプリではGUIを持てないと認識しているのでフォームアプリで作成し直す必要があると考えています。

停止が押されていない間はデータ収集を継続したいのですが、フォームアプリだとユーザーが画面を落とす(×ボタン押下)可能性が考えられます。
画面を落とした時、つまりフォームが立ち上がっていないときでも収集処理をすることは可能でしょうか?

調べるとBackgroundWo

695 名前:rkerなどは出てくるのですが、これは少し意味合いが違っているように感じており、似たような例を見つけられませんでした…。 []
[ここ壊れてます]

696 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 13:00:11.07 ID:pYaNr1fI0.net]
サービスなら止めたり再開するAPIあるやろ

697 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 13:00:59.13 ID:1uqhjo5xa.net]
本体はサービスで作ってUI専用のフォームアプリから名前付きパイプでシグナル送ればいんじゃね

698 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 13:03:52.90 ID:1uqhjo5xa.net]
>>688
そういやそうか
https://learn.microsoft.com/ja-jp/dotnet/api/system.serviceprocess.servicecontroller?view=dotnet-plat-ext-7.0

699 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 13:48:09.53 ID:7NA4xXcX0.net]
>>689のようなプロセス間通信制御でもいいし
どうしてもフォームアプリで統合したいなら、×ボタン無効化したり
FormClosingイベント拾って閉じるのキャンセルして代わりにHideするようにしたりすればいいんじゃない?

700 名前:デフォルトの名無しさん (ワッチョイ 9f80-FA6k) mailto:sage [2023/05/28(日) 14:06:11.06 ID:pYaNr1fI0.net]
PowerShellに、Suspend-Service とかRestart-Serviceとか、そのまんまのサービス系のコマンドがいろいろある



701 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 14:46:33.46 ID:urnIPGLqM.net]
>>687 です

回答ありがとうございます

FormClosingイベントでウィンドウを閉じたように見せるだけ、というのもあるんですね
試せる環境が今手元に無いのですが、Hideで隠した状態で、ユーザーが再度フォームを立ち上げた場合は、隠したものと新たに起動した2つのフォームが動いている状態になるんでしょうか?


>>692
なるほど、このコマンドのバッチファイルを作っておいてユーザーにはそれをダブルクリックして停止/再開をしてもらうのが手軽かもしれません

702 名前:デフォルトの名無しさん [2023/05/28(日) 14:53:07.28 ID:E8Oz4qmg0.net]
scコマンドに停止/再開の引数付けたショートカット作ってもいいぞ

703 名前:デフォルトの名無しさん [2023/05/28(日) 15:07:22.90 ID:LhRRD0FE0.net]
>>677
最適化と組み合わせ論だっけ?
めちゃくちゃ分厚くて数式だらけだった気がする
全然わからん
あーいうのが読めなくて自信喪失してる最中

704 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 16:08:43.34 ID:19IHwxiC0.net]
>>687
バックグラウンドデーモンを誰が停止・開始制御するかという命題では?
プレビリッジ権限の認証問題がシステム課題であって、APIやパイプラインなどというアクイジションのテクニックなんか些細な問題。
UMLユースケースを書き、SOLID原則のSRP遵守でUSERを明確にし、必要に応じてFACARDやFACTORYで入り口を切り分ける事。
この場合は、認証問題がキモ。 ボタンがどうのこうのではない。

705 名前:デフォルトの名無しさん (ワッチョイ 9f79-dfVX) mailto:sage [2023/05/28(日) 16:29:16.20 ID:pV4wEcmO0.net]
サービスを稼動させたまま外部から設定を変更したい
サービスとの通信は>>689のように名前付きパイプでいいが、操作用UIとは完全に切り離した方がいい
今時のタスクトレイに常駐するタイプのサービスはほぼそうなってるはず
どちらにしろプロセスは別々になるが>>>691みたいな考え方で作るとUI側に余計な権限が残ってしまう恐れがある

706 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 16:34:24.11 ID:pYaNr1fI0.net]
だいぶ拗らせてるな

707 名前:デフォルトの名無しさん [2023/05/28(日) 17:57:25.94 ID:vErPSHdQM.net]
拗らせ風のレスはわざでしょ
もともとサービスのスタート・ストップをどうやるつもりだったのかは重要なポイントだと思うよ
最初から必要そうな機能が”追加要件”扱いなのもちょっと臭う

708 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 18:13:01.32 ID:7NA4xXcX0.net]
まぁ、追加要件で重要なのが出て来るのよくあることじゃし(白目

709 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 18:21:31.64 ID:FaN+2ocOa.net]
>>695
組合せ最適化問題じゃね?
多分ナップサック問題が最初の方に出てきただろ
そういうのはだいたい動的計画法で解く
AtCoderのD問題の定番だから洋書なんて読まなくても競プロしてりゃすぐ覚えるぞ

710 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 18:23:17.88 ID:FaN+2ocOa.net]
「EDPC」を検索すれば日本人の書いた記事や動画が山ほど見つかると思う



711 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 18:46:26.18 ID:EBgEX/XFM.net]
>>697
知識が足りなくてきちんと理解出来ていないのですがUIは停止/再開のフラグを投げるだけの機能に限定し、現状収集機能を持っているサービス側とは完全に分けるべきという認識で合っていますか?

元々はこういった機能は必要ないとのことで作り始めたんですが、製造現場としてはデータを出したくないタイミングがあると要望が出たので重要な機能ですが後付けになりました…

712 名前:デフォルトの名無しさん [2023/05/28(日) 18:57:13.01 ID:3dp1E4GEd.net]
こういう馬鹿に作らせるなよ

713 名前:デフォルトの名無しさん (ワッチョイ dfbd-/RYi) mailto:sage [2023/05/28(日) 20:39:40.10 ID:Tc1TIXcj0.net]
せっかくサービスアプリケーションにして安定稼働できているなら、
わざわざGUIアプリケーション化せずに、
GUIアプリケーションから名前付きパイプでサービスに指示するだけのほうがいい。

最近Cで非同期の名前付きパイプクライアントを書いて、
C#で非同期の名前付きパイプサーバーを書いたら、
C#のほうがあっという間に書けて感動した。
(Cのほうも非同期ファイルI/Oのコードを元に作ったからすぐできたけど)

714 名前:デフォルトの名無しさん (ワッチョイ 9f79-dfVX) mailto:sage [2023/05/28(日) 20:55:11.64 ID:pV4wEcmO0.net]
>>703
>>687はデータ収集の停止や再開だけで、サービスを停止させたいとは書いてないからそれを前提で回答してるけど
サービス停止の影響範囲によってはサービスとの通信すら不要かもしれない。けどそれを知ってるのは本人だけなんだよ
要件を洗い直した方がいいよ

715 名前:デフォルトの名無しさん (ワッチョイ 9f79-dfVX) mailto:sage [2023/05/28(日) 21:08:37.51 ID:pV4wEcmO0.net]
サービスアプリはVista以降は別のセッションで動くから、それをGUIから制御したい場合は
制御用のプロセスを生成してサービスとのプロセス間通信手段を確立する必要があるわけよ
ただし要件によっては既存のサービスの停止や再開と状態の参照程度で済むからそれ用のGUIなんて1日もあれば作れるでしょうよ

716 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 06:57:21.51 ID:NVp4lIGp0.net]
初心者の質問するスレなのにしれっとプロが質問するのはなんだかなあ
バカは初心者じゃなくても質問していいという判断なのか

717 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 08:35:53.55 ID:4b7YEgmx0.net]
プロの初心者も居るには居るけどな

718 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 08:43:49.19 ID:n96cT9XUa.net]
金もらってるやつが初心者名乗るのは流石に草
せめて研修中なら名乗ってもいい

719 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 08:45:57.08 ID:n96cT9XUa.net]
入団1年目のプロ野球選手でも今年入社したばかりのアナウンサーでも初心者じゃなく新人だろうに

720 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 08:56:42.77 ID:4b7YEgmx0.net]
それまでC#触ったこともないけど都合上C#に転向しなきゃいけなくなったらC#は初心者だろw



721 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 08:58:41.25 ID:4b7YEgmx0.net]
それともあれか、スレタイの初心者はプログラム初心者の意味だったんか?
テンプレにはそんなこと一言も書かれてないけどな

722 名前:デフォルトの名無しさん (アウアウウー Sa8f-8jEt) mailto:sage [2023/05/29(月) 09:30:39.19 ID:n96cT9XUa.net]
触ったこともないかどうかは関係ない
言葉の定義とかじゃなくプロが初心者を名乗るなってことだよ
Stack Overflow行けよ

723 名前:デフォルトの名無しさん (ワッチョイ 9f80-FA6k) mailto:sage [2023/05/29(月) 09:31:59.20 ID:gG8bkLfQ0.net]
またしょうもない事で揉めてるな
ここの自称プロは

724 名前:デフォルトの名無しさん (アウアウウー Sa8f-8jEt) mailto:sage [2023/05/29(月) 09:32:15.97 ID:n96cT9XUa.net]
プロというのはそれで飯食ってるやつのことだろ?
初心者を言い訳にできるはずがないだろ

725 名前:デフォルトの名無しさん (ワッチョイ bb33-A/tE) mailto:sage [2023/05/29(月) 09:53:25.00 ID:2+KQpLGd0.net]
万年掲示板初心者だらけだな

726 名前:デフォルトの名無しさん (ワッチョイ 9f80-FA6k) mailto:sage [2023/05/29(月) 09:59:38.52 ID:gG8bkLfQ0.net]
プログラマーのプロをプロフェッショナルのプロと勘違いしてそう

727 名前:デフォルトの名無しさん (ワッチョイ 9fde-S+HU) mailto:sage [2023/05/29(月) 10:02:54.60 ID:5glDYifC0.net]
セミプロのプロ

728 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 10:12:58.22 ID:4b7YEgmx0.net]
文脈がどうのコンテキストがどうのと言葉の定義に拘った癖に言葉の定義とかじゃないとか言い出すの草

729 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 10:35:34.40 ID:n96cT9XUa.net]
辞書的な言葉の定義じゃなくコンテキストで意味が決まってるからなw
コンテキストを知らないやつと話すのは説明が長くなってしんどいなw

730 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 11:25:09.12 ID:cZZAOa7Fd.net]
金もらってたらプロならこの業界プロで初心者は普通に存在するだろう
野球選手なんぞを引き合いに出すのが的外れ



731 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 11:52:08.40 ID:n96cT9XUa.net]
コンテキストが理解できないやつのためにまとめると、プロなら初心者を言い訳にせずStack Overflowに書けよって話だぞ?w

732 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 12:04:27.26 ID:cZZAOa7Fd.net]
初心者ならここで質問してもいいだろうって話
金もらってるかどうかは無関係

733 名前:デフォルトの名無しさん [2023/05/29(月) 19:11:00.49 ID:az14uG3b0.net]
バーコードリーダーから取得したバーコードデータをフォームアプリの
テキストボックスに入力して、バーコードデータを読み終わったら
処理をするプログラムを作りたいのですが、
バーコードデータの読み込み終了を知るにはどうしたら良いでしょうか。
一文字読み取るごとに終端文字列を判定すれば出来るのかなと思うのですが、
王道のやり方があったらお教え頂きたいです。

734 名前:デフォルトの名無しさん [2023/05/29(月) 19:13:13.18 ID:M6W/ObnYd.net]
また馬鹿が来た

735 名前:デフォルトの名無しさん [2023/05/29(月) 19:19:07.19 ID:6va+z9rTp.net]
API仕様嫁としかw

736 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 19:20:31.50 ID:NVp4lIGp0.net]
これでプロなんだぜ

737 名前:デフォルトの名無しさん [2023/05/29(月) 19:41:24.70 ID:cWs/PGXpa.net]
>>727
キーボードとして認識されるタイプじゃね

738 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 19:44:52.37 ID:a35GfSoK0.net]
>>725
バーコードリーダー付属の設定用紙(なければ公式サイトからダウンロード)で
スキャンデータの末尾にCRLFを付与する設定にすればOK

メーカーによってはアプリで設定するものもあるのでマニュアル読んでね

739 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 19:50:57.54 ID:JR9OEd1l0.net]
時期的に新人さんのOJTの課題かな

740 名前:デフォルトの名無しさん (スプッッ Sdbf-HzZj) mailto:sage [2023/05/29(月) 20:23:23.15 ID:x2JUK8cad.net]
先頭に別の制御コードを付加して、それを検出してテキストボックスにフォーカス当てるなんてのもよくある



741 名前:デフォルトの名無しさん [2023/05/29(月) 21:44:45.49 ID:az14uG3b0.net]
バーコードの者ですが、キーボードのように動作してスキャンデータの末尾にCRLFが
付加されるタイプです。
テキストボックスのチェンジイベントごとにテキストボックスの文字を監視すれば
良いかなと思ってるのですが、世間にはもっとスマートなやり方があるのかと思い
聞いてみたのです。
初心者なので、C#相談室には行かず、ふらっと C#の方に来たのですが。。。

742 名前:デフォルトの名無しさん [2023/05/29(月) 21:46:51.88 ID:nfi+BvtEp.net]
素朴な疑問なんだけど、なんでテキストボックスで受けようとした?

743 名前:デフォルトの名無しさん (ワッチョイ efda-eDe+) mailto:sage [2023/05/29(月) 21:52:13.37 ID:4g+5lQrq0.net]
>>733
HIDとして認識されるバーコードリーダは、言い換えれば単なるキーボード入力でしかないので王道は無い。
(この場合、本物のキーボードをガチャガチャおしながらバーコード読み取るとか意地悪されると思うので、指定桁数とか見て頑張るしかない)

ドライバをインストールして使うようなバーコードリーダならSDKに従えとしか言えない。

744 名前:デフォルトの名無しさん (スプッッ Sdbf-HzZj) mailto:sage [2023/05/29(月) 21:53:29.62 ID:x2JUK8cad.net]
>>733
文字を監視するよりキーダウンかキープレスあたりのイベントでキーコードを監視するのがベターかな
文字として表れない制御コードも検知できるから

745 名前:デフォルトの名無しさん (ササクッテロラ Spcf-hD65) [2023/05/29(月) 21:56:22.76 ID:DONu3V9Bp.net]
そのテキストボックスにフォーカスしてないと読み取りが正しく入力出来ないとか、馬鹿な仕様だなぁ

746 名前:デフォルトの名無しさん (ワッチョイ 7b78-S+HU) mailto:sage [2023/05/29(月) 22:07:01.27 ID:a35GfSoK0.net]
>>737
他にどんな方法があるの?

747 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 22:21:48.60 ID:smYbWQE70.net]
また頭でっかちがバカバカ言ってるん?

748 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 22:25:34.30 ID:4b7YEgmx0.net]
バーコードの入力をテキストボックスで受ける業務システムなんてごまんとあるがねぇ

749 名前:デフォルトの名無しさん mailto:sage [2023/05/29(月) 22:44:21.98 ID:AkAnX1XDd.net]
>>733
C#以前の問題だろ
他へ行けよ

750 名前:デフォルトの名無しさん [2023/05/29(月) 22:45:14.75 ID:az14uG3b0.net]
逆にキーボードのように動くバーコードリーダーのデータをテキストボックス以外で
入力する方法ってあるのでしょうか。



751 名前:デフォルトの名無しさん [2023/05/29(月) 22:58:50.24 ID:M6W/ObnYd.net]
こんなのが作る業務システムって…

752 名前:デフォルトの名無しさん [2023/05/29(月) 23:16:04.08 ID:aYNq1fNY0.net]
質問に答えずにバカにするだけの住人wwwwwwwww
あ、ワイのことね。

753 名前:デフォルトの名無しさん [2023/05/29(月) 23:23:42.86 ID:vDJtnbWH0.net]
むしろテキストボックスしかキーボード入力出来ないと思ってる方が不思議だわ
キーフックとか色々あるだろw

754 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 06:51:07.31 ID:J/GTXBvW0.net]
場合によりけりだろ

755 名前:デフォルトの名無しさん (ワッチョイ ef42-S+HU) mailto:sage [2023/05/30(火) 07:31:00.41 ID:supAgpDx0.net]
>>742
あまり詳しいわけじゃないが、グルーバルキーフックで行けるんじゃね?
https://aonasuzutsuki.hatenablog.jp/entry/2018/10/15/170958

756 名前:デフォルトの名無しさん [2023/05/30(火) 07:53:38.18 ID:bfEjfZ0jr.net]
>>743
仕事できない癖に一丁前に文句だけ言うタイプ

757 名前:デフォルトの名無しさん (ワッチョイ bba5-EoPE) mailto:sage [2023/05/30(火) 09:32:04.16 ID:5jyHeOoZ0.net]
>>745
キーボードの入力とバーコードリーダーの入力をどうやって区別するの?

758 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 10:18:37.15 ID:lEu3ICMm0.net]
バーコード・QRリーダーにシリアルモード無いの? あれば、シリアルで処理すべし。

759 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 10:22:34.36 ID:4h93jK/S0.net]
RawInputというハードウェアを区別して入力を識別できる仕組みがある
https://learn.microsoft.com/ja-jp/windows/win32/inputdev/about-raw-input

でもバーコード読み取りながらキーボード操作するなんて普通はやらないし
大体はEnterが入力されたらtextboxの文字数をチェックして
想定外の文字数が入力されてたらエラーで再度読み取りを促すとかで済ませてそう

760 名前:デフォルトの名無しさん [2023/05/30(火) 10:39:12.21 ID:fRxDhXvsp.net]
>>749
安いバーコードリーダー使ってる奴は運用でカバーするしか無いだろw
許容出来ないならプロジェクト自体が破綻してるって事さw



761 名前:デフォルトの名無しさん [2023/05/30(火) 10:42:26.90 ID:Myxtqo5cp.net]
>>751
こんなのがあるんだぁ
でも初心者スレにゃ敷居が高いかなw

762 名前:デフォルトの名無しさん [2023/05/30(火) 10:49:12.86 ID:bfEjfZ0jr.net]
ふらっとC♯で質問をバカにすんなよ
C#相談室に来ちまうだろ
気に入らんならスルーしろ

763 名前:デフォルトの名無しさん [2023/05/30(火) 10:59:18.28 ID:S+eBT5oEp.net]
>>754
むしろ引き取ってくれw

764 名前:デフォルトの名無しさん (ワッチョイ ebe5-S+HU) mailto:sage [2023/05/30(火) 11:37:11.46 ID:4ZtLJnCc0.net]
>>750
頭でっかちはだいたいこうやって視野狭窄する

765 名前:デフォルトの名無しさん (ワッチョイ ab07-8jEt) mailto:sage [2023/05/30(火) 19:47:16.20 ID:58WJoE530.net]
そもそも画像そのまま送ってPCで処理するのが一番手間かからないんだがな

766 名前:デフォルトの名無しさん [2023/05/30(火) 20:53:22.26 ID:XqwYghOK0.net]
>>751
業務システムは実際そんなもん
テキストボックスで受けてチェックデジットでチェックして~とかぐらい

767 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 20:59:58.77 ID:F+V5WuV6p.net]
>>758
そのノリで顧客が直に使うアプリを作ると最悪なユーザビリティのモノになるんだよなぁ
使い方レクチャーしなきゃダメなアプリってまるでマイナポータルみたいw

768 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 21:09:46.60 ID:1rcYEXOM0.net]
他にキーボード入力無ければ普通にKeyDownで処理すりゃいいんじゃね
つか、最近のリーダーなら終端文字列設定可能になってるのが多いと思うけどな

769 名前:デフォルトの名無しさん [2023/05/30(火) 21:33:48.29 ID:VFhOrU+Nd.net]
最近( ´,_ゝ`)プッ

770 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 22:43:21.58 ID:/80DjIsi0.net]
>>751
バーコードリーダーを複数台繋げられないかと考えていたところなので興味深い。



771 名前:デフォルトの名無しさん [2023/05/30(火) 22:51:53.77 ID:aqCv98Mpa.net]
なんだかんだで考えてあげるお前ら優しいね(*´ω`*)

772 名前:デフォルトの名無しさん [2023/05/31(水) 06:26:02.95 ID:bZhrN1mv0.net]
バーコードの者ですが
・1文字入力される度に終端文字を評価して終端文字が来たらコードを確定するやり方は王道
・テキストボックス以外にキーをホックする事もできる
ということが分かりました
世間一般とは外れたやり方をしないで済みそうです
ありがとうございます

773 名前:デフォルトの名無しさん mailto:sage [2023/05/31(水) 08:26:16.71 ID:r9qRlQV50.net]
ハゲは辛いよな

774 名前:デフォルトの名無しさん mailto:sage [2023/05/31(水) 09:03:04.25 ID:w6ivfughr.net]
いっそのことスキンにすればいいのにな

775 名前:デフォルトの名無しさん mailto:sage [2023/05/31(水) 19:26:15.32 ID:5lDwRBwp0.net]
また髪の話してる

776 名前:デフォルトの名無しさん mailto:sage [2023/06/01(木) 03:00:02.61 ID:toxSQWi90.net]
Visal Studio for Mac2022で自動保存の設定の場所を探してるんですが
見つかりません
ユーザー設定の中にありますか?

777 名前:デフォルトの名無しさん mailto:sage [2023/06/01(木) 07:54:17.29 ID:LS3jNsYU0.net]
visalはしらんがVSなら本スレいけ

778 名前:デフォルトの名無しさん (ワッチョイ 0fbb-wRkZ) [2023/06/01(木) 12:50:37.21 ID:6cGVvbbd0.net]
完全に自動保存の代わりになるわけじゃないけど、ないのはHot Exitで代替しろってことなんじゃないのかな?

779 名前:デフォルトの名無しさん mailto:sage [2023/06/01(木) 20:34:08.33 ID:+dVQvBYt0.net]
>>769
命令すんなよ?!

780 名前:国名です [2023/06/02(金) 13:19:54.33 ID:WyoC2q620.net]
近くにやばい人がいた(ガチ)



781 名前:デフォルトの名無しさん mailto:sage [2023/06/02(金) 13:59:45.66 ID:XtwEbodRa.net]
ヤバい人などめずらしくもない

782 名前:デフォルトの名無しさん mailto:sage [2023/06/09(金) 10:06:48.95 ID:MbL8YIrlp.net]
俺ヤバ的に解釈すると、気になる子って事かな?

783 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 21:21:30.66 ID:FuXZUb160.net]
何故か急にBitmap.SetPixelが機能しなくなったんですが原因わかりません。
正方形範囲を青色で縫ってpictureboxに反映させるだけの超シンプルなコードです。
デバッグツール使うと青に塗った後Bitmap.GetPixelで色が反映されてるのは確認取れたんです。
でpictureboxにもちゃんとbitmap指定しました。でもpictureboxは何も変更されません。
適当な新規プロジェクト立てて全く同じコード書いたら普通に機能しました。
ひょっとすればプロジェクトが壊れたなんてことあります?

784 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 21:33:22.64 ID:zUCBB0zf0.net]
バージョン管理してないんか?
動いてたとこまで戻して差分確認すりゃいいじゃん
してないなら知らん

785 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 23:19:53.45 ID:JneWu8RjM.net]
xとyがどこかで入れ替わったとかそういうレベルの質問ではないよね
なんとなく原因がわかる気がするけどまあRefreshの話なんだろうね多分

786 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 23:24:58.55 ID:JneWu8RjM.net]
ググってもジャストミートする良いページが見つからないんだけど
c# picturebox refreshで出てくるのはドボンのページだからそれでいいのかな?

787 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 23:31:04.78 ID:JneWu8RjM.net]
一度目に指定するとそれは即反映される
二度目以降はリフレッシュさせないと反映されない

表示されてる画像をSetPixelしただけで毎回全部書き換えてたらとんでもなく重くなるでしょう
表示のタイミングはこちらで決められますと言うこと

788 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 23:50:06.20 ID:JneWu8RjM.net]
ところがwindowが重なったりした後に前に出すと新しい画面に書き換わったりしてる

これはwindowsがアプリのwindowの画像が無効になったので再描画しなさいと命令を出してるため
元から表示されてる画像は表示されていただけでアプリ内で保存されていない
それで新しい画像を表示するしかなくなる

789 名前:デフォルトの名無しさん mailto:sage [2023/06/11(日) 00:08:45.00 ID:wZmBwowG0.net]
>>780
そういうことなんですか!チャットに聞いても分からなかったけど納得しました。
次は何故そういう状況になってしまったか考えないといけないですね。
ありがとうございました!

790 名前:デフォルトの名無しさん mailto:sage [2023/06/11(日) 00:12:07.72 ID:jsCGKiXwM.net]
windowsワールドへようこそ!

自分も30年ほど前に同じことにぶち当たった
その時はc#では無かったけど



791 名前:デフォルトの名無しさん mailto:sage [2023/06/11(日) 00:40:06.81 ID:okFYrxW20.net]
新規プロジェクトで同じコード書いたら動いたと言う話はなんだったんだ?

792 名前:デフォルトの名無しさん [2023/06/11(日) 00:41:58.22 ID:R/2qoB4K0.net]
勝手な略語を使う馬鹿にまともなことを期待してはいけない

793 名前:デフォルトの名無しさん mailto:sage [2023/06/11(日) 00:44:41.04 ID:jsCGKiXwM.net]
どちらかと言うと柔軟性のない君らはアスペルガー症候群なのかもしれないよ

794 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/11(日) 10:40:16.94 ID:a75z9osJa.net]
https://github.com/microsoft/cswin32

これ知らんかったけど欲しかったやつ
あったんだ

795 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 08:20:00.96 ID:9gPNlu+S0.net]
>>780
まぁそれがつまるところRefreshなんだけど

796 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 09:51:36.95 ID:NagvqA3h0.net]
>>787
リフレッシュは良いんだけどasyncとか出てきて使う様になってバックグラウンドでUI更新しようして出来てないって事に気付いてないとか有るやん

UIスレッドじゃ無いと更新出来ないの知らない人も多いしスレッド切り替える方法知らない人も多い

797 名前:デフォルトの名無しさん [2023/06/13(火) 07:59:18.79 ID:0FRcsKll0.net]
GitHubの使い方が分からない。
つまりこれって書いた差分をマージするってこと?

ブランチとかよくわからんが、支店を出すってこと?

コードをシェアするってことなんだけど、シェアする仲間がいない・・・

798 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 08:00:47.90 ID:PEee/u2aa.net]
そこからわからんなら使わなくていいぞ
C#のスレだしな

799 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 08:14:38.47 ID:rV2623H60.net]
支店のオーナーになって本店への併合を目指すゲームだよ

800 名前:デフォルトの名無しさん (ワッチョイ 8bbb-f0F1) [2023/06/14(水) 12:43:21.90 ID:zQTHCkUD0.net]
>>789
githubも使い方gitと同じだから



801 名前:デフォルトの名無しさん (アウアウウー Sadd-g1CP) mailto:sage [2023/06/14(水) 13:01:51.20 ID:iWYHYN4ra.net]
githubは差分を出してくれるけどcommitは差分じゃない

802 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/14(水) 13:06:37.94 ID:GknXMRlPa.net]
>>793
何を言ってるんだ?

803 名前:デフォルトの名無しさん (ワッチョイ 017c-1yE0) mailto:sage [2023/06/14(水) 14:17:45.17 ID:XWqksor40.net]
バージョン管理なんだから差分とか考えるなよ
版管理だよ

804 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/14(水) 14:31:03.19 ID:GknXMRlPa.net]
差分の表示

git diff head^^ head^

805 名前:デフォルトの名無しさん (オッペケ Sr05-8Dp1) [2023/06/16(金) 06:55:54.14 ID:OHuIfsqSr.net]
同一ネットワーク内の複数のPCで通信したいけどプロセス間通信って古いかな
今はSocketIOで非同期通信くらいしてないとダメかな
ちなみにフォームアプリの予定w
WPFは工数だけかかって面倒臭そう

806 名前:デフォルトの名無しさん (ワッチョイ 8907-8W7i) mailto:sage [2023/06/16(金) 07:13:30.39 ID:hLDZvlP60.net]
複数のPCでプロセス間通信てどれかをサーバーにするしかないじゃん
リモートオブジェクトはなくなったぞ
https://learn.microsoft.com/ja-jp/dotnet/core/porting/net-framework-tech-unavailable
> .NET リモート処理は、.NET 6 以降ではサポートされていません。 .NET リモート処理は、問題のあるアーキテクチャであると判断されました。 これは、現在サポートされていないアプリケーション ドメインとの間の通信に使用されています。 また、リモート処理にはランタイム サポートも必要で、維持するのに高いコストがかかります。

807 名前:デフォルトの名無しさん (ワッチョイ 3102-2rqm) mailto:sage [2023/06/16(金) 08:13:22.22 ID:LNSu1MfD0.net]
複数のPCってのがざっくりしすぎてるな
1対多ならMinimalAPIでサーバ建てりゃいいんじゃね
詳細はググってくれ

808 名前:デフォルトの名無しさん (ワッチョイ a9e5-2rqm) mailto:sage [2023/06/16(金) 09:38:19.59 ID:8cf3Z2YQ0.net]
古いも何も、Socketで通信してようが他プロセスと通信する物はすべてプロセス間通信だろ

809 名前:デフォルトの名無しさん (アウアウウー Sadd-g1CP) mailto:sage [2023/06/16(金) 10:04:28.26 ID:ly+Q1cW8a.net]
RPCとSocketIOを会話上で使い分けたいって意味かな

810 名前:デフォルトの名無しさん (ササクッテロラ Sp05-mItu) mailto:sage [2023/06/16(金) 10:39:19.11 ID:ZjNkxhYgp.net]
いやいや実態が同じでも目的が違うだろ



811 名前:デフォルトの名無しさん (スフッ Sd33-pDI4) mailto:sage [2023/06/16(金) 12:48:25.83 ID:AFoiPDKcd.net]
ほらね
https://futureys.tokyo/what-happens-when-commit-large-file-on-git/

812 名前:デフォルトの名無しさん (オッペケ Sr05-VFpa) mailto:sage [2023/06/16(金) 13:37:11.38 ID:JZEl94b2r.net]
やっぱ Mercurial だな。

813 名前:デフォルトの名無しさん (ワッチョイ b178-2rqm) mailto:sage [2023/06/16(金) 17:03:12.15 ID:kBMaOVut0.net]
bazaar だろ

814 名前:デフォルトの名無しさん (ブーイモ MMeb-BK+T) [2023/06/16(金) 17:19:58.24 ID:wS8/ZvHAM.net]
>>797
どういうプロトコルでのプロセス間通信?

815 名前:デフォルトの名無しさん (アウアウウー Sadd-8W7i) mailto:sage [2023/06/16(金) 17:58:26.69 ID:xumbESuca.net]
>>803
サイズのことなら後で最適化されるぞw

816 名前:デフォルトの名無しさん (スップ Sd33-h5Ja) mailto:sage [2023/06/16(金) 20:02:10.64 ID:BdjqvBhXd.net]
そういえば、IpcServer使ってる。
ちゃんと動いてるし、もう、変えたくないわぁ

817 名前:デフォルトの名無しさん (スップ Sd33-h5Ja) mailto:sage [2023/06/16(金) 20:06:39.73 ID:BdjqvBhXd.net]
ぎりぎりまで、.netcore系には移りたくないね

818 名前:デフォルトの名無しさん (オッペケ Sr05-Cr01) [2023/06/16(金) 22:22:57.11 ID:koUma95Nr.net]
既存のアプリケーションを移行したくないのはわかる
けど、null不許容参照型が使えないのはいまどきあり得ない

819 名前:デフォルトの名無しさん (ワッチョイ 1379-hEWj) mailto:sage [2023/06/16(金) 23:36:36.10 ID:sUccxFc+0.net]
これだからフレームワークありきの環境はダメなんだよ
やっぱC/C++しか信じられん!…ってなるのぉ?

820 名前:デフォルトの名無しさん (ワッチョイ 79ac-t2KC) mailto:sage [2023/06/17(土) 01:27:12.96 ID:96RBnRrs0.net]
金無限にあるならともかく、現実はフレームワーク使わんと採算とれないことがそこそこある



821 名前:デフォルトの名無しさん (ワッチョイ a2bd-L1I+) mailto:sage [2023/06/17(土) 05:59:53.37 ID:3A62XWi80.net]
>>798
「リモート処理」って訳されていて最初ピンとこなかったけど、
英語ページを見たらやっぱり.NET Remotingのことなのね。

822 名前:デフォルトの名無しさん (ワッチョイ b1e5-C6j3) mailto:sage [2023/06/17(土) 08:16:10.20 ID:uo5kyeT50.net]
>>810
警告がうざったい……

823 名前:デフォルトの名無しさん (ワッチョイ b6da-RnTl) mailto:sage [2023/06/21(水) 22:15:02.05 ID:hW8H2hzX0.net]
コンパイラのnullチェックもLinq to SQLが混じるとうまく働かないね。
まぁ限界があるのは分かる

824 名前:デフォルトの名無しさん (ワッチョイ d242-C6j3) mailto:sage [2023/06/22(木) 01:03:28.84 ID:AGxh0AyX0.net]
Linq To SQLは大昔に終わっているからうまく動かないかもな

825 名前:デフォルトの名無しさん (ワッチョイ 3274-hrKI) [2023/06/22(木) 04:35:53.17 ID:CPcSxaDF0.net]
わたしは今からLinq To SQLを勉強しようといろいろ川俣の本を買ったのですが。

826 名前:デフォルトの名無しさん (ワッチョイ 8554-dYQK) mailto:sage [2023/06/22(木) 05:01:31.04 ID:Xft5ksI80.net]
自分自身にとって明確な理由やメリットがあって勉強するならいいと思う。
理由もなく、存在を知ったから目的ないのに勉強するというなら勉強不要。

たとえ話になるけど、ガチでプロ選手目指す野球少年なら野球の練習する意味あるけど、
大谷の話題で野球に興味持ったニワカが、目的なく練習しても意味ないでしょ。

827 名前:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi) mailto:sage [2023/06/22(木) 05:23:50.74 ID:fUhg+N3Z0.net]
そうでも無いやろ

プロになる気が無くても野球やってみたら才能がある事に気付いたとかあるやん
プロの選手だって高校までは別の競技やってたとか2つ同時にやってたとかあるやん

828 名前:デフォルトの名無しさん (ワッチョイ f642-C6j3) mailto:sage [2023/06/22(木) 07:28:29.12 ID:oInj3jkO0.net]
勉強するならLinq To SQLより後継のefやる方が賢いとは思う
具体的な仕事があるなら別だが

829 名前:デフォルトの名無しさん (ワッチョイ 6107-Tk+b) mailto:sage [2023/06/22(木) 07:31:19.22 ID:U7fCu9Ru0.net]
efはefで欠点多いからなぁ
自分で選べるならDapperが最強

830 名前:デフォルトの名無しさん (ワッチョイ ad7c-ZjIi) mailto:sage [2023/06/22(木) 09:08:14.28 ID:fUhg+N3Z0.net]
WebなんかでステートレスならDapperで良いけどデスクトップアプリなんかでステートフルならEFの変更追跡なきゃだるいやん

用途で選べばいいんだよ



831 名前:デフォルトの名無しさん (アウアウウー Sacd-Tk+b) mailto:sage [2023/06/22(木) 09:21:07.30 ID:8AaELlpYa.net]
変更追跡が役に立つ場面なんてほぼ無いよ
速度は無茶苦茶遅いし
どうしても追跡したいならDapperで使うクラスに変更通知やIEditableObjectでも仕込んでおいたほうがいい

832 名前:デフォルトの名無しさん (スッップ Sdb2-6ESG) mailto:sage [2023/06/22(木) 13:34:23.63 ID:iyk8obpJd.net]
そろそろ的外れなたとえ話は罪に問えるようにするべきだな

833 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 20:47:23.54 ID:BdypaOA90.net]
visual studioのformでプロジェクトデザイナーの設定settings.settingsでint型の配列を使いたいん
[10]個ぐらいなんですけど、windowsFormでいい設定の保存方法ありますか?

834 名前:デフォルトの名無しさん (ワッチョイ 0610-Mrss) mailto:sage [2023/07/07(金) 22:10:36.42 ID:VQ1+4DlV0.net]
>>825
デザイナーからじゃなくて直接Properties/Settings.settings/Settings.Designer.csに書けばいけるよ
でもデザイナ触るとcs上書きされるからまた追記しないといけないけどね
https://ideone.com/tJGGHq

835 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 22:51:58.76 ID:BdypaOA90.net]
>>826
さんくすです、デザイナーをいじらずListを追加するんですね
Settings.Designer.csを書き換えたことをどこかに書いとかないとダメですね []
[ここ壊れてます]

837 名前:デフォルトの名無しさん (アウアウウー Sabb-DX8j) mailto:sage [2023/07/07(金) 23:11:34.06 ID:G77vHYnia.net]
なんでpartialクラス使わねーの?

838 名前:デフォルトの名無しさん (ワッチョイ 22ea-hRAP) mailto:sage [2023/07/07(金) 23:28:40.56 ID:BdypaOA90.net]
>>828
Settings.csの partial class Settingsを使えってことでしょうか?

839 名前:デフォルトの名無しさん (アウアウウー Sabb-DX8j) mailto:sage [2023/07/07(金) 23:43:30.04 ID:G77vHYnia.net]
>>829
そっちが人間が書き換える用のファイル

840 名前:デフォルトの名無しさん (ワッチョイ 9fea-kkOg) mailto:sage [2023/07/08(土) 08:13:42.94 ID:91Ogp97S0.net]
>>830
サンクスですSettings.csに書けば上書きされないってことですね



841 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 13:11:44.65 ID:Dnv+EbFzd.net]
通知領域のアイコンをクリックすると現れるメニューを複数列にしてみたいです
こういう場合は自作コントロールを作成する必要があると考えればよいですか?
この辺は未経験なので自分にはハードル高そうですが

昔から使わせて頂いてるMr.Clipboardというソフトウェアに類似するものを作ることが目標です。

842 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 13:23:58.06 ID:Dnv+EbFzd.net]
ん~contextMenuStripとかをいじって自作コントロールを作るという高いハードルを越えるより
通知領域アイコンをクリックした時に、メニューに似せたフォームが、ちょうどメニューが表示されるような位置に現れるようにしたほうがいいのかな・・・実現可能性は高そう

Mr.Clipboardの作者さんはどうやってこういうものを作ったんだろう

843 名前:デフォルトの名無しさん (オッペケ Sr0b-kkOg) mailto:sage [2023/07/09(日) 14:28:31.42 ID:qTcsfTmnr.net]
古そうなソフトウェアだから
そもそもContextMenuStripじゃなくてContextMenu(=COMCTL32)を使ってるんじゃないかな
使ったことないから知らんけどひょっとしたら何かデフォルトで2列表示できる機能が備わってたりして

844 名前:デフォルトの名無しさん (スッップ Sdbf-CFBc) mailto:sage [2023/07/09(日) 15:40:32.78 ID:Dnv+EbFzd.net]
>>834
ありがとうございます
画像貼れればいいのですが規制されててダメなんですごめんなさい

Mr.Clipboardを自分のPCで今使っているのですが、通知領域のアイコンをクリックすると、10列表示されます。
文字列を登録することができるのですが、登録数をふやすほど列も増えていく仕様なんです
列数だけではなく、1列当たりの行数なども柔軟に扱えないと実現できないのかなと思ってます。

一応>>833の方向性でやってみることにしました
継承やらオーバーライドやら試してみたい気持ちもあったのですが、.そもそもNETのソースコードを正しく読み解く自信が・・・

845 名前:デフォルトの名無しさん (ワッチョイ 3768-rqKn) mailto:sage [2023/07/09(日) 16:18:02.54 ID:rFc2qelE0.net]
現在進行形でC#の仕事してるけどプログラミングよりもgitとかのほうが難しい
マーキュリアル開いて出てきたMQ パッチ適用がどうたらって何のこと?

846 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/09(日) 16:26:49.16 ID:W7Z8cVLl0.net]
Git の質問かと思ったら、マーキュリアルの話始めたり
精神分裂症かな

847 名前:デフォルトの名無しさん (ワッチョイ 9701-xBPm) mailto:sage [2023/07/10(月) 01:02:30.69 ID:qL1vqKUB0.net]
混在してるか移行中のPJで初心者故に両者がごっちゃになってるだけだとエスパーしてみます

848 名前:デフォルトの名無しさん (スップ Sd3f-mu37) mailto:sage [2023/07/10(月) 07:18:29.54 ID:BXZpIYtLd.net]
単に物を知らないのをバカにしたいだけで本気で精神分裂症とは思っとらんだろ

849 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 09:42:06.39 ID:zUnHM/go0.net]
C#ってプロジェクトを作らないとコンパイル出来ないんでしょうか?
main関数のあるHelloWorld.csだけでコンパイルするのは無理?

850 名前:デフォルトの名無しさん (ワッチョイ f7c6-knyK) mailto:sage [2023/07/10(月) 09:50:21.18 ID:jFNuf9xo0.net]
csc.exeを直接実行すれば*.csだけでもコンパイルできるよ
Linux向けとかはどうか知らないけど



851 名前:デフォルトの名無しさん (ササクッテロラ Sp0b-JJLP) mailto:sage [2023/07/10(月) 10:13:07.78 ID:bDJ4URo4p.net]
>>840
C#がインタプリタ的に使えるのって案外知られて無いんだなぁ

852 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 10:33:54.46 ID:zUnHM/go0.net]
>>841
Linuxには無さげですね
dotnetコマンドでも無理そう

853 名前:デフォルトの名無しさん (ワッチョイ 9f80-KChr) mailto:sage [2023/07/10(月) 10:59:12.77 ID:zUnHM/go0.net]
>>842

dotnet-repl を入れたら実行結果の確認は出来るようになった
ありがとう

854 名前:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o) mailto:sage [2023/07/10(月) 12:41:26.24 ID:h4a2e+7ia.net]
シェルスクリプト代わりにするならC#使うよりPowerShellの方が便利だから
batはそろそろ滅べ

855 名前:デフォルトの名無しさん (ワッチョイ bf79-CBkq) mailto:sage [2023/07/10(月) 12:44:12.34 ID:pvSg+WfU0.net]
powershellでええやん

856 名前:デフォルトの名無しさん (アウアウクー MM0b-xBPm) mailto:sage [2023/07/10(月) 13:19:11.50 ID:otun5GpPM.net]
batとの互換性が中途半端なのがイラつきますけどね

857 名前:デフォルトの名無しさん (アウアウウー Sa9b-Pj0o) mailto:sage [2023/07/10(月) 14:17:36.82 ID:h4a2e+7ia.net]
batみたいな化石との互換性なんか要らんだろ
PowerShell使えばC#もそのまま動くぞ
https://codezine.jp/article/detail/5007

858 名前:デフォルトの名無しさん (ブーイモ MM8f-9ZAg) mailto:sage [2023/07/11(火) 22:56:21.27 ID:0HX/1I5LM.net]
talkで質問集まってるみたいだから向こうに行くかな

859 名前:デフォルトの名無しさん (スププ Sdbf-1L5A) mailto:sage [2023/07/12(水) 01:00:39.52 ID:WP87K7PTd.net]
おう、二度と戻ってくるなよ

860 名前:デフォルトの名無しさん (オッペケ Sr0b-B87o) mailto:sage [2023/07/14(金) 11:09:10.37 ID:SW9fkks0r.net]
少しはここもまともになるかな



861 名前:デフォルトの名無しさん (オッペケ Sr0b-jHc6) mailto:sage [2023/07/14(金) 11:21:59.88 ID:gWjfvyvyr.net]
プログラム板住人誰も移住してなさそうだから変わらないんじゃない?

862 名前:デフォルトの名無しさん (ワッチョイ 7f2d-/79E) mailto:sage [2023/07/14(金) 11:29:58. ]
[ここ壊れてます]

863 名前:62 ID:FrJI/jtz0.net mailto: あっちはスレッドだけ出来てて中身が空なのばっかりじゃん
C#関連スレは全て1件もレス付いてない
[]
[ここ壊れてます]

864 名前:デフォルトの名無しさん (オッペケ Sr0b-WUNe) mailto:sage [2023/07/14(金) 13:15:57.44 ID:o+Lvn4Uxr.net]
jane styleってC#で開発したって聞いたが勘違いかな

865 名前:デフォルトの名無しさん (ワッチョイ 57a7-xgtz) mailto:sage [2023/07/14(金) 13:19:10.56 ID:0qf2Hag/0.net]
Delphiだから勘違いだね
Delphiの発明者が後のC#の発明者と同一人物だからそういう勘違いが生まれたのでは

866 名前:デフォルトの名無しさん (スププ Sdbf-Gz7C) mailto:sage [2023/07/14(金) 17:53:33.20 ID:L1fXIk/+d.net]
発明されたんだ

867 名前:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) [2023/07/15(土) 12:52:20.24 ID:x4tryG3A0.net]
初心者です。
非同期メソッドにCancellationTokenを渡して、エラーハンドリングを行う必要があることを知りました。CancellationTokenSourceからCancellationTokenを作成して、非同期メソッドに渡していくところまではできました。ただ、ネストが深い非同期メソッド内でトークンをキャンセルしたいときに、どのようにキャンセルすれば良いのか分からない状況です。
非同期メソッドからCancellationTokenSourceのCancelメソッドはどのように呼べば良いのでしょうか。

868 名前:デフォルトの名無しさん (ワッチョイ 665f-bpoS) mailto:sage [2023/07/15(土) 12:56:18.34 ID:IVtLjRqQ0.net]
【えっ】Perlに未来はあるのか?【終わり?】

869 名前:デフォルトの名無しさん (JP 0H62-9/0y) mailto:sage [2023/07/15(土) 13:15:08.16 ID:KExn0jd0H.net]
トークンをキャンセルする権限を持ってるのは非同期処理側じゃなくて呼び出し元だと思うんだけど・・・
(だからcancellationTokenSourceを持ってる人だけがCancel()を実行できる)

呼び出し元から指図されたわけじゃないけど自発的にキャンセルしたいってことなら
throw new OperationCanceledException(token)
とでもすればいいんじゃないかな

870 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/15(土) 13:42:20.93 ID:m7eEyKEv0.net]
それはtokenの状態と整合性取れないし不自然だろう
普通に(キャンセルしたいと判断した)要因に合った例外使えば済む話だ



871 名前:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) [2023/07/15(土) 15:05:06.38 ID:x4tryG3A0.net]
>>859
>>860
ご回答ありがとうございます。
awaitしている非同期メソッド内で例外を投げて、呼び出し元でcancellationTokenSource.Cancelしてキャンセルする、というのはできました。
ただ、awaitしない非同期メソッド内で例外を投げてもcatchできず、呼び出し元でcancellationTokenSource.Cancelできない状況です。
awaitして、非同期メソッド内で例外を投げて呼び出し元でキャンセルするしかないのでしょうか。

872 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/15(土) 16:17:24.24 ID:m7eEyKEv0.net]
>>861
awaitしない非同期メソッドのタスクにContinueWith()で後続タスクを作って、その中でキャンセルかな。
後続タスクの実行条件はConinueWith()の引数にTaskContinuationOptionsを指定すれば変更出来る。
(エラーが起きた時のみ実行するとか)

873 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/15(土) 17:39:44.49 ID:q/a2phH1d.net]
windowsアプリ作る時にform2の幅をコンストラクタ内で指定しても
136未満だと勝手に136に広げられてしまうんだね
知らなくて原因究明するのに時間かかった

874 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/17(月) 11:07:42.07 ID:fKATz6pi0.net]
MinimumSizeにそう設定されてるだけでは

875 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/17(月) 12:47:25.02 ID:oq1oEUQ30.net]
>>863
FormBorderStyleプロパティがNone、ToolWindow系、その他で幅が変わるね。
ToolWindowだとタイトルバーに表示されるボタンの有無でもちょっと変わって、
ControlBox = falseの時が一番小さく出来る。
何故かNoneの時が一番大きくなる。

>>864
MinimumSizeがSize(0,0)でもなる

876 名前:デフォルトの名無しさん (ワッチョイ 3210-2eqx) [2023/07/17(月) 21:11:29.34 ID:hjrHtCYP0.net]
自作クラスのインスタンス化したときに、
そのインスタンスのプロパティを設定するやりかた? を教えてください。
うまい言い方ができないので、例を示します。
自作クラスで
class Square
{
double width
double height
}
があったとして、
 Square square = new Square(){width = 3, height =2}
としたならば、
 console.Writeline (square.ToString())
とすると
 6
 と表示されるようなイメージです。
何がしたいのかというと、 IPropertyChanged を使って、中の 
プロパティが変化したときに、square が変わったということを認知したいのです。

877 名前:デフォルトの名無しさん (ワッチョイ 3279-EJzg) mailto:sage [2023/07/18(火) 02:03:58.47 ID:BpIlHiPB0.net]
Writelineで6を表示したければToStringをoverrideしてやればいいだろうまでは思いましたが
貼られたコードと「何がしたいのかというと」が全く繋がってなくて、恐らくこれは誰も質問を理解できてない状況ではないでしょうか
私の感想としてはIPropertyChangedとやらを使いたければ使えばいいだけの話ではないでしょうか

878 名前:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) mailto:sage [2023/07/18(火) 02:28:36.72 ID:GDp0BnYT0.net]
例には書いてないけどIPropertyChangedイベントを購読して、イベントが来たらConsole.WriteLine()するんでしょう
で、IPropertyChangedの実装方法が知りたいと


public class Square : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
private void SetProperty< T >( ref T field, T value, [CallerMemberName]string propertyName = null )
{
if ( field.Equals( value ) )
{
return;
}
field = value;
PropertyChanged?.Invoke( this, new PropertyChangedEventArgs( propertyName ) );
}

private double _width;
public double Width
{
set => SetProperty( ref _width, value );
get => _width;
}

private double _height;
public double Height
{
set => SetProperty( ref _height, value );
get => _height;
}
}

879 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/18(火) 08:44:49.63 ID:3b5O2M5n0.net]
>>863 >>865
なんか頭の中で136ってもっとおっきいイメージになってた、すまないw
アイコンやコントロールボタンが表示できる最低サイズだったね
面白いことに、FormBorderStyle=Noneの時に
コンストラクタでどんだけ小さいWidth指定しても136になるけど
その後でShown等のフォームが生成された後の時点でWidth指定すると2までは縮まるんだな
SizableとかだとShownでやっても136になるけど

880 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 10:03:44.12 ID:W6YFjoCEd.net]
>>865
>>869
はーやっぱり知識ある人は知ってるんですねー
こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ

まったく別の話なんですけど、
今これ>>832作ってて面白いこと気づきました

MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか
e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど
bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定
んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた!

ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。
今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった



881 名前:デフォルトの名無しさん (スププ Sd94-uP9V) mailto:sage [2023/07/18(火) 10:04:51.17 ID:5Ch5Zuv0d.net]
>>867
>>868
ありがとうございます
質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。

public class Hoge :IpropertyChanged
{
public Square square


}
とした時に
squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です
SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい

882 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/18(火) 10:25:56.29 ID:3b5O2M5n0.net]
>>870
何のMouseClickイベントのこと?
FormやNotifyIconのMouseClickイベントならe.Button使えるはずだけど

883 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 11:52:13.49 ID:W6YFjoCEd.net]
>>872
今いろいろ確認して、間違えてたことが分かりました
ごめんなさい

複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。
この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。
e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした

ふぅ・・・何やってんだか・・・

884 名前:デフォルトの名無しさん (スッップ Sd94-XM1G) mailto:sage [2023/07/18(火) 12:01:06.39 ID:W6YFjoCEd.net]
MouseDown使わないといけないのはVBAでした
知識がぐちゃぐちゃになってました

885 名前:デフォルトの名無しさん (ワッチョイ e979-9/0y) mailto:sage [2023/07/18(火) 13:43:10.65 ID:hAXktsXG0.net]
赤あげて、白あげて、白下げないで、赤下げる♪

左押して、右押して、右離さずに、左離す♪

886 名前:デフォルトの名無しさん (ワッチョイ 73ae-/jfo) [2023/07/18(火) 14:42:32.76 ID:INtka+wY0.net]
VBAはVB.netに仕様変更する気が無いんだろうな・・・

887 名前:デフォルトの名無しさん (ワッチョイ a6cd-LhHw) mailto:sage [2023/07/18(火) 15:08:54.43 ID:ss/yk/UI0.net]
vb6言語より環境が古くさすぎて触るきにならん
出力して、vscodeでやって取り込みもあるけどいまいち

888 名前:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq) mailto:sage [2023/07/18(火) 16:00:19.51 ID:zVxGTRP30.net]
>>871
細かいけどINotifyPropertyChangedじゃない?
SquareにINotifyPropertyChangedを実装して、
Hogeの方でこういう風に
Square square {
get { return _square; }
set {
if (_square is not null) _square.PropertyChanged -= OnSquareChanged;
this._square = value;
if (value is not null) _square.PropertyChanged += OnSquareChanged;
}
}
void OnSquareChanged(object sender, PropertyChangedArgs e) {
this.OnPropertyChanged(nameof(this.square));
}

889 名前:デフォルトの名無しさん (ラクッペペ MM34-iMTa) mailto:sage [2023/07/18(火) 16:06:27.35 ID:vLiOabGzM.net]
VBA - VisualBasic
https://learn.microsoft.com/ja-jp/office/vba/library-reference/concepts/getting-started-with-vba-in-office

Office add-ins - C#
https://learn.microsoft.com/ja-jp/office/dev/add-ins/overview/office-add-ins

Vsto - C#
https://learn.microsoft.com/ja-jp/visualstudio/vsto/create-vsto-add-ins-for-office-by-using-visual-studio

Office Scripts - TypeScript(JavaScript)
https://learn.microsoft.com/ja-jp/office/dev/scripts/overview/excel

890 名前:デフォルトの名無しさん (ワッチョイ d010-uD+5) mailto:sage [2023/07/18(火) 17:40:37.17 ID:HtITPTeb0.net]
871が言ってる値が何のことかよくわからないな
>square自身に値を持たせる方法



891 名前:デフォルトの名無しさん (スップ Sd00-IoCj) mailto:sage [2023/07/18(火) 17:59:36.33 ID:uMqw2ex7d.net]
まず環境書けとか色々突っ込み所がありすぎて暑いしで萎えた
おまえら頑張れよ

892 名前:デフォルトの名無しさん (ワッチョイ f62f-NBo5) mailto:sage [2023/07/18(火) 21:18:14.67 ID:ZtgGANuh0.net]
>>871
俺がエスパー回答してやる

Hoge のコンストラクタでsquareをnewする
Square をクラスじゃなくて構造体にする

好きなほうを選べ

893 名前:デフォルトの名無しさん (オイコラミネオ MM71-9/0y) mailto:sage [2023/07/18(火) 22:23:27.30 ID:5UWIDgazM.net]
お前らも含めてだが…基本的なことを勘違いしてるんだろう
IpropertyChangedが必要なのかも怪しいがそれは置いておく

通常似た様なものがあった場合
面積に相当するAreaプロパティが設定されている
binding対象はHoge.Square.Areaに普通はする

さて、
WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる
WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ

894 名前:デフォルトの名無しさん (オイコラミネオ MM71-9/0y) mailto:sage [2023/07/18(火) 22:33:21.86 ID:5UWIDgazM.net]
Squareの値は各種プロパティを持ったオブジェクト自体でありそれを面積とみなすのはおかしいと言うこと
ToString()をoverrideして面積を出すも間違っている

ToString()で出すのは
四角形 幅:3 高さ:4 面積:12
と言う各種情報

895 名前:デフォルトの名無しさん (ワッチョイ 3210-NBo5) [2023/07/18(火) 23:28:46.06 ID:HED9e7490.net]
>>882
エスパー ありがとうございます。
square を 構造体にかえて 今までやりたかったことが解決しました。
>>883 ,>>884  ありがとうございます。
勉強になりました。

896 名前:デフォルトの名無しさん (ワッチョイ 52da-0QNR) mailto:sage [2023/07/19(水) 12:26:43.18 ID:DPJDdup00.net]
Func<T, bool>を受け取る引数にPredicate<T>を渡せないのは何故でしょうか?

897 名前:デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq) mailto:sage [2023/07/19(水) 13:17:55.70 ID:rfnRytk30.net]
型が違うから

class Hoge { public string Piyo; }
class Fuga { public string Piyo; }
と同じメンバを持った2つのクラスがあっても
void Test(Hoge hoge) { ... }
にFugaを渡せないのと同じ

898 名前:デフォルトの名無しさん (ブーイモ MM69-IGBM) [2023/07/19(水) 13:33:43.83 ID:Iak4bgJxM.net]
hoge(pred.Invoke)で渡せる

899 名前:デフォルトの名無しさん (ワッチョイ 52da-0QNR) mailto:sage [2023/07/19(水) 13:52:39.72 ID:DPJDdup00.net]
なるほど。
Predicate<T>ってFunc<T, bool>のシンタックスシュガーかと勝手に勘違いしてましたが、完全に別の型ってことですね。

ありがとうございます

900 名前:デフォルトの名無しさん (ワッチョイ ce6e-rP6O) mailto:sage [2023/07/20(木) 19:04:03.42 ID:oZtgKOtx0.net]
非同期処理について質問です。業務でWPFいじってるんですけど

1 起動画面→2 起動画面表示してる間に重い処理とか色々→3 ログイン画面→4 メイン画面

という流れになっています。それで重い処理の部分がtask runになっていてあぁ非同期処理ってやつかと
なんですがやたら起動画面が長いんです。デバッグしてみるとその重い処理が実行されてるとき他の処理は実行されてなくて
結局普通に1〜4が一直線に進んでるだけじゃない?と

自分の理解だと非同期ってその処理をどっか他の場所でやっといてもらってそれ以外は全部通常通りに流れると
この場合だとたとえば3や4のウインドウが出る処理が進んでいってもその裏で重い処理をやってるみたいな
2の部分が短くなるから起動画面も当然短くなるはずだろ……と思ってたんですが

非同期ってそういうもんじゃないんでしょうか



901 名前:デフォルトの名無しさん (ワンミングク MM9b-Q4Hq) mailto:sage [2023/07/20(木) 20:07:28.14 ID:4+aEc/KWM.net]
ただ固まらないように使ってるだけじゃないの

902 名前:デフォルトの名無しさん (スップ Sd00-m3tO) mailto:sage [2023/07/20(木) 20:07:31.46 ID:GDwei+myd.net]
2の重い処理でUIスレッドを使っていて、
3ログイン画面でもUIスレッドを使うので、
3のレンダリングが遅延しているのかも

と、先生は仰っている

903 名前:デフォルトの名無しさん (ワッチョイ b6d6-2eqx) mailto:sage [2023/07/20(木) 20:29:02.94 ID:etRvguBb0.net]
たぶん2の実行中に1が固まらない(アニメーションしたりマウス操作等に反応する)ようにしてるだけだな
2が完了したら3って仕様なんだろ

904 名前:デフォルトの名無しさん (ワッチョイ 56bd-rqn1) mailto:sage [2023/07/21(金) 00:30:10.37 ID:3tiQJRjE0.net]
その重い処理というのは、ログイン画面やメイン画面までに完了させる必要のない処理なの?

905 名前:デフォルトの名無しさん (オイコラミネオ MM71-rqn1) mailto:sage [2023/07/21(金) 01:04:23.20 ID:i7pkSIZ0M.net]
普通だろ

2で初期化
それが終わらないとログインすらさせない
当たり前

非同期はいわゆる並列処理ではない
処理してる間にGUIが固まらないようにしてるだけで

906 名前:デフォルトの名無しさん (ワッチョイ 87e5-XQTJ) mailto:sage [2023/07/21(金) 08:46:35.27 ID:cgj6JgkV0.net]
起動時にまずスプラッシュ画面やら表示して裏で初期化処理ガーッとやってメイン画面が出てくるアプリケーション、ごまんとあるやろ

907 名前:デフォルトの名無しさん (オッペケ Src1-YWw1) mailto:sage [2023/07/21(金) 08:48:39.50 ID:EGVnYM7fr.net]
非同期処理って偉そうな名前ついてるけどUIが固まらないようにするためだけの存在なんだよな

908 名前:デフォルトの名無しさん (ブーイモ MMba-mCwd) [2023/07/21(金) 08:56:24.44 ID:eg4croCbM.net]
画面が固まってるかどうかってそんな大事なことか?

909 名前:デフォルトの名無しさん (ワッチョイ fe33-l/Dq) mailto:sage [2023/07/21(金) 09:12:44.39 ID:1a+dN6EZ0.net]
”応答なし”って表示されるかどうかは一般利用者にとっては大きな違い

910 名前:デフォルトの名無しさん (ラクッペペ MM34-+gOE) mailto:sage [2023/07/21(金) 09:46:52.31 ID:OOKalSboM.net]
改善したいなら「重い処理」を並列に 分解するぐらいかな?
対して変わらんどころか遅くなるだろうけど



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

LinkedList<byte> LLBuffer = new LinkedList<byte>();
SerialPort sp = new SerialPort();
byte[] buf = Encoding.ASCII.GetBytes(sp.ReadExisting());

foreach(byte b in data)
LLBuffer.AddLast(b);

967 名前:デフォルトの名無しさん (ワッチョイ 0ba7-4FLK) mailto:sage [2023/08/03(木) 11:06:07.21 ID:L6gOIzTH0.net]
>>955
単なる生バイト配列が欲しいんだったらEncoding.ASCII.GetBytes(sp.ReadExisting())は二重に無駄な事してるから
var buf = new byte[1024];
int count = sp.Read(buf, 0, buf.Length);
for (int i = 0; i < count; ++i) LLBuffer.AddLast(buf[i]);

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

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

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



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

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

LANCとかやね

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

1012 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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