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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 20:28:41.27 ID:Pggemlyq0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
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

317 名前:296 mailto:sage [2020/09/28(月) 09:08:06.54 ID:QIpyCS2B0.net]
そんな難しい本を読んでも、理解できないから無駄だと思う

検索した方がよい

318 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 09:11:10.60 ID:Zg0P7tB00.net]
>>306
用意した画像の一部だけが表示されている
たとえば、
pb.SizeMode = PictureBoxSizeMode.StretchImage;
といった感じでPictureBoxSizeModeを指定してみると何が起こってるのか何となくわかるんじゃね?

319 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 09:42:36.85 ID:Uql71HHWa.net]
>>311
ctl+Cまで入力コマンドを待つCUIアプリはイベントドリブンと呼べるのでは?

320 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 09:50:37.80 ID:o994bwz+0.net]
>>311
CUIでもターミナルベースの業務アプリなんかだとイベントループ書くぞ。

321 名前:296 mailto:sage [2020/09/28(月) 10:20:17.53 ID:QIpyCS2B0.net]
結局、GUI・CUI も、どちらもイベントドリブンなのか

大部分は同じなのかも

322 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 10:59:03.73 ID:o994bwz+0.net]
>>316
お前Electronの内容もちょっと変な理解してるし、毎回思うけど知ったかぶりしないほうがいいぞ。
結局Rubyの事しかわかんないんでしょ。

323 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 11:27:34.04 ID:j++FlVxl0.net]
Delphiに存在したメタクラス型(クラス型を代入、参照できる変数)は
C#に無いの?

324 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 11:42:34.18 ID:ii9XSMYC0.net]
>>310
ありがとうございます
アマゾンレビューをチラ見したところ目的に合ってそうです
>>312
とりあえず頑張ってみます

325 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 11:53:52.45 ID:phqY8Xtx0.net]
>>318
Typeは?



326 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 13:53:50.99 ID:j++FlVxl0.net]
Typeでもある程度事は足りるけど、
あらゆる型のtypeof()を代入できるので不確実だし、Activatorとか必要で面倒。
無いなら仕方ないが…まあ移植が大変

327 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 18:57:37.61 ID:nO4ceNb30.net]
>>313
そのプロパティ?はまだ本内で教わってないですが使ったら表示されました。
ありがとうございます!!

328 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 22:54:29.00 ID:iemn9XLz0.net]
>>311
CUIなRTOSなんて普通にあるけどなぁ

329 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 10:58:06.91 ID:RvE6O+PE0.net]
.NET Coreでコンソール画面に
「こんにちは、WORLD!」と表示させようとすると
なぜか「こんにちは、WORL!」のように表示されます

コンソール画面のメニューからフォントを変更すると正しく表示されますが原因が分かりません

330 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 11:22:49.95 ID:OZkIKLkD0.net]
コンソール画面とは?

331 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 12:42:00.94 ID:YPdRC9Oi0.net]
>>324
コード貼れ

332 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 13:17:16.07 ID:RvE6O+PE0.net]
static void Main(string[] args)
{
 var str = "こんにちは、WORLD!";
 Console.WriteLine("{0}", str);

 Console.ReadKey();
}

333 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 17:53:06.91 ID:wYCx593I0.net]
>>327
これかな?
https://aquasoftware.net/blog/?p=895

334 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 17:57:00.27 ID:wYCx593I0.net]
>>327
これも
https://csharp.clock-up.jp/contents/dotnetcore/codepage-encoding

335 名前:323 326 mailto:sage [2020/10/10(土) 19:40:42.12 ID:RvE6O+PE0.net]
>>328 >> 328
試してみましたが改善しません

出力をコピーしてメモ帳にペーストしてみると正常なので
どうも文字化けではないようです

文字の表示位置がずれて重なっているような感じです



336 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:03:24.77 ID:wYCx593I0.net]
>>330
こちらでは正常なんでコンソール画面のプロパティの設定がおかしいんでは?

337 名前:蟻人間 mailto:sage [2020/10/10(土) 20:04:01.51 ID:c6WyhNHPd.net]
何てフォント?

338 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:23:39.28 ID:RvE6O+PE0.net]
MSゴシックの18ポイント、Windows8.1です
来週会社のパソコンで試してみることにします

339 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:41:27.03 ID:wYCx593I0.net]
>>333
8.1はプロパティでレガシーコンソールのチェックある?あったらそれチェックでいけるんでは?

340 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:52:24.98 ID:RvE6O+PE0.net]
ないです

341 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 21:17:43.96 ID:RlZbVDXEa.net]
何にもアドバイスできないのに恐縮だけど、

>コンソール画面のメニューからフォントを変更すると正しく表示されますが
だったら具体的にどのフォントで問題が発生してどのフォントで発生しないか
確認した範囲で書いた方がいいのでは

あと、普通テキスト変えていろいろ試さないか?

342 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 21:50:46.82 ID:wYCx593I0.net]
他のアプリでMSゴシックの18ポイント使ってみ。フォントのファイルが正常かどうか
使えるなら8.1のコンソールウィンドウの問題でしょ

343 名前:デフォルトの名無しさん [2020/10/10(土) 23:23:35.42 ID:wgBcrtZd0.net]
>>321
Typeで事足りそうなものだが…

あるいは設計の問題かも。
どんな設計なのかも書き込んでみたら?

344 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:49:57.27 ID:N2Y7+9Dy0.net]
ローカルでiTextSharpを利用して、
Json形式のデータからPDF帳票を作る・・てのつくったんだが、
(サーバ上で、APIコールとかファイル読込でPDFファイルを返したかった。
 イメージ的にはページごとにTextとかLineを指定したJsonデータ)
いざ業務に転用できるかなってフェーズにきて
iTextSharpのライセンス(AGPL)がやだなあ、って思ってる。
PDFSharpは日本語がなんかうまくいかない。

今のC#で、PDFを作るの、皆さんはどうやってる?

345 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:55:16.27 ID:0/xBmjm30.net]
>>339
業務だったらExcelCreator使ってる



346 名前:デフォルトの名無しさん [2020/10/20(火) 10:59:00.80 ID:pHiz9StDF.net]
PDFSharp使ってるけど問題無し

347 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 11:10:22.94 ID:d69BLAaZa.net]
React、Vueで帳票レンダリング
ヘッドレスブラウザでPDF印刷

348 名前:デフォルトの名無しさん [2020/10/20(火) 11:13:59.21 ID:pHiz9StDF.net]
日本語不安ならグラフィック直接PDFに張り付けろ

349 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 12:28:25.89 ID:eHl8PxCr0.net]
PDFSharpは日本語の折り返しに対応してなかったぞ。

350 名前:デフォルトの名無しさん [2020/10/20(火) 12:50:06.87 ID:pHiz9StDF.net]
>Json形式のデータからPDF帳票を作る

これが折り返しするかどうかだな

351 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 13:46:22.13 ID:N2Y7+9Dy0.net]
皆さんありがとうございました・・・
方針としてはPDFSharpをもっかいいじくり倒して、他にもいろいろ試してみます・・・
プレプリント紙への印刷やめたい

>>340
そんなソフトあるんですね!サーバ版たけぇ・・

>>342
クライアントサイドのレンダリングはちょっときついです、環境バラバラなんで

>>343
自分にはグラフィックをちょうどよくテンプレにはめる設計力がなさげ

>>345
折り返しするんですよね。。
まあそれ以前使うフォントが特殊でつまずいたっていうのがありましたが

352 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 13:50:07.09 ID:d69BLAaZa.net]
>>346
クライアントサイドじゃないよ
サーバーでヘッドレスブラウザ使ってPDF出力してレスポンス返すだけ

353 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 14:00:01.34 ID:0/xBmjm30.net]
>>346
Excelで帳票のテンプレート作ってそれをPDFにできるんでめっちゃ楽
みんな慣れてるでしょExcel帳票w

354 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 15:28:40.52 ID:N2Y7+9Dy0.net]
>>347
そうなんですね!ちょっと見てみます

>>348
Excel帳票大好きです(大嫌いです)

355 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:09:37.19 ID:CqCKSidt0.net]
C♯が現在最強言語らしいので勉強したいのですが
マイクロソフトはVB6の開発を打ち切ってプログラマを裏切った過去があるそうで
なかなか踏み切れずにいます。。。
C♯は20年後も開発が続いてると思いますか?
教えてエロい人



356 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:14:23.52 ID:Nb9oJ8Mwd.net]
そんな先のことなんざわからん
確実に言えるのは今勉強している技術を20年後も変わらずに使い続ける前提でいるような技術者は居ない(と信じたい)
生き残ってるなら初期学習がない分少し楽かもしれないけど、新しいのが台頭してくりゃそちらを新たに学習するだけ

357 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:25:01.94 ID:CqCKSidt0.net]
そうですか。先のことは誰にもわからないですよね。
逆に20年後も確実に主力な言語ってPythonくらいかな?

358 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:25:26.41 ID:cR623l/E0.net]
>>350
開発が続いてる言語の新しい技術についていくような人はどんな言語でもすぐ学べる

359 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:31:38.91 ID:CqCKSidt0.net]
>>353
新しい技術について行く用意はあるんですが
言語の基本的な記述などのルールが変わるのが面倒なんですよね。。。

360 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:45:13.07 ID:0/xBmjm30.net]
C#ほど後方互換性を重要視している言語ってなかなかないと思うけどね

361 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 16:48:10.12 ID:CqCKSidt0.net]
>>355
そうなんですか。ではC♯を勉強すれば基本記述まで変更なんて
事はしばらくはなさそう?ですね。。。
勉強してみます!!

362 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 17:16:01.37 ID:nipGGPAZa.net]
>>354
勉強が1ヶ月続くかどうかも怪しい奴が20年後の心配をするのは馬鹿げているぞ。
そんなことじゃ、何かを勉強し始めたとしてもことあるごとに足踏みして前進できない未来しか見えない。

363 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 18:10:04.06 ID:kSL2D2eBa.net]
OfficeのマクロはまだVBなんだっけ?

364 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 18:13:11.84 ID:Nb9oJ8Mwd.net]
そだね
python使えるようにするみたいな話はあったけど進行してるのかな?

365 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 18:15:13.55 ID:ATqqkPAW0.net]
>python使えるようにするみたいな話
頓挫したぞ



366 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 19:53:46.10 ID:c2x7XoZLd.net]
贅沢言わないから.NETにpython入れてVisualStudio(codeじゃない方)でサポートしてくれるだけでいいのに

367 名前:デフォルトの名無しさん [2020/10/20(火) 21:29:38.81 ID:j1S9Ds0j0.net]
それIronPythonと何が違うの?

368 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 21:48:49.93 ID:iUu5GsdY0.net]
>>358
まだExcelのWeb版だけみたいだけどJavaScript/TypeScriptが使える
マクロじゃなくアドインならC#やF#みたいなCLR言語ならなんでも可だったかと

369 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 22:16:42.30 ID:jgnvePEX0.net]
ChromeベースのWebView2がやっとラウンチしたようだね。まだ.netじゃ使えないが
Previewで確認したところマウスの戻るボタンが使えるのがいい所だな

370 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 22:51:38.52 ID:kSL2D2eBa.net]
>>363
へーそれは知らんかったありがと。

371 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 23:36:15.59 ID:CqCKSidt0.net]
>>362
IronPythonって2.7っしょ
使えないな。。。

372 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 00:36:52.32 ID:0KDGF23Y0.net]
なんかうろ覚えなんだが
こういう非同期処理の書き方ってちゃんと動いたっけ?

if(!locked){
 locked = true;
 await xxx.Task;
 locked = false;
}

async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無いって昔判断したような記憶はある

373 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 09:14:18.23 ID:hl6LkBs90.net]
ソースの一行単位でスキがうまれるので無理じゃね
ifとlocked=trueの間に実行されてる

374 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 09:16:03.92 ID:hl6LkBs90.net]
1行単位どころじゃなかった
意味不明なところでも割り込みあるわw

375 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 09:43:40.30 ID:eNSg6QZpH.net]
四捨五入の結果がおかしいのって自分だけかな・・・

decimal v = -0.0195m;
decimal rounded = Math.Round(v, 2, MidpointRounding.ToPositiveInfinity);
Console.WriteLine(rounded);
ってすると、小数点2桁までになるよう(小数点3桁目を)四捨五入するので
-0.02になるはずなのに、結果が-0.01になっちゃうんですけど・・・



376 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 09:56:42.42 ID:lxmGvu010.net]
>>367
Taskの中でlockする
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/lock-statement

377 名前:デフォルトの名無しさん [2020/10/21(水) 12:02:28.19 ID:sg7OOy0L0.net]
>>367-369
awaitで同期取ってるから問題ない

>>370
To Positive Infinityだから正数寄りになる
ゼロを基準にしたければMidpointRounding.AwayFromZeroを指定する

await(待つ)もそうだが、変な日本語のリファレンスよりも明快な解説が変数名に詰まってるんだからお前らはまずその単語をGoogle翻訳に掛けるべきだと思うわ

378 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 12:16:57.36 ID:hl6LkBs90.net]
>>372
いや
if(!locked){
実行
別タスクlockedのfalseを見て処理開始
 locked = true;
別タスク割り込まれたら困る処理開始
 await xxx.Task;←別タスクと衝突
 locked = false;
}

起こるじゃん

379 名前:デフォルトの名無しさん [2020/10/21(水) 13:03:41.62 ID:eNSg6QZpH.net]
>>372
-0.01と-0.02の中間(MidPoint)である-0.015のときの丸め方(Rounding)として
「MidpointRounding.ToPositiveInfinity」を指定したつもりだったのですが・・・
MidPointじゃないときにも「ToPositiveInfinity」が適用されちゃうんですね・・・

JavaScriptのMath.Round()とおなじような(四捨五入される桁の数字が5の場合に
正の無限大の方向で丸める)四捨五入をしたかっただけなのですが、
関数を自作しないとだめみたいなので自作します。
お騒がせしました。

380 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 13:30:40.39 ID:UaTtUbsy0.net]
await絡みのときは、排他制御はSemaphoreSlim使うのが定番ですよ
https://www.atmarkit.co.jp/ait/articles/1411/11/news117.html

381 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 13:44:12.17 ID:RtxzEAIBa.net]
四捨五入:わかる
銀行丸め:わかる
正の無限大の方向で丸める:何の意味があんのそれ?

382 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 13:52:03.73 ID:xBoANC0iM.net]
切り上げって知ってる?

383 名前:デフォルトの名無しさん [2020/10/21(水) 14:15:10.32 ID:sg7OOy0L0.net]
>>374
それならこんな感じで簡単に作れるから頑張れ

static decimal[] table = new decimal[]{1E0m, 1E1m, 1E2m, 1E3m, 1E4m};
static decimal Round(decimal num, int pow) => Decimal.Floor((num * table[pow]) + 0.5m) / table[pow];

decimal num = Round(-0.015m, 2); // -0.01

>>373
普通にメインスレッドから叩いていればこうなるからな

if(!locked){ // thread 1
 locked = true; // thread 1
 await xxx.Task; // thread 2
 locked = false; // thread 1
}

384 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 14:19:07.15 ID:lJjSrE40d.net]
正負どっち方向に動くかわかんない変換より確実に方向がわかっている変換が必要なことはあるよ

385 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 14:26:27.71 ID:RtxzEAIBa.net]
-2.4 → -2
-2.5 → -2
-2.6 → -3
こういう丸めが意味を持つケースが一般的とは思えない

>>377
知らないのは君だと思うよ



386 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 14:32:15.81 ID:lJjSrE40d.net]
5捨6入って特定に分野では一般的な計算方法では?
俺は使わないけど

387 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 14:33:15.98 ID:RtxzEAIBa.net]
>>381
3.5 → 4
なんだよ

388 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 14:47:36.44 ID:8k52si4D0.net]
それでもう.NET5使ってええの?

389 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 14:52:13.96 ID:v0oiVQF00.net]
いいよ

390 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 15:00:31.64 ID:5E7rZ8hS0.net]
>>378
それが問題になるのは、そのifブロックが複数スレッドで実行されたときだからな

391 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 16:37:46.89 ID:APVpE4AA0.net]
>>378
はじめのlockedをみてるガードは別スレッドからのアクセスに対して無力だよ
そこはおk?
>>378の番号で言ったらThread3以上のスレッドからの話ね

392 名前:デフォルトの名無しさん [2020/10/21(水) 17:36:18.89 ID:sg7OOy0L0.net]
>>386
つまりこういうのを危惧してるのか?

Task.Run(() => {
 if(!locked){
  locked = true;
  await xxx.Task;
  locked = false;
 }
});

だとしたらこんなのは仮定

393 名前:に持ち出すのがそもそも間違い
それ言い出したらフィールド操作するあらゆるメソッドで「並列で呼び出される可能性がある」とlock()で括らなきゃいけなくなってしまう
[]
[ここ壊れてます]

394 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 17:53:44.86 ID:lxmGvu010.net]
ifブロックがシングルスレッドでしか実行されない状況で
lockが必要な状況ってどういうの?

395 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 17:55:56.87 ID:5E7rZ8hS0.net]
元の質問がマルチスレッドでのロックに関する質問だと思うのだがな

このコードはスレッドセーフですか?
いいえ危険です

みんなが回答してるのはそういう事
このスレの趣旨や質問者のレベルを考えると妥当な仮定と回答だと思うぞ



396 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 17:58:26.66 ID:5E7rZ8hS0.net]
>>388
再入すればやばい気がしないでもない

397 名前:デフォルトの名無しさん [2020/10/21(水) 18:02:52.19 ID:sg7OOy0L0.net]
元の質問って>>367だろ?

> async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無い

「同じスレッドに戻る」を認識してるなら疑いなくtrueやん
ここで「でも別スレッドで動かしたら危険」と言うのは質問の前提を崩してる

398 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 18:14:17.17 ID:MqdNiLmu0.net]
崩してないな。

399 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 18:19:06.78 ID:5E7rZ8hS0.net]
そのawaitしてるのはasyncメソッドだから、メインスレッドからのみ呼ばれるとは限らん
つまりもどるのがメインスレッドだとは限らん

というの理解しているのならまあ大きなお世話だと言えなくもないが
あとフォームアプリじゃなければ、もとのスレッドに戻るも保障されないけどな

400 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 19:06:44.50 ID:lxmGvu010.net]
>>390
なるほど
ロックって言葉でちょっと意図を勘違いしてた
タスクが実行中ならもう1回呼ばれても実行しないようにしたいってことだったのか

タスクの中には他のスレッドと競合する処理はなく
ifブロックはUIスレッドでのみ実行されるという前提ならいいんじゃねって気がする

401 名前:デフォルトの名無しさん [2020/10/21(水) 19:15:16.66 ID:/GjtxlMb0.net]
そもそも呼ばれないようにしろ

402 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 19:22:35.51 ID:sg7OOy0L0.net]
>>393
何か必死で調べたくさいこと言ってるが
asyncだから、って下りに無知が現れてるな

403 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 20:02:51.66 ID:GqMp+oa10.net]
>>367 の質問自体は「問題ない」が回答だけど、
そもそも質問の前提に危うさがあるんじゃない?

って感じではダメなんだろうか。

404 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 21:32:30.66 ID:38qDfhYJM.net]
>>339
まだ帳票開発したことないけど、やる機会があればDocurainってサービス使ってみようかなって思ってる

405 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:17:36.19 ID:skFEsPcd0.net]
for文で書き始めて、配列から要素を取り出すだけだからforeachに書き換えて、でもやっぱりiが必要になってfor文に戻すこと多くない?



406 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:32:32.75 ID://9fx+gF0.net]
Index付きのSelect句で事足りる

407 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:50:33.27 ID:878uww5f0.net]
MoreLinqのIndex()がKeyValuePair<int, TSource>を返してくれる
簡単だから自分で実装してもいいけどライブラリ使うほうが管理含めて楽

foreach (var (i, x) in foo.Index()) {
Console.WriteLine($"{i}: {x}");
}

408 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:55:59.78 ID:skFEsPcd0.net]
そうなんだ

409 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 22:19:40.87 ID:VOTutQQJ0.net]
>>401
いや、これ書くぐらいならforで書くよな

410 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 23:15:08.92 ID:GpR1sqnP0.net]
>>403
たしかに

411 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 23:52:47.91 ID:878uww5f0.net]
またLinqバトル始まっちゃう感じ?

412 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 00:14:13.24 ID:AkfEJdVF0.net]
(index, value)と(value, index)でバグを作ってしまったから
Index拡張メソッドは控えることにした

413 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 00:16:36.51 ID:wq/6wJQN0.net]
>>406
それあるわ
他人のプログラムが前者で、自分は後者派だったからお互いえ?え?となったわ

414 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 00:24:48.70 ID:lDlwJ32m0.net]
そもそもforeachなんて作ったやつの脳みそ腐ってんだから仕方ない
何回回すのかもコードからわかんねーし
どう回したいのか変わると一気に産廃
そもそもforeachなんて産廃コード使うなよ
変更に激弱だろ

あ、インデックスN番目は処理したくない
→産廃
あ、後から処理しないと
→産廃
あ、奇数と偶数で処理変えないと
→産廃
あ、こっちの配列もみながらいっしょに処理しないと
→産廃

もうあれね
コードレビューでforeachを見つけたら
修正させるぐらいでいい

415 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 07:44:18.56 ID:yVRP623B0.net]
インデックスを考えるような用途でforeach使うほうが悪いだろ。
偶数と奇数で処理変えるのも意味わからんし、イテーレタを一つずつって変更に強いと思うけど。
全部Linqでなんとかなることだけどさ。



416 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 08:02:57.19 ID:bN5bdnqa0.net]
紅白に塗るとかあるよね

417 名前:デフォルトの名無しさん [2020/10/25(日) 09:10:32.90 ID:WAUUQolqM.net]
偶数の場合こう処理します!
プログラム解説サイトとかでありがち。
実務でそういうのに出くわしたことほぼない。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<278KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef