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

■ このスレッドは過去ログ倉庫に格納されています
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
https://mevius.5ch.net/test/read.cgi/tech/1669349768/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
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
2023/05/03(水) 01:23:01.23ID:Ia3mFb590
まあ他人の実際のコードを見るようになってからじゃね
自分で書いて動かすだけで手一杯なんやろ
332デフォルトの名無しさん (ワッチョイ 9f4b-gncP)
垢版 |
2023/05/03(水) 02:28:32.14ID:vL8FscsM0
しっけーなおまえ等
2023/05/03(水) 05:15:12.14ID:X2wTGB2Y0
自分は、DataGridViewColumn.DataPropertyName でプロパティ名を文字列で指定してカラム参照してるわ。
本職はプログラマーじゃないから許してクレメンティン。
2023/05/03(水) 05:27:13.82ID:iydNsBEo0
別に良いんだよ
馬鹿なプログラマはこうするべきだってって感じで言うけどただの無能
動けば良いんだよ
実際売れてるとか人気のアプリのコードなんて糞みたいなもん

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

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

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

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

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

お前の例えの方が全然違うやんw
無能やな
2023/05/03(水) 08:03:49.34ID:s1e64EMrM
楽しければいいんだよ
法律やルールなんてくそ食らえ
…とかいう人なの?
2023/05/03(水) 08:13:38.78ID:iydNsBEo0
違うぞ

ルールや法律に違反しなきゃ何やっても良いって言ってるだけや
2023/05/03(水) 08:19:44.90ID:iydNsBEo0
ついでに言うならペナルティが罰金の場合
罰金払ってでも儲かるなら違法な行為はする


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

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

そういう場合は普通に違反してペナルティ払ってる
一例を挙げるならトヨタがそれに当たる
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億稼ぐのが有能
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
動けばいいと思って書いてますが、こうするべきだって話は聞きたい
2023/05/03(水) 08:34:58.86ID:Zrw+HhQra
>>339
動くのは最低限だぞw
お前のレベルの話で済むのは一人で作るちっこいアプリだけだw
2023/05/03(水) 08:39:30.63ID:XU1+7Xhm0
そもそも有能な奴はこんなところに来ない
2023/05/03(水) 09:16:01.84ID:iydNsBEo0
>>346
ほんと無能だな

大規模だってまともに動かなきゃ意味ないだろ
そういう意味でも動けば良いんだよ
2023/05/03(水) 09:17:54.09ID:iydNsBEo0
なんで動かなきゃってのがどのアプリやシステムでも同じレベルだと勘違いしてるんやろ

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

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

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

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

つうかこの板使っておいて元の2ちゃんねる作った億稼いだひろゆき自体が動けば良いじゃん精神だぞ
自身の配信でもそう言ってるじゃん
こういう技術どうこう言う技術者は無能ってさw
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
そんであるとき負荷が掛かったりちょっと改修したときに爆発する
2023/05/03(水) 13:25:11.18ID:ll4FWYPGp
>>367
改修したらトータルできちんとテストしたら良いだけだろ
2023/05/03(水) 13:25:47.69ID:ll4FWYPGp
むしろ改修した箇所だけのテストとかあり得ないよな
370デフォルトの名無しさん (ブーイモ MMbf-SYdp)
垢版 |
2023/05/03(水) 13:27:55.56ID:t3wVQNi7M
使いもしない単体モジュールがそもそもなぜあるの?
テストするまでもなく削除すればいいのに
2023/05/03(水) 13:28:01.67ID:RLCA5WWQ0
その「トータルできちんとテスト」ってなんだ?
2023/05/03(水) 13:31:19.49ID:iydNsBEo0
結合テストとかの事やろ
2023/05/03(水) 13:35:10.87ID:RLCA5WWQ0
結合テストすることを「トータルできちんとテスト」って呼ぶ層があるんだ
俺の知らん世界だな…
2023/05/03(水) 13:35:53.83ID:iydNsBEo0
>>370
普通にあるやろ

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

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

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

こんなテストや監査が想定されてる中、ユニットテストが無駄だって思ってるってこと?
2023/05/03(水) 13:51:12.96ID:RLCA5WWQ0
ちょっとまって!

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

こんなプロジェクトで「動けばいい」ってスタンスで仕事してんのか?
マジか
2023/05/03(水) 13:51:42.78ID:iydNsBEo0
>>377
俺が言った訳じゃ無いけどなw

まあ俺は単体テストはアリだと思うぞ
単体テストの結果でもって要は作業完了証明やろ
逆に言えば以降は俺の責任じゃ無いと言えるし仕様変更は別に金取れる
2023/05/03(水) 13:53:02.57ID:iydNsBEo0
>>378
そうだぞ

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

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

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

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

無能の頭の中って俺俺監査があるん?
2023/05/03(水) 14:19:36.70ID:RLCA5WWQ0
> だって製品の検査で調べるのはその動くかどうかじゃん

こんなこと言ってるし、また俺のシラン世界があるのかと
2023/05/03(水) 14:26:32.08ID:iydNsBEo0
>>388
アホw

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

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

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

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

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

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

つまり、

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

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

で、お前の中のシステム監査ってどんなもんなん?
2023/05/03(水) 15:09:07.11ID:fD0yPqm80
動けばいいってのは
なぜそう書かないほうが良いのか、ちゃんと理解して説明できないやつの言い訳
まあそう書くなって言ってる奴もちゃんと説明できてないんだがな
2023/05/03(水) 15:19:09.40ID:YldI9T9X0
>>390
GW終わって2ヵ月ちょい経つと今度は夏だねぇってなるんだよな
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/";);
}
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が出てきません
2023/05/03(水) 16:36:13.15ID:YldI9T9X0
Form1に配置してるWebView2がprivateで宣言されてるからじゃないかね
VS使ってるならデザイナーで選択してプロパティウィンドウのModifiersを確認して
PrivateになってるならInternalかPublicにしたらいいよ
2023/05/03(水) 16:48:57.57ID:rOyAnSv/p
プライベートのままアクセサ作れば良くね?
2023/05/03(水) 17:56:30.72ID:DnrzKFHb0
そもそも素人コーディングをやるやつがマトモなアプリ書けるとは思えん
アプリの作り方を勉強した人ならマシなコード書くからな
2023/05/03(水) 19:51:19.18ID:49Yy066J0
>>399-401
解決しました。ありがとうございます。
2023/05/03(水) 21:30:59.09ID:iydNsBEo0
>>394
あのさちゃんと読んだ?

お前は前提を勘違いしてるんだよ
動けば良いってそういう事じゃ無いんよ
2023/05/03(水) 21:35:17.93ID:iydNsBEo0
>>394
もっと分かりやすい例を出そう

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

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

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

動けば良いんだよ
2023/05/03(水) 21:43:26.02ID:iydNsBEo0
オブジェクト指向もそう
クラス設計がどうだの継承がどうだのどうでもいい

動けば良いんだよ
2023/05/03(水) 21:46:03.28ID:iydNsBEo0
このクラスでカプセル化されてないから云々
どうでも良い

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

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

まあ自分も普段は納品する側の中小だけど。
2023/05/04(木) 11:02:54.68ID:vtPK3lgJ0
>>1読め
2023/05/04(木) 12:11:12.80ID:7U0ATqEaM
>>413
ドキュメントでも書いてよ
2023/05/04(木) 13:12:46.06ID:nZfQ3MKS0
>>418
PSNの個人情報流出思い出した
dobon(だったはず)丸パクリの暗号化だった。"saltは8バイト以上"っていう文字列で復号化できた
オレが作った社内システムも同じことしてた。
社内システムだからセキュリティは気にしてないが。
2023/05/04(木) 13:16:44.41ID:mx5edemad
>>420
クソコードをドキュメントに起こすときのモチベーション低下もあるな
規則性がないからな
あの頃の俺はなんでこんな変な処理を……
2023/05/04(木) 15:58:14.71ID:/htkaizY0
>>422
言い訳はいいから書いて
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;
}
2023/05/06(土) 22:50:57.94ID:v1IlMQax0
とりあえず機能させたいならFileCopyで十分
中断とか進捗状況確認とか融通が利くのがFileStream
2023/05/06(土) 23:28:08.83ID:TzwbEMRu0
File.Copyだと同期処理がスレッドを専有しそう。
FileStream.CopyToAsyncだとそうならないように実装されているのかな?
2023/05/07(日) 00:12:10.49ID:/tWxMywy0
>>426-427
ありがとうございます。
FileStream を使うことにしました。
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' にアクセスできません。'
2023/05/07(日) 00:57:48.70ID:/tWxMywy0
方法 2 (File.Copy) の方法でも発生しました。
まったく原因の見当がつきません・・・
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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