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

■ このスレッドは過去ログ倉庫に格納されています
2021/08/25(水) 19:44:16.81ID:tgvUkE6r0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part151
https://mevius.5ch.net/test/read.cgi/tech/1621129559/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
・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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/09/06(月) 17:45:51.35ID:u6Cpk6uR0
Xamarin.Formsを使ったことないからアレだけど、根本的なところを間違ってるんじゃないかという予感
とりあえず、ちょっとググったら↓みたいなのは見つかる
https://blog.okazuki.jp/entry/2016/11/22/225735
2021/09/06(月) 18:04:59.48ID:q0BBk2oV0
貴方には人脈が足りないわ
2021/09/06(月) 20:38:43.31ID:h/8uTFD00
インスタンス作り忘れるレベルの初心者には協力してあげたいがそのコード例だけじゃエスパーしかできん
固まるって事はTask.Runがコメントアウトされてる通りに同期処理になってるって事じゃないの?
ボタン押す → そのままTask作らずdo whileしたらそのwhileから抜け出すまでフォームは固まる事になる
2021/09/06(月) 23:56:03.29ID:PKsgHZNm0
>>85
await Task.Delay(1);
をループ文の前に追加したら解決しました。

VBの「Do event」にあたる処理を追加したかっただけです。
2021/09/07(火) 08:59:43.99ID:sURM7VfOM
>>86
根本的に解決してないとおも
2021/09/07(火) 12:23:11.12ID:sDLOmpYb0
https://anderson02.com/cs/xamarin1/xamarin-34/
このサイトを参考にして「ボタン押す」→Do-while処理中にActivityIndicator IsRunning="True"で「くるくる」表示
ループを抜けたらActivityIndicator IsRunning="false"で「くるくる」非表示にしてるだけです。

アプリの見た目上は問題ないんですが、、、
89デフォルトの名無しさん (ラクッペペ MM8f-em86)
垢版 |
2021/09/07(火) 12:33:12.71ID:sIBcULnDM
フォームが固まる事を問題だと思っているんだろうよ

フォームは固めておいたほうが問題がない
2021/09/07(火) 12:48:57.09ID:6F2EpZaw0
フォームが固まったらくるくるも固まるから問題って事じゃなくて?
await Task.Delayを追加しただけで解決したってのもよく分からないけど、一回コード全部張ったほうが良いと思う
2021/09/07(火) 16:51:54.68ID:wmVmTjL3a
おかしいな…
IObservable<T>のSubscribeメソッドってラムダを受け取る拡張メソッドが見つからない
IObserver<T>を受け取るメソッドはあるっぽいんですが…
前からこんなんでしたっけ?
2021/09/07(火) 16:56:52.37ID:wmVmTjL3a
あ、書いた直後に自己解決しました
System名前空間にあるんですね
Rxチームのパッケージ配置センスなさすぎでは…?
2021/09/09(木) 18:30:10.85ID:UHkOYZwyd
質問です。
xamarinとC#でAndroidアプリを作成していて、ボタン押下でPCに構築したFTPサーバとテキストファイルの送受信をする機能を作ったのですが、ログインは成功していて、サーバへのファイル送信は出来ているのですが、androidへの受信時に下記2点の問題が発生しています
1.ファイル受信自体はできているが、受信時のコマンド"RETR"のものとは別に受信後にsocket.Receive処理を行った際に数分待ちが発生して、nullのExceptionが返されてエラーとなる。(ファイル受信時のsocket.Receiveの戻り値は"226 Transfer complete.")
2.上記1.の処理を削除してみると、サーバのテキストファイル内容の取得のために1ファイル受信する毎に"PASV"コマンドで戻ってきた"227"のIPアドレス・ポートでsocketを開く処理をしているのですが、そこで戻り値が"226 Transfer complete."になってしまい、IPアドレス・ポートが取得できずエラーとなる。(また、IPアドレス・ポートを取得してsocketを開ける場合もあるが、ファイル内容を取得できていて、writeで書き込まれているはずだが、受信したファイルに内容が反映されない。)
上記1か2の解決方法について何か心当たりがあればお教えいただけますでしょうか?
2021/09/09(木) 19:21:04.36ID:j0rTxYM40
FTPなんてめんどいもん使わずにHTTP使った方がいいでしょ
2021/09/09(木) 21:06:16.60ID:LhM8pXBX0
みんなFTPやめるらしいな
ここ十年使ってなかったから関係ないけど!
2021/09/09(木) 22:12:44.03ID:MpjRQyyp0
Gopher、Netnews、Archie、telnet等に続いてとうとうFTPも廃れてしまうのか
2021/09/09(木) 22:25:10.71ID:AWFfXCnC0
次はrloginかのう
2021/09/09(木) 23:21:11.05ID:gxn3oe3G0
ま、まだSFTPがあるっ
2021/09/09(木) 23:26:37.96ID:gCpnrvIza
個人的にはSMTP/POP/IMAPにはやく消えて欲しい
あれHTTPSじゃ駄目なんか?
2021/09/09(木) 23:39:20.61ID:4IXSgzmq0
IReadOnlyDictionaryじゃなくてIEnumerable<KeyValuePair>使うメリットってあるかな?
理屈の上ではIEnumerableの方が軽い? 実感は到底無理な範囲で
2021/09/09(木) 23:43:03.47ID:gCpnrvIza
勝手にソートされない
2021/09/10(金) 00:09:21.03ID:A64Oz/xl0
>>99
httpsじゃ代用できないだろ
2021/09/10(金) 00:24:34.32ID:GfX6PsUoa
>>102
そうなん?
2021/09/10(金) 00:48:12.46ID:A64Oz/xl0
>>103
httpsはメール転送プロトコルじゃないやん
2021/09/10(金) 01:25:39.53ID:7cB9tBVG0
>>101
そういえばそうね
自分でも気付いたけどIEnumerableならkey重複もいけるのか、というかそれが一番大きな違いか
2021/09/10(金) 06:19:06.89ID:PnujWjIy0
後対象が10個位しかない時とか
2021/09/10(金) 13:27:04.04ID:2x+uyMAnM
IEnumerable<int?>からint?へのキャストはどのように行うのでしょうか?
キャストの方法を調べても見つけられず、とても初歩的な質問で申しわけありませんが教えてください
108デフォルトの名無しさん (ワッチョイ e6bb-kRcQ)
垢版 |
2021/09/10(金) 13:37:39.15ID:LCboCW1+0
Razor Pagesのチュートリアルをやってるんだけどさあ
Sqliteを使った時って、app.dbとかいうファイルが作られるけど、これどうやって中身を見れるの???
$ sqlite3 app.db
みたいにしたら、暗号化されてるかもしくはデータベースではないって言われてしまう
暗号化されてるとしても暗号化キーなんて知らんぞ・・・・
2021/09/10(金) 13:39:07.88ID:A64Oz/xl0
>>107
IEnumerable<int?>は複数のint?を持っているものなのにそれを一個のint?にキャスとしたいという状況が理解できないんだが
2021/09/10(金) 13:45:51.23ID:2x+uyMAnM
>>109
説明が足らずすいません

int? test = numbers.Select(x => x.orderNum)

このように複数の要素からひとつだけ抜き出して、それをint?にしたいと考えています
2021/09/10(金) 13:59:31.94ID:k/euzmbNa
orderNumはどこから来たんだ
2021/09/10(金) 14:02:03.49ID:A64Oz/xl0
>>110
int? test = numbers.Select(x => x.orderNum).FirstOrDefault();
2021/09/10(金) 14:11:18.49ID:GfX6PsUoa
>>108
GUIのフリーソフトでSQLite対応のやつあったと思うけど名前は忘れた
2021/09/10(金) 14:41:55.80ID:fLqCHdah0
>>110
勝手にorderNum番目の要素が欲しいと仮定して
int ? test = numbers.Skip( orderNum ).FirstOrDefault();
2021/09/10(金) 16:30:51.57ID:GiqDbYXEa
>>110
Selectって名前から連想して複数の要素の中から一つを選択するメソッドだと
思ったのかもしれないけどそうじゃない(そうだとしてもそのコードは奇妙に見えるけどw)

Selectは数学で言えば集合の要素に変換関数を適用して写像(別の集合)を作るメソッド。

LINQのチートシートみたい記事ないかなと思って今検索してみたら
書いてくれてる人がいっぱいいるみたいなので、そういうの読んで自分が求めているのは
どれなのかよく考えた方がいいと思う
2021/09/10(金) 16:42:10.90ID:fLqCHdah0
WhereとSelectはSQLに寄せた結果何だろうけど紛らわしいから
JavaScriptみたいにFilterとMapにして欲しかった
2021/09/10(金) 16:43:33.35ID:RmQ4ECJ80
>>110
IEnumerable<int?>はint?の複数形なのは理解してる?
つまり複数形を単数にキャストしたいと言われても複数あるうちのどれ?ってなる
んで具体的なコードまで書いてもらいたいならnumbersの型まで書いいたほうが良い
orderNumがメンバ要素なのかインデックス変数なのかでみんな混乱してる

メンバってことで先頭が欲しいなら>>112でもいいしnumbers.FirstOrDefault()?.orderNum;の方がスマートかもしれない
2021/09/10(金) 16:48:56.98ID:RmQ4ECJ80
Selectを最初に当たった要素抜き出しと勘違いしてるのか
2021/09/10(金) 18:34:13.47ID:LP/p1r6F0
遅くなってすいません。
皆さんがおっしゃる通り、Selectの挙動が理解出来ていないまま使っていました。

EFでデータベースとやり取りをしており、numbersはテーブルを表し、
orderNumはその中のひとつのカラムです。
情報も不足していてすいません。
このテーブルにはひとつのレコードしかなく(numbers[0]の意味) Selectすれば要素を取得出来るだろうと考えていました。
2021/09/10(金) 18:43:21.63ID:3/k8+9750
>>93
コントロールコネクションとデータコネクション処理の区分けしていない、どんな
順番で実行しているかも分からないのでどこがおかしいとか言うのは無理かな
プロトコルの実装はシーケンスが見えないとアドバイスのしようがないよ

1.は単純にいえば確保したバッファのサイズを越えて読み込もうとしているか、
グルグルReciveでバッファの割り当て忘れているかだと思うけど

2.で1.を削るっていうのが何の処理を削ったのかよく分からないけど、PASVで
「226」は返ってこないはずなので、サーバがおかしいのでなければコントロール
コネクションの制御が間違っていて他のコマンドのレスポンスを見ているか、
以前のコマンドのレスポンスを見ているのではないかな
2021/09/10(金) 19:06:41.45ID:cGWG4Dd90
>>119
ならnumbers[0].orderNumでいいんじゃないのか
2021/09/10(金) 21:46:29.33ID:EWGbhKdq0
https://www.c-sharpcorner.com/article/using-oxyplot-with-xamarin-forms/
上記サイトを参考にグラフを表示させたんだが、背景が黒になってしまうので白にしたい。
どうすればいいでしょうか?

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms";
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml";
x:Class="testxamarin2.Pages.Gurafu2"
xmlns:oxy="clr-namespace:OxyPlot.Xamarin.Forms;assembly=OxyPlot.Xamarin.Forms" xmlns:local="clr-namespace:testxamarin2.Pages">


<ContentPage.BindingContext>
<local:OxyExData />
</ContentPage.BindingContext>

<oxy:PlotView Model="{Binding PieModel}" />

</ContentPage>
2021/09/10(金) 22:40:03.53ID:us9/OBHL0
C#スレです。
2021/09/11(土) 00:52:24.21ID:gPJd3kYI0
ひょっとしてダークモード使ってるなんてことはない?
125デフォルトの名無しさん (ワッチョイ 4a47-aIS6)
垢版 |
2021/09/11(土) 11:05:16.93ID:svdFBuj80
>>123
C#だろ
2021/09/11(土) 14:33:08.39ID:7wmXh2qC0
正解はXamarinスレへじゃないかw

Microsoft Xamarin part8 [.NET MAUI]
https://mevius.5ch.net/test/read.cgi/tech/1627778316/
2021/09/11(土) 18:25:58.13ID:E5TnD1wu0
データ集計用にSystem.Windows.Forms.DataVisualization.Charting.Chartを使ってグラフを描画して画像保存をやっています。
特定のX軸のグラフのプロット座標をスクリーン座標かクライアント座標として得たいのですが、何か方法はあるでしょうか。
目的はグラフのY軸のピーク値とかのプロット地点の横に注釈を入れることです。
ChartオブジェクトのPostPaintイベントを追加してSystem.Drawing等でChartコントロール上に描画はできることは確認できていますが、
描画するにもグラフの各座標が判らなくて困ってます。
2021/09/11(土) 19:00:31.83ID:E5TnD1wu0
ValueToPixelPositionでできました。
Chartは情報が中々得難いですね。
Excelのグラフのがよかったかな。
2021/09/11(土) 19:09:47.10ID:Sf7FbZfWa
>>128
今それを書こうと思ってた
まあチャートなんか使ったことないんだけどねw

佐藤さんて人がchmを作ってくれてるよ。
それを見たら1分でそれにたどり着いた
http://www.kanazawa-net.ne.jp/~pmansato/
2021/09/11(土) 20:53:38.53ID:E5TnD1wu0
>>129
貴重な情報源ですね。ありがとうございます。
131デフォルトの名無しさん (ワッチョイ 66b5-wHYb)
垢版 |
2021/09/11(土) 21:52:55.11ID:8euuf7tr0
Visual Studio 2019でC#の単体テストのプロジェクトを新規作成する場合、
MSTest
NUnit
xUnit
と三つあるのですが、どれがお勧めですか?
最も一般的なのを教えてほしいです。

ちなみに、OSはWindows 10で、.NET Coreを使い、
GUIを用いないデスクトップ・アプリケーションのテストをしたいです。
2021/09/11(土) 22:02:13.98ID:xnT6+evKa
MSTest以外
2021/09/11(土) 22:21:42.85ID:8euuf7tr0
>>132
では、xUnitにしてみます。
ありがとうございました。
2021/09/15(水) 01:25:28.31ID:YP1Us53j0
単体テストで使うAssert()などのコードは、
バージョン管理ツールで保存するときは一緒に保存しますか?
単体テストで使うコードは本番環境にも入れたままにするのですか?
2021/09/15(水) 01:45:24.08ID:BObvHHa10
if(debugger.isattached)debugger.break();

みたいにやればデバッガとつながってるときだけ止まるので入れておいても害はない
2021/09/15(水) 02:21:57.32ID:Amlrkkbp0
>>134
バージョン管理するのは当然
単体テストはプロジェクトを分けるだろうから、本番環境にデプロイされることはない
2021/09/16(木) 01:15:18.28ID:KiAri4wH0
>>135-136
ありがとうございます。
デバッガーに繋がっているときだけ止めれるので入れておいても害はないけど、
プロジェクトを分ける場合は本番環境には入れないんですね。
2021/09/16(木) 08:11:11.63ID:l6vfv8u30
先生 インスタンスメンバーにアクセスしないメソッドはstaticにマークしたほうがいいんですか?う゛ぃじゅあるすたじお先生がそう言ってるんですけど
2021/09/16(木) 08:31:28.52ID:1kK4YF2S0
設計が悪いと、遠回しに言われてるんじゃないか
2021/09/16(木) 12:32:37.57ID:f8nFECPPa
>>138
むしろ「それ」をあえてインスタンスメソッドにする必要があるのか、
と考えるべきだろうね。

普通はないはずだと思うけどあると確信できるなら別にいいんじゃないの?
普通はないはずだと思うけどねw
2021/09/16(木) 13:41:21.65ID:l6vfv8u30
>>139
>>140
わかりました先生!
2021/09/17(金) 02:16:35.15ID:C7hZqBxt0
ttps://www.youtube.com/watch?v=6pF07zSHVjA
さっきまで見てたのはこれ
2021/09/18(土) 11:42:46.32ID:hxUth2PJ0
いい動画見つけてくるやん
2021/09/20(月) 10:51:22.93ID:nPFDN3tP0
C#での非同期処理のキモがハマりどころも含めてわかりまくりの決定版みたいな記事どっかにない?
2021/09/20(月) 11:07:36.88ID:V39ohWuW0
あるよ
2021/09/20(月) 12:46:14.36ID:+AHvFjk8M
>>144
気軽に建てたスレッドの99%はバグってるので安心して欲しい
2021/09/20(月) 15:03:43.99ID:qjcSqOKx0
c#の非同期処理の解説書あったべ オレンジ色の
148デフォルトの名無しさん (ワッチョイ f72f-fBlf)
垢版 |
2021/09/20(月) 18:11:02.65ID:IjMClDHV0
>>146
でもわたしはあなたの頭がハゲってるのが心配なんですよ
2021/09/20(月) 18:32:52.96ID:aa1o0gq5a
毛はあるよ
2021/09/20(月) 18:33:29.97ID:gtjvoIz80
>>148
年齢と髪の毛が非同期
2021/09/20(月) 19:33:21.44ID:ikLxeDh90
>>144
https://www.kekyo.net/async
俺はこれが参考になった記憶あるな
調べたのって何年も前だから、もっと良い記事あるかもだけど
2021/09/20(月) 20:53:43.86ID:gtjvoIz80
>>144
スレッド
注意点一覧

・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)

決めるのが面倒なら使うべきでないと思う
2021/09/20(月) 20:55:06.48ID:gtjvoIz80
・本体終了時に終了できるか?

もあった
2021/09/20(月) 23:39:01.96ID:nPFDN3tP0
>>151
おお、これは素晴らしい
ありがとうありがとう
2021/09/21(火) 00:20:00.53ID:wZ9Exopu0
c# プログラマの書いたコードは美しい音楽のようだった。

タリバンは音楽家を処刑してるので、c# プログラマを対象に加えるべき。

c# って普通に考えたら音楽の符号だし、c# プログラマがすすめてくる「リーダブルコード」って本はどう見ても音楽関連。

https://i.imgur.com/nmlX1tw.jpg
2021/09/21(火) 00:36:08.07ID:Rfyn90AC0
※個人の感想です
2021/09/21(火) 05:45:16.61ID:Ke/ADbP50
率直な質問です
C#と.NETを一通り習得するのにどれくらい時間がかかりますか?
2021/09/21(火) 08:28:39.59ID:Tfcqtuvs0
>>157
自分の場合プログラム経験無しから「独習c#」を概ね理解しながら独学で読み進めるのに3ヶ月かかった。
LINQ やTaskなどは実践や実務でないと本だけでは習得は難しいと思う。
2021/09/21(火) 09:50:09.14ID:CRn+9siHD
>>152
一般的なスレッド生存確認方法ってどんなの?
2021/09/21(火) 10:40:19.83ID:iEeiy+NhM
>>158
それな
実際どういうコード組んでるかとか不文律の部分がてんでわからん
型の宣言にしたって最初にまとめておいたほうが良いのか、なら使い捨て変数なら使うところで良いのかとか
2021/09/21(火) 11:30:25.65ID:tDmaS64ca
まあ3か月である程度モノにできる人なんているとは思うけど
特別な才能の持ち主だけだと思うからそこは真に受けない方がいいと思う
2021/09/21(火) 12:21:47.37ID:Tfcqtuvs0
>>161
まあ不安が無くなってきたのは、2周目の読破が2ヶ月、3周目が1ヶ月で、合計半年過ぎた頃ですけどね。
c#もバージョンが上がって機能が増えて、初見さんには段々難しくなってきてると思う。
2021/09/21(火) 14:33:26.01ID:MozgKoB30
先生質問です。Bitmapの保存でエラーです
問題を単純化するために空のBitmapを保存して試して見たところ再現したので貼ってみます
デスクトップを始めとして特定のフォルダにだけ保存できません!
新規に作ったフォルダは大丈夫です。以前からあるフォルダでも保存出来るものもあります
セキュリティの関係かと思い、フォルダ右クリ→プロパティ→セキュリティのタブ で
比較したのですが全く同じであるにも関わらず一方だけ保存できません(ちなみにwin7)
VisualStudioのdebugフォルダの中だと保存可能です
考えられる原因、なにかありますか?

using (Bitmap bmp = new Bitmap(100, 100))
using (Graphics g = Graphics.FromImage(bmp))
{
var fullPath = "";
fullPath = @"E:\SS\aa.png";//× このフォルダの名前をSSSに変更すると〇
//fullPath = @"SS\aa.png";//〇 相対パス(debugフォルダ内)
///fullPath = @"F:\test\aa.png";//〇
//fullPath = @"E:\SSS\aa.png";//〇
//fullPath = @"C:\Users\(ユーザー名)\Desktop\aa.png";//×

bmp.Save(fullPath, ImageFormat.Png);
//↑ここでエラー
//System.Runtime.InteropServices.ExternalException: 'A generic error occurred in GDI+.'
}
2021/09/21(火) 15:05:39.31ID:MozgKoB30
>>163です
追加です
C:\Users\(ユーザー名)\Documents\aa.png ×
C:\Users\(ユーザー名)\Pictures\aa.png ×
C:\Users\(ユーザー名)\aa.png 〇
2021/09/21(火) 15:17:44.97ID:MozgKoB30
>>163 追加です
using (Graphics g = Graphics.FromImage(bmp))
を抜いても再現します
2021/09/21(火) 15:44:38.16ID:NZk8M9Nyd
>>163
発生したExternalExeptionのInnerExeptionプロパティを見ればヒントが入ってんじゃないの
2021/09/21(火) 17:05:44.52ID:iohS1gPI0
typoしてんじゃね?と実験してみたら存在しないフォルダ名を指定していたら System.IO.DirectoryNotFoundException が投げられるのか
手元じゃ再現しないからわからんなぁ
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) とか使ってもダメなんかね?
2021/09/21(火) 18:10:56.43ID:nmJq7owza
>>163
たぶんシステム側のバグを疑ってるから質問してるんだろうけど、
それは自分で十分に検証した後でやること。

private void SaveDummyPng()
{
  var bmp = new Bitmap(100, 100);
  var path = AskUserForPngName();
  if (path != "") bmp.Save(path, ImageFormat.Png);
}

private string AskUserForPngName()
{
  var sfd = new SaveFileDialog();
  sfd.AddExtension = true;
  sfd.DefaultExt = "png";
  sfd.ShowDialog();
  return sfd.FileName;
}

なんでこの程度のことを最初にやらないの?
2021/09/21(火) 22:36:08.81ID:MozgKoB30
>>166
InnerExceptionPrefix " ---> " string
_COMPlusExceptionCode -532462766 int
さっぱりです><
>>167
最初はEnvironment〜を使っていたのですがだめでした
>>168
それ行けました
でもこれ↓はだめです

public static void Test_MakePNG4()
{
var bmp = new Bitmap(100, 100);
var path = @"E:\SS\aa.png";
if (path != "") bmp.Save(path, ImageFormat.Png);
}

なんでなのおおおおおおおおおおお
2021/09/22(水) 00:11:49.84ID:x9hzo5Uv0
・using (Graphics g = 〜) の外側でSave()を実行する
・Save()で直接ファイルに書き込まず、一度MemoryStreamに入れた後にファイルに書き込んでみる

思いつくのはこの辺りかな
2021/09/22(水) 00:15:18.25ID:Wj4PKJ5V0
>>169
できたときとできないときのpathってデバッガで見たとき違った?
2021/09/22(水) 00:47:04.48ID:FM+g1li10
>>169
そもそも同じディレクトリにテキストファイルは生成出来るの?

public static void Test_MakePNG4()
{
var path = @"E:\SS\aa.png.txt";
using (var writer = new StreamWriter(path))
{
writer.WriteLine("こんにちは");
}
}
2021/09/22(水) 01:01:57.27ID:Orudko8V0
>>169
https://stackoverflow.com/questions/33534740/a-generic-error-occured-in-gdi-saving-bitmap-to-desktop
2021/09/22(水) 01:33:31.16ID:7jHG7vlFa
>>173
w
見て損した
2021/09/22(水) 01:40:01.68ID:7jHG7vlFa
>>172
っていうか普通のセンスの人ならまず

(1) コードで指定しているパスのディレクトリをエクスプローラの
アドレスバーにコピペして開けるかどうか確認

(2) 開けたらそこで何等かのファイルの新規作成が可能かどうか確認

このぐらいはやるよね。

当たり前のことをやらずにエラーが出ます、どうしてでしょうって言われても知らんがなとしか
2021/09/22(水) 01:56:12.54ID:Wj4PKJ5V0
SSフォルダが無いだけな予感?
2021/09/22(水) 04:40:06.14ID:GGT0XQOL0
先生、解決しますた・・・
忘れていました、、、うちのPCには暴れん坊のアバストさんがいることを・・・・
あいつ、最近勝手にランサムウェアシールドっていうのの保護対象にE:\SSやデスクトップを追加してたみたいで・・・
ぐぐってみたら同様に勝手に保護対象を増やされたという報告がいくつか

>>172先生が当たりでした
System.UnauthorizedAccessException: 'Access to the path 'E:\SS\aa.png.txt' is denied.'

やばそうな常駐アプリは切って再起動して確認してたつもりが
なんと一番やばいアバストさんがそのままだったという愚かさ
先生方お騒がせしました・・・
2021/09/22(水) 06:47:06.99ID:Wj4PKJ5V0
おお、そういうこともあるのか
2021/09/22(水) 17:41:14.68ID:UxQCWMGf0
そういやマカフィーもVSでC++のデフォルトテンプレのHello Worldをデバッグコンパイルするだけで、
ウィルス認定で50%以上の高確率で削除するしなw

winに最初からあるDefenderの方が誤動作少ないし機能も十分な気がする。
2021/09/22(水) 17:44:26.85ID:oFL52ARd0
プログラマでありながらアンチウイルスソフトに頼ってる奴は恥を知れよ
2021/09/22(水) 17:51:55.03ID:iQc20bnI0
勤めたこと無い奴にはわからんだろうな
2021/09/22(水) 18:02:03.45ID:olBznEii0
>>180
w
2021/09/22(水) 18:06:10.53ID:Vihg9CWp0
今はもうdefenderにtrapsとかcybereason組み合わせるのとかが主流だろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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