◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

ふらっと C#,C♯,C#(初心者用) Part158 YouTube動画>1本 ->画像>1枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1679783460/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (ワッチョイ fe7b-Nimo)
2023/03/26(日) 07:31:00.51ID:2LMOL5Ty0
!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
http://2chb.net/r/tech/1669349768/
■関連スレ
C#, C♯, C#相談室 Part97
http://2chb.net/r/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
2023/03/26(日) 13:05:39.10ID:14FiY4OPM
C#でググれって自己紹介なのに
しばらくC#でググっても上位に出て来なかったから焦ってるのか?
3デフォルトの名無しさん (スップ Sd62-M8+T)
2023/03/26(日) 13:34:29.41ID:tXMVQqKEd
やっぱりアンチじゃないですかー

999 デフォルトの名無しさん (オイコラミネオ MM49-3uzD) sage 2023/03/26(日) 13:01:14.46 ID:14FiY4OPM
単発うざすぎる
本人かよ
結局次スレのテンプレに入れてる
テンプレに入れても利用者は誰の得にもならないのに
4デフォルトの名無しさん (ブーイモ MM26-pkhP)
2023/03/26(日) 14:32:22.87ID:AZqv4ccCM
ここまで必死だと気持ち悪い
本人以外に考えられないよね
5デフォルトの名無しさん (ワッチョイ d2bd-uluY)
2023/03/26(日) 17:42:06.89ID:xVxTUxS70
匿名掲示板で本人認定するのって、20年前の話じゃないか
6デフォルトの名無しさん (オッペケ Srf1-3uzD)
2023/03/26(日) 20:08:58.07ID:rDmXEFHlr
atmarkitのC#入門・・・・はもうバージョンが古すぎて勧められないよなあ
書籍だと独習C#が定番だったなあ・・・・と検索したら第5版(2022/7)でC#10.0まで対応するアップデートが入ってるみたいだ
著者も信用できるし最新の「独習C#」を買って読むのがいいかな
ufcppはさすがに初心者には酷だとは思うけど否定されるべきサイトじゃないような
7デフォルトの名無しさん (ワッチョイ 426a-3Jul)
2023/03/26(日) 21:05:29.84ID:NpxeEyN90
古いと言えばdobonも古いよな
とはいえ、比較的新しい内容にまで追従していて初心者向けでそれなりに広範囲を網羅しているようなところが有るかといえば思いつかないが
8デフォルトの名無しさん (ブーイモ MM26-pkhP)
2023/03/26(日) 21:42:52.51ID:5JOAAmYfM
今はもう公式サイトが充実してるから言語を新しく学ぶ人はまず公式から
逆引き的な調べ方をするときだけ外部サイトで補完したほうがいい
9デフォルトの名無しさん (ワッチョイ 426a-3Jul)
2023/03/26(日) 21:55:31.79ID:NpxeEyN90
公式は機械翻訳がクソすぎるのがなぁ
初心者に英語力まで期待するのは酷ではなかろうか
10デフォルトの名無しさん (ワッチョイ c979-egTB)
2023/03/27(月) 00:54:34.52ID:ypfR6BT30
機械翻訳のせいで進めない自体になったことねぇわ
11デフォルトの名無しさん (ワッチョイ e95f-Czjb)
2023/03/27(月) 01:40:39.65ID:b0l2Peyd0
C#で書かれた、比較的著名なOSSプロジェクトって何がある?
活動が滞ってるものも含めて挙げてもらえるとうれしい(できればプロジェクトページへのリンク付きで)
12デフォルトの名無しさん (ワッチョイ 9901-wUZC)
2023/03/27(月) 02:14:06.44ID:SicRvVGw0
またお前か
13デフォルトの名無しさん (スーップ Sd62-cJnU)
2023/03/27(月) 19:16:40.86ID:RuCYY04Cd
Bingチャット便利だね。ファイル整理とか言葉通りにすぐロジック組んでくれるし。
言い間違えたのか、無限にサブフォルダ掘られたことあったけど。
14デフォルトの名無しさん (ササクッテロラ Spf1-wUZC)
2023/03/27(月) 19:57:46.20ID:nOVTz35cp
ファイル整理って何をすることなの?
15デフォルトの名無しさん (スーップ Sd62-cJnU)
2023/03/27(月) 20:09:26.13ID:RuCYY04Cd
>>14
テキストファイルの中身に応じてファイル名を付け直したりフォルダを移動したり。
16デフォルトの名無しさん (ワッチョイ 45e4-z+CU)
2023/03/27(月) 22:01:14.56ID:dHqJNHXN0
何年か前に独習買ったけど興味のあるところだけ読んだだけで7割くらいは手付けてないな
ちゃんと読んだら勉強になるんだろうけどあの分厚さを前にすると気が進まない
17デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
2023/03/28(火) 00:47:21.91ID:pwf3y6wyM
独習よりatmarkitのC#入門の方が合う人も多数いると思う
古いから現状にあってない場所が多いけど基本的な考えは違っていないと思う

書いてあることをそのまま読み進めるか誘導されて何か感じるかと言う面で違いがある
前にも書いたけど何冊も読めばいいと思う
18デフォルトの名無しさん (オッペケ Srf1-T1iO)
2023/03/28(火) 01:39:12.84ID:XplxSxwAr
なんでこの子は未確認飛行にだけ当たりが強いのかね
不思議
19デフォルトの名無しさん (ワッチョイ d2bd-uluY)
2023/03/28(火) 06:58:33.53ID:8x+Qo82z0
どの本を読んでもどのサイトを読んでもいいけど、
安易にプログラミング言語学習サイト?と高額契約をしないようにね。
どんなのか知らんけど。
20デフォルトの名無しさん (ワッチョイ 2e10-wSlO)
2023/03/28(火) 06:58:57.22ID:u3ImWfVR0
思い込みの強い子なんだろう
21デフォルトの名無しさん (ワッチョイ 4201-NJwN)
2023/03/28(火) 10:07:29.75ID:fedCMYV90
>>11
著名なOSSってほぼ完成してるからなぁ
個人的に欲しいのはOpenTKのWinUI対応だったりかなぁ
https://github.com/opentk/opentk
22デフォルトの名無しさん (スップ Sd62-M8+T)
2023/03/28(火) 15:57:24.36ID:VZEZBvEld
オイコラは未確認飛行に何か恨みを持っていて敵視してるフシがある
妙に感情的になるし
23デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
2023/03/28(火) 19:36:33.78ID:hi78eiG+M
webランク上げすんなよw
24デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
2023/03/28(火) 19:39:32.97ID:hi78eiG+M
++ c++になにも恨みはないよ
なぜか急に不必要に持ち上げる人間が急に出てきたのがキモイだけ
信者が出るようなサイトじゃないのに

がつがつワード出てくるしランク上げしてんのかと思うわ
本当に馬鹿らしい
25デフォルトの名無しさん (ササクッテロラ Spf1-wUZC)
2023/03/28(火) 19:51:13.78ID:fqy2U+UFp
いや明らかにお前の方がキモい
不必要にサゲようとする明確な意思を感じる
26デフォルトの名無しさん (ワッチョイ 4d42-3uzD)
2023/03/28(火) 20:01:09.83ID:AImc2+ci0
初心者しかWEB見ないという前提なんだろうか?
27デフォルトの名無しさん (スップ Sd62-M8+T)
2023/03/28(火) 20:32:05.53ID:VZEZBvEld
これが持ち上げランク上げとか認知バイアスにも程がある
アンチが出るようなサイトじゃないのに不思議
28デフォルトの名無しさん (ワッチョイ e95f-RqUa)
2023/03/28(火) 21:05:53.00ID:qqfu2Biw0
不必要に持ち上げてるように見えてるだけだろ。
29デフォルトの名無しさん (ワッチョイ e12d-JnmT)
2023/03/29(水) 05:46:59.03ID:iyrXPlc80
ufcppだけで0から学べるだろ
30デフォルトの名無しさん (ワッチョイ 49e5-wSlO)
2023/03/29(水) 08:32:42.86ID:eQpjbl980
>本当に馬鹿らしい
鏡見てどうぞw
31デフォルトの名無しさん (スップ Sdc2-M8+T)
2023/03/29(水) 16:36:19.86ID:nqaTcUCud
>>29
他言語をそこそこ扱えるならC#ではどう書くのか調べるにはいいと思うけど
プログラミング自体が初めてとかだとちときびしいかねぇ
入門とは銘打ってあるけども
32デフォルトの名無しさん (ワッチョイ 49e5-wSlO)
2023/03/29(水) 16:52:02.42ID:eQpjbl980
そんなド素人レベルだと>>1のどれ見ても無駄だと思う
33デフォルトの名無しさん (ワッチョイ 2ef2-uluY)
2023/03/29(水) 17:11:42.62ID:HnYXmqUq0
すみません、質問です
名前付きパイプを作りたいのですが下記のエラーが出てしまいます
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デフォルトの名無しさん (ワッチョイ 2e7b-Nimo)
2023/03/29(水) 20:04:16.04ID:LcQDukOu0
>>33
そのまま動かしてみたけどエラー再現しないなあ。learn.microsoftのサンプルで動いて自分のコードでエラー出るのならそこに書いてないusingの中身に問題があるのでは
35デフォルトの名無しさん (ワッチョイ d2bd-uluY)
2023/03/29(水) 22:54:15.98ID:q8lCl2vf0
>>33
俺もMicrosoftのコードをそのまま動かしたけど、例外が発生せず動作する。
Windows 11、Visual Studio 2022、Administrator、UAC昇格なし。

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

UnauthorizedAccessException と named pipe でぐぐったらちょっと引っかかるけど何か該当するのある?
36デフォルトの名無しさん (ワッチョイ 46bc-YxBq)
2023/03/29(水) 23:07:01.22ID:Mqqhb1VW0
"testpipe" を変更しても同じになるか、とか、テストしてる PC を再起動しても同じかとか、気になるかも。
37デフォルトの名無しさん (アウアウウー Saa5-+ld4)
2023/03/30(木) 01:52:26.63ID:9v5VPr0Ga
VSCode でもRuby とかやっていると、たまにある。
外部プログラムからフォルダへのアクセス禁止のダイアログが表示されて、それで許可する

VSCodeがバージョンアップされたら、また起こるのかも?
38デフォルトの名無しさん (ワッチョイ 2ef2-uluY)
2023/03/30(木) 06:33:08.35ID:kkhtfcLh0
>>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.88ID:snzoMESKM
>>38
>マニュアルにはあるんですがVS2022だとそんなクラスありませんとエラーになります
必要なassemblyが参照されてるかどうかを確認してみたら?
40デフォルトの名無しさん (ワッチョイ fd54-+95c)
2023/03/30(木) 15:06:07.07ID:WhgIs81G0
>>38
パーミッション関係ではない可能性も高いけど、VS Code を管理者権限で起動して試してみるとか?
※手間が少ないので提案
41デフォルトの名無しさん (スッップ Sd62-M8+T)
2023/03/30(木) 15:20:47.34ID:mJKS0zrLd
VSのバージョンを疑うよりはターゲットフレームワークやアセンブリ参照を確認するのが先決ではなかろうか
42デフォルトの名無しさん (ワッチョイ 49e5-wSlO)
2023/03/30(木) 16:11:20.51ID:AE9DWlm70
そもそもフレームワークのバージョン指定を何でやってるんだ?っていうのもあるけど
.NET Frameworkでも.NETでも基本セット内にあるアセンブリだから
普通にプロジェクト作成してたらあるはずだけどな
43デフォルトの名無しさん (ワッチョイ 49e5-wSlO)
2023/03/30(木) 16:14:04.93ID:AE9DWlm70
CoreとかStandardでやってる可能性?
こいつらにはPipeStreamはあってもPipeSecurityは無かった気がする
44デフォルトの名無しさん (アウアウアー Sad6-z+CU)
2023/03/30(木) 20:01:10.08ID:vNTBUBZQa
何聞いてもそれなりに知ってる人がいるのはやっぱ凄いなここ
45デフォルトの名無しさん (ワッチョイ be2d-+ld4)
2023/03/30(木) 21:15:23.20ID:CLZl5Xie0
PipeSecurityは.NET Core 2.1/2.2/3.0/3.1, .NET 5の場合は標準で入っていないから
nugetでSystem.IO.Pipes.AccessControlを入れる必要がある

learn.microsoft.comで適用対象が.NET Platform Extensionsになっているものはこのパターン
46デフォルトの名無しさん (ワッチョイ be2d-+ld4)
2023/03/30(木) 21:17:11.19ID:CLZl5Xie0
.NET 6以降はまた標準で入ってるよ
47デフォルトの名無しさん (ワッチョイ e510-JI+e)
2023/03/30(木) 21:47:27.26ID:PQ2EGsE80
UWPで作ってるんじゃないの
48デフォルトの名無しさん (ワッチョイ 3d07-+ld4)
2023/03/30(木) 23:08:36.03ID:9GC6l0iD0
すいません。どうしてもわからないところがあるので質問したいです
ヴィジュアルスタジオ2019つかっています
「開始」をクリックしてプログラムが実行はされるんですが、そのあと「続行」
という表示がでて、「開始」の表示が出てこず、プログラムを作成して実行することができません
どうすればよろしいでしょうか?
49デフォルトの名無しさん (ワッチョイ 426a-40X5)
2023/03/30(木) 23:16:09.92ID:AqWZdwW30
なんかエラー出て停まってるとか?
50sage (ワッチョイ 3d07-+ld4)
2023/03/30(木) 23:23:36.52ID:9GC6l0iD0
>>49
いや、プログラムの実行は成功していて、エラーが出てる様子はないですね
51デフォルトの名無しさん (ワッチョイ be2d-uhGV)
2023/03/30(木) 23:52:54.11ID:CLZl5Xie0
意図せずクリックしてブレークポイントが設定されてそこで止まってるんじゃないかな
再開を押してみたら
5233 (ワッチョイ 2ef2-uluY)
2023/03/31(金) 00:13:56.73ID:w3z1Snlm0
>>39-47
色々アドバイスありがとうございました
再起動では直らず、CLIで試したところ動きました

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

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

皆様、ありがとうございました!
53デフォルトの名無しさん (ワッチョイ 3d07-+ld4)
2023/03/31(金) 00:42:46.76ID:RPSTRQwt0
きのう、レスの番号が48だった者です。
解決しました。「ビルド」から「ソリューションのリビルド」をクリックした後、
画面の中央に{デバックを中止しますか?}というコメントが出て、「はい」をクリックしたら
「続行」から「開始」へと切り替わり、プログラム作成画面になりました。でも、なぜでしょうか?
54デフォルトの名無しさん (ワッチョイ 494f-+ld4)
2023/03/31(金) 04:34:09.75ID:gyiRYrVS0
以前に「開始」したプログラムがまだ終了してなかったから
55デフォルトの名無しさん (ワッチョイ 2e10-Jabn)
2023/03/31(金) 06:02:33.93ID:axb4XKnm0
アマゾンのKDPのダラダラ書いてあるC#とかの入門書に買う価値なしと☆1のレビュー付けたら著者が顔真っ赤にして開示請求されたわ
もちろん開示を断ったらそれまでだったが
56デフォルトの名無しさん (ワッチョイ ffa7-9P2W)
2023/04/01(土) 18:53:33.93ID:efFm48HR0
>>29>>31
正にプログラミング自体初心者だったときはufcpp筆頭にググって上位に出てくるサイトだけで習得余裕だったけどな
「いかがでしたでしょうか?」系のぺージはブラックリスト放り込んでたので必然的にほぼほぼufcppかdobonで学習していたが
57デフォルトの名無しさん (スッップ Sd9f-7hna)
2023/04/02(日) 10:28:56.98ID:JLr3Pvuvd
そりゃまあそういう人も中にはいるかもね
58デフォルトの名無しさん (ワッチョイ ffbc-Cn9/)
2023/04/02(日) 11:53:54.95ID:hVTPoi+J0
最近じゃ AI がかなりいい回答を出してくれるそうじゃない。
もうすぐ AI 自身がプログラムを組んでくれるようになるだろうから、それまで粋がってればいいじゃない。
59デフォルトの名無しさん (ワッチョイ df78-kVuH)
2023/04/02(日) 12:06:01.91ID:8yMDXZM90
出力結果が正しいかどうか判断できる能力がないと使いこなせないぞ
60デフォルトの名無しさん (ワッチョイ 5f5f-Fdr2)
2023/04/02(日) 12:21:03.35ID:8ArPExQV0
自然言語対話エージェントによって「ソフトウェア設計の外注・検収の粒度」が劇的に小さくなった(作業者と直で対話するレベルに降りてきた)だけであって、今までと同じく成果物の正当性を判断できない人に(外注は)は使いこなせない
61デフォルトの名無しさん (ササクッテロラ Sp33-Vyvl)
2023/04/02(日) 12:52:31.04ID:u6xNxXPcp
みずほの案件はAIにやらせた方が人的被害少なくていいかも
62デフォルトの名無しさん (ブーイモ MM4f-e2c1)
2023/04/02(日) 12:57:43.89ID:b86hlElpM
>>60
成果物の正当性を判断するテストや手順をAIに作らせることができるから使い手次第になるけど相当にハードル低いよ

自然言語で正確に要件が書けて
その要件をテストする方法を理解してればいい
テストといってもユーザーテストのレベルで概ね問題ない
63デフォルトの名無しさん (ワッチョイ 7fbd-icd+)
2023/04/02(日) 15:24:34.96ID:2lYBmHPa0
テストプログラムもAIに作らせるなら、それが正しいかは現状人間がチェックする必要があるな。
それをAIにやらせると、それをチェックするAIが必要になって収束しない。
64デフォルトの名無しさん (ワッチョイ 5f79-mXbH)
2023/04/02(日) 15:30:41.44ID:Rf8vlqHG0
ユーザ「操作もAIにやってもらうからどうでもええよ」
65デフォルトの名無しさん (ブーイモ MM4f-e2c1)
2023/04/02(日) 17:48:28.78ID:D0YauKDyM
>>63
段階的に抽象度があがるので発注者/要求者の理解できる範囲に収束させられる
やり方によって質の違いはでるけど広い分野で発注者/要求者が十分と思える質が出せるようになる
66デフォルトの名無しさん (ワッチョイ ff2d-wDYO)
2023/04/02(日) 17:50:37.49ID:8MKS+oyN0
似て非なるものが出来上がって来ることが多くてなかなか収集付かなそうだ
バグのある部分だけ修正とか器用なことは苦手なようだし
67デフォルトの名無しさん (ワッチョイ ffbc-Cn9/)
2023/04/02(日) 20:02:28.99ID:hVTPoi+J0
いや、それって現状もそうなんじゃないかと。

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

・・・とか言うことを以前にここだか他だかで書いたときの反応とまるで違うのが面白い。それだけ現実的になってきたってことかな。
68デフォルトの名無しさん (ワッチョイ 5f79-mXbH)
2023/04/02(日) 22:11:23.74ID:Rf8vlqHG0
>>67
無理無理
設計書すら満足に書けねえのが現実

実はプログラムってのは
脳みそなんか使う必要ない
考えなければならないとしたら
それは詳細設計書が不出来だから
プログラムは常に
設計書通りに動くこと
をチェックすればいい
69デフォルトの名無しさん (スプッッ Sd1f-7hna)
2023/04/03(月) 01:45:50.22ID:9Lwny+qrd
暴論吐いて悦に浸ってるだけではなぁ
70デフォルトの名無しさん (アウアウウー Sa23-mFyV)
2023/04/03(月) 10:27:57.20ID:efbJG7yXa
>>68
設計者とただのコーダーを区別すればそうだな
71デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
2023/04/03(月) 10:29:46.04ID:qa3KNP21p
>>68
詳細設計書なんてアテにしてたら動かないものが出来上がる定期
72デフォルトの名無しさん (ワッチョイ 5f01-icd+)
2023/04/03(月) 14:40:55.62ID:XxTTMVFq0
フォームに設置したメニューのアイテムが20個以上あるのですが
それらのアイテムに割り当てるイベントも20個あります
アイテムごとにファイルを分けるためにpartialで分割するのはありでしょうか?
73デフォルトの名無しさん (ワッチョイ ff2d-wDYO)
2023/04/03(月) 15:16:52.52ID:UR8U39nS0
個人的意見だが、無しだな
見通しが悪くなるだけであまりメリットが無い
partialはIDE等の自動生成のためだけに留めておいた方が良いと思う
74デフォルトの名無しさん (ブーイモ MM4f-OlzB)
2023/04/03(月) 15:40:40.31ID:FBDQFNn3M
偏った書き方になるから万人受けはしないだろうけど・・・
・Form内に内部クラスとしてContextMenuStripを継承したクラスを宣言
・MenuItem(クリック時処理含む)をデザイナを使わず継承クラス内にすべて手書き
するのであれば、内部クラス1個ごとにpartialにする価値あり

内部クラスなんでformのprivateメンバも問題なく読み書きできて便利だから自分もたまによくこの書き方をする
75デフォルトの名無しさん (ワッチョイ df42-kVuH)
2023/04/03(月) 18:46:41.53ID:7cJzGFyX0
フォームのクラスに処理全部を書こうとするから見通しが悪くなる
フォームのクラスにはイベントハンドラと画面の制御ぐらいだけにして
残りは別クラスを作ってそこで処理をする
そうすりゃハンドラが20ぐらい並んでいても見通しが悪くなることはない
76デフォルトの名無しさん (ワッチョイ 5fe5-gzdx)
2023/04/03(月) 20:26:43.72ID:F18sx3nF0
別のクラスにフォームクラスのインスタンスを渡してゴニョゴニョするのかな?
77デフォルトの名無しさん (ワッチョイ ffbc-Cn9/)
2023/04/03(月) 21:09:06.76ID:u50VhsXZ0
デザインを別にするならだけど。
フォームクラスのイベントハンドラを1つにまとめて、sender だったかのパラメータでイベントの発生元を識別するようにする。
この手の処理はイベントの発生元に限らずだいたい同じなので、このイベントハンドラ内の処理を共通化してすっきりさせる。

これまでは大体これでどうにかなったな。
78デフォルトの名無しさん (ワッチョイ 5fe5-9P2W)
2023/04/04(火) 08:49:37.59ID:2LySch560
>>76
UI制御はフォーム側に書いておきゃインスタンス渡す必要なかろう
79デフォルトの名無しさん (スップー Sd1f-rBMF)
2023/04/04(火) 18:26:02.88ID:J80P79rXd
c++clrから移住して最初につまずいた
c#難しい
80デフォルトの名無しさん (ワッチョイ 7fbd-icd+)
2023/04/05(水) 00:11:03.06ID:pugUgjF60
C++/CLIよりはるかに簡単だと思うけど…。
81デフォルトの名無しさん (ワッチョイ df2f-DB2t)
2023/04/05(水) 00:46:45.79ID:wtS5Em1S0
つまずいたポイントを教えてほしい
82デフォルトの名無しさん (ワッチョイ ff10-MhB/)
2023/04/05(水) 07:04:36.94ID:7c3G3tWr0
KDPのC言語本てステマが法律で禁止されたのにようやるなと
83デフォルトの名無しさん (ワッチョイ ffcf-icd+)
2023/04/05(水) 07:42:57.81ID:87qn8azV0
>>80
バックグラウンドが違えば感じ方も違うだろ。
C++とC++/CLIの差分よりC#の仕様の方がだいぶ大きいわけだし。
84デフォルトの名無しさん (ワッチョイ 5f01-Vyvl)
2023/04/05(水) 08:14:21.55ID:YgLkUvh+0
>>82
またお前か
85デフォルトの名無しさん (ワッチョイ 5fe5-9P2W)
2023/04/05(水) 08:45:34.25ID:PNvz4EJs0
昔Javaを多少触りはしたが基本的にC++とVB6しかやってなかったけど、C#移住全然躓かんかったけどな
86デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 09:16:23.63ID:jU3TV3ZDa
C#の名前にCがついてるから文法も概念も同じだと勘違いしてるやつが結構躓いてるぞ
最初から別物と思わないとstructとか使い方全然違うからな
87デフォルトの名無しさん (ワッチョイ ff10-MhB/)
2023/04/05(水) 09:31:30.78ID:7c3G3tWr0
CPU言語は表層が違うだけでやってる事は機械語に解読してるからみんな一緒だろ
結局アセンブラでもBASICでも1つを完璧に知ってればなんとかなる
むしろ割り込みの仕組みとかシリアル通信とか基礎のハードウェアを知らんとヤバイ
88デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 09:39:54.87ID:jU3TV3ZDa
想像で物を言うとそういうイタいことになる
89デフォルトの名無しさん (スプッッ Sd1f-7hna)
2023/04/05(水) 09:41:25.21ID:zOhuKeKbd
>結局アセンブラでもBASICでも1つを完璧に知ってればなんとかなる
こういう極論をしたがるの一定数いるよね
90デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:02:18.58ID:jU3TV3ZDa
JavaScriptですら最終的にはマシン語に翻訳されることを知らんとか同じコンパイル言語でもそれぞれできることが違うのを知らんとかも大概だし割り込みやシリアル通信はモダンな言語だとだいたい隠蔽されて考えなくていいようなライブラリがあるんでプログラミングしたことないやつが見栄を張ってるようにしか見えんのですわ
91デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
2023/04/05(水) 10:04:39.32ID:1qZSc/I2p
>>90
javascriptはマシン語には翻訳されないよ
マシン語で動作している翻訳プロセスを介して動くけどな
92デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:14:21.30ID:jU3TV3ZDa
>>91
JITコンパイラを調べて赤面してろよ
93デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:17:08.89ID:jU3TV3ZDa
と言ったが調べる能力もなさそうだからこれ読んどけ
https://devsakaso.com/javascript-about-just-in-time-compiler/
94デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
2023/04/05(水) 10:17:48.47ID:1qZSc/I2p
>>92
だからさ、Java自体がマシン語なんてもんにゃならないんだよw
95デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:18:28.61ID:jU3TV3ZDa
JavaScriptとJavaの違いも知らんとは恐れ入ったな
96デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
2023/04/05(水) 10:19:34.90ID:1qZSc/I2p
あーおまえはパソコンの世界しか知らないからそうなんだなw
97デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:20:34.20ID:jU3TV3ZDa
JITコンパイラを一言で言うと実行寺にソースを機械語に直すコンパイラだ
このくらい今は常識だから覚えとけ
98デフォルトの名無しさん (ワッチョイ df5f-O8+C)
2023/04/05(水) 10:28:48.07ID:TPpnJ1X/0
C#スレでなにやってんだ
99デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:32:48.94ID:jU3TV3ZDa
C#の話か?
ソースからILという仮想機械の機械語に翻訳される
これをコンパイルと呼ぶ
しかし実際には仮想機械を立ち上げるわけじゃなく実行時にこの仮想機械語を実行環境の機械語にコンパイルする
この時に環境に合わせた最適化も行われるので高速動作が可能になっている
つまり事前コンパイラとJITコンパイラの二段構えなわけだ
100デフォルトの名無しさん (ワッチョイ 5f5f-Fdr2)
2023/04/05(水) 10:56:42.54ID:e64l6plW0
初心者用スレでよくわからん自説を連投する様は、ただただ痛々しい
101デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 10:58:30.02ID:jU3TV3ZDa
よくわからんのはお前が頭悪いからだよ
常識だと言ったろ
初心者でもみんな知ってることだ
102デフォルトの名無しさん (スップ Sd9f-7hna)
2023/04/05(水) 12:18:02.53ID:rtFMpRjvd
そのへんにしとかないと心証を悪くするだけだよ
103デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 12:22:16.13ID:jU3TV3ZDa
名無しさんの?w
104デフォルトの名無しさん (ワッチョイ 5fe5-9P2W)
2023/04/05(水) 12:32:52.22ID:PNvz4EJs0
心証なんざ既にマイナスだろw
105デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 12:47:44.97ID:jU3TV3ZDa
初心者相手だと思って雑魚が嘘ばっか並べてるスレだと嘘を見破れる人は心証悪いよなあ
すまんすまん
続けてくれ
106デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 13:03:35.19ID:jU3TV3ZDa
JITコンパイラという常識を語るとJavaとJavaScriptの区別もつかんような雑魚と愉快な仲間たちがワラワラ湧いて出て一ミリも反論できず心証云々言ってるのはなかなか笑えたよ

ほらどうした
初心者を騙してマウント取る作業を続け給えよ
107デフォルトの名無しさん (スッップ Sd9f-YxMi)
2023/04/05(水) 13:11:30.10ID:xBlgsSX7d
はいはいそろそろお薬の時間でちゅよ
108デフォルトの名無しさん (スップ Sd9f-7hna)
2023/04/05(水) 13:20:25.40ID:rtFMpRjvd
>>106
違う違う
主張の内容自体に対してどうこうじゃなくて
売り言葉に買い言葉ではそれまでの発言や立場を毀損するよって言いたかったのよ
109デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 13:25:12.55ID:jU3TV3ZDa
名無しさんの立場?w
110デフォルトの名無しさん (スップ Sd9f-7hna)
2023/04/05(水) 13:34:30.89ID:rtFMpRjvd
別に反論するつもりも敵対するつもりもなくて
ただ憂慮してのつもりだったんだけど汲み取ってもらえないものかね・・・
111デフォルトの名無しさん (ワッチョイ 5fe5-9P2W)
2023/04/05(水) 13:47:57.71ID:PNvz4EJs0
何言うても無駄だと思うぞ
112デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 13:49:05.84ID:jU3TV3ZDa
ごまかし方が下手過ぎて笑えるが本気でやってんのそれ?
113デフォルトの名無しさん (ワッチョイ df5f-O8+C)
2023/04/05(水) 13:54:30.23ID:TPpnJ1X/0
> なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
> C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
114デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/05(水) 14:06:42.90ID:jU3TV3ZDa
>>113
よう荒し
115デフォルトの名無しさん (スップ Sd9f-7hna)
2023/04/05(水) 14:29:22.61ID:rtFMpRjvd
>>112
それ俺に対して言ってる?
116デフォルトの名無しさん (ワッチョイ ff10-MhB/)
2023/04/05(水) 14:51:15.57ID:7c3G3tWr0
CPUの基礎構造も知ってるとええで
アキュムレータとかスタックポインタとかプログラムカウンタとかレジスタとか言われてもわからんだろ
その辺の概念がわかるとどの言語も楽勝
割り込みも概念が解ってないと割り込みルーチンで長文書くとかアホなことしだす
117デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/05(水) 15:08:53.71ID:sB818/CP0
割り込みルーチン使うとか今どきねーよ
118デフォルトの名無しさん (ブーイモ MM9f-e2c1)
2023/04/05(水) 15:13:47.52ID:BHJ5CxFKM
>>116
C#もJavaもJavaScriptも全然理解してないことが露呈したあとに
どの言語も楽勝とか言っても恥ずかしいだけですよ
119デフォルトの名無しさん (オッペケ Sr33-vkAy)
2023/04/05(水) 22:11:02.39ID:sz/zgQ2Fr
無責任にデカいこと言った方が勝ちみたいなゲームはそろそろ卒業してほしい
120デフォルトの名無しさん (ワッチョイ 7fbd-icd+)
2023/04/05(水) 23:52:36.91ID:pugUgjF60
Z80アセンブラ→68000アセンブラ→C→C++→Java→C#→C++/CLI ときたのでつまづかなかった。
あとTcl/TK、sh、Perl、JavaScript、PowerShell、Python。
Rustを試したいが時間が取れない。
121デフォルトの名無しさん (スプッッ Sd1f-j25d)
2023/04/06(木) 00:06:12.09ID:3X1nsxKId
>>120
マシン語直接入力がないのでやり直し
122120 (ワッチョイ 7fbd-icd+)
2023/04/06(木) 00:14:30.25ID:XbnIA9J60
>>121
Z80時代はハンドアセンブルしていた。まだ小学生でアセンブラを買う金がなかったので。
よく使う命令は16進の値を覚えていた。
123デフォルトの名無しさん (オイコラミネオ MM53-icd+)
2023/04/06(木) 00:23:17.66ID:2IAiy+HBM
RET C9 サイクル10的なのを覚えてたんだろ
ノートに相対ジャンプのアドレス計算書いたり
それで言語ができると何の関係があるんだろうか?
124デフォルトの名無しさん (ワッチョイ ff8e-j25d)
2023/04/06(木) 02:08:29.77ID:5BQAgGMd0
>>122
後付け乙
125デフォルトの名無しさん (ワッチョイ 7f4b-pTXX)
2023/04/06(木) 05:40:05.28ID:ehcl4uYU0
小学生でマイコンとか渋いな
126デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/06(木) 08:39:03.94ID:hFBJipKZa
>>122
その当時の普通だ
プアな環境でハンドアセンブル繰り返してりゃ自然に覚えるわ
そこから数十年かけて全く進歩できてないのは無能としか言いようがない

お前の培った技能は今全部自動化されてるんだよw
コンピュータはお前より遥かにハードを使いこなして上手に最適化するからお前は完全に無用の長物というわけだ
127デフォルトの名無しさん (ラクッペペ MM4f-+zBY)
2023/04/06(木) 09:29:45.22ID:1UIy0vwOM
マイコン
オーディオ
アマチュア無線

80年代頃の趣味の最先端
128デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
2023/04/06(木) 09:53:23.79ID:etBQDNCap
Z80は拡張命令があって命令数が腐るほどあったから全部覚えてられなかったよな?
129デフォルトの名無しさん (ワッチョイ 7f79-u6c4)
2023/04/06(木) 09:56:07.98ID:UaY7mTo60
>>127
それってどれも手段であって趣味ではないよね
その最先端のを使ってどんなコンテンツを楽しんでるかが趣味なんだよね
きっとろくでもないんだろうね
130デフォルトの名無しさん (ラクッペペ MM4f-+zBY)
2023/04/06(木) 10:01:32.18ID:WxcUnJlHM
その後90年代あたりからオタク化するか理系エリート化するかが人生の分岐点
131デフォルトの名無しさん (オッペケ Sr33-vkAy)
2023/04/06(木) 10:02:41.19ID:50z6rG5Kr
何でもいいからとにかく人に噛み付きたいみたいなのはそろそろ卒業してほしい
132デフォルトの名無しさん (ラクッペペ MM4f-+zBY)
2023/04/06(木) 10:06:14.44ID:WxcUnJlHM
まだ専攻分野で情報分野を扱う大学なども少なく大体は電気科か電子科で学ぶものが多かった時代
133デフォルトの名無しさん (ワッチョイ df5f-O8+C)
2023/04/06(木) 10:15:38.38ID:cLuUm0Wb0
スレチだっつの
マ板の雑談部屋行けよ
134デフォルトの名無しさん (アウアウウー Sa23-doF5)
2023/04/06(木) 22:05:52.10ID:7WsUOQMza
こんばんは
専門学校で情報処理を2年間学び、今春からIT会社入社です
学校ではC#を学び、それを活用できる会社に入ったのですが、上司からC++が中心と言われてしまいました
使用感としてはC#と大差ないと言われたのですが、実際にどちらも使用したことがあるPGさん目線ではどんな感じでしょうか
135デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/06(木) 22:17:08.18ID:O4MLKnYM0
大差ないとか大嘘で草
テンプレートスパゲティの洗礼を受けるがいい
136デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/06(木) 22:18:50.54ID:O4MLKnYM0
あとC++はまともに日本語が扱えない
C#と用途が被ることってゲームくらいじゃね
137デフォルトの名無しさん (スプッッ Sd1f-j25d)
2023/04/06(木) 22:50:32.42ID:9OXigCoVd
>>134
お前落ちこぼれだろ
金と2年間も時間を使ってC#とC++の違いもわからんとは使いものにならんわ
138デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/06(木) 22:58:34.92ID:O4MLKnYM0
ていうか派遣か超絶ブラックな気配しか感じないわ
まともな企業なら会社が就職希望者を選抜するがお前の会社は嘘をついて人を集めてる
こんなわかりやすい地雷が見えてるなら地雷も一つだけじゃなく他にも心当たりあるだろ
139デフォルトの名無しさん (ワッチョイ ffbc-Cn9/)
2023/04/06(木) 23:10:52.40ID:0qi4RJoe0
>>134
素人には見た目は同じように見えるかも。
C# では考えられないような罠があちこちにあったりするから最初はタイヘンかもしれないけど、頑張れ。

コツが分かればかなり自由にいろいろ出来て、自分的にはかなり好きな言語なんだけどね。
140デフォルトの名無しさん (ワッチョイ 7f79-u6c4)
2023/04/07(金) 00:20:18.59ID:hzbXpJpo0
断言しておくけど専門でC#の学習経験しかない奴にC++の案件は100%こなせない
今後C#案件が自分に回ってこなさそうであれば完全に入る会社を間違ったな
あーあ経歴にさらに傷が付いちゃった
141デフォルトの名無しさん (オイコラミネオ MM53-icd+)
2023/04/07(金) 00:47:18.51ID:zb+54C3zM
専門学校でC#を教えてるなんて

選ぶ学校間違えてる
そんなところに行かなくても独習でとは思う
142デフォルトの名無しさん (スッップ Sd9f-j3u0)
2023/04/07(金) 00:50:58.62ID:jfyWzwkJd
まーたっくの初心者で趣味でC#やろうとしたが言語仕様の壮大さに負けてKotlin~Flutter目指すことにしたサヨナラ
143デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/07(金) 01:19:52.32ID:1Moiy0gQ0
一つの言語すら怖気づくやつが目指しても無駄だけどな
144デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
2023/04/07(金) 09:53:19.46ID:9oOSsjTpp
言語仕様はそんなに壮大じゃ無いが、使えるクラスとメソッドが異常に多いし、クラス毎に出来る事が偏ってるから面倒だとは思う
145デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/07(金) 10:00:57.11ID:UzsORH9Sa
winformsとかwpfとかuwpとかxamarinとかmauiとかunoとかblazorとかアプリ用フレームワークの乱立と迷走が酷いのは事実
さっさと統一しろおら
146デフォルトの名無しさん (ワッチョイ dfae-1sX2)
2023/04/07(金) 11:53:01.40ID:GJ9VlQpa0
MS<もうWinFormsは機能強化しないって言ったのに、みんな使い続けてる・・・
147デフォルトの名無しさん (ワッチョイ 5fe5-9P2W)
2023/04/07(金) 12:29:32.20ID:NtDbqE3F0
じゃあWindowsなんとかしろよw
148デフォルトの名無しさん (ササクッテロラ Sp33-KR65)
2023/04/07(金) 12:43:55.58ID:y1ANyd0Sp
WinFormsまた機能強化しますと言えばいいだけのこと
149デフォルトの名無しさん (アウアウウー Sa23-doF5)
2023/04/07(金) 13:32:40.19ID:kQPpgDuua
>>141 だいたいの専門学校の情報処理科だとC#は必ずやってるもんだよ
はよやめろとも思うが需要がそれなりにあるんだからしゃーない
150デフォルトの名無しさん (ワッチョイ dfae-1sX2)
2023/04/07(金) 13:50:48.21ID:GJ9VlQpa0
MS<機能強化はしないと言ったけど、仕方ないから高解像度に対応してあげるからね
MS<機能強化はしないと言ったけど、仕方ないからUWPのライブラリを呼べるようにしてあげるからね

地味だけど大きい改良してるんだよなw
151デフォルトの名無しさん (ラクッペペ MM4f-gzdx)
2023/04/07(金) 13:55:07.67ID:yidNy5+ZM
がっこうって四則演算とコンソールアプリ程度ジャネーの?
しらんけど
152デフォルトの名無しさん (スフッ Sd9f-YxMi)
2023/04/07(金) 15:06:19.52ID:ekvLskPDd
youtuber育成科でもあったら受講してみたいな
引退後はお喋り配信でもして暮らしたい
153デフォルトの名無しさん (オッペケ Sr33-9xvd)
2023/04/07(金) 15:06:57.10ID:MubD/dkJr
>>150
もうすぐMVVM対応の改良もはいるよ
154デフォルトの名無しさん (ワッチョイ dfae-1sX2)
2023/04/07(金) 15:11:03.21ID:GJ9VlQpa0
>>153
ツンデレ面倒見が良すぎるなw
155デフォルトの名無しさん (ワッチョイ 5f5f-0Qwp)
2023/04/07(金) 17:28:59.51ID:n3YFdE+90
>>153
え?マジで??
156デフォルトの名無しさん (ワッチョイ df07-DB2t)
2023/04/07(金) 18:24:33.31ID:ZyGCTKiu0
すいません 
本に書いてあったコードで質問があるのですが、

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

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

変数aの値はaです。

という文字が出ず、エラーが出るのですか?
157デフォルトの名無しさん (ワッチョイ ff7b-UQeZ)
2023/04/07(金) 18:32:13.85ID:78O19JXu0
>>156
なぞなぞかな?原因をそれだけでエスパーしろと
dがnullの可能性、aが定義されてない可能性?
ともかくエラー内容というか把握している情報くらい書いてくれ
158デフォルトの名無しさん (スプッッ Sd9f-j25d)
2023/04/07(金) 18:32:16.65ID:nu6NXWXzd
馬鹿ってエラーメッセージも提示しないよな
馬鹿過ぎるから、オブジェクト名とかプロパティとか全角()を打ち込んでいそう
159デフォルトの名無しさん (オイコラミネオ MM53-icd+)
2023/04/07(金) 18:33:21.02ID:377j0hRUM
どこかで間違えてるからでしょう
とりあえずエラー内容を書いてください

あと
これは打ち込んだコードをそのままコピーしてませんよね?
全角文字と半角文字が混ざってて普通は動きません
行末に ; を付けましょう
それと変数aの値はaですか?
160デフォルトの名無しさん (ワントンキン MMdf-FlsS)
2023/04/07(金) 18:41:20.55ID:htDU62+OM
>>159
全角;を入力するぞ
161デフォルトの名無しさん (ワッチョイ 5f01-9xvd)
2023/04/07(金) 18:48:43.17ID:C4KkKia50
>>155
メニューやボタン類がICommand対応になる的な
162デフォルトの名無しさん (オイコラミネオ MM53-icd+)
2023/04/07(金) 19:04:25.43ID:377j0hRUM
質問者の人はビビらないで続けて欲しい
誰でも最初はこんなもんだ

一番の馬鹿はテンプレが読めず初心者相手にマウント取るしかできないんでそういうのは無視でいい
163デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/07(金) 19:07:05.47ID:lYV4UoJIa
5chで聞くとこうなるのがわかってるのにアホなのかな?
164デフォルトの名無しさん (ワッチョイ df07-DB2t)
2023/04/07(金) 19:32:22.30ID:ZyGCTKiu0
ありがとうございます
原因調べてみます
たぶん;の付け忘れか
型名 a
というふうにaを変数化してなかったからだと思います。
165デフォルトの名無しさん (ワンミングク MM03-FlsS)
2023/04/07(金) 19:35:04.00ID:g9oDCLqTM
あくまでエラーメッセージを書かない馬鹿
166デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/07(金) 19:35:52.08ID:1Moiy0gQ0
>>161
とっくに対応してるが?
167デフォルトの名無しさん (ワッチョイ 5f07-VQD5)
2023/04/07(金) 19:37:35.11ID:1Moiy0gQ0
>>165
いいんだよ
解決しなくても話し相手になればそれで満足して帰ってくれるんだから
車のエンジンがかからないからどうしようと女に聞かれたらバッテリーがどうこう言っちゃだめ
同情して雑談するのが正解
168デフォルトの名無しさん (ワンミングク MM03-FlsS)
2023/04/07(金) 19:41:22.07ID:g9oDCLqTM
>>167
林檎を一緒に買いに行くのか!
169デフォルトの名無しさん (アウアウウー Sa23-VQD5)
2023/04/07(金) 19:43:55.45ID:lYV4UoJIa
>>168
マックのシェアが上がったのはそういうわけ
170デフォルトの名無しさん (オイコラミネオ MM53-icd+)
2023/04/07(金) 19:47:35.73ID:377j0hRUM
以前17歳の少年にmacはwindowsも動くから開発するならmac一択でwindows機は買わなくていいって言われたよ
そういう理由でユーザーを増やしてる面もある
情報系の大学ではmac持ってる生徒が多い
171デフォルトの名無しさん (ワッチョイ 5fe5-gzdx)
2023/04/07(金) 19:53:07.95ID:0nhk3VLO0
>>170
https://twitter.com/desk_novel_3260/status/1499848946780614656/photo/1
https://twitter.com/5chan_nel (5ch newer account)
172デフォルトの名無しさん (オイコラミネオ MM53-icd+)
2023/04/07(金) 19:54:54.12ID:377j0hRUM
自分はmac上のwindowsでしか起こらないバグもあるかもしれないから意味ないと思うと答えたが
そんなの言いだしたらきりがないなと後で思った
173デフォルトの名無しさん (ワッチョイ 92bd-Rzwh)
2023/04/08(土) 00:55:25.26ID:3Ljte8fK0
Windowsのライセンスを用意してMacで動かすくらいなら、
安いWindows PCも買ったほうが同時に使えるし便利だと思う。
174デフォルトの名無しさん (ラクッペペ MM66-DefY)
2023/04/08(土) 02:10:45.67ID:HLFl9C7qM
どうせライセンス違反の不正使用だろ
175デフォルトの名無しさん (ワッチョイ 92bd-Rzwh)
2023/04/08(土) 02:25:03.68ID:3Ljte8fK0
>>134
プログラミング言語は複数覚えていったほうがいいから、まあ頑張れ。
176デフォルトの名無しさん (ワッチョイ eebb-9Wvd)
2023/04/08(土) 18:34:36.54ID:fmzyFWYH0
文法が似ているだけで、C++とC#とでは必要な知識の幅が全然違うような気がしてしまう
177デフォルトの名無しさん (ワッチョイ 92bd-Rzwh)
2023/04/08(土) 19:26:35.54ID:3Ljte8fK0
C++と言っておきながら、実はC++/CLIだったりするとさらに大変。
178デフォルトの名無しさん (ワッチョイ e9ad-HL3J)
2023/04/08(土) 21:45:50.77ID:CCnvrQGQ0
>>134
STLも使えるしC言語よりはマシ
179デフォルトの名無しさん (ササクッテロロ Spd1-pbGt)
2023/04/09(日) 14:11:13.69ID:E8Nnpiwgp
C#がイニシアチブ取れる最大の理由はライブラリやクラスメソッドの豊富な点
CやC++は環境依存が高過ぎて無理だった
180デフォルトの名無しさん (ワッチョイ 0279-90pI)
2023/04/09(日) 15:24:20.69ID:I9Qf3W7D0
C#は実行環境が基本Windowsで処理系も1個しかなく
外部が作った最大公約数的な規格やらに振り回される事もないからね
言語の在り方としてはDelphiからC#まで設計の中心に居たアンダースヘルスバーグの影響が一番でかいだろうけども
181デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/09(日) 15:42:52.26ID:0jWwjzccM
へじたんというかボーランドから引っ張って来たグループ全体の影響だね

へじたんは10年ぐらい前にtsに行っちゃって多分だけどずっといない
tsの改善提案もたまにする
twitterでts10周年について言及してたけどC#は言及されない
182デフォルトの名無しさん (ワッチョイ 412d-dXWb)
2023/04/09(日) 16:10:51.58ID:fcL4nlHr0
C++は美しくないので使うのやめた方がいい
183デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/09(日) 16:22:39.13ID:0jWwjzccM
c++はパフォーマンス目的じゃないと使うべきじゃないかな(個人の感想です)
でも本当にパフォーマンス目的なら積極的に使うべきで地球の温暖化予防になる

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

ヘルパークラスの中身に多い気がする
そもそもがC#はデビューしてなかったんだからMSの中にいたのは大部分がCかC++プログラマだったから仕方がない
184デフォルトの名無しさん (ワンミングク MM52-k0ie)
2023/04/09(日) 17:02:57.88ID:IIry9qCTM
>>183
>そもそもがC#はデビューしてなかったんだから

なぜこういう嘘を書くのか
185デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/09(日) 17:10:39.08ID:0jWwjzccM
>>184
え?どこが嘘だと思った?
はっきり指摘してくれよ

C#発売前にどうやってネイティブのC#プログラマ募集すんの?
2002年にC#が発売されたんだけどその時,net framewarkはついていた
186デフォルトの名無しさん (スプッッ Sd22-RMXA)
2023/04/09(日) 18:39:12.85ID:99/FlESqd
>>185
MS内部の開発は何を使ってると思っているんだ?
それとも発売されないと内部で使ってはいかんのか?
187デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/09(日) 18:56:34.94ID:0jWwjzccM
>>186
話がかみ合ってないと言うかなんでIDコロコロしてんの?
それとどこが嘘なのかはっきり書けよ

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

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

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

どうしてこんな簡単なこともわからないんだよ
189デフォルトの名無しさん (スプッッ Sd82-RMXA)
2023/04/09(日) 20:48:24.64ID:cX6/BjZ9d
>>187
馬鹿って例えばDelphiのライブラリは何で作ってあると思っているんだ?
190デフォルトの名無しさん (ワッチョイ a968-pZgd)
2023/04/09(日) 20:59:09.16ID:y3zvbzeA0
C++からC#を覚えたんだけど、ヘッダー不要、メモリー解放不要ってだけでほれぼれしたわ
191デフォルトの名無しさん (オイコラミネオ MM29-Rzwh)
2023/04/09(日) 22:59:42.51ID:0jWwjzccM
>>189
いい加減に理解しようよ

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

なんでこの人は小学生並みの思考力もないんだろうか?
192デフォルトの名無しさん (ワッチョイ 92bd-Rzwh)
2023/04/09(日) 23:13:41.21ID:jMM6L0eg0
今、画面をC#で作って、性能が必要な部分をCで書いてる。実質C++みたいな書き方してるけど。
固定長配列でよいところは固定長にして余計はメモリ確保・解放を排除、
スタックを使いすぎないようにTLSにしたり、
スレッドプールで実行スレッドがコロコロ変わるけど同一スレッドの間だけTLSを使ったり。
性能は良く、ワットパフォーマンスも良いと自画自賛しているけど、
書くのに時間がかかるし、メモリ管理で二重Freeや誤って0バイトメモリで変な落ち方して
調査に時間がかかった。
193デフォルトの名無しさん (ワッチョイ 4642-Ay2p)
2023/04/09(日) 23:23:40.43ID:a3JbCGzy0
C言語はB言語で書かれたが直ぐにC言語で書き直されたという
故にC言語のライブラリはC言語で開発されている

と、例外中の例外を書いてみる
194デフォルトの名無しさん (ワッチョイ 412d-dXWb)
2023/04/09(日) 23:31:44.05ID:fcL4nlHr0
セルフホストは別に例外じゃないよ
コンパイル型の言語は最終的にセルフホストになるだろ
195デフォルトの名無しさん (ワッチョイ c5ae-izbf)
2023/04/10(月) 13:30:15.85ID:ezn0wDlC0
>>153
>MVVM ツールキットの概要
>このパッケージは .NET Standard を対象としているため、任意のアプリ プラットフォーム (UWP、WinForms、WPF、Xamarin、Uno など) で使用できます。

いつの間に対応してたんだ・・・
これでInvokeしなくて済むのか
196デフォルトの名無しさん (ワッチョイ 4666-cPl8)
2023/04/10(月) 13:39:28.19ID:gE7mrU5A0
下記のコードでcomboBox1.Textに"a2"を設定しているのですが
comboBox1は"a"のままです。設定を反映する方法はあるでしょうか。

public Form1()
{
InitializeComponent();

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

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1.Text = "a2";
}
197デフォルトの名無しさん (ワッチョイ 412d-dXWb)
2023/04/10(月) 14:10:01.67ID:GqegRxcS0
comboBox1.Items.Add("a2");
これを先に書かないから変更されない
198デフォルトの名無しさん (ワッチョイ 6e7b-k+0N)
2023/04/10(月) 18:04:17.45ID:qyQrCJTA0
>>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;
}
たぶんこのくらい必要
199デフォルトの名無しさん (ワッチョイ 5234-Ay2p)
2023/04/10(月) 19:06:06.56ID:CWrknl8o0
comboBoxのテキストを変更できるようにするプロパティがあったよね?
200デフォルトの名無しさん (ワッチョイ 25e4-eWK2)
2023/04/10(月) 19:44:46.51ID:1G6uJTu10
ワーカーサービスとサービスアプリって別物なの?
201デフォルトの名無しさん (ワッチョイ 6e10-+HcC)
2023/04/10(月) 19:54:33.42ID:025b1B4Q0
>>196
BeginInvoke(new Action(() => comboBox1.Text = "a2"));
202デフォルトの名無しさん (ワッチョイ 8205-QZiB)
2023/04/11(火) 07:47:00.52ID:p3uKa8IZ0
comboBoxの者ですが例示頂いたサンプルコードで期待の動作をしました
ありがとうございます
.Textのセッターで書き換えられたら直感的だなと思いつつ別の仕様で都合悪いんでしょうね
203デフォルトの名無しさん (ワッチョイ 6e10-bvj9)
2023/04/11(火) 10:42:20.15ID:LwvkJIu70
大学だとmacは買うなと名指しで書かれてた
買うのはWindows11入りi5以上RAM8G以上のoffice付
204デフォルトの名無しさん (ササクッテロロ Spd1-pbGt)
2023/04/11(火) 10:44:39.71ID:u/0zmHtvp
>>204
Mac「も」買えば無問題だぞ
205デフォルトの名無しさん (ワッチョイ 495f-h/KG)
2023/04/11(火) 10:56:37.78ID:U1LmOZAY0
365のアカデミック垢(Education A3/A5)を配布してない大学なんだろうか?
206デフォルトの名無しさん (ワッチョイ a9e5-/aea)
2023/04/11(火) 11:00:45.32ID:bVzsGz390
>>204
207デフォルトの名無しさん (ワッチョイ 6e10-bvj9)
2023/04/11(火) 11:18:50.69ID:LwvkJIu70
officeは大学によって配布とそうじゃないとこがあるな
合格通知に付いていたパソコン購入の栞にはどこも同じようなスペックを書いてあった
毎年トラブルになってるらしくmacは非推奨、忘れてたけどSSDを強く推奨されてた。
208デフォルトの名無しさん (オッペケ Srd1-QZiB)
2023/04/11(火) 12:05:57.60ID:Owu2Qdxkr
>>203
情報系大学ならOS問わず乗り越えて欲しいよね
強いて言えばニンテンドースイッチをハックしてOffice365動作させるくらいの気概が欲しい
209デフォルトの名無しさん (ワッチョイ 412d-dXWb)
2023/04/11(火) 13:07:41.05ID:0aEeU09s0
東大はMacだもんな
210デフォルトの名無しさん (ワッチョイ 6e10-bvj9)
2023/04/11(火) 15:24:29.19ID:LwvkJIu70
CPUが非intelな時点で選択肢には入らんでしょ
211デフォルトの名無しさん (ワッチョイ 4642-Ay2p)
2023/04/11(火) 15:24:33.92ID:M16SAa5X0
>>207
SSDをSODと空目して、時間を止めるボタンを購入しちまう人もいるだろうさ
212デフォルトの名無しさん (ワッチョイ a9e5-/aea)
2023/04/11(火) 15:35:49.07ID:bVzsGz390
amdは許して
213デフォルトの名無しさん (ワッチョイ c5ae-izbf)
2023/04/11(火) 15:57:37.42ID:E8WJry610
経済学部とかならOS関係なくクラウドで全部出来るけども、
情報系なら機器制御とかもやるから、OS問わずは無理だろ
214デフォルトの名無しさん (ワッチョイ eebb-9Wvd)
2023/04/11(火) 17:07:55.85ID:xhbQUVf+0
授業内容によってはMac非推奨もあり得るだろう
ただどこの大学のどの学部なのか書かないことには、何に向かないのか参考にもならないだろう
215デフォルトの名無しさん (ワッチョイ 6e7b-k+0N)
2023/04/11(火) 18:13:31.92ID:SxJtNgeT0
ワッチョイ 6e10 3回
サクッテロロ Spd1
ワッチョイ 495f
ワッチョイ a9e5
オッペケ Srd1
ワッチョイ 412d
ワッチョイ 4642
ワッチョイ a9e5 2回
ワッチョイ c5ae
ワッチョイ eebb
216デフォルトの名無しさん (ワッチョイ 9194-izbf)
2023/04/11(火) 19:01:55.92ID:yYayl2te0
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
}
217デフォルトの名無しさん (ワッチョイ d907-NO7/)
2023/04/11(火) 19:08:53.25ID:gigFj8HV0
なんでってConsole.WriteLineが2回呼ばれてんじゃん
218デフォルトの名無しさん (ワッチョイ 9194-izbf)
2023/04/11(火) 19:14:24.00ID:yYayl2te0
>>217
いや、だから static を付けない場合は、最初の出力は 0 なんだって
で、何故 static を付けると、3 になるかという事を聞きたいわけ
219デフォルトの名無しさん (ワッチョイ d907-NO7/)
2023/04/11(火) 19:17:23.77ID:gigFj8HV0
何がわからんのかマジでわからん
初期化したらそれが出力されるのは当たり前じゃね?
220デフォルトの名無しさん (ワッチョイ 9194-izbf)
2023/04/11(火) 19:19:52.43ID:yYayl2te0
>>219
で、static を付けた場合と付けなかった場合の出力結果の違いはどういう理由?
221デフォルトの名無しさん (ワッチョイ 9194-izbf)
2023/04/11(火) 19:21:27.61ID:yYayl2te0
>>220
デフォルトコンストラクタ Foo() の直前の static の事ね
222デフォルトの名無しさん (ワッチョイ d907-NO7/)
2023/04/11(火) 19:22:18.16ID:gigFj8HV0
どこにstaticつける話をしてるのか知らんけどクラスメンバーかインスタンスメンバーかの違い
静的コンストラクタはクラスメンバーがアクセスされる時点で初期化が終わってることが保証される
223デフォルトの名無しさん (ワッチョイ d907-NO7/)
2023/04/11(火) 19:23:14.19ID:gigFj8HV0
>>221
それはコンストラクタじゃなくて静的コンストラクタだぞ
多分その本のもっと前に書いてある
224デフォルトの名無しさん (ワッチョイ 9194-izbf)
2023/04/11(火) 19:39:59.03ID:yYayl2te0
>>222-223
staticを付けない、コンストラクタの場合、class Fooの最初の行でインスタンスが生成された時点では、Xが3に初期化されてないので、0になるが、
staticを付けた静的コンストラクタの場合、class Fooの最初の行とは無関係に、既にXが3に初期化された状態で Console.WriteLine(X) が実行済みなのね

public static Foo Instance = new Foo();

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

有難う
225デフォルトの名無しさん (ワッチョイ 4201-BePx)
2023/04/11(火) 23:11:43.43ID:/nZPjbDG0
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行目の静的コンストラクタとは別のものになる
226デフォルトの名無しさん (ワッチョイ 9194-izbf)
2023/04/12(水) 01:51:45.88ID:3I+WNe+L0
>>225
分かりやすい説明有難う御座いました。
227デフォルトの名無しさん (ワッチョイ d907-NO7/)
2023/04/12(水) 08:44:45.21ID:75Jdcna40
静的イニシャライザの実行順は不定
228デフォルトの名無しさん (オッペケ Srd1-miqV)
2023/04/12(水) 08:58:31.49ID:5OqrGPiIr
そもそもこんな使い方することってある?
こんなわかりにくい実装したらバグしか生まないだろ
229デフォルトの名無しさん (アウアウウー Sa05-NO7/)
2023/04/12(水) 09:17:16.51ID:g9fBg21da
どういう順序で実行されるか解説するテキストで実験的なコードが紹介されてるだけだろ
本文が3行以上読めないやつがここで聞いただけ
230デフォルトの名無しさん (オッペケ Srd1-HvLO)
2023/04/12(水) 10:30:19.47ID:mXnPigifr
いちいち質問者を貶すようなことでもなかろうに
231デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/12(水) 11:26:53.10ID:yAM4RrWLM
どちらかと言うと本文を読んでいないのが >>229 でみんな雰囲気で答えてるだけ
英語嫁
232デフォルトの名無しさん (アウアウウー Sa05-NO7/)
2023/04/12(水) 12:21:14.58ID:bugel0eha
バグしか生まない実装を紹介する本ねぇ
読んだと自称するやつにはそう見えるのか
春だなぁ
233デフォルトの名無しさん (ブーイモ MM66-Udzl)
2023/04/12(水) 12:29:42.24ID:USOc3PY3M
実際質問の出力結果示さずにこのスレの連中にstaticありなしの出力結果予想させたら3割も正解しなさそう
234デフォルトの名無しさん (オッペケ Srd1-ZlFW)
2023/04/12(水) 12:31:58.00ID:gsM5MkRcr
そういう意味ではアンチパターンだな
235デフォルトの名無しさん (オッペケ Srd1-HvLO)
2023/04/12(水) 13:45:09.09ID:4Can4aDGr
C#の挙動がなぜそうなってるかの理由を知ることと、それを実際に開発に使用するかどうかは話が別だろう

当の本もこの挙動を利用して実装しろと勧めてるわけでもなし、バグしか生まない~などと腐すのも筋違い
236デフォルトの名無しさん (ワッチョイ 4201-BePx)
2023/04/12(水) 14:11:43.79ID:uWUQySNG0
本に書いてあるコードでは>>225の5行目にstaticはついてない
3行目と4行目を入れ替えると出力結果が変わるようなことになるという注意を促して
イニシャライザの実行順序を理解させようとしている

static fieldの定義順に依存したコードはアンチパターンと言ってもいい気はするが
現実には↓こういうコード書く人がいるので動きを理解してることは重要
https://stackoverflow.com/questions/54692923/
237デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/12(水) 17:54:22.82ID:lYmUspEYM
本にはこのコードのstaticはついてないのでいくら読んでもそういう話にはならない
コード提示した人が自分でstaticつけて疑問に思ったことを書いてるだけ

チャンと英語読めば批判してる人の脊髄反射でしかないとわかる
238デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/12(水) 17:57:59.05ID:lYmUspEYM
>>232
英語嫁と上で書いてやったのに読まない馬鹿
239デフォルトの名無しさん (オイコラミネオ MM29-Ay2p)
2023/04/12(水) 18:00:18.84ID:lYmUspEYM
>>232
ごめん自分が読めてなかった

自分が馬鹿だったわ…
240デフォルトの名無しさん (ワッチョイ d907-NO7/)
2023/04/12(水) 21:13:56.15ID:75Jdcna40
241デフォルトの名無しさん (ワッチョイ c5ae-izbf)
2023/04/13(木) 17:15:29.58ID:Zu8K3N7a0
過去にはAny CPUを選ぶと32bitライブラリか64bitライブラリかわからなくてエラーになる事があるから、
x86かx64に固定するのを推奨とかどこかで見た気がするけど、
今はそんな事無くなったのかな?
242デフォルトの名無しさん (ワッチョイ c7e5-S3w6)
2023/04/18(火) 09:43:52.47ID:8GgykzJw0
ifで非null判定してからアクセスしてんのにnullの可能性がありますとか警告出す最近のC#はほんとクソ
243デフォルトの名無しさん (ワッチョイ 4707-uZLY)
2023/04/18(火) 09:47:05.00ID:zIS6YJzM0
>>242
出さねーよw
244デフォルトの名無しさん (ワッチョイ bfda-wFhX)
2023/04/18(火) 10:17:07.64ID:HhMbwi3l0
コンパイラのnullチェックを混乱させる凄い(≠素晴らしい)コードなのかもしれない
245デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
2023/04/18(火) 10:21:16.50ID:dDei21Qyp
見落としてる分岐があるだけだろ
246デフォルトの名無しさん (アウアウウー Sacb-uZLY)
2023/04/18(火) 10:22:53.46ID:HoHH5EgOa
多分チェックした後に別の値を代入するか値が変化するものを使ってるんだろうな
たとえばプロパティは一回目のアクセスと二回目のアクセスで同じ値が得られるとは限らない
変数に入れろ
そしたら多分警告消えるから
247デフォルトの名無しさん (ワッチョイ dfbd-baic)
2023/04/19(水) 07:26:32.14ID:9LVfV8Mo0
警告が消えるのに時間がかかったり、Visual Studioを立ち上げ直したら警告が消えたことがある。
248デフォルトの名無しさん (ワッチョイ 4707-uZLY)
2023/04/19(水) 07:56:31.56ID:A9DJak9S0
マシンが遅いだけ
249デフォルトの名無しさん (ワッチョイ bf42-sFbk)
2023/04/19(水) 08:18:39.49ID:/RLG/xCj0
不必要なhoge?.hage();が残っているとnull判定されることがあるね
?取るとワーニングが消える
250デフォルトの名無しさん (ワッチョイ 4707-uZLY)
2023/04/19(水) 09:00:29.09ID:A9DJak9S0
hoge?.hoge()はhoge!=null?hoge():nullと同じ
nullが返る可能性があることを示すコードだからそりゃnullの可能性があると判定されるわな
251デフォルトの名無しさん (ワッチョイ bf42-sFbk)
2023/04/19(水) 09:16:28.63ID:/RLG/xCj0
>>250
問題はhoge?.hoge()のところではワーニングが出ずに、離れた場所にあるhoge.bar()でワーニングが出るから
知らないと混乱するってことだね
252デフォルトの名無しさん (ワッチョイ 4707-uZLY)
2023/04/19(水) 09:45:55.68ID:A9DJak9S0
そこで問題がないのに出るわけないじゃん
離れた場所にあるなら一度変数に入れなよ
そしたらnullの可能性があるかどうかマウスホバーで教えてくれるから
253デフォルトの名無しさん (ワッチョイ 4707-uZLY)
2023/04/19(水) 09:47:07.48ID:A9DJak9S0
結局この警告はバグを潰してくれてるものだから文句を言うのは筋違いだぞ
本来なら警告の代わりに実行時エラーになってたものだからな
254デフォルトの名無しさん (ワッチョイ bf42-sFbk)
2023/04/19(水) 10:04:51.79ID:/RLG/xCj0
>>252
コンストラクタなどで初期化していて本来はワーニングが出るはずがないのに
途中でhoge?hage()なんてコードがあるからヌルが入る可能性があると判断されるようだ
だから?を外すと解決するんだが、それに築くのが大変って話ね
255デフォルトの名無しさん (ワッチョイ 4707-uZLY)
2023/04/19(水) 10:18:42.95ID:A9DJak9S0
そこでnullを代入してるのに気づくのが大変てことはないと思うがな
警告が出ないなら大変かもしれんけど
256デフォルトの名無しさん (アウアウウー Sacb-uZLY)
2023/04/19(水) 10:25:41.00ID:ozyRSzfKa
たとえばUnityなんかだと暗黙の代入演算子をいじっててnullでないものがnullエラーを出すよ
コンストラクタで生成してすぐnullになるオブジェクトも作れる
そういうのを実行前に警告として教えてくれてるんだから親切以外のなにものでもないだろ

警告があれば何か問題があることにすぐ気づけるし気づいたらマウスをちょっと動かせば原因がわかる
コーディングが簡単になりこそすれ難しくなることなんかないだろ
257デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
2023/04/19(水) 10:29:18.14ID:wTDlMyrbp
nullableなboolean変数を条件判断させるとき
nullだったらどっちに判定されるんだ?
258デフォルトの名無しさん (アウアウウー Sacb-uZLY)
2023/04/19(水) 10:43:36.85ID:ozyRSzfKa
どっちでもない
nullはnull
259デフォルトの名無しさん (ワッチョイ 7ff2-iKPJ)
2023/04/19(水) 12:47:18.86ID:/ifWvnPE0
勉強になった!
260デフォルトの名無しさん (スプッッ Sdff-wBI8)
2023/04/19(水) 14:16:39.58ID:mDR4Tmnid
(bool)null
261デフォルトの名無しさん (ワッチョイ ff79-e5FP)
2023/04/19(水) 18:22:12.39ID:oWlQU8HM0
もうnullだったら死んでくれていい
プログラムでぬらぶるってるとムカつく
いいんだよ例外でもなんでも死ねば
262デフォルトの名無しさん (ワッチョイ ff79-e5FP)
2023/04/19(水) 18:32:54.51ID:oWlQU8HM0
プログラムの99.998%は概ねnullになんかなんないところばっかりなのに
なんでこんなクソ構文作ったのかわからん
現場で書くと嫌われるコード
こんなもんチェックするより他にやることはいくらでもある
263デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
2023/04/19(水) 19:21:06.22ID:Yh/qVtVOp
bool値に三状態あるのかw
264デフォルトの名無しさん (ワッチョイ 5f79-uE6i)
2023/04/19(水) 19:27:25.28ID:Gw9y9MAb0
ヌルヌルヌールヌル
265デフォルトの名無しさん (オイコラミネオ MM5b-baic)
2023/04/19(水) 19:28:11.01ID:ol2MoW3SM
DBだと伝統的に3値だったりが当たり前
かなり問題がある作り
266デフォルトの名無しさん (ワッチョイ 7f7b-i286)
2023/04/19(水) 19:33:27.51ID:fW0fg9Ti0
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
267デフォルトの名無しさん (ワッチョイ bfe9-Naft)
2023/04/19(水) 20:30:00.61ID:C4s4zrWJ0
FormアプリでForm1とForm2を作る
Form1にラベルを作る
Form2にボタン1,ボタン2を作る
ボタン1を押すとラベルに"1"ボタン2を押すとラベルに"2"を、
Form2を閉じることなく設定するプログラムを作りたいのですが
どういう作り方をすれば実現できるでしょうか。
Form2にプロパティを作りForm1で文字を受け取る方法だとForm2を閉じないと値が設定できません。
よろしくお願いします。
268デフォルトの名無しさん (ワッチョイ 7f7b-i286)
2023/04/19(水) 20:35:45.45ID:erb9d6p60
>>267
別のフォームのデータを取得、設定する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
269デフォルトの名無しさん (ワッチョイ bfe9-Naft)
2023/04/19(水) 22:15:32.11ID:C4s4zrWJ0
>>268
記事中のOwnerプロパティを使うことでやりたいことができました。
ありがとうございます。
270デフォルトの名無しさん (ワッチョイ 7f10-S3w6)
2023/04/20(木) 21:58:50.89ID:XyBZLb7d0
ぬるり
271デフォルトの名無しさん (ワッチョイ 4954-YWDm)
2023/04/22(土) 21:40:28.10ID:nV5+mUIN0
自作メソッドが投げる可能性がある例外の表記方法についての質問です。
ドキュメンテーションコメントの<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> に表記する必要がありますか?
そうでない場合、表記するべき例外と、そうでない例外はどういう基準で判断すればよいでしょうか?
272デフォルトの名無しさん (ワッチョイ dd87-69CM)
2023/04/22(土) 22:30:09.44ID:XuPaU8GB0
>>271
めんどくさいから例外を吐くMethodを記載して、詳細はソチラでにしちゃうかな
273デフォルトの名無しさん (ワッチョイ 3679-VD5T)
2023/04/23(日) 00:52:29.94ID:qbQJEsvk0
>>271
例外なんて元々どんぶりなんだから
そんな厳密に何かやろうとするなら
そもそも使うなでFA
274デフォルトの名無しさん (ワッチョイ 66f2-mr0i)
2023/04/23(日) 09:59:39.79ID:UBkEK/lQ0
ZipFile使ってること書いてそっち参照とし、独自のは詳細書くとか?
275デフォルトの名無しさん (オイコラミネオ MMb5-RykB)
2023/04/23(日) 10:04:39.68ID:DUqm0gOHM
書いたことがない

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

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

標準ライブラリの例外でないものを投げる可能性があり
それに回復手段がある場合に書くぐらいなんじゃないかなと
276デフォルトの名無しさん (ワッチョイ 6610-ASru)
2023/04/24(月) 06:43:49.53ID:P+2JsUDo0
ドキュメンテーションコメントなんか書いたことないな・・・
277デフォルトの名無しさん (アウアウクー MM7d-pS66)
2023/04/24(月) 08:26:23.98ID:F+RPKNFDM
ウチはコーディング規約で必須
どこも書いてるかと思ってたけど違うんだね
278デフォルトの名無しさん (アウアウウー Sa21-ZiWf)
2023/04/24(月) 08:47:42.51ID:iy7IhEXOa
今はドキュメンテーションコメント書いたらコパイロットがコード書いてくれるんじゃね
279デフォルトの名無しさん (ワッチョイ 3679-ByXY)
2023/04/25(火) 07:51:13.18ID:kQ+fG+er0
JavadocやDoxygenってゴミにしかなんなくね?
280デフォルトの名無しさん (ワッチョイ a95f-SH/E)
2023/04/25(火) 08:17:55.28ID:wOLFytDy0
>>279
成果物のかさ増しには最適なんだよw
281デフォルトの名無しさん (スプッッ Sdea-8Xzj)
2023/04/25(火) 08:42:20.58ID:2JpsSRmdd
詳細設計書の雛形を自動で作ってくれる…
んだぜ
282デフォルトの名無しさん (ワッチョイ a5e5-ASru)
2023/04/25(火) 08:45:42.17ID:XCOYQ77g0
詳細設計してからコード書いてクレメンス
283デフォルトの名無しさん (ワッチョイ aade-RykB)
2023/04/25(火) 10:50:36.92ID:KrvjcZC00
質問なんですが、コントロールのボタン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個程度ならダラダラ書いたほうがいいですか?
284デフォルトの名無しさん (ワッチョイ 1507-ZiWf)
2023/04/25(火) 11:03:26.95ID:h+X7r+oZ0
ViewModelも使わないような泥縄式プログラミングならダラダラ書けばいんじゃね
インスタンスを何らかの方法(前もって配列に入れるとかタグをつけるとか)でフィルタリングすればループが使えるし何ならイベントハンドラ自体一つにまとまるくらい同じことしかしてないんじゃないかとも推測できるが
285デフォルトの名無しさん (ワッチョイ 1507-ZiWf)
2023/04/25(火) 11:05:37.36ID:h+X7r+oZ0
あとイベントハンドラを直接呼び出すのは良くないぞ
イベントハンドラの中から実際の処理を行う関数を呼び出すように作ってイベントハンドラを他の関数から呼びだしたい時には代わりにその処理の方を呼び出すんだ
286デフォルトの名無しさん (ワッチョイ 1507-ZiWf)
2023/04/25(火) 11:07:12.18ID:h+X7r+oZ0
どうしてもハンドラの方を呼び出さなきゃいけない時はButton.PerformClickな
287デフォルトの名無しさん (ワッチョイ aade-RykB)
2023/04/25(火) 12:14:00.34ID:KrvjcZC00
>>284,285,286
サンクスです、まずViewModelがわかりません。ググルとandroidやzamarinの事がヒットします。
windowsのformでプログラム作ってます。もうちょと調べてみます。
イベントハンドラの中のメソッドを呼びだすのですね、Button.PerformClickと迷ったのですが
2つの違いがいまいちわかってなくて、もらったアドバイスでもうちょと考えてみます
288デフォルトの名無しさん (スプッッ Sdea-8Xzj)
2023/04/25(火) 13:05:52.77ID:+0i9aSeod
適当なコレクションに入れてforeachでperformclickだな
289デフォルトの名無しさん (ワッチョイ aade-RykB)
2023/04/25(火) 17:08:17.65ID:KrvjcZC00
>>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();
}
こんな感じでしょうか(途中で挫折した)
290デフォルトの名無しさん (ワッチョイ a5e5-ASru)
2023/04/25(火) 17:34:19.71ID:XCOYQ77g0
フォームに他にボタンが無いなら↓でもやれる

foreach(Control childItem in Controls) {
if(childItem is Button button)
button.PerformClick();
}
291デフォルトの名無しさん (オイコラミネオ MMb5-/HYv)
2023/04/25(火) 17:41:31.18ID:jwlAeKCmM
まずボタンから処理を分けようか?
リファクタリングでメソッドに書き直そう

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

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

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

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

こういうふうにしてあちこちの処理を簡単にメソッドにできるので
処理の区切りでメソッドにしよう
処理に名前を付けて流用できるようにしよう
292デフォルトの名無しさん (ワッチョイ aade-RykB)
2023/04/25(火) 20:49:06.41ID:KrvjcZC00
>>290
レスさんくすです
こんなシンプルにかけるんですね、ちょと理解がむずいところがあるけど
これをもとにちょっといじくってみます

>>291
丁寧な解説ありがとう
なるほどイベントハンドラからメソッド切り出すのはこうすればいいのですね
他からメソッド呼び出すとき意味も分かりやすく、見通しもよくなりますね
リファクタリングはやったことなかた
293デフォルトの名無しさん (オイコラミネオ MMb5-/HYv)
2023/04/25(火) 23:36:51.46ID:jwlAeKCmM
>>292
これだけできるとコードの書きやすさが格段に上がるよ

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

失敗してもアンドゥしたらいいだけだし
294デフォルトの名無しさん (ワッチョイ 3abd-/HYv)
2023/04/26(水) 00:00:21.94ID:lnboBUB50
>>291
こんな機能あったんか…。知らんかった。
295デフォルトの名無しさん (オイコラミネオ MMb5-/HYv)
2023/04/26(水) 00:31:44.42ID:1VlSMqUTM
他にもいろいろ機能があるよ
いろいろ試してね
296デフォルトの名無しさん (ワッチョイ f1e4-n/u1)
2023/04/26(水) 06:43:05.45ID:aS9C8tBv0
>>291
こんな機能知らなかった
勉強になったわ
297デフォルトの名無しさん (ワッチョイ 6a7f-p1wa)
2023/04/28(金) 01:40:04.13ID:EFykGfO70
ほんとVisual studioは神
298デフォルトの名無しさん (ワッチョイ ea79-lTfL)
2023/04/28(金) 01:47:14.94ID:yqQLE+sa0
それっぽい名前を付けるのが一番面倒だから
そこは処理をAIに要約させて付けて貰う
完璧だな
299デフォルトの名無しさん (ワッチョイ 4954-YWDm)
2023/04/28(金) 04:28:06.22ID:SQeM8rhL0
非同期メソッドを実行する時「戻り値は特に必要ないが、例外は伝えてほしい」という場合、
戻り値は適当に int とかにしても問題ないでしょうか?
理想的な方法があれば教えてください。

例:
public Task<int> SomeMethod()
{
  return await Task.Run(()=>
  {
    try
    {
      //非同期で実行したいメソッド。
      return 1;
    }
    catch
    {
      throw;
    }
  });
}
300デフォルトの名無しさん (ワッチョイ 6610-ASru)
2023/04/28(金) 07:28:54.39ID:dvpYRirO0
戻り値無くても例外は発生するぞ
ていうかthrowするだけならtry要らないだろ
301デフォルトの名無しさん (ワッチョイ 6663-Be6V)
2023/04/28(金) 07:38:28.05ID:4gfllXQT0
public async Task SomeMethod()
302299 (ワッチョイ 4954-YWDm)
2023/04/28(金) 07:46:32.72ID:SQeM8rhL0
>>300-301
ありがとうございます。
本当に助かりました。
303デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/02(火) 15:27:13.55ID:+P/djKKr0
>>300
以外と例外処理って勘違いしてる奴が多いんよ

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

正解は例外が発生した場合にリカバリー処理を書く場合に使用する
304デフォルトの名無しさん (アウアウウー Sa1b-gncP)
2023/05/02(火) 15:48:44.54ID:k2jSiG28a
リカバリー処理とは?
305デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/02(火) 15:54:32.37ID:+P/djKKr0
そのままの意味どうすよ
回復や復帰を意味する言葉通り

例えば通信中に環境が悪く回線切断
例外からそれは分かるので回線が繋がりやすい場所は移動する様にメッセージを出した後に再接続して通信を続行させる
306デフォルトの名無しさん (ワッチョイ 7f79-tpgI)
2023/05/02(火) 16:24:14.51ID:2rV8iq3c0
UIソースでtrycatch書くための仕組みだろ

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

本処理中と終了処理があるような処理は想定外
終了処理は行われないで帰ってくる
厨房の工作キット
307デフォルトの名無しさん (アウアウアー Sa4f-ef8y)
2023/05/02(火) 16:28:46.70ID:GVM+dlL1a
リカバリー処理とは限らんでしょ
308デフォルトの名無しさん (ワッチョイ 375f-Hgfr)
2023/05/02(火) 16:48:17.59ID:4Yks9dbV0
まあ、自分の業務だけが全ての人は知見が狭くてかなわんなw
309デフォルトの名無しさん (ワッチョイ 97cf-hzXf)
2023/05/02(火) 17:26:39.90ID:ID016ee+0
復帰とも書いてるから、例外の伝播をそこで止めて通常動作に戻すこと全般を言っているんなら
大体合ってるんじゃないかな。
310デフォルトの名無しさん (ワッチョイ 9f4b-gncP)
2023/05/02(火) 18:28:49.42ID:2Pbut5Rc0
独自の例外に変換することもあるのでは
311デフォルトの名無しさん (ワッチョイ 3754-wHlW)
2023/05/02(火) 18:29:31.06ID:yUli7OqN0
try catch はリカバリー処理とかユーザー通知も含めて、"例外が起きたら何かしたい" 時に使う物くらいにしか考えてなかったなぁ。

void Method() {
try {
 処理
} catch (Exception ex) {
 //if (この場で復旧処理したい) { 復旧処理 }
 //if (メソッド呼び出し元に例外が起きたことを伝播したい) { 例えば、throw する }
 //if (ログを出力したい) { ログ出力する }
 //if (別のプロセスを起動したい) { 別のプロセスを起動する }
 //if (その他諸々何かしたい) { その他諸々何かの処理 }
}
312デフォルトの名無しさん (ワッチョイ 9f7f-ExZu)
2023/05/02(火) 18:29:58.08ID:Iiod3Ljm0
相手サーバーに拒否されたとかそのままコケて欲しい時はcatchしなくて良いしな
313デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 21:03:09.39ID:N5mno8Ao0
質問いいですか?
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
314デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 21:04:43.29ID:N5mno8Ao0
>>313
途中で投稿してしまった

これはなぜうまくいかないのでしょうか?
315デフォルトの名無しさん (ワッチョイ ff10-AZmp)
2023/05/02(火) 21:11:45.34ID:V30afgjZ0
動くけどなー
316デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 21:19:48.53ID:N5mno8Ao0
まじでっ
317デフォルトの名無しさん (ワッチョイ 3754-wHlW)
2023/05/02(火) 21:20:16.79ID:yUli7OqN0
別フォームからクリック出来たよ。
ソース全体が不明だから何とも言えないけど、
1. Form2 クラスの form1 ・ _form1 変数は、ちゃんと Form1 のインスタンスを参照出来てる?
2. 自動クリックされる Form1 のボタンは、ちゃんと Name = button1 になってる?
318デフォルトの名無しさん (ワッチョイ 3754-wHlW)
2023/05/02(火) 21:21:01.87ID:yUli7OqN0
間違えた。
Name = "button1"
319デフォルトの名無しさん (ワッチョイ 9f2f-g9Ql)
2023/05/02(火) 22:19:38.01ID:XpNDWH0U0
キャストってプロパティより優先順位低かったっけ?
320デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 22:21:39.83ID:N5mno8Ao0
>>315
サンクスです、文法問題ないのだったら、ここに書き漏らしてる何かが悪いのだろうか
>>317
さんくすです、うまくうごくのですね _form1 は
_form1.button1.Text = "hogehoge";
がうまくいくのでインスタンスを参照できてるかな、NameもVSのプロパティそのままで
321デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 22:29:06.71ID:N5mno8Ao0
>>319
俺への回答でしょうか?試しに
(Button)(_form1.Controls["button1"])
みたいにやってみたけどうまくいかず
322デフォルトの名無しさん (オッペケ Sr8b-/vMP)
2023/05/02(火) 22:47:23.62ID:NVQj7oowr
「うまくいかない」の内容をもう少し詳しく書くようにしよう
何も起こらないのかそれともエラーが出るのか
エラーが出るなら具体的にどんなエラーメッセージなのか
323デフォルトの名無しさん (ワッチョイ ff10-AZmp)
2023/05/02(火) 22:51:11.59ID:V30afgjZ0
>>320
もしかしてForm1のPanelとかの中にbutton1が入ってるんじゃ
そしたら_form1.panel1.Controls["button1"]よ
324デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 23:02:01.80ID:N5mno8Ao0
>>322
失礼しました、例外がスローされます
selectedButton.PerformClick();のところで止まってselectedButtonがnullみたいです
System.NullReferenceException: 'オブジェクト参照がオブジェクト インスタンスに設定されていません。'
325デフォルトの名無しさん (オイコラミネオ MM6b-hzXf)
2023/05/02(火) 23:06:31.60ID:HZAuKpK5M
>>324
それ単純に名前ミスってるだけだよ…
326デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 23:09:12.69ID:N5mno8Ao0
>>323
ビンゴでした、うまく動きました
グループボックスの中にボタン入ってました、こんなのいるんですね
ありがとうございました
327デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 23:12:57.82ID:N5mno8Ao0
>>325
名前はインテリセンスで出てこないから要注意ですね
一応単語を選択すると同じ単語が色分けされるから、そこで確認しました
328デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/02(火) 23:32:01.14ID:N5mno8Ao0
たすかりました
ありが㌧
329デフォルトの名無しさん (オイコラミネオ MM6b-hzXf)
2023/05/02(火) 23:46:40.83ID:HZAuKpK5M
テキストでコントロール指定したりPerformClick()使うのは最初だけだから
初心者だからなんでも使えばいい
そこから出られるのかどうか
330デフォルトの名無しさん (ワッチョイ 9f79-zzYQ)
2023/05/03(水) 00:32:32.38ID:Kv12u2jn0
>Controls["button1"]
こんなもん使うなカスボケってことは理解できたんかな?
331デフォルトの名無しさん (ワッチョイ d7ac-9Trp)
2023/05/03(水) 01:23:01.23ID:Ia3mFb590
まあ他人の実際のコードを見るようになってからじゃね
自分で書いて動かすだけで手一杯なんやろ
332デフォルトの名無しさん (ワッチョイ 9f4b-gncP)
2023/05/03(水) 02:28:32.14ID:vL8FscsM0
しっけーなおまえ等
333デフォルトの名無しさん (ワッチョイ 3754-wHlW)
2023/05/03(水) 05:15:12.14ID:X2wTGB2Y0
自分は、DataGridViewColumn.DataPropertyName でプロパティ名を文字列で指定してカラム参照してるわ。
本職はプログラマーじゃないから許してクレメンティン。
334デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 05:27:13.82ID:iydNsBEo0
別に良いんだよ
馬鹿なプログラマはこうするべきだってって感じで言うけどただの無能
動けば良いんだよ
実際売れてるとか人気のアプリのコードなんて糞みたいなもん

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

ギターとかの超絶テクニックやら奏法が特殊なら良い音楽かって言えば違うやろ
実際はミリオンセラーの音楽なんて小学生が少し練習すれば弾ける様になるのが結構ある
335デフォルトの名無しさん (アウアウクー MM8b-ef8y)
2023/05/03(水) 05:33:27.84ID:0APi2HUGM
エンタメとソフトウェア技術を同列に語っちゃう人
例え話って自分に都合の良いものを引き合いに出しがち
336デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 05:54:45.19ID:iydNsBEo0
同じやで

都合も良いも無いやろ
何の為にソフト作るんや
使う側にして見りゃ中のコードが糞かどうか関係無いやん
ちゃんと動いて結果が出れば良いだけなんだから
337デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 05:56:22.47ID:iydNsBEo0
アレかなもしかしてエンジニアって勘違いしてるパターンか?

俺らって大抵はエンジニアじゃなくてサラリーマンだぞ
338デフォルトの名無しさん (ワッチョイ 1707-rvTa)
2023/05/03(水) 07:46:05.28ID:7KJ/CzIt0
>>334
音楽で考えるとわかりやすいんじゃなく音楽と違うものを音楽にしてしまったことで話が変わってるだけだぞ
プログラミングはロジックの塊
音楽より論文に近い
思いついたことをまとまりなく書き連ねたらダメ出しされるのは当然だろ
小論文ならそれでもまだ読めるかもしれんがな
339デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 07:52:55.78ID:iydNsBEo0
>>338
動けば問題無いよ

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

お前の例えの方が全然違うやんw
無能やな
340デフォルトの名無しさん (ラクッペペ MM8f-N7xh)
2023/05/03(水) 08:03:49.34ID:s1e64EMrM
楽しければいいんだよ
法律やルールなんてくそ食らえ
…とかいう人なの?
341デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 08:13:38.78ID:iydNsBEo0
違うぞ

ルールや法律に違反しなきゃ何やっても良いって言ってるだけや
342デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 08:19:44.90ID:iydNsBEo0
ついでに言うならペナルティが罰金の場合
罰金払ってでも儲かるなら違法な行為はする


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

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

そういう場合は普通に違反してペナルティ払ってる
一例を挙げるならトヨタがそれに当たる
343デフォルトの名無しさん (ワッチョイ 975f-VSqy)
2023/05/03(水) 08:25:24.40ID:eaeSSGs50
「正しく動く」は単なる前提に過ぎず、目指すものではない
エンジニアリングにおける「Easy」と「Simple」を区別できないおじさんは淘汰される
344デフォルトの名無しさん (スッップ Sdbf-oJ27)
2023/05/03(水) 08:27:58.97ID:s1pMNzuQd
そう言うなよ世の中の7割はルールに従って真面目にやれば出世や稼げると勘違いしてる無能なんだからさ

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

勿論逮捕とかされるような事案には手を出さないが1億10億の罰金払って100億稼ぐのが有能
345デフォルトの名無しさん (ワッチョイ 9fde-fitb)
2023/05/03(水) 08:34:50.09ID:aEnVTx4R0
>>329
PerformClick()使う理由は
ADIR01P USB赤外線リモコンアドバンス
https://github.com/bit-trade-one/ADIR01P-USB_IR_Remote_Controller_Advance
このアプリをいじって、追加機能やform2でボタンだけのコンパクトなUIが欲しかったからです

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

>>334
動けばいいと思って書いてますが、こうするべきだって話は聞きたい
346デフォルトの名無しさん (アウアウウー Sa1b-rvTa)
2023/05/03(水) 08:34:58.86ID:Zrw+HhQra
>>339
動くのは最低限だぞw
お前のレベルの話で済むのは一人で作るちっこいアプリだけだw
347デフォルトの名無しさん (ワッチョイ 3702-ITaW)
2023/05/03(水) 08:39:30.63ID:XU1+7Xhm0
そもそも有能な奴はこんなところに来ない
348デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 09:16:01.84ID:iydNsBEo0
>>346
ほんと無能だな

大規模だってまともに動かなきゃ意味ないだろ
そういう意味でも動けば良いんだよ
349デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 09:17:54.09ID:iydNsBEo0
なんで動かなきゃってのがどのアプリやシステムでも同じレベルだと勘違いしてるんやろ

それぞれにレベルっていうか難易度があってその上で動くレベルに決まってるのに
ほんと思考が無能
350デフォルトの名無しさん (ワッチョイ 1fbd-hzXf)
2023/05/03(水) 09:32:23.88ID:7Db4yG9j0
>>1
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
351デフォルトの名無しさん (アウアウウー Sa1b-rvTa)
2023/05/03(水) 09:39:20.03ID:Zrw+HhQra
>>348
動くのは最低限の当たり前でその上で保守の話をしてるのにお前一人だけ動かないものの話をしてるなw
352デフォルトの名無しさん (アウアウウー Sa1b-rvTa)
2023/05/03(水) 09:52:09.50ID:Zrw+HhQra
やっと意味がわかったかもしれん
要するに疎結合とかが理解できなくてそこまで要求されると動くものが作れないから騒いでるのか

ふつう作れるよ?w
353デフォルトの名無しさん (ワッチョイ 1fbd-hzXf)
2023/05/03(水) 09:54:21.80ID:7Db4yG9j0
>>1
354デフォルトの名無しさん (オッペケ Sr8b-/vMP)
2023/05/03(水) 10:02:18.52ID:AjLrekoLr
ワッチョイ7c-はNGになってるわ
前にも暴れててそれで入れたんかな
355デフォルトの名無しさん (ブーイモ MMcf-SYdp)
2023/05/03(水) 10:14:01.23ID:HGdhPxDoM
GUIDの人やな
356デフォルトの名無しさん (ワッチョイ 97e5-By2c)
2023/05/03(水) 10:27:52.20ID:vzDzSdqv0
いきなり無能だなんだと言い出す言動ですぐわかるな
357デフォルトの名無しさん (オッペケ Sr8b-/vMP)
2023/05/03(水) 10:35:48.95ID:sp9+jxair
>>355
ソレダ!
358デフォルトの名無しさん (ワッチョイ 1701-E+2s)
2023/05/03(水) 11:02:59.86ID:Fpkn6yKr0
ルールってーと、フリーウェア作るときみんなライセンスとかどうしてるの?
いろいろ種類あって何採用していいのかよくわからない
ソース付きで、改変/配布/商用利用好きにしてって場合とかさ
MIT?
359デフォルトの名無しさん (ワッチョイ ff7b-vJGv)
2023/05/03(水) 11:04:19.17ID:g2t1b8zF0
>>358
【License】ライセンス総合【利用許諾】
http://2chb.net/r/tech/1266247461/
360デフォルトの名無しさん (ワッチョイ 77e4-ydUa)
2023/05/03(水) 11:36:28.25ID:bhz/zA6o0
>>343
これかっこいい
使わせてもらお
361デフォルトの名無しさん (ワッチョイ 7f79-Wy6e)
2023/05/03(水) 12:06:52.63ID:0fnUMlbu0
>>360
実績が伴わないとしょっぱい空気になりそう

でもお前の給料20万じゃん・・・?
的なw
362デフォルトの名無しさん (ワッチョイ 1701-ef8y)
2023/05/03(水) 12:17:42.17ID:GN2zt4Uy0
上で出てる動けばいいじゃん精神よりは億倍マシかと
363デフォルトの名無しさん (ワッチョイ 9f7f-ExZu)
2023/05/03(水) 12:24:06.51ID:XvXH8q6A0
easyかつsimpleがいいならpythonやっとけ
364デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 12:27:13.86ID:iydNsBEo0
動けば良いじゃん精神の方が金は稼げるよ

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

つうかこの板使っておいて元の2ちゃんねる作った億稼いだひろゆき自体が動けば良いじゃん精神だぞ
自身の配信でもそう言ってるじゃん
こういう技術どうこう言う技術者は無能ってさw
365デフォルトの名無しさん (ワッチョイ 375f-Hgfr)
2023/05/03(水) 12:31:50.95ID:6d/7YSFK0
そそ、使いもしない単体モジュールの境界テストとか負荷テストとか無駄
トータルできちんと動いてくれればそれで良い
366デフォルトの名無しさん (スッップ Sdbf-fitb)
2023/05/03(水) 12:48:43.53ID:foxDzL7Ed
test
367デフォルトの名無しさん (ワッチョイ 57ad-0AmK)
2023/05/03(水) 13:19:12.96ID:PpDaqr1l0
そんであるとき負荷が掛かったりちょっと改修したときに爆発する
368デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr)
2023/05/03(水) 13:25:11.18ID:ll4FWYPGp
>>367
改修したらトータルできちんとテストしたら良いだけだろ
369デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr)
2023/05/03(水) 13:25:47.69ID:ll4FWYPGp
むしろ改修した箇所だけのテストとかあり得ないよな
370デフォルトの名無しさん (ブーイモ MMbf-SYdp)
2023/05/03(水) 13:27:55.56ID:t3wVQNi7M
使いもしない単体モジュールがそもそもなぜあるの?
テストするまでもなく削除すればいいのに
371デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 13:28:01.67ID:RLCA5WWQ0
その「トータルできちんとテスト」ってなんだ?
372デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 13:31:19.49ID:iydNsBEo0
結合テストとかの事やろ
373デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 13:35:10.87ID:RLCA5WWQ0
結合テストすることを「トータルできちんとテスト」って呼ぶ層があるんだ
俺の知らん世界だな…
374デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 13:35:53.83ID:iydNsBEo0
>>370
普通にあるやろ

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

特に多いのが今後の拡張性云々とかカスタマイズ用とかってやつ
実際に拡張とかカスタマイズする時に使い物にならなくて設計からやり直す
つまり全くの無駄
375デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 13:39:34.40ID:iydNsBEo0
>>373
結合テストは俺が勝手に言っただけや
でもリリース前ってそれだけじゃ無いじゃん
しかもそれって会社とかでも違うやん
だからどれとは言えないもんやで

俺の会社だと結合テスト以外だと外部にセキュリティテスト依頼したり社内の品管のテストとシステム監査が入る
376デフォルトの名無しさん (ワッチョイ 975f-VSqy)
2023/05/03(水) 13:41:01.73ID:eaeSSGs50
使われないモジュールを書いてしまうおじさんや、非機能要件を無視する(あるいは認識できない)おじさんも淘汰される
377デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 13:45:11.16ID:RLCA5WWQ0
> セキュリティテスト依頼したり社内の品管のテストとシステム監査が入る

こんなテストや監査が想定されてる中、ユニットテストが無駄だって思ってるってこと?
378デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 13:51:12.96ID:RLCA5WWQ0
ちょっとまって!

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

こんなプロジェクトで「動けばいい」ってスタンスで仕事してんのか?
マジか
379デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 13:51:42.78ID:iydNsBEo0
>>377
俺が言った訳じゃ無いけどなw

まあ俺は単体テストはアリだと思うぞ
単体テストの結果でもって要は作業完了証明やろ
逆に言えば以降は俺の責任じゃ無いと言えるし仕様変更は別に金取れる
380デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 13:53:02.57ID:iydNsBEo0
>>378
そうだぞ

だって製品の検査で調べるのはその動くかどうかじゃん
中のコードがどうとか技術がどうとか関係無いやん
381デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 13:55:01.32ID:RLCA5WWQ0
すごいな。そのプロジェクト
俺の知ってる世界だと、そんなコード見せられたらレビュアーが怒り狂うわ
382デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 13:57:38.37ID:iydNsBEo0
>>381
多分お前が普段使ってる様なアプリもそんなもん

その神経質で無能なレビューアーが関係してるお前のシステムって世界でどんだけ売れてんのって話
383デフォルトの名無しさん (ワッチョイ 1707-rvTa)
2023/05/03(水) 13:59:04.86ID:7KJ/CzIt0
動けばいいとしつこく言ってるやつはただの無職だよ
無職の妄想の中ではそうなんだろうさ
現実には動くのは当然で最低限でしかないんだけどね
384デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 14:03:35.88ID:iydNsBEo0
>>383
そうは言ってるけどじゃあそれ以上に何が必要か言えてないやん

ちなみに話の流れは
>>330
>>333
みたいなコードの内容から来てるんやで
こういうコードが糞だろうが動けば良いって話だから脱線するなよ
お前等っていつも前提間違ってるからなw
385デフォルトの名無しさん (ワッチョイ bfbc-o+T5)
2023/05/03(水) 14:06:31.39ID:5+L69Iha0
まああんまり完璧なコードを書くと、その後の仕事がなくなるからな。
386デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 14:09:44.71ID:RLCA5WWQ0
> 777c-KiN+
ついでに聞くけど、お前の中でシステム監査ってどんなもんなの?
387デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 14:15:23.93ID:iydNsBEo0
>>386
すまん無能の質問の意味が分からん

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

無能の頭の中って俺俺監査があるん?
388デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 14:19:36.70ID:RLCA5WWQ0
> だって製品の検査で調べるのはその動くかどうかじゃん

こんなこと言ってるし、また俺のシラン世界があるのかと
389デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 14:26:32.08ID:iydNsBEo0
>>388
アホw

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

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

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

無能だな
390デフォルトの名無しさん (ワッチョイ 9f4b-gncP)
2023/05/03(水) 14:26:49.46ID:vL8FscsM0
GWだねぇ
391デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 14:30:01.23ID:RLCA5WWQ0
>>389
> まさか動くかどうかが機能要件や非機能要件 セキュリティ要件満たしてないと思ってる?

システム監査ってそういうことじゃないぞ
お前の中のシステム監査ってどんなもんなん?
392デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 14:37:49.92ID:iydNsBEo0
>>391
繰り返すアホ
393デフォルトの名無しさん (スッップ Sdbf-oJ27)
2023/05/03(水) 14:42:38.57ID:s1pMNzuQd
>>391
お前が間違ってるんじゃ?
経済産業省のシステム監査基準だとセキュリティガイドライン等に準拠してるか云々って書いてあるしそういう事を監査するもんじゃないの?
394デフォルトの名無しさん (ワッチョイ ffbb-zzYQ)
2023/05/03(水) 14:48:38.92ID:RLCA5WWQ0
俺の知ってる世界だと、システム監査ってのは雑に言うとシステムを体制として担保する方法ができてるかを確認するもの

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

つまり、

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

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

で、お前の中のシステム監査ってどんなもんなん?
395デフォルトの名無しさん (ワッチョイ 9f2f-g9Ql)
2023/05/03(水) 15:09:07.11ID:fD0yPqm80
動けばいいってのは
なぜそう書かないほうが良いのか、ちゃんと理解して説明できないやつの言い訳
まあそう書くなって言ってる奴もちゃんと説明できてないんだがな
396デフォルトの名無しさん (ワッチョイ ff10-By2c)
2023/05/03(水) 15:19:09.40ID:YldI9T9X0
>>390
GW終わって2ヵ月ちょい経つと今度は夏だねぇってなるんだよな
397デフォルトの名無しさん (ワッチョイ 1f3d-VWCj)
2023/05/03(水) 15:26:23.95ID:49Yy066J0
ぼんやりとした質問ですが、

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/";);
}
398デフォルトの名無しさん (ワッチョイ 1f3d-VWCj)
2023/05/03(水) 15:26:47.58ID:49Yy066J0
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が出てきません
399デフォルトの名無しさん (ワッチョイ ff10-By2c)
2023/05/03(水) 16:36:13.15ID:YldI9T9X0
Form1に配置してるWebView2がprivateで宣言されてるからじゃないかね
VS使ってるならデザイナーで選択してプロパティウィンドウのModifiersを確認して
PrivateになってるならInternalかPublicにしたらいいよ
400デフォルトの名無しさん (ササクッテロリ Sp8b-Hgfr)
2023/05/03(水) 16:48:57.57ID:rOyAnSv/p
プライベートのままアクセサ作れば良くね?
401デフォルトの名無しさん (ワッチョイ bf42-fitb)
2023/05/03(水) 17:56:30.72ID:DnrzKFHb0
そもそも素人コーディングをやるやつがマトモなアプリ書けるとは思えん
アプリの作り方を勉強した人ならマシなコード書くからな
402デフォルトの名無しさん (ワッチョイ 1f3d-VWCj)
2023/05/03(水) 19:51:19.18ID:49Yy066J0
>>399-401
解決しました。ありがとうございます。
403デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 21:30:59.09ID:iydNsBEo0
>>394
あのさちゃんと読んだ?

お前は前提を勘違いしてるんだよ
動けば良いってそういう事じゃ無いんよ
404デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 21:35:17.93ID:iydNsBEo0
>>394
もっと分かりやすい例を出そう

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

こんな100箇所コピペした糞コードでもシステム監査や他のテストでは一切問題にならない
動けば良いんだよ
405デフォルトの名無しさん (ワッチョイ 1707-rvTa)
2023/05/03(水) 21:36:12.63ID:7KJ/CzIt0
アスペしつこいな
406デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 21:40:43.87ID:iydNsBEo0
>>405
お前みたいな無能が多くて困ってる
407デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 21:42:02.40ID:iydNsBEo0
もっというと例えばMV系フレームでこの処理はモデルに書くべきだとかどうとか
こういうのもどうでもいい

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

動けば良いんだよ
408デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 21:43:26.02ID:iydNsBEo0
オブジェクト指向もそう
クラス設計がどうだの継承がどうだのどうでもいい

動けば良いんだよ
409デフォルトの名無しさん (ワッチョイ 777c-KiN+)
2023/05/03(水) 21:46:03.28ID:iydNsBEo0
このクラスでカプセル化されてないから云々
どうでも良い

動けば良いんだよ
410デフォルトの名無しさん (ワッチョイ 3702-ITaW)
2023/05/03(水) 21:55:41.82ID:XU1+7Xhm0
触らぬキチに祟りなし
411デフォルトの名無しさん (オッペケ Sr8b-0AmK)
2023/05/03(水) 22:10:57.21ID:7dxnHkZLr
まあ中小規模だと“動けばいい”でやってるのも事実だからなぁ
エクセルにチェックつけてペタペタしてソースは見ないなんてのもザラ
なんならちょっとしたものなら本人が動いてる!で終わりとかね
412デフォルトの名無しさん (ワッチョイ 7f79-YtWG)
2023/05/03(水) 22:36:48.59ID:0fnUMlbu0
>>411
動けばいいよりちょっと良くなると
何が良くなるの?
資料も書かないくせに余計な拡張要素入れたがるやつってぶっ殺したくなるんだけど?
お前もその類?
413デフォルトの名無しさん (スップ Sdbf-orLb)
2023/05/04(木) 01:49:28.43ID:s0gu/juAd
可読性がよくなる
バグが入り辛くなる
後釜がコード読んで罵倒せずにすむ
自分がクソコードに遭遇する可能性が減る
414デフォルトの名無しさん (アウアウアー Sa4f-ef8y)
2023/05/04(木) 03:35:15.40ID:FCXcO5KQa
資料を書く・書かないとコードを改善する・しないは別問題なのになんかキレ散らかしてるの怖・・・
415デフォルトの名無しさん (ワッチョイ ff10-By2c)
2023/05/04(木) 06:46:14.26ID:gb1C7wFP0
なんぞ嫌なことでもあったんだろうw
416デフォルトの名無しさん (アウアウウー Sa1b-rvTa)
2023/05/04(木) 07:31:56.06ID:iNiPzsH8a
糞コード納品してリテイク食らって動けばいいといくら主張しても却下されてここで八つ当たりしてんじゃね
417デフォルトの名無しさん (ブーイモ MMbf-SYdp)
2023/05/04(木) 08:16:56.65ID:2P3iGn2SM
寿命の短いゲームの開発とかには動けばいいだろのメンタリティでコード書いてるやつが多い結構いる
実際クソコードだからバグ修正のアプデでまたバグるのも日常茶飯事
418デフォルトの名無しさん (ワッチョイ bfbc-o+T5)
2023/05/04(木) 10:57:14.77ID:KzOav63c0
オマエらって普段からそんな立派なコード書いてるの?

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

まあ自分も普段は納品する側の中小だけど。
419デフォルトの名無しさん (ワッチョイ 3778-fitb)
2023/05/04(木) 11:02:54.68ID:vtPK3lgJ0
>>1読め
420デフォルトの名無しさん (アウグロ MMdf-YtWG)
2023/05/04(木) 12:11:12.80ID:7U0ATqEaM
>>413
ドキュメントでも書いてよ
421デフォルトの名無しさん (ワッチョイ 9fda-pQRJ)
2023/05/04(木) 13:12:46.06ID:nZfQ3MKS0
>>418
PSNの個人情報流出思い出した
dobon(だったはず)丸パクリの暗号化だった。"saltは8バイト以上"っていう文字列で復号化できた
オレが作った社内システムも同じことしてた。
社内システムだからセキュリティは気にしてないが。
422デフォルトの名無しさん (スップ Sdbf-orLb)
2023/05/04(木) 13:16:44.41ID:mx5edemad
>>420
クソコードをドキュメントに起こすときのモチベーション低下もあるな
規則性がないからな
あの頃の俺はなんでこんな変な処理を……
423デフォルトの名無しさん (ワッチョイ 7f79-YtWG)
2023/05/04(木) 15:58:14.71ID:/htkaizY0
>>422
言い訳はいいから書いて
424デフォルトの名無しさん (スップ Sdbf-orLb)
2023/05/04(木) 16:21:40.44ID:FCTf23V0d
?意味わからん
まさか今から書いて上げろって言ってる?
425デフォルトの名無しさん (ワッチョイ 9354-ouLR)
2023/05/06(土) 20:43:47.65ID:8uPWyiyX0
非同期ファイルコピーのサンプルを探していたら、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;
}
426デフォルトの名無しさん (ワッチョイ cb10-W4Ad)
2023/05/06(土) 22:50:57.94ID:v1IlMQax0
とりあえず機能させたいならFileCopyで十分
中断とか進捗状況確認とか融通が利くのがFileStream
427デフォルトの名無しさん (ワッチョイ c2bd-O5MS)
2023/05/06(土) 23:28:08.83ID:TzwbEMRu0
File.Copyだと同期処理がスレッドを専有しそう。
FileStream.CopyToAsyncだとそうならないように実装されているのかな?
428425 (ワッチョイ 9354-ouLR)
2023/05/07(日) 00:12:10.49ID:/tWxMywy0
>>426-427
ありがとうございます。
FileStream を使うことにしました。
429デフォルトの名無しさん (ワッチョイ 9354-ouLR)
2023/05/07(日) 00:41:03.38ID:/tWxMywy0
>>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' にアクセスできません。'
430425 (ワッチョイ 9354-ouLR)
2023/05/07(日) 00:57:48.70ID:/tWxMywy0
方法 2 (File.Copy) の方法でも発生しました。
まったく原因の見当がつきません・・・
431デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
2023/05/07(日) 00:58:07.18ID:AUxqabWy0
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教えてください
432デフォルトの名無しさん (ラクッペペ MMde-yLVR)
2023/05/07(日) 01:21:55.84ID:m4wk6w14M
onedriveとかgoogledriveとかdefenderとかnortonとか
433425 (ワッチョイ 9354-ouLR)
2023/05/07(日) 01:29:00.89ID:/tWxMywy0
とりあえず原因不明なので、最大10回を上限に、例外発生したらリトライするようにしました・・・

int j = 0;
bool b = false;

while (!b || j < 10)
{
 try
 {
  //コピー処理
  b = true;
 }
 catch
 {
  continue;
 }
 j++;
}
434デフォルトの名無しさん (ワッチョイ 9354-ouLR)
2023/05/07(日) 01:37:17.63ID:/tWxMywy0
>>432
Windows Defender 無効にしたら例外が発生しなくなりました!
天才さんありがとうございます!(>▽<)
435デフォルトの名無しさん (オッペケ Src7-KeI6)
2023/05/07(日) 08:06:15.51ID:ZcKb5BN5r
>>431
DB絡んでないけど一般論としては
https://atmarkit.itmedia.co.jp/ait/articles/1409/24/news105.html
もっともODBCドライバとかDBプロパイダの作りがザルだとクエリ実行結果を一気に全件取り出して
アプリサーバ上のメモリ上に保持してる可能性もゼロではないけど、postgresならそんなことはないだろう

実体化したくないけど非同期でレコードを取り出したいってことなら
await foreach( var row in query.AsAsyncEnumerable() )
436デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
2023/05/07(日) 11:06:44.59ID:AUxqabWy0
>>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
437デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
2023/05/07(日) 11:09:18.20ID:AUxqabWy0
ミス
最終的に
async foreach( var row in query.AsNoTracking().AsAsyncEnumerable() )
という書き方に落ち着きました
438デフォルトの名無しさん (ワッチョイ 4679-U4yn)
2023/05/07(日) 11:24:15.43ID:4ZIcGn3M0
終わるまでにめっちゃメモリ使って死ぬ感じある
439デフォルトの名無しさん (ワッチョイ 1279-y4C+)
2023/05/07(日) 14:06:12.41ID:O0op5Uvp0
Defenderやらが邪魔するのはそうなんだろうけど
C/C++でACLや属性変更でリトライなんてしてた覚えないからC#のDisposeでファイルがちゃんとクローズできてないだけな気もする
440デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea)
2023/05/08(月) 10:05:23.91ID:3mw2N0vvp
Disposeでクローズなんかしないだろ?
つかそんな実装頼みの使い方してたら痛い目に遭うぞ
441デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
2023/05/08(月) 13:04:12.03ID:h5IiweHd0
using制御しかしてないわ
442デフォルトの名無しさん (スプッッ Sd52-8wHc)
2023/05/08(月) 13:11:33.93ID:x7lJRSufd
>>439-441
>>429はWidows Defenderのせいにして終わってるから
納得できる形で解決してみせてよ
443デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea)
2023/05/08(月) 13:27:23.81ID:Rh3bbmbap
>>442
非同期なら当たり前に発生するなw
444デフォルトの名無しさん (ラクッペペ MMde-yLVR)
2023/05/08(月) 13:29:30.54ID:QcInbmeDM
ファイルを閉じるから横取りされるんだぞ
445デフォルトの名無しさん (スッップ Sd32-KeI6)
2023/05/08(月) 13:38:05.76ID:TxJAG0JMd
今回みたいなケースでファイルクローズ直後にファイルいじろうとすると使用中の様な警告出ることあるから
基本的にリトライするようなコード入れてるけどそんなことないのかね
446デフォルトの名無しさん (ササクッテロリ Spc7-Z7Ea)
2023/05/08(月) 13:53:31.24ID:xSxPowKip
OS側の処理も非同期なんだと予想
447デフォルトの名無しさん (スプッッ Sd52-8wHc)
2023/05/08(月) 15:24:20.83ID:NYRttg47d
いちいちリトライなんか仕込んてたらハゲそう
イラネーヨって言ってくれ
448デフォルトの名無しさん (ワッチョイ c2bd-O5MS)
2023/05/08(月) 23:17:00.86ID:n3psyKuA0
>>440
IDisposableを継承しているのにクローズしなかったら使い物にならないだろ。

例えばFileStreamクラスのDispose()には、
Stream によって使用されているすべてのリソースを解放します。
とあるので、当然Closeもする。
449デフォルトの名無しさん (ワッチョイ c2bd-O5MS)
2023/05/08(月) 23:18:14.32ID:n3psyKuA0
あ、継承じゃなくて実装だ。
450デフォルトの名無しさん (ワッチョイ cb7c-DUGT)
2023/05/09(火) 04:40:15.34ID:fisd8t0i0
Disposeの処理の中でClose普通に呼んでたはず
ソース見りゃ分かるやろ
451448 (ワッチョイ c2bd-O5MS)
2023/05/09(火) 04:54:39.15ID:b+hc+8Ui0
>>450
>>440が「そんな実装頼みの」って言ったので、あえてソースを見ずにドキュメントの内容で答えた。
452デフォルトの名無しさん (アウグロ MMb3-G648)
2023/05/09(火) 07:21:46.18ID:2h4Q3q9eM
asyncawaitに対応してない何かがあるのかもな
453デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
2023/05/09(火) 08:53:33.61ID:F+qDabIr0
自作じゃない.NET純正で、Taskを返す〇〇Asyncメソッドがasyncawait対応してないは無いでしょ
454デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/09(火) 10:25:27.81ID:wTiHbcrZp
だから、OSだって非同期にファイル処理してるんだろ?
で、完了通知なんて受けて無いw
455デフォルトの名無しさん (スプッッ Sd52-8wHc)
2023/05/09(火) 11:26:49.94ID:TDrxScizd
C#のファイル操作が遅いからファイルコピーと属性変更との間にWindowsDefebderが割り込んでスキャンされて妨害されるのかもしれない
知らんけど
456デフォルトの名無しさん (アウアウウー Sac3-16n5)
2023/05/09(火) 11:28:32.40ID:LwvaBWbia
>>455
win32apiを使ってるのでさすがにそれなはい
削除してもすぐにファイルが消えないのはあるあるだからリトライするのが定番
457デフォルトの名無しさん (オッペケ Src7-iqBk)
2023/05/09(火) 11:46:04.35ID:vAJE1vUCr
とはいえ
頻度は10回に1回あるかないか程度
Windows Defender 無効にしたら例外が発生しなく
なら妥当かもしれない
458デフォルトの名無しさん (ワッチョイ d201-6snu)
2023/05/09(火) 16:21:49.31ID:GXFqLAgP0
>>429
これ閉じる前にFileStream.SafeHandle使ってSetLastWriteTime(SafeFileHandle, DateTime)のオーバーロード使うのはどうなの?
459デフォルトの名無しさん (ワッチョイ 52de-KeI6)
2023/05/09(火) 20:43:33.82ID:ZCATFg/N0
質問なんですが
formのbutton1.textをテキストボックスから取得したいのですが、
テキストが長い場合、ボタンのテキストが改行されてしまいます

表示が後半隠れてしまうのは別に構わないのですが、
改行がおこるとテキストがボタンの上側に移動してしまいます
button1.textを改行しないようにできないでしょうか?
460デフォルトの名無しさん (ワッチョイ 7378-KeI6)
2023/05/09(火) 22:36:11.30ID:ZhePtJGs0
ボタンのPaintイベントで自前描画すればOK
461デフォルトの名無しさん (ワッチョイ 1279-y4C+)
2023/05/09(火) 22:41:53.48ID:U2HEifZi0
button1.AutoEllipsis = true;
462デフォルトの名無しさん (ブーイモ MMdb-mskx)
2023/05/10(水) 10:41:28.62ID:B1N+exWkM
どなたか教えてください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 {クラス名}を書き忘れたらビルドが通っていたのでなんだろうと思った所存です
463デフォルトの名無しさん (ワッチョイ b74f-hGOv)
2023/05/10(水) 11:20:13.56ID:iQXLAALm0
オブジェクト初期化子
1つ目のケースは初期化するプロパティがないので何もしない
2つ目のケースはこれと同じ意味になる
var p = new Person();
p.Name.NameText = "";

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

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

button1.Padding.Topに4ぐらいいれたら解決しました
465デフォルトの名無しさん (ブーイモ MMdb-mskx)
2023/05/10(水) 11:27:39.61ID:NYVeTygZM
>>463
なるほど!ありがとうございます!
いやーこれはコンパイル時に落としてほしい…
466デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
2023/05/10(水) 11:28:45.20ID:qs6QvCEc0
Formsで独自描画はバッドノウハウに近いと思う 
スケーリング考慮してないのばっかり
467デフォルトの名無しさん (ワッチョイ b74f-hGOv)
2023/05/10(水) 13:49:34.03ID:iQXLAALm0
>>465
AのコンストラクタでNameがnewされてたら問題ないわけだし使い分けでしかないね
nullableを有効化しとけばこのケースだとAのNameがnull許容でもnull非許容でも警告出してくれるよ
468デフォルトの名無しさん (ワッチョイ c23d-Lyct)
2023/05/10(水) 14:23:44.58ID:6sAnxqBz0
C#でASP.NETでHTMLコード書くにはどこいじればいいの?
469429 (ワッチョイ 9354-ouLR)
2023/05/10(水) 17:05:27.60ID:QPN4FwhI0
私にとっての解決後も議論があったようですが、
Windows Defender を無効化 ( Windows Defender の [除外] に、コピー先フォルダを登録する ) してから、1回も発生していません。
for(int i = 0; i < 100; i++){}
での 100回ループテストを何度か行っても発生していないので、自分の中では解決済みになっています。
470デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/10(水) 18:11:17.94ID:rAs2Y7NDp
ファイル内容変更したからウイルスチェックが走ってんじゃん
ってオチかよw
471デフォルトの名無しさん (ワッチョイ 1610-tcUg)
2023/05/10(水) 18:54:24.51ID:6aE3wdSe0
オチかよも何も、最初からそういう話だったのに
DisposeがちゃんとやってないんだろとかOSの遅延がうんたらとか頭でっかちが騒いでるだけやで
472デフォルトの名無しさん (ワッチョイ 4679-jUDw)
2023/05/10(水) 18:59:46.60ID:KHK6MiQv0
asyncawaitってスレッドセーフのメソッドじゃなくても使っていんだっけ?
473デフォルトの名無しさん (アウアウウー Sac3-16n5)
2023/05/10(水) 19:16:24.65ID:PlKEk/pSa
>>456で結論書いてやったのにまだやってたのか
474デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/10(水) 19:57:37.80ID:n33wvc2tp
>>473
全く結論になって無いよあれ
単なる対症療法なだけだろw
475デフォルトの名無しさん (アウアウウー Sac3-16n5)
2023/05/10(水) 20:01:05.91ID:PlKEk/pSa
その対症療法が唯一の治療法なんだがまだそれもわからないのかよw
476デフォルトの名無しさん (アウアウウー Sac3-16n5)
2023/05/10(水) 20:03:31.18ID:PlKEk/pSa
リソースを占有できるのがそのスレッドだけではない場合
つまり今回と同様の場合だな
原因がセキュリティソフトかバックアップソフトか何かは全く関係ない
時間を置いて何度かリトライしてそれでもだめなら例外を投げる
基本中の基本だぞ?
477429 (ワッチョイ 9354-ouLR)
2023/05/10(水) 20:19:03.60ID:QPN4FwhI0
議論再燃させて申しわけありません。
消えます。
478デフォルトの名無しさん (ワッチョイ 4679-jUDw)
2023/05/10(水) 21:49:28.98ID:KHK6MiQv0
みんな参加できるし
いい内容だと思う
479デフォルトの名無しさん (ワッチョイ 1610-tcUg)
2023/05/10(水) 22:26:34.42ID:6aE3wdSe0
>>1
> 議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
480デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
2023/05/10(水) 23:13:27.93ID:qs6QvCEc0
>>475,476
今回の場合(>>429)は、ファイルを一旦解放するのが問題なんだから、>>458の方法で上手く行くでしょ
481デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
2023/05/10(水) 23:27:09.51ID:qs6QvCEc0
ファイル削除のことならリトライは必要だけど、今回のと関係ないね
482デフォルトの名無しさん (ワッチョイ 335f-Z7Ea)
2023/05/10(水) 23:39:29.79ID:+U2L2taI0
てか、ファイル操作するのに、排他しなきゃだよな?
一度手放したら他のプロセスに横取りされちゃうだろ
483デフォルトの名無しさん (ワッチョイ 335f-LLT0)
2023/05/10(水) 23:54:07.74ID:of34847N0
もう一度再現させた上でロックしているプロセスが本当にWindows Defenderだったのか確認しない限り不毛な議論では?
484デフォルトの名無しさん (ワッチョイ 4679-U4yn)
2023/05/11(木) 02:59:54.64ID:YOUU3VFS0
っていうかどうしたいんだろ
コピー後のファイルを
誰かがつかんだままにすれば
似たようなエラーはいつでも
起こせるし起きちゃうじゃん

それがこのアプリにとってレアケースでないなら他アプリがつかんだママのときの動作を仕様で定義するべきだと思う
485デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
2023/05/11(木) 03:21:28.69ID:rPH4vL1P0
>>484
>>429のソースを見るに、ファイルの最終書き込み時刻を保ったままコピーしたいんでしょうよ

コピー先のファイル作成とタイムスタンプ操作を1回の排他モードオープン~クローズの間にまとめてやれば
他のプロセスに割り込まれようが無いし、その後につかまれてもやること終わってるから問題無い
486デフォルトの名無しさん (アウアウウー Sac3-16n5)
2023/05/11(木) 08:30:37.64ID:deoSAjL+a
>>481
今回のセキュリティーソフトわ切るやり方こそ対症療法だろw
487デフォルトの名無しさん (スッップ Sd32-KeI6)
2023/05/11(木) 10:12:30.60ID:NldGOlLod
>>458
これ知らなかったんだけど、実際に存在する?
コード書いてもでてこないんだけど
ちなみにGetLastWriteTime はあるようだ
488デフォルトの名無しさん (ワッチョイ ff2d-vOwS)
2023/05/11(木) 10:37:35.73ID:rPH4vL1P0
>>487
.NET7で追加された
.NET6以前はP/InvokeでWin32API使えば同等のことは出来るけど時刻の扱いが面倒臭いね
489デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/11(木) 10:44:53.88ID:ihHVpLbGp
そもそもファイルのタイムスタンプを合わせる仕様が本当に必要なのか小一時間
490デフォルトの名無しさん (スッップ Sd32-KeI6)
2023/05/11(木) 10:54:15.13ID:NldGOlLod
>>488
thx
>>489
他人の仕様にケチ付けちゃだめ
491デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/11(木) 11:24:35.10ID:ihHVpLbGp
タイムスタンプなんて危ういものを何に使おうってんだ?
生成時刻が重要ならファイル名に組み合わせしまうとか
他の方法の方がよっぽど確実だぞ
492デフォルトの名無しさん (ワッチョイ 16a7-ijv4)
2023/05/11(木) 12:16:13.48ID:RpUziWGf0
DateTime.ToFileTimeみたいな関数あったはずだからWin32利用したら案外簡単
493デフォルトの名無しさん (スッップ Sd32-KeI6)
2023/05/11(木) 12:31:50.44ID:NldGOlLod
コードも提供せずにこういうことやりたいと言ってるわけでもないし、
今回問題となっている部分についてだけで話すればいいんじゃないの
質問者が他のやり方ないですかみたいな質問ならまだしも
回答者が勝手に仕様かえて変な回答しないほうがいいと思うなぁ
494デフォルトの名無しさん (ワッチョイ 1279-y4C+)
2023/05/11(木) 12:45:05.52ID:OsVl9AaP0
俺は基本更新時刻の新しい順で並べるからファイルやフォルダのコピーごときでファイルスタンプは変わって欲しくないな
495デフォルトの名無しさん (ブーイモ MMdb-vs1K)
2023/05/11(木) 12:56:38.62ID:CPAv1ED5M
コピー元のタイムスタンプを維持したいユースケースなんていくらでもあると思うんだけどな
cp -pのように最初からそういうオプションが用意されてないのが不思議なくらい
496デフォルトの名無しさん (ワッチョイ 3302-Gqxk)
2023/05/11(木) 13:00:19.05ID:8tWYoMH60
>>491
お前の考えなど知らん
コピー先のファイル名はそのままである必要があるんだよ
497デフォルトの名無しさん (ブーイモ MMde-8Ur6)
2023/05/11(木) 13:03:05.25ID:azf3P6SKM
あれ、File.Copy()でコピーすればファイルの更新時刻とかはコピー元ファイルのままだと思ってたんだけど、違うの?
わざわざLastWriteTimeを転記する処理なんか不要じゃないかな
498デフォルトの名無しさん (ワッチョイ 4679-G648)
2023/05/11(木) 13:20:41.79ID:YOUU3VFS0
結局なんで死んでんだっけ?
スレッドセーフじゃないメソッド呼んでたから?
499デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
2023/05/11(木) 13:22:58.00ID:Kl8HQqiW0
FileStreamを開放したところでDefenderに掴まれてるから
500デフォルトの名無しさん (ワッチョイ 927f-Ujgo)
2023/05/11(木) 13:26:07.70ID:IsUfqIsW0
>>470
ノートン先生が毎回俺がコンパイルしたexe没収しやがるのな
501デフォルトの名無しさん (ラクッペペ MMde-yLVR)
2023/05/11(木) 13:28:13.33ID:/kketneYM
gdriveの横槍でvsのビルド失敗しやがるからな
502デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/11(木) 14:04:15.95ID:/lX/zRJGp
>>496
だからファイル作成時刻が重要ならタイムスタンプに頼る様な仕様は事故のもとだから仕様から考え直さないと後で泣くのはおまえさんとこだって話だw
503デフォルトの名無しさん (ワッチョイ 927f-Ujgo)
2023/05/11(木) 14:06:17.73ID:IsUfqIsW0
ファイルの作成時刻が大事で、ファイル名も変えたくないなら
実データの内に時刻もっておいて逐次参照するしかないか
504デフォルトの名無しさん (ワッチョイ 1e42-KeI6)
2023/05/11(木) 14:15:18.91ID:5HC1/c5B0
タイムスタンプをバージョン番号にするのが一時流行ったな
505デフォルトの名無しさん (スッップ Sd32-KeI6)
2023/05/11(木) 14:18:46.36ID:NldGOlLod
>>497
コード提供部分にはない仕様でコピー中の進捗管理もしたいからブロックコピーみたいな事したいんじゃないのと思ってるけどね
506デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
2023/05/11(木) 16:32:36.54ID:Kl8HQqiW0
ファイルコピーツールでタイムスタンプ類もそのままって普通のことでは?
507デフォルトの名無しさん (ワッチョイ 1279-y4C+)
2023/05/11(木) 16:59:27.45ID:OsVl9AaP0
そうだよ
その当然のことがC#だとなぜか上手くいかないねってマヌケな話を続けてるのよ
508デフォルトの名無しさん (ワッチョイ b7e5-tcUg)
2023/05/11(木) 17:30:13.71ID:Kl8HQqiW0
違うよ、Defenderに割り込まれて失敗してただけなのに、C#が悪いとか実装だよりがうんたらとか明後日の話してるだけ
あとなぜかタイムスタンプ同期を敵視するおかしな輩
509デフォルトの名無しさん (ササクッテロル Spc7-Z7Ea)
2023/05/11(木) 17:43:23.58ID:rQf2HOBdp
タイムスタンプって言えば、マイナンバーの他人データ事件
510デフォルトの名無しさん (アウアウエー Saaa-tcUg)
2023/05/11(木) 20:37:45.66ID:WmrOv4hCa
asp.net 7.0/razorでTest.razorファイルを作って中身を
@page "/test/{text}"
<h1>Hello, world!</h1>
とすると、http://localhost/test/aaaaaaaは期待通りTest.razorにアクセスするんだけど
http://localhost/test/ にアクセスしようとするとエラーページ(app.razorの<NotFound>)に飛んでしまいます
エラーページに飛ばずにTest.razorに導くにはどうしたらいいのでし
511デフォルトの名無しさん (アウアウエー Saaa-tcUg)
2023/05/11(木) 20:50:19.55ID:WmrOv4hCa
自決。重複指定できるんだね
@page "/test/{text}"
@page "/test/"
512デフォルトの名無しさん (ワッチョイ 4679-jUDw)
2023/05/12(金) 05:08:25.71ID:wvdezX0Z0
ループしつつ例外来たらリトライぐらいしかないんだな
ファイルアクセスって
513デフォルトの名無しさん (ワッチョイ 1610-tcUg)
2023/05/12(金) 06:06:11.81ID:knxa7qRm0
絶対に他のプロセスがアクセスすることが無いファイルでもなきゃそうだろうね
514デフォルトの名無しさん (ササクッテロ Spc7-Z7Ea)
2023/05/12(金) 10:06:17.76ID:6p7rgQrNp
一度握ったら離さない様にすれば良いだけ
まあ、握るまで待つ事はあるだろうけどさ
515デフォルトの名無しさん (ササクッテロ Spc7-Z7Ea)
2023/05/12(金) 10:09:45.59ID:6p7rgQrNp
ファイルロックくらいしろって事でFA
516デフォルトの名無しさん (ワッチョイ 5eda-xrk/)
2023/05/12(金) 20:52:48.39ID:QyvjIFa10
タイムリーな話題

Microsoft Defender がファイルコピー速度を大幅に低下させるというテスト結果
https://security.srad.jp/story/23/05/11/212256/
517デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
2023/05/13(土) 11:11:48.89ID:tW4K4KGI0
当たり前の話じゃないの?
アンチウイルスって実行ファイルの中身チェックするのが仕事なんだし
518デフォルトの名無しさん (ワッチョイ cfbb-ScEU)
2023/05/13(土) 12:02:01.86ID:7xfulSMu0
>>517
コピーされるファイルも実行ファイルの中皆の?
519デフォルトの名無しさん (ワッチョイ 137c-Zn+e)
2023/05/13(土) 12:58:27.54ID:WLwqntQA0
別にチェックするのは実行ファイルだけじゃ無い
基本的には全部

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

特殊な方法で画像や音声ファイルに別ファイルを入れる事も出来る
普通に開いても画像や音が流れるけどやけにファイルサイズ大きい
520デフォルトの名無しさん (ワッチョイ 03e5-Phjm)
2023/05/13(土) 14:46:09.37ID:mZrGEceU0
除外指定されてないもの全部検査対象だよな
521デフォルトの名無しさん (ワッチョイ ffde-ZkZz)
2023/05/13(土) 15:08:50.76ID:xlpBDV6S0
んでウィルスでもないものも消していってくれるし
522427 (ワッチョイ bfbd-Np+b)
2023/05/14(日) 08:52:03.33ID:kc3awa8x0
>>428
非同期I/Oについて以前別件で調べていたページをブラウザで開いたまま放置してて、
そこを読んだら、
・FileStreamは~Async()メソッドを呼ぶだけだと、同期メソッドをTask.Runしているイメージと同じ
・非同期IOにするには、FileStreamのコンストラクターでuseAsyncをtrueにする
とあった。
523デフォルトの名無しさん (ワッチョイ 8f79-PTT8)
2023/05/14(日) 11:04:56.63ID:8prSF4JO0
そもそもIOって物理的に非同期にできんのかな?
って疑問はある
ファイル名(パス)を変更するとして
それが既存と被らないことをチェックするためには
HDD全部が排他対象になっちゃうと思うんだけど・・・?

世の中には頭のいい人がいるからな
Windowsもうまいことなってるのかもしれん
524デフォルトの名無しさん (ワッチョイ 137c-Zn+e)
2023/05/14(日) 11:24:11.66ID:C7+mn9jn0
アホすぎる
基本情報技術者試験からやり直せ
525デフォルトの名無しさん (アウグロ MMdf-PTT8)
2023/05/14(日) 11:25:33.88ID:YHEEjM6QM
>>524
マジで?載ってる?
526デフォルトの名無しさん (ドコグロ MMe7-GJof)
2023/05/14(日) 11:30:50.36ID:cZZGCVt9M
FileStreamの~Async()メソッドの話をしているのに
ファイル名を変更する話をし始める人
527デフォルトの名無しさん (ワッチョイ 8f79-LM5x)
2023/05/14(日) 13:29:51.43ID:8prSF4JO0
>>526
あ、そっか
やっぱりそこは
どうにもならねえんだよな
528デフォルトの名無しさん (ワッチョイ 8f79-LM5x)
2023/05/14(日) 13:35:41.81ID:8prSF4JO0
まずIOいじるときは
プロセスセーフである必要があって
それをサポートするAPIはないと
次にスレッドセーフである必要も
あってそこはAPIがあるのと
プロセスセーフの仕組みに載せてしまってもよい
みたいな?
529デフォルトの名無しさん (スップ Sd1f-ZkZz)
2023/05/14(日) 15:32:18.00ID:cBUUr2ypd
別に考えるのは悪いことじゃないけどここで書くような事か?
チラシにでもかけよ
530デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
2023/05/14(日) 16:46:00.64ID:AbKJzFQD0
>>523
出来るも何もむしろ必須レベル
正常なディスクであればファイルIOは即終わるが壊れかけとかだとめちゃくちゃ時間かかる事もある
要するに完了時間は不定だから多数に公開しようとしたらファイルIOはWin32のオーバーラップを利用した非同期化は必須
C#であれば手軽に使えるasync版もあったはずだが
531デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
2023/05/14(日) 18:25:49.02ID:8prSF4JO0
>>530
なんかごちゃごちゃうっせーけど
OSとAPIに任せて勝手にやってくれるわけではないよね?
532デフォルトの名無しさん (ワッチョイ 1310-TD+p)
2023/05/14(日) 19:42:00.49ID:LqBBoBzl0
やってくれてなかったらOSもプロセスもディスクアクセスのたびに死んでるわ
533デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
2023/05/14(日) 21:25:59.89ID:8prSF4JO0
>>532
だから死んでるじゃん
エラー出して
ハンドリングはしてないよね?
534デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/14(日) 21:34:27.06ID:pb1Dbmn7M
スレ伸びてるなと思ったら荒れてたのか
スルーしたほうがいいのかな?答えたほうがいいのかな?
535デフォルトの名無しさん (ワッチョイ 1310-TD+p)
2023/05/14(日) 23:37:37.55ID:LqBBoBzl0
ハンドリングしてるからエラー出せるんだろうに
536デフォルトの名無しさん (ワッチョイ a32d-QNcS)
2023/05/14(日) 23:52:11.86ID:TlAvKTIL0
デバイスとファイルシステムの区別が付いてないし基本的な知識が欠けてる
相手にするだけ無駄かと
スレチだし
537デフォルトの名無しさん (ワッチョイ ff2f-o00x)
2023/05/15(月) 01:10:46.89ID:LL0MvYiW0
まあふらっとだしC#にかかわる範囲で答えてやれば良いとは思うが

そもそも>>523は非同期IOってどんなもんだと思ってるんだ
538デフォルトの名無しさん (ワッチョイ 8f79-PTT8)
2023/05/15(月) 03:01:17.91ID:MbkFonvu0
>>535
プロセスセーフにはならないってことだよね
539デフォルトの名無しさん (ワッチョイ 8f79-PTT8)
2023/05/15(月) 03:14:56.69ID:MbkFonvu0
streamreaderwriterで死ぬってことはOSの機能じゃなくて
あくまでアプリ側がそう組んだからそう動くってことでおk?
540デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
2023/05/15(月) 10:50:41.17ID:pV2Ms8mh0
>>531
勝手にやってくれない?
お前はDeviceIOControlでも利用して一々マニュアルでハードウェア制御してるのかよ
普通に全部勝手にやってくれるよ
541デフォルトの名無しさん (ワッチョイ ff80-wac6)
2023/05/15(月) 15:46:46.09ID:rEJ0AvWA0
ReactiveExtensionsって現場では結構使われてるんですかね?
542デフォルトの名無しさん (ワッチョイ bfbd-Np+b)
2023/05/15(月) 23:44:43.69ID:7dwhbD/A0
>>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のライブラリがどこまでやっているのかまだソースをほとんど調べていない。
543デフォルトの名無しさん (ブーイモ MM7f-yLof)
2023/05/16(火) 15:21:40.99ID:x5Idn1prM
>>542
ReadFileEx()/WriteFileEx()に対して何かアドバンテージあるの?
544542 (ワッチョイ bfbd-Np+b)
2023/05/16(火) 23:17:52.90ID:ArIN9ivM0
>>543
ReadFileEx()/WriteFileEx()のlpCompletionRoutineを使ったことはないけど、
LPOVERLAPPED_COMPLETION_ROUTINEのページに、
システムが完了ルーチンを呼び出すたびに、アプリケーションのスタックの一部が使用されます。 完了ルーチンが追加の非同期 I/O とアラート可能な待機を行うと、スタックが大きくなる可能性があります。
とあるから、完了ルーチンでさらに非同期I/Oを繰り返すと、スタックがあふれる恐れがあるんじゃないかなあ?
545デフォルトの名無しさん (ブーイモ MM1f-yLof)
2023/05/17(水) 00:05:39.06ID:UJN2K8xqM
>>544
なるほど
.NETのFileStreamもReadFile()やWriteFile()を使ってるのはそれが理由かも
546デフォルトの名無しさん (ワッチョイ 835f-keH4)
2023/05/17(水) 02:11:11.09ID:BW67Dsb50
ファイルIO飽きたぁ
547デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
2023/05/17(水) 09:38:13.97ID:J+vPZ/2W0
>>545
いや完了ルーチン内で更に完了ルーチン呼び出しするなんて実装メリット無さ過ぎて普通しないからそれが理由ではない
単純に最も効率的な非同期IOはスレッドプールを利用した完了ポートだからだよ
C#のasync awaitも完了ポートベース、nodejsもWindows版では完了ポートベース
548デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
2023/05/17(水) 09:41:37.77ID:x4D/IoKq0
>>546
どうした?
実はこれまで組んだファイル周りの実装がまずいことに気が付いたのか?

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

だったけどこのスレ見たやつが指摘してきた(笑)
面倒くせえw
549デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
2023/05/17(水) 09:47:10.85ID:J+vPZ/2W0
プロセスセーフってなんだ?
一つのファイルを複数プロセスで扱う場合においても別に難しい事はないけどな
排他モード指定したら良いだけなんだから
550デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/17(水) 09:52:57.56ID:BC9U1gYmp
>>549
一度に完了しないでチマチマ複数回アクセスする類いだろ
551デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
2023/05/17(水) 09:56:54.00ID:x4D/IoKq0
>>549
いや、他のやつにアクセスされてると死ぬねん
その時いつまで待てばええのか仕様がないねん
タイムアウト付けるとじゃあその時できんかった処理をいつやるのか仕様を考えろって言われて辛いねん
さらにそれが終わる前に他の処理が進んでしまってもまずいときあんねん
こんなレアケース相手にしとうなかったねん
552デフォルトの名無しさん (ワッチョイ cfa7-55dJ)
2023/05/17(水) 10:04:34.84ID:J+vPZ/2W0
>>551
それファイルIOの問題ではないな
非同期プログラミング全般の問題
553デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/17(水) 10:04:36.01ID:BC9U1gYmp
まあ、昨今のマイナンバー絡みの誤配信あるし
つまらないレアケースを突いて来る奴増えたよな
554デフォルトの名無しさん (ワッチョイ 8f79-cPXU)
2023/05/17(水) 10:07:50.36ID:x4D/IoKq0
いい手を考えた

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

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

なお非同期書き込みは関係ない
556デフォルトの名無しさん (ワッチョイ ff2f-3DBk)
2023/05/17(水) 10:26:42.10ID:GG5VHMy50
>>551
レアケースでもなんでもなくて、当然設計段階で考慮しとくべき話
コーディング以前の問題

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

つかマイナンバーのやつは、レアケースというほどレアな条件が重なってるとは思えん
たんなる設計不良とテスト不足だろ
557デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/17(水) 10:27:49.23ID:BC9U1gYmp
>>555
Defenderが変化のあったファイルを即握るから一度手放したら持って行かれるってのが原因だよ?
この場合Defenderは一例に過ぎない、他に同じ様なプロセスが走ってたら同じ事
558デフォルトの名無しさん (ラクッペペ MM7f-zI38)
2023/05/17(水) 10:33:05.14ID:ayW9U2wIM
>>557
そう書いてるけど何か?
非同期書き込み関係ある?
559デフォルトの名無しさん (スップ Sd1f-ZkZz)
2023/05/17(水) 10:38:32.93ID:JdW1FdHOd
>つまらないレアケースを突いて来る奴増えたよな
つまるつまらない関係なく安全なシステム構築が原則じゃねーの
こんなこと言う奴が実装してると思うと怖いな
560デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/17(水) 10:39:10.69ID:vxhNqJEJp
>>558
だから原因はDefenderじゃ無いだろw
対策でDefender切るなw
561デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/17(水) 12:01:27.36ID:F24a8wLtM
主張がおかしい
少なくとも例外=死ではないわな

いくら他言語知っててwin32api知ってても例外回りというかそこら辺の理解が出来ずに対応が出来ないから初心者なんだろう
ご愁傷様
562デフォルトの名無しさん (アウグロ MMdf-PTT8)
2023/05/17(水) 12:26:38.86ID:gUH2EQh+M
でもこれって排他で掴んじゃうテキストエディタでファイル開いたまま放置されたとかなったら回避不能だよね
新しいファイルを作っちゃうって手も残ってるけど
正しいソフトウェアのあるべき姿って言われても困るわけだが?

まあ、新しいファイルを作っちゃっていいなら作っちゃうが・・・?
読んでくるとき常に最新読むってすれば簡単だし
563デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/17(水) 12:39:44.91ID:F24a8wLtM
普通はメッセージを出すだろ?アプリ作ったことがないのか?
564デフォルトの名無しさん (アウグロ MMdf-PTT8)
2023/05/17(水) 12:48:19.60ID:gUH2EQh+M
>>563
まあ、ログにも通知にも残すけど
定期処理とかだと
夜中中出しっぱだったので一切他の処理やらんかったぜもない話で
565デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/17(水) 12:55:33.17ID:F24a8wLtM
責務以外のことまで考慮する必要はない

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

一般的なライブラリの範疇の話じゃない難癖レベル
566デフォルトの名無しさん (ワッチョイ 03e5-Phjm)
2023/05/17(水) 12:58:10.45ID:HpY9MMf50
排他で掴んじゃうエディタで開いたままにする関係者が悪いのであってやるなというだけの話
人が排他で開いたままにしちゃうかも、まで考慮することじゃない
567デフォルトの名無しさん (ワッチョイ ff79-Phjm)
2023/05/17(水) 13:09:21.57ID:0e0u0fXr0
オートリトライでFDDを延々とカッコンカッコン鳴らしてやるぜ
568デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/17(水) 13:22:55.46ID:c+t3TSTMp
>>567
FDDだとファイル一杯になった処理は必ず必要だよな
あんな容量の小さなメディアだしな
569デフォルトの名無しさん (スップ Sd1f-ZkZz)
2023/05/17(水) 14:21:29.85ID:JdW1FdHOd
>>562
当初の質問の流れだと①ファイル出力②タイムスタンプ変更を連続してるわけだから言ってる話(①のファイルをエディタなどの人為的操作でつかまれる)はおかしくない?
少なくともやりたかったことがどこかにあるファイルを別の場所にコピーする、ファイルのタイムスタンプは同じにするなら
①いったん別名でファイル出力
②タイムスタンプ変更 ※リトライ含む
③正しいファイル名に変更 ※リトライ含む
ぐらいがいいんじゃないかと思うけどね③まで正常終了したらOK
570デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/17(水) 14:23:16.58ID:/6qavqYtp
>>569
連続してる様に見えるけど、CPUから見たら隙間だらけだからなぁw
571デフォルトの名無しさん (ワッチョイ ff7f-pETH)
2023/05/17(水) 21:24:44.21ID:WYa1maRz0
FDDってプレーンテキストくらいしか保存できないよね?
572デフォルトの名無しさん (ワッチョイ 3302-Cej3)
2023/05/17(水) 21:52:19.55ID:6s1sKbMg0
2HDのFDにDOSと一太郎とATOKは入ったぞ
ちなみに媒体をFD、ドライブ装置をFDDというのだぞ
573デフォルトの名無しさん (スップ Sd1f-qtH3)
2023/05/17(水) 22:00:37.91ID:nVMR4RZGd
知識としてしか知らないと>>571みたいな認識になってしまうのか
574デフォルトの名無しさん (ラクッペペ MM7f-fulC)
2023/05/17(水) 22:55:44.00ID:lFYANmkBM
Aドライブでアプリケーションソフト起動してBドライブはFEPの辞書ファイル入れて使うのが一般的だった気がする
575デフォルトの名無しさん (ワッチョイ 335f-eWQc)
2023/05/18(木) 00:09:06.95ID:PrSBwdky0
ハードディスクがCドライブから始まってるのはその名残りだよな
576デフォルトの名無しさん (ワッチョイ 633a-zI38)
2023/05/18(木) 00:33:26.61ID:M0TxVFb20
1KB程度のデータしかない住民票を印刷するのにバカでかいPDFなんぞをワザワザこしらえてご丁寧に暗号化復号化レンダリングイメージ化などいらんことしてるから日本はダメなんだよ
577デフォルトの名無しさん (ワッチョイ 3302-Cej3)
2023/05/18(木) 00:49:20.46ID:+SWCVuhH0
>>576
そりゃコンビニのコピー機で発行できるようにそうしてるんだろ
もしかして、コピー機の方を改修したほうが良いと思ってるのかい?
どんだけ費用かけるつもりだよ
578デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/18(木) 10:06:50.15ID:Osufe4Tap
画像PDFは改変対策だろ?
まあ、テキストPDFでもプロテクト掛けられるけどな
579デフォルトの名無しさん (アウアウウー Sa67-9mXs)
2023/05/18(木) 10:10:35.46ID:4KlPbS1ta
>>571
今だとその程度の使いみちしかないかもな
FDDしか無かった頃はあらゆるデータが貧弱だったが
580デフォルトの名無しさん (ワッチョイ cf10-ZkZz)
2023/05/18(木) 10:11:37.45ID:ufQPk5+j0
名前などの文字部分は当然テキストよ
だけど印刷内容は文字だけじゃないだろ
役所で公的文書取ったことないんか?
581デフォルトの名無しさん (アウアウウー Sa67-9mXs)
2023/05/18(木) 10:20:46.30ID:4KlPbS1ta
>>580
枠線とか印刷とか要らんから電子署名したデータだけ寄越せと言ってるんだと思うぞ
そんなことしたら年寄りは生きていけなくなるがな
582デフォルトの名無しさん (ササクッテロ Sp87-eWQc)
2023/05/18(木) 10:29:30.52ID:Osufe4Tap
全部テキストにして
電子署名はQRコードで出せば良いのでは?
583デフォルトの名無しさん (ワッチョイ cf10-ZkZz)
2023/05/18(木) 11:39:25.32ID:ufQPk5+j0
>>581
で、それでどうやって今の社会システムに対して公文書行使するんだ?
584デフォルトの名無しさん (スッップ Sd1f-ie1o)
2023/05/18(木) 13:00:51.89ID:gc1pBp/rd
QRコードはandroidTVとかのアカウント認証で使われてるね
読み取るとurlにデコードされてwebブラウザで認証するやつ
スマホやPCがある事前提
585デフォルトの名無しさん (アウアウウー Sa67-9mXs)
2023/05/18(木) 13:18:31.14ID:Vg51lua1a
>>583
できないからダメだって話だろw
効率的に電子決済するにはしがらみが多すぎるんだよ
586デフォルトの名無しさん (ワッチョイ 03e5-Phjm)
2023/05/18(木) 18:54:25.63ID:BvTK4XNb0
で、お前らいつまでスレチ続けるんだ?w
587デフォルトの名無しさん (ワッチョイ 8f79-LM5x)
2023/05/18(木) 19:35:19.78ID:wNPIsLPx0
>>586
なんか聞きたいことあんの?
588デフォルトの名無しさん (ワッチョイ 5ebb-ZDLm)
2023/05/20(土) 18:00:33.33ID:BNhw9lNy0
>>576
記入可能なPDFを端末で持っておいて
テキストだけサーバーから送れば爆速で処理終わるよね
589デフォルトの名無しさん (ブーイモ MM86-F7IQ)
2023/05/20(土) 18:23:59.40ID:9iccQhCKM
PDFを悪用する人がいても書類を受け取った人が偽造かどうかオンラインとかで確認できるようならそれでもよかったのかもね
コンビニ出力と役所出力の公文書で受け取った側の運用が変わるデメリットを受け入れられたらの話だけど
590デフォルトの名無しさん (ワッチョイ 3abd-owa4)
2023/05/20(土) 19:08:07.55ID:NojZsJmh0
>>588
リッチクライアントならそうだね。
シンクライアントなら全てサーバーで処理することになる。
591デフォルトの名無しさん (ワッチョイ ca79-hQwN)
2023/05/20(土) 20:26:37.10ID:H7GfaBHz0
>リッチクライアントならそうだね。

もしかして:ファットクライアント
592デフォルトの名無しさん (ワッチョイ ce79-x++Y)
2023/05/20(土) 21:50:52.69ID:o5dUfSpn0
>>588
PDFってそんなでかいっけ?
テキストと分離した程度で爆速なんてでないだろ
593デフォルトの名無しさん (ワッチョイ def2-cUXk)
2023/05/21(日) 17:54:47.82ID:aSGZarsp0
>>592
無圧縮の画像があると重いかもね
594デフォルトの名無しさん (ワッチョイ 677c-bsHd)
2023/05/24(水) 06:48:02.27ID:dEtAkKea0
夜中からBUILD眠い
595デフォルトの名無しさん (ワッチョイ 6f5f-GCa2)
2023/05/25(木) 23:41:52.29ID:HnExcI2y0
よく聞かれることかもしれませんが、教えてください。

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

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

いかがでしょうか?
596デフォルトの名無しさん (ワッチョイ ca2f-Xm68)
2023/05/25(木) 23:48:35.78ID:8mbdG19r0
VisualのつかないC#とはいったい...
c++とC#なら別物だぞ
597デフォルトの名無しさん (ワッチョイ 6f5f-u1DA)
2023/05/25(木) 23:51:32.00ID:MENdj7XW0
よく分からん感情がにじみ出ていて真の質問が分かりづらいのでもう一回まとめ直してください
598デフォルトの名無しさん (ワッチョイ 6f5f-GCa2)
2023/05/26(金) 00:00:07.73ID:MvHB7l4o0
VisualC#の本を読んで勉強してるけど、Windowsアプリの作り方を勉強してるつもり。
C#の入門書も見たことあるけど、プログラム文の書き方のようなことで終始していて、
ウィンドウの作り方やボタンの設置のしかたすら解説されていないみたい。ぜんぜん違う。

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


これが質問の主旨です。
599デフォルトの名無しさん (ワッチョイ 3a32-m999)
2023/05/26(金) 00:09:36.83ID:V/JNO+4j0
VC++というかMSVCっていうとMicrosoftによる実装って意味合いもあるが
Visual C#というと殆ど開発環境を指してしか言わないと思うんだけど

別にフォームデザイナーがなくとも自動でコード生成してるだけだから
コードだけ書いてもGUIアプリは作れるし、他のIDEでも良い
かたや開発環境を前提としたアプリの作り方
かたや言語仕様の解説みたいな感じじゃないのか
600デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 00:10:18.48ID:muRHf0j+0
まずVisual C#というのがVisual Studioのものすごく古いバージョンなんだわ
601デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:11:06.11ID:W5uHLn8jM
意味が分からない人が多くて困るな
C#は言語そのものでVisualと言ってるのはGUI付きと言うことを言ってるんだろ

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

入門の仕方は様々ある
ざっくりとたとえると英語で言えば文法の本と日常会話の本に当たります
文法の方にはhelloは書いてなくて日常会話の方には未来完了とか書いてないでしょ?

表示技術はあなたの言うvisualで学べるけど文法の方やライブラリなどの使い方は学べない
文法を学ぶのにいちいちウィンドウを出していたら手間がかかる

アプリの作り方をある程度学んだら言語自体+ライブラリの使い方だけ学んでも問題はないのです
602デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 00:12:52.83ID:muRHf0j+0
意味が分かる人が言ってることに草生える
603デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:18:27.28ID:W5uHLn8jM
>>598
windwos上で使ってる一般の人は両方とも勉強します

基本的にはwindows上でしかGUIは提供されていないけどライブラリやwebサービスはGUIがなくても書けるし需要はある
GUIで出来ることは表層だけで中の処理は言語仕様やライブラリを知らないといけない

本格的にGUIを勉強しようと思っても今はそれ向けの本がほぼないので自習になる
604デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
2023/05/26(金) 00:19:15.41ID:A9A3Khm00
書籍だと割と最近出たのでもタイトルにVisual C#って付いてるのがいくつかあるね
605デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:19:40.32ID:W5uHLn8jM
>>602
絶望的に頭がわるいでしゅーと言う主張は情けなくてみっともねえwwwwwwwwwwwww
606デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:22:15.78ID:W5uHLn8jM
基本的に何かで一通りアプリの作り方を学んだら
C#の言語仕様についてしっかりその文字だけの本を読んで勉強することになる
607デフォルトの名無しさん (ワッチョイ 8a80-jezU)
2023/05/26(金) 00:22:55.79ID:VY0JKlLq0
アプリっつっても、デスクトップアプリ、コンソールアプリ、Webアプリなどあるからな
他にも、サービスとか、WebAPIとか、ライブラリとか
何を作るかで、使うライブラリやフレームワークが変わってくるし
608デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 00:23:25.62ID:muRHf0j+0
>>605
こんな感じの頭いかれてるやつだってことを素人にもわかりやすく伝える親切さまであったか
609デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:24:06.06ID:W5uHLn8jM
>>608
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
610デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 00:27:48.77ID:muRHf0j+0
そういう問題じゃねえよw
頭いかれてるやつが優しく教えるスレってどんな地獄だw
611デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:28:46.96ID:W5uHLn8jM
ID:muRHf0j+0が一番頭いかれてる

揚げ足取りか初心者相手にくだらないレスして悦に入ってるクソ人間
612デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
2023/05/26(金) 00:32:07.63ID:A9A3Khm00
>>598
GUI(ウィンドウやボタン等がある)アプリを作るには、C#の文法と、GUI(ウィンドウ等)の作り方の両方を覚える必要がある
どっちを先に覚えるかの違いでしかないよ
(GUI無しのアプリは使い道が限られるけど、文法を学習するのに向いてる)
613デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:35:39.02ID:W5uHLn8jM
今出てる本だけではGUIについてしっかりと学べる本はほぼないと思う
大体がWindowsフォームについてでWPFやUWPについて学べる本は少ない
614デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 00:35:42.24ID:muRHf0j+0
>>605
これを自分で見直して頭いかれてると思えないメンタルよw
615デフォルトの名無しさん (ワッチョイ 6f5f-GCa2)
2023/05/26(金) 00:36:14.97ID:MvHB7l4o0
>>601>>603
ご回答ありがとうございました!
外国語の学習の比喩でなんとなく理解できた気がします。
理屈から入る人ととにかく外人と話したがる人がいるけど、けっきょくマスターするには
どっちの学習も必要になるという感じなんですね。

私の質問に回答してくださったせいで、あなたを小馬鹿する人が現われてしまったようで
本当に申し訳ないです。

ありがとうごさいました。
616デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:36:43.99ID:W5uHLn8jM
>>614
一個でもまともな回答レスが書けるか?
自分のレス見返してみw
617デフォルトの名無しさん (ワッチョイ 6f5f-GCa2)
2023/05/26(金) 00:38:53.91ID:MvHB7l4o0
>>612
GUIなしのアプリって、素人にもイメージしやすいものですとどんなのがありますか?
GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージでしょうか?
618デフォルトの名無しさん (オイコラミネオ MMeb-owa4)
2023/05/26(金) 00:41:07.66ID:W5uHLn8jM
C#のコンパイラ
619デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 00:41:42.15ID:muRHf0j+0
>>616
お前のまともなレスどれ?w
例の小馬鹿にされたやつ?w
620デフォルトの名無しさん (ワッチョイ cbad-Ic7P)
2023/05/26(金) 01:23:01.30ID:c1jHvuSF0
ウィンドウだしマウス使えるじゃんって突っ込みなしならコマンドプロンプトとか?
621デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
2023/05/26(金) 01:29:21.24ID:A9A3Khm00
>>617
GUI無しのアプリは素人が使うことはほぼ無いから、分かりやすい例を挙げるのは難しいな…。
小さなツール類が多いけど、そう言われてもピンとこないよね。

> GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージ
GUI無しのアプリは単体でも使えるけど、GUIアプリから呼び出して使うこともあるよ。
ライブラリはそれだけでは動作しないのでアプリとはちょっと違う。
622デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
2023/05/26(金) 01:31:58.89ID:A9A3Khm00
>>620
果たして、コマンドプロンプトは通じるのだろうか
623デフォルトの名無しさん (アウアウウー Sa2f-Xm68)
2023/05/26(金) 05:17:04.99ID:llcbKXvOa
例えば、ウェブ開発のバックエンドは、Ruby on Rails。
OS(Linux, サーバー)とのやり取り。
ファイル操作、テキスト処理、データベース処理などで表示部分なし

一方、フロントは表示部分で、HTML, CSS, JavaScript

Railsの給料が高いのは、1人でバック/フロントの両方を作るから。
これをフルスタックエンジニアと言う

これを複数人で分けて作る場合は、
意思疎通・打ち合わせコストが掛かるので面倒
624デフォルトの名無しさん (ワッチョイ 03e5-FIIW)
2023/05/26(金) 09:07:00.86ID:We9CfcI80
>>620
>>622
PowerShellでもおk?
625デフォルトの名無しさん (スップ Sdea-9ehv)
2023/05/26(金) 12:03:03.90ID:ESB2ogqid
powershellはC#コードも埋め込みできて、ある意味最高の環境と言えるけど
どちらにも習熟してる必要がある
C#学習には遠回り
626デフォルトの名無しさん (ワッチョイ 635f-T+0c)
2023/05/26(金) 13:27:28.71ID:qCbIeycU0
起動がおっそいんだよね。Pwershellは
627デフォルトの名無しさん (ワッチョイ 8a80-jezU)
2023/05/26(金) 14:43:40.75ID:VY0JKlLq0
ワイのマシンだとサックサクやが
628デフォルトの名無しさん (ワッチョイ 0ade-FIIW)
2023/05/26(金) 16:09:35.41ID:H1TABfb/0
powershellはダブルクリックで動かないから使いにくい
629デフォルトの名無しさん (ワッチョイ d307-oJoQ)
2023/05/26(金) 19:54:48.14ID:muRHf0j+0
>>628
動くようにできるぞ
ダブルクリックで動くようにしたらお前らがまたトロイにひっかかって大騒ぎするからデフォではできなくしてるだけだ
630デフォルトの名無しさん (ワッチョイ 3a3d-7xpx)
2023/05/26(金) 20:34:46.49ID:u2vLXVTG0
今コピーツールを作ってるんだが、Powershellと連動させたら需要あるかね?

みんなPowershellで何をやってるんだ?
631デフォルトの名無しさん (ワッチョイ 3a3d-7xpx)
2023/05/26(金) 20:48:28.57ID:u2vLXVTG0
javaには戻れないからC#の案件が増えてくれるのを期待するのみ。

エラーがどこに出てるかさっぱりわからんかったJavaは。

今でも動かないコードあるし、何が何だかさっぱり分からない。

その点C#はMicrosoft様が一括でやってくれるので俺でもできた。

javaやるくらいならKotlinやるよ。

面倒くさすぎ
632デフォルトの名無しさん (スッップ Sdea-6Vlr)
2023/05/26(金) 21:17:54.23ID:TqdGfdUid
馬鹿には無理なだけだぞ
633デフォルトの名無しさん (ワッチョイ 7bac-MKim)
2023/05/26(金) 21:33:51.93ID:te4x+q3p0
まあJavaよりKotlinC#って気持ちは同意
634デフォルトの名無しさん (ワッチョイ 0ade-FIIW)
2023/05/26(金) 22:20:09.88ID:H1TABfb/0
>>629
人に渡すときの事考えるとやっぱりちょっと
ダブルクリックしたら警告する程度でよかたのに
635デフォルトの名無しさん (ワッチョイ de10-sg49)
2023/05/26(金) 23:24:33.59ID:G1kfSu5s0
Kotlinは好き
636デフォルトの名無しさん (ワッチョイ 3abd-owa4)
2023/05/26(金) 23:56:40.58ID:wgfazHWx0
>>634
restrictedを指定したバッチファイルと一緒に配布すればいいよ。
637デフォルトの名無しさん (ワッチョイ 9f2f-AKtI)
2023/05/27(土) 03:35:48.04ID:OwhwG7LR0
Javaの検査例外とはいったい何だったのか

もうちょっとあれが正常進化しなかったのかなぁ
638デフォルトの名無しさん (ワッチョイ ab07-8jEt)
2023/05/27(土) 08:52:14.00ID:6hc4zw7M0
>>634
人に渡すならC#でいんじゃね
639デフォルトの名無しさん (ワッチョイ ab07-8jEt)
2023/05/27(土) 08:55:45.91ID:6hc4zw7M0
>>637
リスコフの置換原則を強制するためのものだけど土方にはそんな強制不要だし検査例外だけじゃ強制できないから中途半端で使いにくくなるだけなんだよね
640デフォルトの名無しさん (ワッチョイ 9fde-S+HU)
2023/05/27(土) 13:23:39.47ID:huktXfN70
>>636
ちょっとなんだかなあって感じするけど、それがベストか

>>638
テキストエディタとかで簡単に修正できたほうがいいかなって
641デフォルトの名無しさん (ワンミングク MMbf-4roP)
2023/05/27(土) 16:16:22.11ID:A4bXwFD8M
>>617
自動化とかのコンテキストで、GUI無しの業務App増えてきたよ
642デフォルトの名無しさん (オッペケ Srcf-FA6k)
2023/05/27(土) 17:17:59.98ID:luIlnn62r
コンテキストの使い方間違ってないか?
643デフォルトの名無しさん (ワンミングク MMbf-4roP)
2023/05/27(土) 19:10:08.90ID:A4bXwFD8M
>>642
コンテキスト=文脈ってことで指摘を受けること無いと思うんだけど、なにか癇に障った?
644デフォルトの名無しさん (ワッチョイ 6b5f-tyRn)
2023/05/27(土) 19:14:06.41ID:4YJ0U8GR0
>>642
問題なく伝わる使い方だよ(「文脈」を指す表現)
645デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/27(土) 19:39:01.46ID:1jtsLrYta
https://kotobank.jp/word/%E6%96%87%E8%84%88-23024
文脈
> ある単語や句や文に対して,その前後の単語や句や文が及ぼす意味的規定力。
646デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/27(土) 19:43:24.60ID:1jtsLrYta
ウェブ開発のコンテキストでAPIはウェブAPIを指す
Windowsネイティブアプリ開発のコンテキストでAPIはWin32APIを指す

↑こういう使い方は「コンテキスト」の使い方として正しい

>>641のコンテキストは俺も見たことない使い方だから説明要るんじゃね
647デフォルトの名無しさん (オッペケ Srcf-FA6k)
2023/05/27(土) 19:44:03.03ID:luIlnn62r
>>643-644
コンテキスト言いたいだけやろ
要らんやん
648デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/27(土) 19:51:45.58ID:t60D5gLTM
状況や流れで変わる何かが合って
その時の状況や流れが コンテキスト にあたる

全く同じことをしていても解釈が違うのはコンテキスト依存だから
649デフォルトの名無しさん (ワッチョイ 7b5f-ik+1)
2023/05/27(土) 19:57:36.16ID:gMKf+OGS0
どんどんアホみたいな方向に話が展開していく
This is the bikeshedding
650デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/27(土) 19:58:22.03ID:t60D5gLTM
正直なところ今回の用法ではあまりマッチしてるようには感じない
とりあえずそれが何かとの勘違いだとして何と勘違いしたのかを考えてみよう
651デフォルトの名無しさん (オッペケ Srcf-FA6k)
2023/05/27(土) 20:05:30.51ID:luIlnn62r
なんだよ自動化のコンテキストって
夜間バッチかな、メッセージングかな、FAかな
どうせコンテキスト使うならコンテキスト境界を明確にしろっつうの
652デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/27(土) 20:15:18.43ID:t60D5gLTM
セグメントあたりかな?

カテゴリー、ジャンルやフィールドとかそういうのの狭い分野とかそういう事を言いたいんじゃないかと
653デフォルトの名無しさん (ワッチョイ 1b7c-GEim)
2023/05/27(土) 20:29:32.13ID:1lF7S9LF0
>>651
イマドキ自動化って言われたらRPAやろ
まあ無能には分からんか
654デフォルトの名無しさん (オッペケ Srcf-8yhP)
2023/05/27(土) 20:40:46.31ID:mBQrOHHnr
コンテキストの使い方としては問題ないだろうけど、その言葉を選ぶことが場にそぐわないというか
匿名掲示板の会話の中で使うと浮く言葉だという感覚は多少あるかな
655デフォルトの名無しさん (ワッチョイ 1b7c-GEim)
2023/05/27(土) 20:50:51.87ID:1lF7S9LF0
なんでもいいけどプログラムの話しろよ無能ども
656デフォルトの名無しさん (ワッチョイ 9f4b-cXau)
2023/05/27(土) 20:57:34.82ID:Iuy4wHgO0
くっだらなね。
657デフォルトの名無しさん (オッペケ Srcf-FA6k)
2023/05/27(土) 20:59:33.78ID:luIlnn62r
>>653
元レスからの文脈を辿ればRPAは出てこねんだわ
658デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/27(土) 21:04:07.97ID:t60D5gLTM
void Say(string text){
Console.WriteLine(text);
]

void Display(string text){
Console.WriteLine(text);
]
みたいのがあって中身が同じだけど別になってるのはコンテキストが違うから

コンテキスト無視してvoid Print()なんかにまとめちゃってからやっぱセリフは水色表示しましょうとなると修正が大変

と無理やりプログラムに絡める
659デフォルトの名無しさん (スッップ Sdbf-2oUs)
2023/05/27(土) 21:22:29.54ID:FRBwBfHVd
>>653
馬鹿ってバッチ処理とか知らんのかね
660デフォルトの名無しさん (ワッチョイ 1b7c-GEim)
2023/05/27(土) 21:24:53.37ID:1lF7S9LF0
>>659
今時って言ってるやん
馬鹿って理解できないのかねw
661デフォルトの名無しさん (ワッチョイ 1b7c-GEim)
2023/05/27(土) 21:25:19.63ID:1lF7S9LF0
>>657
それってお前が馬鹿なだけやろ?
662デフォルトの名無しさん (スッップ Sdbf-2oUs)
2023/05/27(土) 21:27:26.31ID:FRBwBfHVd
>>660
こういう馬鹿が夜間で終わらないバッチ処理を作って訴訟になる
663デフォルトの名無しさん (ワッチョイ 1b7c-GEim)
2023/05/27(土) 21:32:00.54ID:1lF7S9LF0
>>662
アホすぎw
664デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/27(土) 21:35:35.76ID:t60D5gLTM
処理内容が同一でもコンテキストが同一とは限らない
処理内容が同一でもコンテキストが異なれば処理内容は同一であり続けるとは限らない

処理内容が同一でもコンテキストとして違いがあるのであればメソッドは別々にするのが望ましい
665デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/27(土) 21:40:14.44ID:/3dI5F000
>>661
じゃあRPAと絡めたGUIなしアプリの具体例を出してみろよ
666デフォルトの名無しさん (ワッチョイ 6b5f-tyRn)
2023/05/27(土) 22:45:19.23ID:4YJ0U8GR0
>>651
それらが元々GUIを備えていると本気で思っているのか?w
667デフォルトの名無しさん (ワッチョイ 9f01-d/9P)
2023/05/27(土) 22:57:22.60ID:A+Fg27pW0
「文脈」の使い方が間違ってるよね
668デフォルトの名無しさん (ワッチョイ ab07-8jEt)
2023/05/27(土) 23:16:21.54ID:6hc4zw7M0
「文脈」は死語なんじゃね
前後の文読まないやつが大増殖してもう慣れたわ
669デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
2023/05/27(土) 23:49:42.44ID:jeBcG8q10
「死後」の意味も判ってない模様
670デフォルトの名無しさん (ワッチョイ 7b5f-hD65)
2023/05/28(日) 00:12:05.41ID:oxdpIcYI0
マの板でアメリカがデフォルトの危機言われて
頭ん中??????????????ってなる人たち?
671デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 01:01:41.22ID:rmgfnmD+a
>>669
突然関係ない話をしてどうした?
672デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/28(日) 06:52:03.18ID:7NA4xXcX0
なんか急に賑やかになってると思ったらお前らww
673デフォルトの名無しさん (ワッチョイ 0f68-EoPE)
2023/05/28(日) 11:02:05.14ID:LhRRD0FE0
ちょっと聞きたいんだがさらに一歩難いアルゴリズムについてね
本屋に基礎的なアルゴリズムを開設してる本はいっぱいあるし理解できるけど
海外の学者が書いた超分厚い専門書的なもんはマジでわからん

最適化とか巡回セールスマンとか群論とかトポロジーとかそのレベルも理解必要なんですかね?
C#できます!基本的なアルゴリズム理解できます!だけはちょい恥ずい

皆さんC#の言語仕様詳しいけど俺はさらに上を行ってるって自信を持てるには言語使用だけで
十分なんですかね?やっぱアルゴリズムも欲しがるべき?
674デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/28(日) 11:06:53.24ID:7NA4xXcX0
そのへんの業務アプリ開発のコーダーくらいなら要らないんじゃね
675デフォルトの名無しさん (ワッチョイ 9f4b-cXau)
2023/05/28(日) 11:15:47.39ID:eP2DgR+S0
要らんよね。
どこで使うんだろ
676デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/28(日) 11:19:53.53ID:pYaNr1fI0
ゲーム開発とか
677デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 11:25:22.80ID:1uqhjo5xa
>>673
それは本当に専門書なのか?
割と基礎の部類に入るからQiitaでもいくつも記事あると思うぞ
土方には必要のない知識だけど使えるようになっておけば収入が高い職場に行けるかもしれんからやっておいて損はない
678デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/28(日) 11:55:29.61ID:MoCGpZK6M
実際にコードが書けなくても必要な時にそのパターンに当てはまると知っているだけ良い
たまに概念などを興味本位で知る程度で十分
キーワードを知ってるだけで強い

自分が大学で最初に習ったアルゴリズムはソート
複数のソートの手法を学ぶ
それで計算量などの基礎的概念を刻み込む
それが出来るなら最適化についての段階は踏める

じゃあ数式を見てコードに落とせるかと言えば無理だと思う
そこから本気出すかライブラリ探すかになる
679デフォルトの名無しさん (ブーイモ MM0f-tQAl)
2023/05/28(日) 12:04:46.44ID:9AZMVk0MM
一般的なソートや検索のアルゴリズムは本屋にある基礎的なアルゴリズム解説本でカバーされてるやろ
今広く一般的に使われてるソート関数で使われてる細かい最適化の中身まではカバーされてないけど
680デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 12:07:38.06ID:1uqhjo5xa
ていうか自信の持ち方がいびつな気がするな
作ったアプリで自信持てば?
C#ならUnityでストア販売できるだろ
売上見てニヤつけよ
681デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/28(日) 12:19:40.75ID:MoCGpZK6M
知りたいときに知りたいことを学べばいい
ライブラリで済むなら勉強することもないかもしれない

大学でオペレーションズリサーチの講義を取った
そこでは問題の概念について軽く学んで後はずっと確率などの微積分を行う
コードなどは一切書かないし手順すら学ばない
試験も同じで計算や数式を証明したりする

一般的なコーディングにはほぼ意味がないけど何かの問題解決するためには必要な人には必要
大体の人には無縁

難しい本だけど大学の教科書の内容ですら半年かけて講師に教わって学ぶ内容なので本を開いてぱっと理解できなくても何も問題ない
そういうものだと
682デフォルトの名無しさん (オイコラミネオ MM4f-/RYi)
2023/05/28(日) 12:24:36.31ID:MoCGpZK6M
1950~1970ごろにそういったサイエンスが花開いて多数の天才たちが研究し確立した手法を
今後追いで勉強してる

急ぐことはない
683デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/28(日) 12:29:49.04ID:pYaNr1fI0
業務アプリではまず使わん
ソートも探索もコレクションクラスのメソッドを使うだけ
黎明期ならまだしも今はPCの性能が上がって最適化の性能差もほとんど問題にならない
リアルタイムゲームとか機械学習系では使うだろうけど
684デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 12:46:59.48ID:1uqhjo5xa
>>683
トポロジカルソートはタスクの優先順位を決めるのに使うだろ
ライブラリにあるか?
685デフォルトの名無しさん (アウアウウー Sa8f-ztOe)
2023/05/28(日) 12:49:42.09ID:uUhZbJL9a
トロピカルフルーツ?
686デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 12:52:11.08ID:1uqhjo5xa
群論というのは0個以上の要素を扱う時に使う
JSのfilterやmapやreduceはそのカテゴリに入る
何でもかんでもforでやってたら複雑になりすぎるし逆に何でもかんでもreduce使っても複雑になりすぎる
こういう時に汎用的に使える関数を作れたら生産性上がるぞ
687デフォルトの名無しさん (アウアウアー Sa7f-WxZi)
2023/05/28(日) 12:58:01.84ID:o9dc7/1oa
初歩的な質問ですみません。
アドバイスを頂きたいです。

ある通信機器から10分間隔で指定のデータを取得し、そのデータをファイルに記述するプログラ厶をサービスアプリで作成しました。

追加の要件としてユーザーからの操作でデータ収集を停止/再開させる機能が必要になりました。
操作用のボタンが必要になるのですが、サービスアプリではGUIを持てないと認識しているのでフォームアプリで作成し直す必要があると考えています。

停止が押されていない間はデータ収集を継続したいのですが、フォームアプリだとユーザーが画面を落とす(×ボタン押下)可能性が考えられます。
画面を落とした時、つまりフォームが立ち上がっていないときでも収集処理をすることは可能でしょうか?

調べるとBackgroundWorkerなどは出てくるのですが、これは少し意味合いが違っているように感じており、似たような例を見つけられませんでした…。
688デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/28(日) 13:00:11.07ID:pYaNr1fI0
サービスなら止めたり再開するAPIあるやろ
689デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 13:00:59.13ID:1uqhjo5xa
本体はサービスで作ってUI専用のフォームアプリから名前付きパイプでシグナル送ればいんじゃね
690デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 13:03:52.90ID:1uqhjo5xa
>>688
そういやそうか
https://learn.microsoft.com/ja-jp/dotnet/api/system.serviceprocess.servicecontroller?view=dotnet-plat-ext-7.0
691デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/28(日) 13:48:09.53ID:7NA4xXcX0
>>689のようなプロセス間通信制御でもいいし
どうしてもフォームアプリで統合したいなら、×ボタン無効化したり
FormClosingイベント拾って閉じるのキャンセルして代わりにHideするようにしたりすればいいんじゃない?
692デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/28(日) 14:06:11.06ID:pYaNr1fI0
PowerShellに、Suspend-Service とかRestart-Serviceとか、そのまんまのサービス系のコマンドがいろいろある
693デフォルトの名無しさん (アウアウクー MMcf-WxZi)
2023/05/28(日) 14:46:33.46ID:urnIPGLqM
>>687 です

回答ありがとうございます

FormClosingイベントでウィンドウを閉じたように見せるだけ、というのもあるんですね
試せる環境が今手元に無いのですが、Hideで隠した状態で、ユーザーが再度フォームを立ち上げた場合は、隠したものと新たに起動した2つのフォームが動いている状態になるんでしょうか?


>>692
なるほど、このコマンドのバッチファイルを作っておいてユーザーにはそれをダブルクリックして停止/再開をしてもらうのが手軽かもしれません
694デフォルトの名無しさん (ワッチョイ 2b01-OlK5)
2023/05/28(日) 14:53:07.28ID:E8Oz4qmg0
scコマンドに停止/再開の引数付けたショートカット作ってもいいぞ
695デフォルトの名無しさん (ワッチョイ 0f68-EoPE)
2023/05/28(日) 15:07:22.90ID:LhRRD0FE0
>>677
最適化と組み合わせ論だっけ?
めちゃくちゃ分厚くて数式だらけだった気がする
全然わからん
あーいうのが読めなくて自信喪失してる最中
696デフォルトの名無しさん (ワッチョイ 0b10-S+HU)
2023/05/28(日) 16:08:43.34ID:19IHwxiC0
>>687
バックグラウンドデーモンを誰が停止・開始制御するかという命題では?
プレビリッジ権限の認証問題がシステム課題であって、APIやパイプラインなどというアクイジションのテクニックなんか些細な問題。
UMLユースケースを書き、SOLID原則のSRP遵守でUSERを明確にし、必要に応じてFACARDやFACTORYで入り口を切り分ける事。
この場合は、認証問題がキモ。 ボタンがどうのこうのではない。
697デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
2023/05/28(日) 16:29:16.20ID:pV4wEcmO0
サービスを稼動させたまま外部から設定を変更したい
サービスとの通信は>>689のように名前付きパイプでいいが、操作用UIとは完全に切り離した方がいい
今時のタスクトレイに常駐するタイプのサービスはほぼそうなってるはず
どちらにしろプロセスは別々になるが>>>691みたいな考え方で作るとUI側に余計な権限が残ってしまう恐れがある
698デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/28(日) 16:34:24.11ID:pYaNr1fI0
だいぶ拗らせてるな
699デフォルトの名無しさん (ブーイモ MMbf-tQAl)
2023/05/28(日) 17:57:25.94ID:vErPSHdQM
拗らせ風のレスはわざでしょ
もともとサービスのスタート・ストップをどうやるつもりだったのかは重要なポイントだと思うよ
最初から必要そうな機能が”追加要件”扱いなのもちょっと臭う
700デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/28(日) 18:13:01.32ID:7NA4xXcX0
まぁ、追加要件で重要なのが出て来るのよくあることじゃし(白目
701デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 18:21:31.64ID:FaN+2ocOa
>>695
組合せ最適化問題じゃね?
多分ナップサック問題が最初の方に出てきただろ
そういうのはだいたい動的計画法で解く
AtCoderのD問題の定番だから洋書なんて読まなくても競プロしてりゃすぐ覚えるぞ
702デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/28(日) 18:23:17.88ID:FaN+2ocOa
「EDPC」を検索すれば日本人の書いた記事や動画が山ほど見つかると思う
703デフォルトの名無しさん (アウアウクー MMcf-WxZi)
2023/05/28(日) 18:46:26.18ID:EBgEX/XFM
>>697
知識が足りなくてきちんと理解出来ていないのですがUIは停止/再開のフラグを投げるだけの機能に限定し、現状収集機能を持っているサービス側とは完全に分けるべきという認識で合っていますか?

元々はこういった機能は必要ないとのことで作り始めたんですが、製造現場としてはデータを出したくないタイミングがあると要望が出たので重要な機能ですが後付けになりました…
704デフォルトの名無しさん (スッップ Sdbf-2oUs)
2023/05/28(日) 18:57:13.01ID:3dp1E4GEd
こういう馬鹿に作らせるなよ
705デフォルトの名無しさん (ワッチョイ dfbd-/RYi)
2023/05/28(日) 20:39:40.10ID:Tc1TIXcj0
せっかくサービスアプリケーションにして安定稼働できているなら、
わざわざGUIアプリケーション化せずに、
GUIアプリケーションから名前付きパイプでサービスに指示するだけのほうがいい。

最近Cで非同期の名前付きパイプクライアントを書いて、
C#で非同期の名前付きパイプサーバーを書いたら、
C#のほうがあっという間に書けて感動した。
(Cのほうも非同期ファイルI/Oのコードを元に作ったからすぐできたけど)
706デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
2023/05/28(日) 20:55:11.64ID:pV4wEcmO0
>>703
>>687はデータ収集の停止や再開だけで、サービスを停止させたいとは書いてないからそれを前提で回答してるけど
サービス停止の影響範囲によってはサービスとの通信すら不要かもしれない。けどそれを知ってるのは本人だけなんだよ
要件を洗い直した方がいいよ
707デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
2023/05/28(日) 21:08:37.51ID:pV4wEcmO0
サービスアプリはVista以降は別のセッションで動くから、それをGUIから制御したい場合は
制御用のプロセスを生成してサービスとのプロセス間通信手段を確立する必要があるわけよ
ただし要件によっては既存のサービスの停止や再開と状態の参照程度で済むからそれ用のGUIなんて1日もあれば作れるでしょうよ
708デフォルトの名無しさん (ワッチョイ ab07-8jEt)
2023/05/29(月) 06:57:21.51ID:NVp4lIGp0
初心者の質問するスレなのにしれっとプロが質問するのはなんだかなあ
バカは初心者じゃなくても質問していいという判断なのか
709デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
2023/05/29(月) 08:35:53.55ID:4b7YEgmx0
プロの初心者も居るには居るけどな
710デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/29(月) 08:43:49.19ID:n96cT9XUa
金もらってるやつが初心者名乗るのは流石に草
せめて研修中なら名乗ってもいい
711デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/29(月) 08:45:57.08ID:n96cT9XUa
入団1年目のプロ野球選手でも今年入社したばかりのアナウンサーでも初心者じゃなく新人だろうに
712デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
2023/05/29(月) 08:56:42.77ID:4b7YEgmx0
それまでC#触ったこともないけど都合上C#に転向しなきゃいけなくなったらC#は初心者だろw
713デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
2023/05/29(月) 08:58:41.25ID:4b7YEgmx0
それともあれか、スレタイの初心者はプログラム初心者の意味だったんか?
テンプレにはそんなこと一言も書かれてないけどな
714デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/29(月) 09:30:39.19ID:n96cT9XUa
触ったこともないかどうかは関係ない
言葉の定義とかじゃなくプロが初心者を名乗るなってことだよ
Stack Overflow行けよ
715デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/29(月) 09:31:59.20ID:gG8bkLfQ0
またしょうもない事で揉めてるな
ここの自称プロは
716デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/29(月) 09:32:15.97ID:n96cT9XUa
プロというのはそれで飯食ってるやつのことだろ?
初心者を言い訳にできるはずがないだろ
717デフォルトの名無しさん (ワッチョイ bb33-A/tE)
2023/05/29(月) 09:53:25.00ID:2+KQpLGd0
万年掲示板初心者だらけだな
718デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/29(月) 09:59:38.52ID:gG8bkLfQ0
プログラマーのプロをプロフェッショナルのプロと勘違いしてそう
719デフォルトの名無しさん (ワッチョイ 9fde-S+HU)
2023/05/29(月) 10:02:54.60ID:5glDYifC0
セミプロのプロ
720デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
2023/05/29(月) 10:12:58.22ID:4b7YEgmx0
文脈がどうのコンテキストがどうのと言葉の定義に拘った癖に言葉の定義とかじゃないとか言い出すの草
721デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/29(月) 10:35:34.40ID:n96cT9XUa
辞書的な言葉の定義じゃなくコンテキストで意味が決まってるからなw
コンテキストを知らないやつと話すのは説明が長くなってしんどいなw
722デフォルトの名無しさん (スプッッ Sdbf-HzZj)
2023/05/29(月) 11:25:09.12ID:cZZAOa7Fd
金もらってたらプロならこの業界プロで初心者は普通に存在するだろう
野球選手なんぞを引き合いに出すのが的外れ
723デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/05/29(月) 11:52:08.40ID:n96cT9XUa
コンテキストが理解できないやつのためにまとめると、プロなら初心者を言い訳にせずStack Overflowに書けよって話だぞ?w
724デフォルトの名無しさん (スプッッ Sdbf-HzZj)
2023/05/29(月) 12:04:27.26ID:cZZAOa7Fd
初心者ならここで質問してもいいだろうって話
金もらってるかどうかは無関係
725デフォルトの名無しさん (ワッチョイ ebe5-r/x3)
2023/05/29(月) 19:11:00.49ID:az14uG3b0
バーコードリーダーから取得したバーコードデータをフォームアプリの
テキストボックスに入力して、バーコードデータを読み終わったら
処理をするプログラムを作りたいのですが、
バーコードデータの読み込み終了を知るにはどうしたら良いでしょうか。
一文字読み取るごとに終端文字列を判定すれば出来るのかなと思うのですが、
王道のやり方があったらお教え頂きたいです。
726デフォルトの名無しさん (スッップ Sdbf-2oUs)
2023/05/29(月) 19:13:13.18ID:M6W/ObnYd
また馬鹿が来た
727デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/29(月) 19:19:07.19ID:6va+z9rTp
API仕様嫁としかw
728デフォルトの名無しさん (ワッチョイ ab07-8jEt)
2023/05/29(月) 19:20:31.50ID:NVp4lIGp0
これでプロなんだぜ
729デフォルトの名無しさん (アウアウウー Sa8f-cXau)
2023/05/29(月) 19:41:24.70ID:cWs/PGXpa
>>727
キーボードとして認識されるタイプじゃね
730デフォルトの名無しさん (ワッチョイ 7b78-S+HU)
2023/05/29(月) 19:44:52.37ID:a35GfSoK0
>>725
バーコードリーダー付属の設定用紙(なければ公式サイトからダウンロード)で
スキャンデータの末尾にCRLFを付与する設定にすればOK

メーカーによってはアプリで設定するものもあるのでマニュアル読んでね
731デフォルトの名無しさん (ワッチョイ cb2d-AbxV)
2023/05/29(月) 19:50:57.54ID:JR9OEd1l0
時期的に新人さんのOJTの課題かな
732デフォルトの名無しさん (スプッッ Sdbf-HzZj)
2023/05/29(月) 20:23:23.15ID:x2JUK8cad
先頭に別の制御コードを付加して、それを検出してテキストボックスにフォーカス当てるなんてのもよくある
733デフォルトの名無しさん (ワッチョイ ebe5-r/x3)
2023/05/29(月) 21:44:45.49ID:az14uG3b0
バーコードの者ですが、キーボードのように動作してスキャンデータの末尾にCRLFが
付加されるタイプです。
テキストボックスのチェンジイベントごとにテキストボックスの文字を監視すれば
良いかなと思ってるのですが、世間にはもっとスマートなやり方があるのかと思い
聞いてみたのです。
初心者なので、C#相談室には行かず、ふらっと C#の方に来たのですが。。。
734デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/29(月) 21:46:51.88ID:nfi+BvtEp
素朴な疑問なんだけど、なんでテキストボックスで受けようとした?
735デフォルトの名無しさん (ワッチョイ efda-eDe+)
2023/05/29(月) 21:52:13.37ID:4g+5lQrq0
>>733
HIDとして認識されるバーコードリーダは、言い換えれば単なるキーボード入力でしかないので王道は無い。
(この場合、本物のキーボードをガチャガチャおしながらバーコード読み取るとか意地悪されると思うので、指定桁数とか見て頑張るしかない)

ドライバをインストールして使うようなバーコードリーダならSDKに従えとしか言えない。
736デフォルトの名無しさん (スプッッ Sdbf-HzZj)
2023/05/29(月) 21:53:29.62ID:x2JUK8cad
>>733
文字を監視するよりキーダウンかキープレスあたりのイベントでキーコードを監視するのがベターかな
文字として表れない制御コードも検知できるから
737デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/29(月) 21:56:22.76ID:DONu3V9Bp
そのテキストボックスにフォーカスしてないと読み取りが正しく入力出来ないとか、馬鹿な仕様だなぁ
738デフォルトの名無しさん (ワッチョイ 7b78-S+HU)
2023/05/29(月) 22:07:01.27ID:a35GfSoK0
>>737
他にどんな方法があるの?
739デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/29(月) 22:21:48.60ID:smYbWQE70
また頭でっかちがバカバカ言ってるん?
740デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
2023/05/29(月) 22:25:34.30ID:4b7YEgmx0
バーコードの入力をテキストボックスで受ける業務システムなんてごまんとあるがねぇ
741デフォルトの名無しさん (スップ Sdbf-Qo6+)
2023/05/29(月) 22:44:21.98ID:AkAnX1XDd
>>733
C#以前の問題だろ
他へ行けよ
742デフォルトの名無しさん (ワッチョイ ebe5-r/x3)
2023/05/29(月) 22:45:14.75ID:az14uG3b0
逆にキーボードのように動くバーコードリーダーのデータをテキストボックス以外で
入力する方法ってあるのでしょうか。
743デフォルトの名無しさん (スッップ Sdbf-2oUs)
2023/05/29(月) 22:58:50.24ID:M6W/ObnYd
こんなのが作る業務システムって…
744デフォルトの名無しさん (ワッチョイ 9f4b-cXau)
2023/05/29(月) 23:16:04.08ID:aYNq1fNY0
質問に答えずにバカにするだけの住人wwwwwwwww
あ、ワイのことね。
745デフォルトの名無しさん (ワッチョイ 7b5f-hD65)
2023/05/29(月) 23:23:42.86ID:vDJtnbWH0
むしろテキストボックスしかキーボード入力出来ないと思ってる方が不思議だわ
キーフックとか色々あるだろw
746デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/30(火) 06:51:07.31ID:J/GTXBvW0
場合によりけりだろ
747デフォルトの名無しさん (ワッチョイ ef42-S+HU)
2023/05/30(火) 07:31:00.41ID:supAgpDx0
>>742
あまり詳しいわけじゃないが、グルーバルキーフックで行けるんじゃね?
https://aonasuzutsuki.hatenablog.jp/entry/2018/10/15/170958
748デフォルトの名無しさん (オッペケ Srcf-BQoH)
2023/05/30(火) 07:53:38.18ID:bfEjfZ0jr
>>743
仕事できない癖に一丁前に文句だけ言うタイプ
749デフォルトの名無しさん (ワッチョイ bba5-EoPE)
2023/05/30(火) 09:32:04.16ID:5jyHeOoZ0
>>745
キーボードの入力とバーコードリーダーの入力をどうやって区別するの?
750デフォルトの名無しさん (ワッチョイ 0b10-S+HU)
2023/05/30(火) 10:18:37.15ID:lEu3ICMm0
バーコード・QRリーダーにシリアルモード無いの? あれば、シリアルで処理すべし。
751デフォルトの名無しさん (ワッチョイ 3bb3-EdO8)
2023/05/30(火) 10:22:34.36ID:4h93jK/S0
RawInputというハードウェアを区別して入力を識別できる仕組みがある
https://learn.microsoft.com/ja-jp/windows/win32/inputdev/about-raw-input

でもバーコード読み取りながらキーボード操作するなんて普通はやらないし
大体はEnterが入力されたらtextboxの文字数をチェックして
想定外の文字数が入力されてたらエラーで再度読み取りを促すとかで済ませてそう
752デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/30(火) 10:39:12.21ID:fRxDhXvsp
>>749
安いバーコードリーダー使ってる奴は運用でカバーするしか無いだろw
許容出来ないならプロジェクト自体が破綻してるって事さw
753デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/30(火) 10:42:26.90ID:Myxtqo5cp
>>751
こんなのがあるんだぁ
でも初心者スレにゃ敷居が高いかなw
754デフォルトの名無しさん (オッペケ Srcf-BQoH)
2023/05/30(火) 10:49:12.86ID:bfEjfZ0jr
ふらっとC♯で質問をバカにすんなよ
C#相談室に来ちまうだろ
気に入らんならスルーしろ
755デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/30(火) 10:59:18.28ID:S+eBT5oEp
>>754
むしろ引き取ってくれw
756デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
2023/05/30(火) 11:37:11.46ID:4ZtLJnCc0
>>750
頭でっかちはだいたいこうやって視野狭窄する
757デフォルトの名無しさん (ワッチョイ ab07-8jEt)
2023/05/30(火) 19:47:16.20ID:58WJoE530
そもそも画像そのまま送ってPCで処理するのが一番手間かからないんだがな
758デフォルトの名無しさん (ワッチョイ 4bad-Adje)
2023/05/30(火) 20:53:22.26ID:XqwYghOK0
>>751
業務システムは実際そんなもん
テキストボックスで受けてチェックデジットでチェックして~とかぐらい
759デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
2023/05/30(火) 20:59:58.77ID:F+V5WuV6p
>>758
そのノリで顧客が直に使うアプリを作ると最悪なユーザビリティのモノになるんだよなぁ
使い方レクチャーしなきゃダメなアプリってまるでマイナポータルみたいw
760デフォルトの名無しさん (ワッチョイ 7b02-S+HU)
2023/05/30(火) 21:09:46.60ID:1rcYEXOM0
他にキーボード入力無ければ普通にKeyDownで処理すりゃいいんじゃね
つか、最近のリーダーなら終端文字列設定可能になってるのが多いと思うけどな
761デフォルトの名無しさん (スッップ Sdbf-2oUs)
2023/05/30(火) 21:33:48.29ID:VFhOrU+Nd
最近( ´,_ゝ`)プッ
762デフォルトの名無しさん (ワッチョイ dfbd-/RYi)
2023/05/30(火) 22:43:21.58ID:/80DjIsi0
>>751
バーコードリーダーを複数台繋げられないかと考えていたところなので興味深い。
763デフォルトの名無しさん (アウアウウー Sa8f-cXau)
2023/05/30(火) 22:51:53.77ID:aqCv98Mpa
なんだかんだで考えてあげるお前ら優しいね(*´ω`*)
764デフォルトの名無しさん (ワッチョイ ef66-BQoH)
2023/05/31(水) 06:26:02.95ID:bZhrN1mv0
バーコードの者ですが
・1文字入力される度に終端文字を評価して終端文字が来たらコードを確定するやり方は王道
・テキストボックス以外にキーをホックする事もできる
ということが分かりました
世間一般とは外れたやり方をしないで済みそうです
ありがとうございます
765デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
2023/05/31(水) 08:26:16.71ID:r9qRlQV50
ハゲは辛いよな
766デフォルトの名無しさん (オッペケ Srcf-ISq+)
2023/05/31(水) 09:03:04.25ID:w6ivfughr
いっそのことスキンにすればいいのにな
767デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
2023/05/31(水) 19:26:15.32ID:5lDwRBwp0
また髪の話してる
768デフォルトの名無しさん (ワッチョイ ef4b-gMkr)
2023/06/01(木) 03:00:02.61ID:toxSQWi90
Visal Studio for Mac2022で自動保存の設定の場所を探してるんですが
見つかりません
ユーザー設定の中にありますか?
769デフォルトの名無しさん (ワッチョイ 4b01-ISq+)
2023/06/01(木) 07:54:17.29ID:LS3jNsYU0
visalはしらんがVSなら本スレいけ
770デフォルトの名無しさん (ワッチョイ 0fbb-wRkZ)
2023/06/01(木) 12:50:37.21ID:6cGVvbbd0
完全に自動保存の代わりになるわけじゃないけど、ないのはHot Exitで代替しろってことなんじゃないのかな?
771デフォルトの名無しさん (ワッチョイ df3d-vyfw)
2023/06/01(木) 20:34:08.33ID:+dVQvBYt0
>>769
命令すんなよ?!
772国名です (ワッチョイ 1f48-sXVZ)
2023/06/02(金) 13:19:54.33ID:WyoC2q620
近くにやばい人がいた(ガチ)
773デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
2023/06/02(金) 13:59:45.66ID:XtwEbodRa
ヤバい人などめずらしくもない
774デフォルトの名無しさん (ササクッテロラ Sp91-U664)
2023/06/09(金) 10:06:48.95ID:MbL8YIrlp
俺ヤバ的に解釈すると、気になる子って事かな?
775デフォルトの名無しさん (ワッチョイ 0b68-mVGR)
2023/06/10(土) 21:21:30.66ID:FuXZUb160
何故か急にBitmap.SetPixelが機能しなくなったんですが原因わかりません。
正方形範囲を青色で縫ってpictureboxに反映させるだけの超シンプルなコードです。
デバッグツール使うと青に塗った後Bitmap.GetPixelで色が反映されてるのは確認取れたんです。
でpictureboxにもちゃんとbitmap指定しました。でもpictureboxは何も変更されません。
適当な新規プロジェクト立てて全く同じコード書いたら普通に機能しました。
ひょっとすればプロジェクトが壊れたなんてことあります?
776デフォルトの名無しさん (ワッチョイ 3102-2rqm)
2023/06/10(土) 21:33:22.64ID:zUCBB0zf0
バージョン管理してないんか?
動いてたとこまで戻して差分確認すりゃいいじゃん
してないなら知らん
777デフォルトの名無しさん (オイコラミネオ MMd5-8sUu)
2023/06/10(土) 23:19:53.45ID:JneWu8RjM
xとyがどこかで入れ替わったとかそういうレベルの質問ではないよね
なんとなく原因がわかる気がするけどまあRefreshの話なんだろうね多分
778デフォルトの名無しさん (オイコラミネオ MMd5-8sUu)
2023/06/10(土) 23:24:58.55ID:JneWu8RjM
ググってもジャストミートする良いページが見つからないんだけど
c# picturebox refreshで出てくるのはドボンのページだからそれでいいのかな?
779デフォルトの名無しさん (オイコラミネオ MMd5-8sUu)
2023/06/10(土) 23:31:04.78ID:JneWu8RjM
一度目に指定するとそれは即反映される
二度目以降はリフレッシュさせないと反映されない

表示されてる画像をSetPixelしただけで毎回全部書き換えてたらとんでもなく重くなるでしょう
表示のタイミングはこちらで決められますと言うこと
780デフォルトの名無しさん (オイコラミネオ MMd5-8sUu)
2023/06/10(土) 23:50:06.20ID:JneWu8RjM
ところがwindowが重なったりした後に前に出すと新しい画面に書き換わったりしてる

これはwindowsがアプリのwindowの画像が無効になったので再描画しなさいと命令を出してるため
元から表示されてる画像は表示されていただけでアプリ内で保存されていない
それで新しい画像を表示するしかなくなる
781デフォルトの名無しさん (ワッチョイ 0b68-mVGR)
2023/06/11(日) 00:08:45.00ID:wZmBwowG0
>>780
そういうことなんですか!チャットに聞いても分からなかったけど納得しました。
次は何故そういう状況になってしまったか考えないといけないですね。
ありがとうございました!
782デフォルトの名無しさん (オイコラミネオ MMd5-8sUu)
2023/06/11(日) 00:12:07.72ID:jsCGKiXwM
windowsワールドへようこそ!

自分も30年ほど前に同じことにぶち当たった
その時はc#では無かったけど
783デフォルトの名無しさん (ワッチョイ 9380-cZPR)
2023/06/11(日) 00:40:06.81ID:okFYrxW20
新規プロジェクトで同じコード書いたら動いたと言う話はなんだったんだ?
784デフォルトの名無しさん (ワッチョイ 398e-2zfj)
2023/06/11(日) 00:41:58.22ID:R/2qoB4K0
勝手な略語を使う馬鹿にまともなことを期待してはいけない
785デフォルトの名無しさん (オイコラミネオ MMd5-8sUu)
2023/06/11(日) 00:44:41.04ID:jsCGKiXwM
どちらかと言うと柔軟性のない君らはアスペルガー症候群なのかもしれないよ
786デフォルトの名無しさん (アウアウウー Sadd-8W7i)
2023/06/11(日) 10:40:16.94ID:a75z9osJa
https://github.com/microsoft/cswin32

これ知らんかったけど欲しかったやつ
あったんだ
787デフォルトの名無しさん (ワッチョイ a9e5-2rqm)
2023/06/12(月) 08:20:00.96ID:9gPNlu+S0
>>780
まぁそれがつまるところRefreshなんだけど
788デフォルトの名無しさん (ワッチョイ 017c-5zO0)
2023/06/12(月) 09:51:36.95ID:NagvqA3h0
>>787
リフレッシュは良いんだけどasyncとか出てきて使う様になってバックグラウンドでUI更新しようして出来てないって事に気付いてないとか有るやん

UIスレッドじゃ無いと更新出来ないの知らない人も多いしスレッド切り替える方法知らない人も多い
789デフォルトの名無しさん (ワッチョイ b33d-m8BW)
2023/06/13(火) 07:59:18.79ID:0FRcsKll0
GitHubの使い方が分からない。
つまりこれって書いた差分をマージするってこと?

ブランチとかよくわからんが、支店を出すってこと?

コードをシェアするってことなんだけど、シェアする仲間がいない・・・
790デフォルトの名無しさん (アウアウウー Sadd-8W7i)
2023/06/13(火) 08:00:47.90ID:PEee/u2aa
そこからわからんなら使わなくていいぞ
C#のスレだしな
791デフォルトの名無しさん (ワッチョイ 9380-cZPR)
2023/06/13(火) 08:14:38.47ID:rV2623H60
支店のオーナーになって本店への併合を目指すゲームだよ
792デフォルトの名無しさん (ワッチョイ 8bbb-f0F1)
2023/06/14(水) 12:43:21.90ID:zQTHCkUD0
>>789
githubも使い方gitと同じだから
793デフォルトの名無しさん (アウアウウー Sadd-g1CP)
2023/06/14(水) 13:01:51.20ID:iWYHYN4ra
githubは差分を出してくれるけどcommitは差分じゃない
794デフォルトの名無しさん (アウアウウー Sadd-8W7i)
2023/06/14(水) 13:06:37.94ID:GknXMRlPa
>>793
何を言ってるんだ?
795デフォルトの名無しさん (ワッチョイ 017c-1yE0)
2023/06/14(水) 14:17:45.17ID:XWqksor40
バージョン管理なんだから差分とか考えるなよ
版管理だよ
796デフォルトの名無しさん (アウアウウー Sadd-8W7i)
2023/06/14(水) 14:31:03.19ID:GknXMRlPa
差分の表示

git diff head^^ head^
797デフォルトの名無しさん (オッペケ Sr05-8Dp1)
2023/06/16(金) 06:55:54.14ID:OHuIfsqSr
同一ネットワーク内の複数のPCで通信したいけどプロセス間通信って古いかな
今はSocketIOで非同期通信くらいしてないとダメかな
ちなみにフォームアプリの予定w
WPFは工数だけかかって面倒臭そう
798デフォルトの名無しさん (ワッチョイ 8907-8W7i)
2023/06/16(金) 07:13:30.39ID:hLDZvlP60
複数のPCでプロセス間通信てどれかをサーバーにするしかないじゃん
リモートオブジェクトはなくなったぞ
https://learn.microsoft.com/ja-jp/dotnet/core/porting/net-framework-tech-unavailable
> .NET リモート処理は、.NET 6 以降ではサポートされていません。 .NET リモート処理は、問題のあるアーキテクチャであると判断されました。 これは、現在サポートされていないアプリケーション ドメインとの間の通信に使用されています。 また、リモート処理にはランタイム サポートも必要で、維持するのに高いコストがかかります。
799デフォルトの名無しさん (ワッチョイ 3102-2rqm)
2023/06/16(金) 08:13:22.22ID:LNSu1MfD0
複数のPCってのがざっくりしすぎてるな
1対多ならMinimalAPIでサーバ建てりゃいいんじゃね
詳細はググってくれ
800デフォルトの名無しさん (ワッチョイ a9e5-2rqm)
2023/06/16(金) 09:38:19.59ID:8cf3Z2YQ0
古いも何も、Socketで通信してようが他プロセスと通信する物はすべてプロセス間通信だろ
801デフォルトの名無しさん (アウアウウー Sadd-g1CP)
2023/06/16(金) 10:04:28.26ID:ly+Q1cW8a
RPCとSocketIOを会話上で使い分けたいって意味かな
802デフォルトの名無しさん (ササクッテロラ Sp05-mItu)
2023/06/16(金) 10:39:19.11ID:ZjNkxhYgp
いやいや実態が同じでも目的が違うだろ
803デフォルトの名無しさん (スフッ Sd33-pDI4)
2023/06/16(金) 12:48:25.83ID:AFoiPDKcd
ほらね
https://futureys.tokyo/what-happens-when-commit-large-file-on-git/
804デフォルトの名無しさん (オッペケ Sr05-VFpa)
2023/06/16(金) 13:37:11.38ID:JZEl94b2r
やっぱ Mercurial だな。
805デフォルトの名無しさん (ワッチョイ b178-2rqm)
2023/06/16(金) 17:03:12.15ID:kBMaOVut0
bazaar だろ
806デフォルトの名無しさん (ブーイモ MMeb-BK+T)
2023/06/16(金) 17:19:58.24ID:wS8/ZvHAM
>>797
どういうプロトコルでのプロセス間通信?
807デフォルトの名無しさん (アウアウウー Sadd-8W7i)
2023/06/16(金) 17:58:26.69ID:xumbESuca
>>803
サイズのことなら後で最適化されるぞw
808デフォルトの名無しさん (スップ Sd33-h5Ja)
2023/06/16(金) 20:02:10.64ID:BdjqvBhXd
そういえば、IpcServer使ってる。
ちゃんと動いてるし、もう、変えたくないわぁ
809デフォルトの名無しさん (スップ Sd33-h5Ja)
2023/06/16(金) 20:06:39.73ID:BdjqvBhXd
ぎりぎりまで、.netcore系には移りたくないね
810デフォルトの名無しさん (オッペケ Sr05-Cr01)
2023/06/16(金) 22:22:57.11ID:koUma95Nr
既存のアプリケーションを移行したくないのはわかる
けど、null不許容参照型が使えないのはいまどきあり得ない
811デフォルトの名無しさん (ワッチョイ 1379-hEWj)
2023/06/16(金) 23:36:36.10ID:sUccxFc+0
これだからフレームワークありきの環境はダメなんだよ
やっぱC/C++しか信じられん!…ってなるのぉ?
812デフォルトの名無しさん (ワッチョイ 79ac-t2KC)
2023/06/17(土) 01:27:12.96ID:96RBnRrs0
金無限にあるならともかく、現実はフレームワーク使わんと採算とれないことがそこそこある
813デフォルトの名無しさん (ワッチョイ a2bd-L1I+)
2023/06/17(土) 05:59:53.37ID:3A62XWi80
>>798
「リモート処理」って訳されていて最初ピンとこなかったけど、
英語ページを見たらやっぱり.NET Remotingのことなのね。
814デフォルトの名無しさん (ワッチョイ b1e5-C6j3)
2023/06/17(土) 08:16:10.20ID:uo5kyeT50
>>810
警告がうざったい……
815デフォルトの名無しさん (ワッチョイ b6da-RnTl)
2023/06/21(水) 22:15:02.05ID:hW8H2hzX0
コンパイラのnullチェックもLinq to SQLが混じるとうまく働かないね。
まぁ限界があるのは分かる
816デフォルトの名無しさん (ワッチョイ d242-C6j3)
2023/06/22(木) 01:03:28.84ID:AGxh0AyX0
Linq To SQLは大昔に終わっているからうまく動かないかもな
817デフォルトの名無しさん (ワッチョイ 3274-hrKI)
2023/06/22(木) 04:35:53.17ID:CPcSxaDF0
わたしは今からLinq To SQLを勉強しようといろいろ川俣の本を買ったのですが。
818デフォルトの名無しさん (ワッチョイ 8554-dYQK)
2023/06/22(木) 05:01:31.04ID:Xft5ksI80
自分自身にとって明確な理由やメリットがあって勉強するならいいと思う。
理由もなく、存在を知ったから目的ないのに勉強するというなら勉強不要。

たとえ話になるけど、ガチでプロ選手目指す野球少年なら野球の練習する意味あるけど、
大谷の話題で野球に興味持ったニワカが、目的なく練習しても意味ないでしょ。
819デフォルトの名無しさん (ワッチョイ ad7c-ZjIi)
2023/06/22(木) 05:23:50.74ID:fUhg+N3Z0
そうでも無いやろ

プロになる気が無くても野球やってみたら才能がある事に気付いたとかあるやん
プロの選手だって高校までは別の競技やってたとか2つ同時にやってたとかあるやん
820デフォルトの名無しさん (ワッチョイ f642-C6j3)
2023/06/22(木) 07:28:29.12ID:oInj3jkO0
勉強するならLinq To SQLより後継のefやる方が賢いとは思う
具体的な仕事があるなら別だが
821デフォルトの名無しさん (ワッチョイ 6107-Tk+b)
2023/06/22(木) 07:31:19.22ID:U7fCu9Ru0
efはefで欠点多いからなぁ
自分で選べるならDapperが最強
822デフォルトの名無しさん (ワッチョイ ad7c-ZjIi)
2023/06/22(木) 09:08:14.28ID:fUhg+N3Z0
WebなんかでステートレスならDapperで良いけどデスクトップアプリなんかでステートフルならEFの変更追跡なきゃだるいやん

用途で選べばいいんだよ
823デフォルトの名無しさん (アウアウウー Sacd-Tk+b)
2023/06/22(木) 09:21:07.30ID:8AaELlpYa
変更追跡が役に立つ場面なんてほぼ無いよ
速度は無茶苦茶遅いし
どうしても追跡したいならDapperで使うクラスに変更通知やIEditableObjectでも仕込んでおいたほうがいい
824デフォルトの名無しさん (スッップ Sdb2-6ESG)
2023/06/22(木) 13:34:23.63ID:iyk8obpJd
そろそろ的外れなたとえ話は罪に問えるようにするべきだな
825デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
2023/07/07(金) 20:47:23.54ID:BdypaOA90
visual studioのformでプロジェクトデザイナーの設定settings.settingsでint型の配列を使いたいん
[10]個ぐらいなんですけど、windowsFormでいい設定の保存方法ありますか?
826デフォルトの名無しさん (ワッチョイ 0610-Mrss)
2023/07/07(金) 22:10:36.42ID:VQ1+4DlV0
>>825
デザイナーからじゃなくて直接Properties/Settings.settings/Settings.Designer.csに書けばいけるよ
でもデザイナ触るとcs上書きされるからまた追記しないといけないけどね
https://ideone.com/tJGGHq
827デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
2023/07/07(金) 22:51:58.76ID:BdypaOA90
>>826
さんくすです、デザイナーをいじらずListを追加するんですね
Settings.Designer.csを書き換えたことをどこかに書いとかないとダメですね
828デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/07(金) 23:11:34.06ID:G77vHYnia
なんでpartialクラス使わねーの?
829デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
2023/07/07(金) 23:28:40.56ID:BdypaOA90
>>828
Settings.csの partial class Settingsを使えってことでしょうか?
830デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/07(金) 23:43:30.04ID:G77vHYnia
>>829
そっちが人間が書き換える用のファイル
831デフォルトの名無しさん (ワッチョイ 9fea-kkOg)
2023/07/08(土) 08:13:42.94ID:91Ogp97S0
>>830
サンクスですSettings.csに書けば上書きされないってことですね
832デフォルトの名無しさん (スッップ Sdbf-CFBc)
2023/07/09(日) 13:11:44.65ID:Dnv+EbFzd
通知領域のアイコンをクリックすると現れるメニューを複数列にしてみたいです
こういう場合は自作コントロールを作成する必要があると考えればよいですか?
この辺は未経験なので自分にはハードル高そうですが

昔から使わせて頂いてるMr.Clipboardというソフトウェアに類似するものを作ることが目標です。
833デフォルトの名無しさん (スッップ Sdbf-CFBc)
2023/07/09(日) 13:23:58.06ID:Dnv+EbFzd
ん~contextMenuStripとかをいじって自作コントロールを作るという高いハードルを越えるより
通知領域アイコンをクリックした時に、メニューに似せたフォームが、ちょうどメニューが表示されるような位置に現れるようにしたほうがいいのかな・・・実現可能性は高そう

Mr.Clipboardの作者さんはどうやってこういうものを作ったんだろう
834デフォルトの名無しさん (オッペケ Sr0b-kkOg)
2023/07/09(日) 14:28:31.42ID:qTcsfTmnr
古そうなソフトウェアだから
そもそもContextMenuStripじゃなくてContextMenu(=COMCTL32)を使ってるんじゃないかな
使ったことないから知らんけどひょっとしたら何かデフォルトで2列表示できる機能が備わってたりして
835デフォルトの名無しさん (スッップ Sdbf-CFBc)
2023/07/09(日) 15:40:32.78ID:Dnv+EbFzd
>>834
ありがとうございます
画像貼れればいいのですが規制されててダメなんですごめんなさい

Mr.Clipboardを自分のPCで今使っているのですが、通知領域のアイコンをクリックすると、10列表示されます。
文字列を登録することができるのですが、登録数をふやすほど列も増えていく仕様なんです
列数だけではなく、1列当たりの行数なども柔軟に扱えないと実現できないのかなと思ってます。

一応>>833の方向性でやってみることにしました
継承やらオーバーライドやら試してみたい気持ちもあったのですが、.そもそもNETのソースコードを正しく読み解く自信が・・・
836デフォルトの名無しさん (ワッチョイ 3768-rqKn)
2023/07/09(日) 16:18:02.54ID:rFc2qelE0
現在進行形でC#の仕事してるけどプログラミングよりもgitとかのほうが難しい
マーキュリアル開いて出てきたMQ パッチ適用がどうたらって何のこと?
837デフォルトの名無しさん (ワッチョイ 9f80-KChr)
2023/07/09(日) 16:26:49.16ID:W7Z8cVLl0
Git の質問かと思ったら、マーキュリアルの話始めたり
精神分裂症かな
838デフォルトの名無しさん (ワッチョイ 9701-xBPm)
2023/07/10(月) 01:02:30.69ID:qL1vqKUB0
混在してるか移行中のPJで初心者故に両者がごっちゃになってるだけだとエスパーしてみます
839デフォルトの名無しさん (スップ Sd3f-mu37)
2023/07/10(月) 07:18:29.54ID:BXZpIYtLd
単に物を知らないのをバカにしたいだけで本気で精神分裂症とは思っとらんだろ
840デフォルトの名無しさん (ワッチョイ 9f80-KChr)
2023/07/10(月) 09:42:06.39ID:zUnHM/go0
C#ってプロジェクトを作らないとコンパイル出来ないんでしょうか?
main関数のあるHelloWorld.csだけでコンパイルするのは無理?
841デフォルトの名無しさん (ワッチョイ f7c6-knyK)
2023/07/10(月) 09:50:21.18ID:jFNuf9xo0
csc.exeを直接実行すれば*.csだけでもコンパイルできるよ
Linux向けとかはどうか知らないけど
842デフォルトの名無しさん (ササクッテロラ Sp0b-JJLP)
2023/07/10(月) 10:13:07.78ID:bDJ4URo4p
>>840
C#がインタプリタ的に使えるのって案外知られて無いんだなぁ
843デフォルトの名無しさん (ワッチョイ 9f80-KChr)
2023/07/10(月) 10:33:54.46ID:zUnHM/go0
>>841
Linuxには無さげですね
dotnetコマンドでも無理そう
844デフォルトの名無しさん (ワッチョイ 9f80-KChr)
2023/07/10(月) 10:59:12.77ID:zUnHM/go0
>>842

dotnet-repl を入れたら実行結果の確認は出来るようになった
ありがとう
845デフォルトの名無しさん (アウアウウー Sa9b-Pj0o)
2023/07/10(月) 12:41:26.24ID:h4a2e+7ia
シェルスクリプト代わりにするならC#使うよりPowerShellの方が便利だから
batはそろそろ滅べ
846デフォルトの名無しさん (ワッチョイ bf79-CBkq)
2023/07/10(月) 12:44:12.34ID:pvSg+WfU0
powershellでええやん
847デフォルトの名無しさん (アウアウクー MM0b-xBPm)
2023/07/10(月) 13:19:11.50ID:otun5GpPM
batとの互換性が中途半端なのがイラつきますけどね
848デフォルトの名無しさん (アウアウウー Sa9b-Pj0o)
2023/07/10(月) 14:17:36.82ID:h4a2e+7ia
batみたいな化石との互換性なんか要らんだろ
PowerShell使えばC#もそのまま動くぞ
https://codezine.jp/article/detail/5007
849デフォルトの名無しさん (ブーイモ MM8f-9ZAg)
2023/07/11(火) 22:56:21.27ID:0HX/1I5LM
talkで質問集まってるみたいだから向こうに行くかな
850デフォルトの名無しさん (スププ Sdbf-1L5A)
2023/07/12(水) 01:00:39.52ID:WP87K7PTd
おう、二度と戻ってくるなよ
851デフォルトの名無しさん (オッペケ Sr0b-B87o)
2023/07/14(金) 11:09:10.37ID:SW9fkks0r
少しはここもまともになるかな
852デフォルトの名無しさん (オッペケ Sr0b-jHc6)
2023/07/14(金) 11:21:59.88ID:gWjfvyvyr
プログラム板住人誰も移住してなさそうだから変わらないんじゃない?
853デフォルトの名無しさん (ワッチョイ 7f2d-/79E)
2023/07/14(金) 11:29:58.62ID:FrJI/jtz0
あっちはスレッドだけ出来てて中身が空なのばっかりじゃん
C#関連スレは全て1件もレス付いてない
854デフォルトの名無しさん (オッペケ Sr0b-WUNe)
2023/07/14(金) 13:15:57.44ID:o+Lvn4Uxr
jane styleってC#で開発したって聞いたが勘違いかな
855デフォルトの名無しさん (ワッチョイ 57a7-xgtz)
2023/07/14(金) 13:19:10.56ID:0qf2Hag/0
Delphiだから勘違いだね
Delphiの発明者が後のC#の発明者と同一人物だからそういう勘違いが生まれたのでは
856デフォルトの名無しさん (スププ Sdbf-Gz7C)
2023/07/14(金) 17:53:33.20ID:L1fXIk/+d
発明されたんだ
857デフォルトの名無しさん (ワッチョイ 95ad-tdBp)
2023/07/15(土) 12:52:20.24ID:x4tryG3A0
初心者です。
非同期メソッドにCancellationTokenを渡して、エラーハンドリングを行う必要があることを知りました。CancellationTokenSourceからCancellationTokenを作成して、非同期メソッドに渡していくところまではできました。ただ、ネストが深い非同期メソッド内でトークンをキャンセルしたいときに、どのようにキャンセルすれば良いのか分からない状況です。
非同期メソッドからCancellationTokenSourceのCancelメソッドはどのように呼べば良いのでしょうか。
858デフォルトの名無しさん (ワッチョイ 665f-bpoS)
2023/07/15(土) 12:56:18.34ID:IVtLjRqQ0
【えっ】Perlに未来はあるのか?【終わり?】
859デフォルトの名無しさん (JP 0H62-9/0y)
2023/07/15(土) 13:15:08.16ID:KExn0jd0H
トークンをキャンセルする権限を持ってるのは非同期処理側じゃなくて呼び出し元だと思うんだけど・・・
(だからcancellationTokenSourceを持ってる人だけがCancel()を実行できる)

呼び出し元から指図されたわけじゃないけど自発的にキャンセルしたいってことなら
throw new OperationCanceledException(token)
とでもすればいいんじゃないかな
860デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
2023/07/15(土) 13:42:20.93ID:m7eEyKEv0
それはtokenの状態と整合性取れないし不自然だろう
普通に(キャンセルしたいと判断した)要因に合った例外使えば済む話だ
861デフォルトの名無しさん (ワッチョイ 95ad-tdBp)
2023/07/15(土) 15:05:06.38ID:x4tryG3A0
>>859
>>860
ご回答ありがとうございます。
awaitしている非同期メソッド内で例外を投げて、呼び出し元でcancellationTokenSource.Cancelしてキャンセルする、というのはできました。
ただ、awaitしない非同期メソッド内で例外を投げてもcatchできず、呼び出し元でcancellationTokenSource.Cancelできない状況です。
awaitして、非同期メソッド内で例外を投げて呼び出し元でキャンセルするしかないのでしょうか。
862デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
2023/07/15(土) 16:17:24.24ID:m7eEyKEv0
>>861
awaitしない非同期メソッドのタスクにContinueWith()で後続タスクを作って、その中でキャンセルかな。
後続タスクの実行条件はConinueWith()の引数にTaskContinuationOptionsを指定すれば変更出来る。
(エラーが起きた時のみ実行するとか)
863デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/15(土) 17:39:44.49ID:q/a2phH1d
windowsアプリ作る時にform2の幅をコンストラクタ内で指定しても
136未満だと勝手に136に広げられてしまうんだね
知らなくて原因究明するのに時間かかった
864デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/17(月) 11:07:42.07ID:fKATz6pi0
MinimumSizeにそう設定されてるだけでは
865デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
2023/07/17(月) 12:47:25.02ID:oq1oEUQ30
>>863
FormBorderStyleプロパティがNone、ToolWindow系、その他で幅が変わるね。
ToolWindowだとタイトルバーに表示されるボタンの有無でもちょっと変わって、
ControlBox = falseの時が一番小さく出来る。
何故かNoneの時が一番大きくなる。

>>864
MinimumSizeがSize(0,0)でもなる
866デフォルトの名無しさん (ワッチョイ 3210-2eqx)
2023/07/17(月) 21:11:29.34ID:hjrHtCYP0
自作クラスのインスタンス化したときに、
そのインスタンスのプロパティを設定するやりかた? を教えてください。
うまい言い方ができないので、例を示します。
自作クラスで
class Square
{
double width
double height
}
があったとして、
 Square square = new Square(){width = 3, height =2}
としたならば、
 console.Writeline (square.ToString())
とすると
 6
 と表示されるようなイメージです。
何がしたいのかというと、 IPropertyChanged を使って、中の 
プロパティが変化したときに、square が変わったということを認知したいのです。
867デフォルトの名無しさん (ワッチョイ 3279-EJzg)
2023/07/18(火) 02:03:58.47ID:BpIlHiPB0
Writelineで6を表示したければToStringをoverrideしてやればいいだろうまでは思いましたが
貼られたコードと「何がしたいのかというと」が全く繋がってなくて、恐らくこれは誰も質問を理解できてない状況ではないでしょうか
私の感想としてはIPropertyChangedとやらを使いたければ使えばいいだけの話ではないでしょうか
868デフォルトの名無しさん (ワッチョイ ca2d-2eqx)
2023/07/18(火) 02:28:36.72ID:GDp0BnYT0
例には書いてないけど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;
}
}
869デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/18(火) 08:44:49.63ID:3b5O2M5n0
>>863 >>865
なんか頭の中で136ってもっとおっきいイメージになってた、すまないw
アイコンやコントロールボタンが表示できる最低サイズだったね
面白いことに、FormBorderStyle=Noneの時に
コンストラクタでどんだけ小さいWidth指定しても136になるけど
その後でShown等のフォームが生成された後の時点でWidth指定すると2までは縮まるんだな
SizableとかだとShownでやっても136になるけど
870デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/18(火) 10:03:44.12ID:W6YFjoCEd
>>865
>>869
はーやっぱり知識ある人は知ってるんですねー
こういう理屈じゃないところでいちいち悩まないといけないのが大変ですわ

まったく別の話なんですけど、
今これ>>832作ってて面白いこと気づきました

MouseClickイベントって右クリック・左クリック別に処理を分けられないじゃないですか
e.Button == MouseButton.Left とかが使えるMouseDown使えって言われるんですけど
bool isRightClickみたいなフィールドつくって、MouseDownのイベントハンドラで右・左判別して結果をisRightClickに設定
んで、MouseDownイベントの直後にMouseClickイベントも発生するからこいつのハンドラでisRightClickを取得して右・左別に処理わけることができた!

ってこれもみんな普通にやってんのかな・・・自分としては大発見なのだが。
今左右クリックやD&Dで細かい動きを作ってるんでこれは貴重な発見だった
871デフォルトの名無しさん (スププ Sd94-uP9V)
2023/07/18(火) 10:04:51.17ID:5Ch5Zuv0d
>>867
>>868
ありがとうございます
質問のしかたが悪くうまく伝わっていないのですが回答は知りたかったことの一部でもありその部分については理解しました。

public class Hoge :IpropertyChanged
{
public Square square


}
とした時に
squareが値をもっていないことから、methodでsquare.widthの値を変えたとしてもsquareか変化したことを認識できないとの理解です
SquareにIPropertyChangedを噛ませてhogeのpropertyが変わったとする方法もあるのかも知れませんがsquare自身に値を持たせる方法があったら教えて下さい
872デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/18(火) 10:25:56.29ID:3b5O2M5n0
>>870
何のMouseClickイベントのこと?
FormやNotifyIconのMouseClickイベントならe.Button使えるはずだけど
873デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/18(火) 11:52:13.49ID:W6YFjoCEd
>>872
今いろいろ確認して、間違えてたことが分かりました
ごめんなさい

複数のラベルをForm上に動的配置したうえで、このラベル全てにクリック系のイベントを追加したんです。
この際、イベントハンドラも自分でコードを書いたのですが、Label_MouseClickイベントハンドラの引数である e の型を、間違えてMouseEventArgsではなくEventArgsとしていたため、e.Buttonが使えなかったというオチでした。
e.Buttonが使えない点を除いて問題なく動いていたので気づきませんでした

ふぅ・・・何やってんだか・・・
874デフォルトの名無しさん (スッップ Sd94-XM1G)
2023/07/18(火) 12:01:06.39ID:W6YFjoCEd
MouseDown使わないといけないのはVBAでした
知識がぐちゃぐちゃになってました
875デフォルトの名無しさん (ワッチョイ e979-9/0y)
2023/07/18(火) 13:43:10.65ID:hAXktsXG0
赤あげて、白あげて、白下げないで、赤下げる♪

左押して、右押して、右離さずに、左離す♪
876デフォルトの名無しさん (ワッチョイ 73ae-/jfo)
2023/07/18(火) 14:42:32.76ID:INtka+wY0
VBAはVB.netに仕様変更する気が無いんだろうな・・・
877デフォルトの名無しさん (ワッチョイ a6cd-LhHw)
2023/07/18(火) 15:08:54.43ID:ss/yk/UI0
vb6言語より環境が古くさすぎて触るきにならん
出力して、vscodeでやって取り込みもあるけどいまいち
878デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq)
2023/07/18(火) 16:00:19.51ID:zVxGTRP30
>>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));
}
879デフォルトの名無しさん (ラクッペペ MM34-iMTa)
2023/07/18(火) 16:06:27.35ID:vLiOabGzM
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
880デフォルトの名無しさん (ワッチョイ d010-uD+5)
2023/07/18(火) 17:40:37.17ID:HtITPTeb0
871が言ってる値が何のことかよくわからないな
>square自身に値を持たせる方法
881デフォルトの名無しさん (スップ Sd00-IoCj)
2023/07/18(火) 17:59:36.33ID:uMqw2ex7d
まず環境書けとか色々突っ込み所がありすぎて暑いしで萎えた
おまえら頑張れよ
882デフォルトの名無しさん (ワッチョイ f62f-NBo5)
2023/07/18(火) 21:18:14.67ID:ZtgGANuh0
>>871
俺がエスパー回答してやる

Hoge のコンストラクタでsquareをnewする
Square をクラスじゃなくて構造体にする

好きなほうを選べ
883デフォルトの名無しさん (オイコラミネオ MM71-9/0y)
2023/07/18(火) 22:23:27.30ID:5UWIDgazM
お前らも含めてだが…基本的なことを勘違いしてるんだろう
IpropertyChangedが必要なのかも怪しいがそれは置いておく

通常似た様なものがあった場合
面積に相当するAreaプロパティが設定されている
binding対象はHoge.Square.Areaに普通はする

さて、
WidthやHeightが変更になった場合にAreaはその都度変化を通知して欲しいのかどうかも気になる
WidthとHeightを同時に変更したい場合メソッドを使って適切に変更しないとゴミがでるぞ
884デフォルトの名無しさん (オイコラミネオ MM71-9/0y)
2023/07/18(火) 22:33:21.86ID:5UWIDgazM
Squareの値は各種プロパティを持ったオブジェクト自体でありそれを面積とみなすのはおかしいと言うこと
ToString()をoverrideして面積を出すも間違っている

ToString()で出すのは
四角形 幅:3 高さ:4 面積:12
と言う各種情報
885デフォルトの名無しさん (ワッチョイ 3210-NBo5)
2023/07/18(火) 23:28:46.06ID:HED9e7490
>>882
エスパー ありがとうございます。
square を 構造体にかえて 今までやりたかったことが解決しました。
>>883 ,>>884  ありがとうございます。
勉強になりました。
886デフォルトの名無しさん (ワッチョイ 52da-0QNR)
2023/07/19(水) 12:26:43.18ID:DPJDdup00
Func<T, bool>を受け取る引数にPredicate<T>を渡せないのは何故でしょうか?
887デフォルトの名無しさん (ワッチョイ 4dc6-l/Dq)
2023/07/19(水) 13:17:55.70ID:rfnRytk30
型が違うから

class Hoge { public string Piyo; }
class Fuga { public string Piyo; }
と同じメンバを持った2つのクラスがあっても
void Test(Hoge hoge) { ... }
にFugaを渡せないのと同じ
888デフォルトの名無しさん (ブーイモ MM69-IGBM)
2023/07/19(水) 13:33:43.83ID:Iak4bgJxM
hoge(pred.Invoke)で渡せる
889デフォルトの名無しさん (ワッチョイ 52da-0QNR)
2023/07/19(水) 13:52:39.72ID:DPJDdup00
なるほど。
Predicate<T>ってFunc<T, bool>のシンタックスシュガーかと勝手に勘違いしてましたが、完全に別の型ってことですね。

ありがとうございます
890デフォルトの名無しさん (ワッチョイ ce6e-rP6O)
2023/07/20(木) 19:04:03.42ID:oZtgKOtx0
非同期処理について質問です。業務でWPFいじってるんですけど

1 起動画面→2 起動画面表示してる間に重い処理とか色々→3 ログイン画面→4 メイン画面

という流れになっています。それで重い処理の部分がtask runになっていてあぁ非同期処理ってやつかと
なんですがやたら起動画面が長いんです。デバッグしてみるとその重い処理が実行されてるとき他の処理は実行されてなくて
結局普通に1~4が一直線に進んでるだけじゃない?と

自分の理解だと非同期ってその処理をどっか他の場所でやっといてもらってそれ以外は全部通常通りに流れると
この場合だとたとえば3や4のウインドウが出る処理が進んでいってもその裏で重い処理をやってるみたいな
2の部分が短くなるから起動画面も当然短くなるはずだろ……と思ってたんですが

非同期ってそういうもんじゃないんでしょうか
891デフォルトの名無しさん (ワンミングク MM9b-Q4Hq)
2023/07/20(木) 20:07:28.14ID:4+aEc/KWM
ただ固まらないように使ってるだけじゃないの
892デフォルトの名無しさん (スップ Sd00-m3tO)
2023/07/20(木) 20:07:31.46ID:GDwei+myd
2の重い処理でUIスレッドを使っていて、
3ログイン画面でもUIスレッドを使うので、
3のレンダリングが遅延しているのかも

と、先生は仰っている
893デフォルトの名無しさん (ワッチョイ b6d6-2eqx)
2023/07/20(木) 20:29:02.94ID:etRvguBb0
たぶん2の実行中に1が固まらない(アニメーションしたりマウス操作等に反応する)ようにしてるだけだな
2が完了したら3って仕様なんだろ
894デフォルトの名無しさん (ワッチョイ 56bd-rqn1)
2023/07/21(金) 00:30:10.37ID:3tiQJRjE0
その重い処理というのは、ログイン画面やメイン画面までに完了させる必要のない処理なの?
895デフォルトの名無しさん (オイコラミネオ MM71-rqn1)
2023/07/21(金) 01:04:23.20ID:i7pkSIZ0M
普通だろ

2で初期化
それが終わらないとログインすらさせない
当たり前

非同期はいわゆる並列処理ではない
処理してる間にGUIが固まらないようにしてるだけで
896デフォルトの名無しさん (ワッチョイ 87e5-XQTJ)
2023/07/21(金) 08:46:35.27ID:cgj6JgkV0
起動時にまずスプラッシュ画面やら表示して裏で初期化処理ガーッとやってメイン画面が出てくるアプリケーション、ごまんとあるやろ
897デフォルトの名無しさん (オッペケ Src1-YWw1)
2023/07/21(金) 08:48:39.50ID:EGVnYM7fr
非同期処理って偉そうな名前ついてるけどUIが固まらないようにするためだけの存在なんだよな
898デフォルトの名無しさん (ブーイモ MMba-mCwd)
2023/07/21(金) 08:56:24.44ID:eg4croCbM
画面が固まってるかどうかってそんな大事なことか?
899デフォルトの名無しさん (ワッチョイ fe33-l/Dq)
2023/07/21(金) 09:12:44.39ID:1a+dN6EZ0
”応答なし”って表示されるかどうかは一般利用者にとっては大きな違い
900デフォルトの名無しさん (ラクッペペ MM34-+gOE)
2023/07/21(金) 09:46:52.31ID:OOKalSboM
改善したいなら「重い処理」を並列に 分解するぐらいかな?
対して変わらんどころか遅くなるだろうけど
901デフォルトの名無しさん (ブーイモ MM5e-IGBM)
2023/07/21(金) 11:29:51.89ID:69ts+SDiM
業務アプリでログイン画面表示前に終わらせないといけないやたらと時間のかかる重い処理ってどういうの?
ゲームやJavaアプリではあるけどC#で作る業務アプリでは個人的には経験したことないんだけど
ネットワーク経由で自動アップデートを走らせてるとか?
902デフォルトの名無しさん (ドコグロ MM36-fSYF)
2023/07/21(金) 14:42:23.96ID:6vfbgTUNM
DBから必要なデータ落としてくるとかそういうのかな
そこまで大量になるかどうかはものによる
903デフォルトの名無しさん (スップ Sd00-IoCj)
2023/07/21(金) 15:03:06.92ID:6MAm8yaxd
コアモジュールのアップデート確認とか
こういうのを下手にオンデマンド化すると不整合で死者が出たりするんだよ
904デフォルトの名無しさん (ブーイモ MMba-mCwd)
2023/07/21(金) 20:26:40.73ID:eg4croCbM
>>901
そういうのならスプラッシュで長々と起動表示するより
さっさと画面見せてプログレスバー出した方が良くね
端的にいうとエクリプスみたいなのは嫌い
905デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/22(土) 06:19:51.07ID:/NYJ/E/k0
プログレスバー出してる間はツールバーやらメニューやら触れないように無効化しとくん?
見せてる意味なくない?
906デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/22(土) 08:28:55.45ID:a8PwsTyx0
業務アプリで認証前に見せるもんなんて何かあんの逆に
907デフォルトの名無しさん (ワッチョイ 4742-pcwf)
2023/07/22(土) 10:35:33.60ID:KOXik0Zr0
>>906
アプリの生存確認
908デフォルトの名無しさん (ワッチョイ 27e5-UJxk)
2023/07/22(土) 13:04:05.76ID:UbHj5dt40
デスクトップのアイコンダブルクリックしたのになんも画面出て来なかったら
動いてるのか不安になるのがエンドユーザー
909デフォルトの名無しさん (ブーイモ MM8f-2YhC)
2023/07/22(土) 18:21:41.76ID:k3sQ1muHM
そらWEBアプリが流行るわな
とりあえず画面は出てくるしな
910デフォルトの名無しさん (ワッチョイ 5f2d-rRCM)
2023/07/22(土) 18:44:42.22ID:oc8oPCaK0
こじ付け
911デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/22(土) 18:46:25.02ID:a8PwsTyx0
>>907
今時プログレスバー程度じゃアプリの生存確認にはならないかー
912デフォルトの名無しさん (ワッチョイ 275f-U6D6)
2023/07/22(土) 20:58:38.40ID:+w7QyAXT0
生存w
913デフォルトの名無しさん (ドコグロ MM9f-0mQ+)
2023/07/22(土) 21:08:30.62ID:hYyrQzz7M
WEBアプリでもローディングあるやつあるけどな
914デフォルトの名無しさん (ワッチョイ 8780-jqln)
2023/07/23(日) 00:11:53.57ID:NsW44b0o0
webview2の初期化でぐるぐるさせる
915デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/23(日) 06:35:51.66ID:YwDu7rEL0
出てるプログレスバーがなんのプログレスバーか理解できる使用者がどれほど居るか
916デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
2023/07/23(日) 08:35:02.27ID:E9NR74nn0
とりあえず動いとけばいい
917デフォルトの名無しさん (スッップ Sdff-cTWz)
2023/07/23(日) 21:00:26.02ID:DI++90CVd
>>915
何のとか関係ないんだよね>>899に書かれてる通り、
応答なしってなった場合にユーザーがアプリが固まったって思って不安になったり、
人によっては強制終了させたりすることを回避するのが目的でみな実装してると思うよ
918デフォルトの名無しさん (オイコラミネオ MM3b-nVDU)
2023/07/23(日) 23:04:58.70ID:NQIlbLw0M
win11でwindows upadateの元データ読み込みの時間がかかったらタイトルバーで
プログレスバー的なアニメーションが出る
919デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/24(月) 00:09:50.17ID:z5rdGXQY0
タイトルバーで糞判りづらいアニメーションされてもな
920デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/24(月) 06:55:49.96ID:dpuUxo8K0
>>917
プログレスバー出す出さないと応答なしになるかどうかはイコールじゃねぇのよ
921デフォルトの名無しさん (スッップ Sdff-cTWz)
2023/07/24(月) 08:15:20.93ID:WyKfXWoDd
>>920
もともとは>>890から来てる話のつもりだけど
重たい処理を裏で実行させて画面は動いてます(応答なしになってません)ってのを
ユーザーに伝えるためにプログレスバーだしてると思ってるんだが違うのか?
非同期でもなくプログレスバー出して進捗報告してるだけなら言ってる通りかもね
922デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 09:57:36.50ID:suAy7pRCM
10秒ならクルクルカーソルでいい
1分超えるならメッセージぐらい出そう
10分レベルだとプログレス必須

つまり非同期は10分超えのみでいい
923デフォルトの名無しさん (スッップ Sdff-cTWz)
2023/07/24(月) 11:10:30.20ID:WyKfXWoDd
大多数のユーザーが使う画面作ってないのかわからんけど
10秒程度で画面クリックしたら応答なしになるだけで文句いってくるところもあるからね
10分越えで非同期とかはぬるすぎ
まあこの辺までくるとスレチな感じだから言い逃げになるけど自分はここまでにするわ
924デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 11:24:15.27ID:suAy7pRCM
苦情は「起動が遅い」だろ?
「応答するともっと遅くなりますよ」で返せばいい
925デフォルトの名無しさん (ワッチョイ 4742-pcwf)
2023/07/24(月) 11:26:52.53ID:AUmI6Ec80
他にもあると思うが、通信、I/O、DBは無条件で非同期や並行処理を意識して設計しないとな
926デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 11:30:21.52ID:suAy7pRCM
素人はそう考えるけど
待機中のユーザーが他の作業を出来ることは少ない
というか待つだけだろ?
つまり非同期は不要
927デフォルトの名無しさん (ワッチョイ a779-bG9n)
2023/07/24(月) 12:28:09.61ID:b5WDI80O0
5秒だか10秒だか
応答しないとOSにフリーズ判定されるでしょ
928デフォルトの名無しさん (ワッチョイ 27e5-UJxk)
2023/07/24(月) 12:48:04.14ID:D6WZQL9B0
>>926
でもそれアナタの思い込みですよねw
929デフォルトの名無しさん (ワッチョイ 5f2d-rRCM)
2023/07/24(月) 13:26:28.55ID:X1NMCpf40
今時UIが長期間応答しなくなるのは低品質アプリの証
非同期処理が実装しやすいC#では特に
930デフォルトの名無しさん (ラクッペペ MM8f-La+E)
2023/07/24(月) 13:43:25.62ID:suAy7pRCM
ギャラガでもさせるか?
931デフォルトの名無しさん (ワッチョイ 275f-U6D6)
2023/07/24(月) 14:00:15.94ID:ixDNpyk/0
コナミ グラディウス バブルシステム起動画面 - YouTube

932デフォルトの名無しさん (ワッチョイ 7f10-UJxk)
2023/07/24(月) 22:19:22.23ID:dpuUxo8K0
>>921
なんか盛大に勘違いしてた、忘れてくれ・・・
933デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 13:16:32.79ID:qP2cEP2w0
>>929
逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの?
意図的にそうしてるとか
934デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 13:16:34.66ID:qP2cEP2w0
>>929
逆に聞きたいけど長時間応答するしかねえって事もあるんじゃないの?
意図的にそうしてるとか
935デフォルトの名無しさん (ワッチョイ b742-yh3V)
2023/07/30(日) 13:47:13.19ID:JdhDrtL30
手抜きか技術不足以外で長時間無応答を放置する理由はありません
936デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 13:54:56.32ID:qP2cEP2w0
実行中の処理に影響与えないように応答させないのって普通じゃね?
937デフォルトの名無しさん (ワッチョイ 3ebb-bWks)
2023/07/30(日) 14:13:33.41ID:2ZbxDykr0
非同期にするオーバヘッドがないぶん処理が早く終わるしな
938デフォルトの名無しさん (ラクッペペ MMe6-Fuds)
2023/07/30(日) 14:25:18.01ID:IK2UEk/mM
30年前のCPUか?
939デフォルトの名無しさん (ワッチョイ da2d-cK++)
2023/07/30(日) 15:29:45.06ID:C8zYgP+u0
いつの発想だよ…
UIと時間がかかる処理は別スレッドだし
今時のPCならオーバーヘッドは無いに等しいだろ
940デフォルトの名無しさん (ワッチョイ da2d-cK++)
2023/07/30(日) 15:32:39.03ID:C8zYgP+u0
>>936
UIの制御は必要になるけど、それをしないのは手抜きってやつだ
941デフォルトの名無しさん (ワッチョイ dabd-TJCF)
2023/07/30(日) 15:39:50.10ID:ceI/e8I50
>>936
UIがないアプリなら好きにしろ。
UIがあるならUIのお約束を守れ。守れないのは低品質アプリだ。
942デフォルトの名無しさん (ワッチョイ cf68-6+wX)
2023/07/30(日) 16:01:47.86ID:qP2cEP2w0
で応答できないことの何が問題?
943デフォルトの名無しさん (ワッチョイ 26bc-0TAO)
2023/07/30(日) 18:57:09.57ID:h72pV3U00
てゆーか、まだやってたんだ。
ある意味スゲー。
944デフォルトの名無しさん (ワッチョイ 8f2f-KN61)
2023/07/31(月) 02:48:28.98ID:/pzquaKJ0
UIが無応答って状態を勘違いしてる気がする
945デフォルトの名無しさん (ワッチョイ 73e5-U0W2)
2023/07/31(月) 09:07:39.25ID:kMCzvjpl0
まだやってたんだって言うか、1週間近く動きも無く終わったと思われてた話をバカが蒸し返しただけ
946デフォルトの名無しさん (スフッ Sd8a-kvF/)
2023/07/31(月) 13:17:06.46ID:lng3H2OQd
>>942
応答出来ない=次に応答するのが計算が終わったタイミング
と言うことになる
つまり開始後中断したくてUI(例えば停止ボタン)押して
実際に止まるのが計算完了後で
計算結果が表示される直前に終了してくれるオマケ付き
947デフォルトの名無しさん (スッップ Sd8a-1j9t)
2023/07/31(月) 13:19:35.83ID:xjBtNZZud
>>946
>>942みたいな過去の遺物みたいなのにかかわらないほうがいいぞ
「そのうち返ってくるでしょ」みたいな考えのやからは一定数いるからな
948デフォルトの名無しさん (アウアウウー Sa1f-6+wX)
2023/07/31(月) 13:25:23.15ID:sgBBFIN2a
全然ecoじゃない
SDGs連中が飛び付くネタ
949デフォルトの名無しさん (ワッチョイ becf-WE/L)
2023/08/01(火) 01:57:41.21ID:l/YBSfNu0
https://atmarkit.itmedia.co.jp/ait/articles/1702/22/news010.html
>  Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、
> ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。

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

こんなん出たんですけどとか言われたら恥ずかしいだろ
950デフォルトの名無しさん (スップ Sd2a-3oaK)
2023/08/01(火) 08:39:12.57ID:NwjOuTDqd
そうやってOSが面倒見てくれてるし気にするな
951デフォルトの名無しさん (ワッチョイ 73e5-U0W2)
2023/08/01(火) 08:48:36.38ID:jZPe7+0n0
気にしろし
952デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
2023/08/01(火) 19:37:01.30ID:EZnFv0QC0
真のエコはシングルスレッド非同期
プログラミングコストは爆増するけどな
953デフォルトの名無しさん (ワッチョイ 2301-iCAU)
2023/08/01(火) 23:34:51.68ID:MwS5ZIT40
魔法の呪文DoEventsでおk
954デフォルトの名無しさん (ワッチョイ 8f7c-0u9z)
2023/08/02(水) 07:43:03.92ID:MJ0E5XCG0
進捗表示、キャンセルや一時停止を受け付けない設計はクソ。
955デフォルトの名無しさん (ワッチョイ 17ae-CF7t)
2023/08/03(木) 10:08:52.15ID:icL6sh+90
シリアルポートからの送信を出来るだけ高速に受信したいのですが、下記以外に何かありますでしょうか?
また高速化する方法がありましたら、指摘してください。
よろしくお願いします。

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);
956デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
2023/08/03(木) 11:06:07.21ID:L6gOIzTH0
>>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]);
957デフォルトの名無しさん (ワッチョイ 17ae-CF7t)
2023/08/03(木) 11:41:09.07ID:icL6sh+90
>>956
ありがとうございます。
現在は1024バイト固定で受信しているのですが、
sp.ReadBufferSize()で見ているとどんどんシリアルポートのバッファが溜まって頭打ちになっているので、
アプリ側で出来るだけ取得しておきたいと思い、sp.ReadExisting()の使用を検討しているところです。
958デフォルトの名無しさん (ワッチョイ 0ba7-4FLK)
2023/08/03(木) 12:22:33.04ID:L6gOIzTH0
>>957
IOの方が早いなんてことは有り得ないからwhileで回すとかはしてる?
内部バッファが空の時にsp.Read(buf, 0, buf.Length)するとブロックされちゃうのかな
そうじゃないならwhile ((count = sp.Read(buf, 0, buf.Length)) != 0)、
ブロックされるとしてそれが嫌ならsp.BytesToReadで溜まってるバイト数チェックやDataReceivedイベントで拾うとか
959デフォルトの名無しさん (スッップ Sd2f-YWx9)
2023/08/05(土) 10:43:10.90ID:wvUeqD5zd
誰も突っ込まないけどシリアル受信に間に合わないは普通にあり得るくね、
960デフォルトの名無しさん (ワッチョイ 9b2f-1PqA)
2023/08/05(土) 11:08:11.80ID:6FXtwa520
シリアルってだけで実際のスピードもハードスペックもPCの使用状況も書いてないけど
個人的意見なら、いまどきのハードでC#で普通に作って間に合わんなんて、
他に何か原因がなければ想像できんレベルだが
961デフォルトの名無しさん (ワッチョイ 01c5-i02c)
2023/08/05(土) 11:37:11.83ID:kMOIqdZr0
同期9600bps を試しにやってみたまえ。

LANCとかやね
962デフォルトの名無しさん (ワッチョイ 9949-HLSB)
2023/08/05(土) 11:45:14.79ID:29MU2LyY0
.NET7でnlogがあれやこれやしてもうんともすんとも言わないので
おすすめのログのライブラリとかありまふか
963デフォルトの名無しさん (オイコラミネオ MMc9-1ro1)
2023/08/05(土) 14:09:41.96ID:wQaB7TT9M
nugetのランキング上位にあるやつ使えるのでは?
964デフォルトの名無しさん (ワッチョイ 472d-SCbl)
2023/08/05(土) 15:32:52.86ID:JFXqS/BH0
.NET7でNLog普通に使えてるけどなぁ
ちょっと前のバージョン(5.1.4)だからか?
965デフォルトの名無しさん (ワッチョイ 472d-SCbl)
2023/08/05(土) 15:46:07.77ID:JFXqS/BH0
nugetの最新(5.2.2)にしたけど使えてるな
966デフォルトの名無しさん (オイコラミネオ MMc9-1ro1)
2023/08/05(土) 16:15:39.59ID:wQaB7TT9M
.NET7使ってるのが驚き
967デフォルトの名無しさん (ワッチョイ 4954-4gg4)
2023/08/06(日) 21:10:40.86ID:t8XxdJlt0
その程度で驚くヤツはくるみぽんちおの刑だな。
うちの製品なんて、.net framework 1.1 使ってる製品もある。
しかも重要ユーザーからの要望があれば機能追加までしてる。
968デフォルトの名無しさん (ワッチョイ b310-jhPE)
2023/08/07(月) 07:41:51.88ID:NZgbVHgQ0
XPで動かしてそう
969デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
2023/08/07(月) 09:07:25.45ID:TF3XFQ9V0
OSにしてもランタイムにしても、古いのずっと生き残ってるのあるあるだよな
うちの顧客なんてVB6製アプリをXPで動かしてるとこまだあるしな……
970デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
2023/08/07(月) 09:08:05.81ID:TF3XFQ9V0
流石にNT4はもう居なくなったけど
971デフォルトの名無しさん (ワッチョイ eb42-tyL0)
2023/08/07(月) 09:17:47.25ID:82JZu0tI0
ニューテクノロジ4か
名前にニューって付けて年月経つと碌なことにならないな
972デフォルトの名無しさん (アウアウウー Sa9d-mBaV)
2023/08/07(月) 10:03:51.30ID:wl/Lx6N5a
うめようず
973962 (ワッチョイ 9949-c/5M)
2023/08/07(月) 10:41:55.42ID:NRD23MMX0
NLog動くようになった!
コードで設定すると動く、でもConfigは反映されないからと色々やってたら
「出力ディレクトリをコピー」
「ビルドアクション」
を設定してないことに気づいた

C#(てかVS)久しぶりすぎて各ファイルにあるプロパティの存在を忘れてたw
974デフォルトの名無しさん (スッププ Sd03-XWNR)
2023/08/07(月) 14:14:56.57ID:MBhkVnR+d
ふぅ・・・例外握りつぶしてたぜ・・やっと不具合原因のとっかかり見つけた
975デフォルトの名無しさん (アウアウクッ MMf3-uQHI)
2023/08/07(月) 15:03:38.79ID:A9F8fN0gM
byte high = 0xff;;
bool flag = (high & 0b10000000) != 0;

これをもっとC#っぽくできないの?
976デフォルトの名無しさん (ワッチョイ 472d-SCbl)
2023/08/07(月) 15:16:30.47ID:gOyFWeUo0
>>975
フラグをenum定義したら

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

var high = ( Hoge )0xff;
high.HasFlag( Hoge.Flag7 );
977デフォルトの名無しさん (ワッチョイ c379-IXit)
2023/08/07(月) 23:19:46.08ID:4jmmvhVW0
enumに属性がなんか気持ち悪いし…使用時にキャストしてるのもなんだかな
#defineが無い弊害がこういうとこで出るのか
C/C++のビット演算はイディオムで綺麗に書けるのにな
978デフォルトの名無しさん (ワッチョイ 1bd6-SCbl)
2023/08/07(月) 23:34:33.91ID:gDjmIGTi0
キャストが嫌なら、複数のフラグをORで連結すれば
979デフォルトの名無しさん (ワッチョイ 1bd6-SCbl)
2023/08/07(月) 23:44:21.58ID:gDjmIGTi0
途中で書き込んじゃった
enumに↓を追加
All = Flag0 | Flag1 | Flag2 | Flag3 | Flag4 | Flag5 | Flag6 | Flag7,
var high = Hoge.All;
980デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
2023/08/08(火) 08:54:05.88ID:aeM2XQJJ0
個人的には、Flagsよりも定義でビットシフトしてるんがなんか嫌だなw

>>975でも十分C#っぽい気はするけどねぇ
C/C++でif(high & 0x80)で済むのはBOOLの実体が数値だからで
C#のboolは別物だからしょうがないし
981デフォルトの名無しさん (ワッチョイ 7be5-uQHI)
2023/08/08(火) 09:22:12.70ID:aeM2XQJJ0
次スレ

ふらっと C#,C♯,C#(初心者用) Part159
http://2chb.net/r/tech/1691454079/
982デフォルトの名無しさん (アウアウクッ MMf3-uQHI)
2023/08/09(水) 09:18:17.06ID:tGujvv4CM
このままでいい気がしてきた
983デフォルトの名無しさん (ワッチョイ 095f-SCbl)
2023/08/10(木) 00:40:12.02ID:P/TzKPwA0
>>980
ビットシフトで定義するかは好みと慣れだな
C言語でも見かけるし
一応、何ビット目かソース上ではっきりするってメリットがある
984デフォルトの名無しさん (ワッチョイ b310-uQHI)
2023/08/10(木) 07:11:54.17ID:ao9yBEOh0
何ビット目かって表現なら、それこそ>>975の方がC#では普通になったんじゃない?
985デフォルトの名無しさん (ワッチョイ 2b6e-D1BR)
2023/08/11(金) 16:58:32.91ID:JGKsK+J90
ラムダ式ってこうちょろちょろっとした処理を書くのに使うものであってでかい処理は関数定義するのが基本って認識だったんですけど間違ってますかね
もう今のプロジェクトラムダ式渡すところで数十行の関数がガンガン出てきてて
デバッグしにくいわかりにくいでげんなりしています。まぁこれに限らずそもそも表に出る機能単位でしか考えてないのか関数抽出するって考え方があんま無いみたいな現場なんですが……
986デフォルトの名無しさん (オイコラミネオ MMc9-uQHI)
2023/08/11(金) 18:07:32.18ID:CXONK6kXM
>>985
どうとでもいえるけど基本的にはその使い方は特に間違ってはいないので認識が間違っていると思う
処理の委譲目的ならそれが普通かも

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

設計がしっかりしてクラスを作ってそれを渡しあってるとかなら別だけどそんなことしてられないと思う
987デフォルトの名無しさん (ワッチョイ c379-IXit)
2023/08/11(金) 18:39:03.98ID:I7dwFhkG0
デバッグしたいなら1処理ずつ分けて書き直しゃいいだろ
C#のlambdaはdelegateの意味も暗黙に含んでるからそのものは削らない方がいいけど
988デフォルトの名無しさん (ワッチョイ b310-uQHI)
2023/08/11(金) 20:58:53.23ID:0dzc0r6z0
同じ処理を他でも使うならメソッド化した方がいいと思うけど、そこでしかやらないならラムダでかまわんと思うけどな
今やローカル関数なんてのもあるし
989デフォルトの名無しさん (ワッチョイ 395f-17EC)
2023/08/19(土) 20:49:54.56ID:UW3EkLqg0
closedxmlでセルに書き込み反映されない…なんで😭
990デフォルトの名無しさん (アウアウエー Sa23-NwC7)
2023/08/20(日) 02:06:38.74ID:RsoPGDy3a
jsonのテキストをデコードできる関数ないかな?
htmlでいうところのHttpUtility.HtmlDecode()のjson文字列版
「https:\u002F\u002Fwww」を「https://www」に変換したい
そんなの自作しろと言われたらそれまでだけど、あるならあるの使いたいので
991デフォルトの名無しさん (アウアウエー Sa23-NwC7)
2023/08/20(日) 04:06:30.93ID:RsoPGDy3a
Regex.Unescape()でいけるのかな
992デフォルトの名無しさん (ワッチョイ 2b10-YAjS)
2023/08/20(日) 08:33:15.17ID:OGvFjvg+0
ちょっと前にTwitterのデータ取得して遊んでた時はRegex.Unescapeでやってたけど
993デフォルトの名無しさん (ワッチョイ db79-wKkg)
2023/08/20(日) 18:10:25.72ID:Jez4Fpf50
そこで普通にjsonパーサ使おうと思わないの何でなん
994デフォルトの名無しさん (ワッチョイ 2b10-YAjS)
2023/08/20(日) 18:37:23.62ID:OGvFjvg+0
JsonNode.Parseでゲットした配列から取り出した文字列をRegex.Unescapeにかけたんだけどね
995デフォルトの名無しさん (アウアウエー Sa23-NwC7)
2023/08/20(日) 19:12:02.03ID:RsoPGDy3a
jsonがあるわけじゃなかったから
適当なclass用意して文字列をjsonの書式にフォーマットしてパースして取り出すって流れは気分的にやりたくなかった
996デフォルトの名無しさん (ワッチョイ c9c6-H9aa)
2023/08/20(日) 20:06:30.57ID:YUyQ4ipW0
"hoge"だけみたいな文字列も整形式のJSONだよ
JsonSerializer.Deserialize<string>("\"hoge\"");
生の文字列なら前後に二重引用符付ける必要はあるだろうけど
997デフォルトの名無しさん (アウアウエー Sa23-NwC7)
2023/08/20(日) 21:07:24.34ID:RsoPGDy3a
試したら動いた。stringクラス指定だけでできたのか。それは知らなかった
998デフォルトの名無しさん (ワッチョイ 93e5-YAjS)
2023/08/21(月) 08:03:28.38ID:Ndtw0dBa0
うめか
999デフォルトの名無しさん (ワッチョイ 395f-4N9b)
2023/08/21(月) 14:43:41.77ID:s1KrJzLF0
質問いいですか?
1000デフォルトの名無しさん (ワッチョイ 5933-H9aa)
2023/08/21(月) 14:52:47.39ID:CrzDFbde0
どうぞどうぞ
10011001
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 148日 7時間 21分 47秒
10021002
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

ニューススポーツなんでも実況



lud20250726155440nca
このスレへの固定リンク: http://5chb.net/r/tech/1679783460/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「ふらっと C#,C♯,C#(初心者用) Part158 YouTube動画>1本 ->画像>1枚 」を見た人も見ています:
ふらっと C#,C♯,C#(初心者用) Part160
ふらっと C#,C♯,C#(初心者用) Part119
ふらっと C#,C♯,C#(初心者用) Part128
【初心者の館】 FF7リメイクゆとり専用スレ 【何でも聞いてね!】
登山靴用スレ56(初心者OK)
くだすれFORTRAN(超初心者用)その7
【初心者用】マイニング情報交換スレ31
【初心者用】マイニング情報交換スレ54
【初心者用】マイニング情報交換スレ48
【初心者用】マイニング情報交換スレ60
【初心者用】マイニング情報交換スレ49
【初心者用】マイニング情報交換スレ18
【初心者用】マイニング情報交換スレ47
Webサイト制作初心者用質問スレ part248
まったくの初心者の救済スレ(ガンプラ用)91
ピアノ大人初心者のためのスレッド(クラシック専用)
くだすれDelphi(超初心者用)その60【Embarcadero】
原神初心者です、汎用性の高い構成のアドバイスください
【小泉進次郎環境相】スプーンの問題もずいぶん盛り上がっている。(若者は)何に関心があるのか聞きたい 「Z世代」と政策議論 [マスク着用のお願い★]
■ヘタクソ・初心者専用 曲聴いてよ!35■
アニメ初心者「何見れば」お前ら「シュタゲ!おすすめ!」俺「(前半まじで苦痛なのに…)」
Hの話【初心者専用】65
BL/YT 初心者質問用スレ
【処女・童貞】Hの話【初心者専用】55
【第五人格】IdentityV 初心者用スレ 5
【第五人格】IdentityV 初心者用スレ 29
【第五人格】IdentityV 初心者用スレ 22
【第五人格】IdentityV 初心者用スレ 26
【第五人格】IdentityV 初心者用スレ 14
くだすれPython(超初心者用) その48【まず1嫁】
ラブライブ!初心者にもおすすめのキャラといえば?
くだすれPython(超初心者用) その41【Ruby禁止】
【VAPE雑談質問】滝内専用スレ【初心者歓迎】Part.2
【初心者用】パズル&ドラゴンズ【パズドラ】★127
【激安】初心者用のランニングシューズのスレ【それなり】
電子工作入門者・初心者の集うスレ 74 ※中国系店舗利用者書き込み禁止
フロムゲー初心者ワイ、マレニアを戦灰戦技縛りで倒すことに成功する!!!
【画像】非プログラマーやプログラミング初心者はこういうの見ると気絶するらしいな
【悲報】1人暮らし初心者ワイ、何を血迷ったのかウインナー2kg購入して無事死亡
一人暮らし初心者「えっ肉ってこんな安いの…?」「えっ野菜ってこんな高いの…?」
三大FPS初心者に聞かせたい名言「引くこと覚えろカス」「エイムの乱れは心の乱れ」「おめぇも頑張んだよ!」
女車カス(20)「だってぇありさ初心者だしカーナビの使い方わからないしぃ怖かったっていうかぁ」
元乃木坂46キャプテン桜井玲香(27)、映画初主演決定!関係者「歌と演技の素晴らしさに圧倒された」起用理由明かす
【音楽】Ado、国立競技場ワンマンライブ『心臓』映像作品発売決定! 初音ミクとステージ上で共演 [冬月記者★]
【沖縄】普天間フェア「危険だから」と車いす利用者の入場拒否、雨の中20分待機 抗議に米軍司令官が謝罪「心より深くおわびする」
3DCG初心者だけど今から3D作る。
これからダイビングを始めよう@初心者 その50
これからダイビングを始めよう@初心者 その43
これからダイビングを始めよう@初心者 その46
初心者OK!出会い系サイトで3倍出会える極意 15
落としたファイルについて 初心者質問スレpart 36
ワイ堤防釣り初心者、コノシロ1匹でフィニッシュ!
すまん、格ゲー初心者(プレイ時間50くらい)なんだけど助けてくれ
【nice】初心者!PalmでNS Basic/Palm【smart!!】01
【CB】初心者の質問、変なスレ・困った★報告処 雑談ok ★183
SWITCHからのスプラトゥーン初心者だけど、マジで神ゲーだねこれ
【悲報】女「5ch初心者です!どの板が一番楽しいですか?」 なんて答える?
台湾からのスノボ客、初級者用コースで転んで意識不明の重体に・田沢湖スキー場
【教育】教員不足の深刻化、3年間有効な臨時免許で対応…失効の退職者ら採用
fgo初心者僕「礼装使わないの多いしフレポも結構あるから100レベ礼装作れるっしょ!」
部活指導者って補欠たちに雑用を「してもらっている」立場なのになんで不備があると理不尽に怒るの?
情弱PC初心者ワイ「グラボ買うンゴ!電源容量ヨシ!ケースの寸法ヨシ!OKやな!」
好きな映画は?初心者「アイアンマン」にわか「ダークナイト」映画通「七人の侍」 お前ら→何?
共同通信、コロナ感染者運転のハイヤーを1月末~2月初めにかけて使用 10名が17日から自宅待機措置
02:54:43 up 100 days, 3:53, 0 users, load average: 9.05, 9.85, 10.34

in 3.913213968277 sec @3.0008389949799@0b7 on 072615