!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://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
http://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
ふらっと C#,C♯,C#(初心者用) Part148
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ df89-moxv)
2020/05/27(水) 20:28:41.27ID:Pggemlyq0310296 (ワッチョイ 4b2c-ozis)
2020/09/28(月) 09:04:53.56ID:QIpyCS2B0 確かに、GUI の根幹には、永久のイベント(メッセージ)ループがある。
イベントドリブン
ずっと、ユーザーからのマウスイベントなどが、キューに入るのを待っている。
キューにイベントが入ると、それを処理する。
それを永久に続ける
一方、CUI では、そういうイベントドリブンは聞かない。
マウス操作で、何かをするというのも聞かない。
Ctrl + C を押して、割り込み処理を発生させることはできるが
でも、こういうアプリの終了などのソフトウェア割り込みも、イベントループで拾うけど
イベントドリブン
ずっと、ユーザーからのマウスイベントなどが、キューに入るのを待っている。
キューにイベントが入ると、それを処理する。
それを永久に続ける
一方、CUI では、そういうイベントドリブンは聞かない。
マウス操作で、何かをするというのも聞かない。
Ctrl + C を押して、割り込み処理を発生させることはできるが
でも、こういうアプリの終了などのソフトウェア割り込みも、イベントループで拾うけど
311296 (ワッチョイ 4b2c-ozis)
2020/09/28(月) 09:08:06.54ID:QIpyCS2B0 そんな難しい本を読んでも、理解できないから無駄だと思う
検索した方がよい
検索した方がよい
312デフォルトの名無しさん (ワッチョイ 2f33-EUyz)
2020/09/28(月) 09:11:10.60ID:Zg0P7tB00 >>305
用意した画像の一部だけが表示されている
たとえば、
pb.SizeMode = PictureBoxSizeMode.StretchImage;
といった感じでPictureBoxSizeModeを指定してみると何が起こってるのか何となくわかるんじゃね?
用意した画像の一部だけが表示されている
たとえば、
pb.SizeMode = PictureBoxSizeMode.StretchImage;
といった感じでPictureBoxSizeModeを指定してみると何が起こってるのか何となくわかるんじゃね?
313デフォルトの名無しさん (アウアウウー Sa43-Vzxq)
2020/09/28(月) 09:42:36.85ID:Uql71HHWa >>310
ctl+Cまで入力コマンドを待つCUIアプリはイベントドリブンと呼べるのでは?
ctl+Cまで入力コマンドを待つCUIアプリはイベントドリブンと呼べるのでは?
314デフォルトの名無しさん (ワッチョイ 9fad-D1lY)
2020/09/28(月) 09:50:37.80ID:o994bwz+0 >>310
CUIでもターミナルベースの業務アプリなんかだとイベントループ書くぞ。
CUIでもターミナルベースの業務アプリなんかだとイベントループ書くぞ。
315296 (ワッチョイ 4b2c-ozis)
2020/09/28(月) 10:20:17.53ID:QIpyCS2B0 結局、GUI・CUI も、どちらもイベントドリブンなのか
大部分は同じなのかも
大部分は同じなのかも
316デフォルトの名無しさん (ワッチョイ 9fad-D1lY)
2020/09/28(月) 10:59:03.73ID:o994bwz+0317デフォルトの名無しさん (ワッチョイ b302-S0Wo)
2020/09/28(月) 11:27:34.04ID:j++FlVxl0 Delphiに存在したメタクラス型(クラス型を代入、参照できる変数)は
C#に無いの?
C#に無いの?
318デフォルトの名無しさん (ワッチョイ 1201-nSIs)
2020/09/28(月) 11:42:34.18ID:ii9XSMYC0319デフォルトの名無しさん (ワッチョイ f7b2-b+lb)
2020/09/28(月) 11:53:52.45ID:phqY8Xtx0 >>317
Typeは?
Typeは?
320デフォルトの名無しさん (ワッチョイ b302-S0Wo)
2020/09/28(月) 13:53:50.99ID:j++FlVxl0 Typeでもある程度事は足りるけど、
あらゆる型のtypeof()を代入できるので不確実だし、Activatorとか必要で面倒。
無いなら仕方ないが…まあ移植が大変
あらゆる型のtypeof()を代入できるので不確実だし、Activatorとか必要で面倒。
無いなら仕方ないが…まあ移植が大変
321デフォルトの名無しさん (ワッチョイ 12ad-LNaZ)
2020/09/28(月) 18:57:37.61ID:nO4ceNb30322デフォルトの名無しさん (ワッチョイ 4bda-tH1f)
2020/09/28(月) 22:54:29.00ID:iemn9XLz0 >>310
CUIなRTOSなんて普通にあるけどなぁ
CUIなRTOSなんて普通にあるけどなぁ
323デフォルトの名無しさん (ワッチョイ ca4a-E04M)
2020/10/10(土) 10:58:06.91ID:RvE6O+PE0 .NET Coreでコンソール画面に
「こんにちは、WORLD!」と表示させようとすると
なぜか「こんにちは、WORL!」のように表示されます
コンソール画面のメニューからフォントを変更すると正しく表示されますが原因が分かりません
「こんにちは、WORLD!」と表示させようとすると
なぜか「こんにちは、WORL!」のように表示されます
コンソール画面のメニューからフォントを変更すると正しく表示されますが原因が分かりません
324デフォルトの名無しさん (ワッチョイ 4aad-Hns0)
2020/10/10(土) 11:22:49.95ID:OZkIKLkD0 コンソール画面とは?
325デフォルトの名無しさん (ワッチョイ af78-xYNh)
2020/10/10(土) 12:42:00.94ID:YPdRC9Oi0 >>323
コード貼れ
コード貼れ
326デフォルトの名無しさん (ワッチョイ ca4a-E04M)
2020/10/10(土) 13:17:16.07ID:RvE6O+PE0 static void Main(string[] args)
{
var str = "こんにちは、WORLD!";
Console.WriteLine("{0}", str);
Console.ReadKey();
}
{
var str = "こんにちは、WORLD!";
Console.WriteLine("{0}", str);
Console.ReadKey();
}
327デフォルトの名無しさん (ワッチョイ b301-xYNh)
2020/10/10(土) 17:53:06.91ID:wYCx593I0328デフォルトの名無しさん (ワッチョイ b301-xYNh)
2020/10/10(土) 17:57:00.27ID:wYCx593I0329323 326 (ワッチョイ ca4a-E04M)
2020/10/10(土) 19:40:42.12ID:RvE6O+PE0330デフォルトの名無しさん (ワッチョイ b301-xYNh)
2020/10/10(土) 20:03:24.77ID:wYCx593I0 >>329
こちらでは正常なんでコンソール画面のプロパティの設定がおかしいんでは?
こちらでは正常なんでコンソール画面のプロパティの設定がおかしいんでは?
331蟻人間 ◆T6xkBnTXz7B0 (スププ Sdea-2Jw8)
2020/10/10(土) 20:04:01.51ID:c6WyhNHPd 何てフォント?
332デフォルトの名無しさん (ワッチョイ ca4a-E04M)
2020/10/10(土) 20:23:39.28ID:RvE6O+PE0 MSゴシックの18ポイント、Windows8.1です
来週会社のパソコンで試してみることにします
来週会社のパソコンで試してみることにします
333デフォルトの名無しさん (ワッチョイ b301-xYNh)
2020/10/10(土) 20:41:27.03ID:wYCx593I0 >>332
8.1はプロパティでレガシーコンソールのチェックある?あったらそれチェックでいけるんでは?
8.1はプロパティでレガシーコンソールのチェックある?あったらそれチェックでいけるんでは?
334デフォルトの名無しさん (ワッチョイ ca4a-E04M)
2020/10/10(土) 20:52:24.98ID:RvE6O+PE0 ないです
335デフォルトの名無しさん (アウアウウー Sa2f-DH51)
2020/10/10(土) 21:17:43.96ID:RlZbVDXEa 何にもアドバイスできないのに恐縮だけど、
>コンソール画面のメニューからフォントを変更すると正しく表示されますが
だったら具体的にどのフォントで問題が発生してどのフォントで発生しないか
確認した範囲で書いた方がいいのでは
あと、普通テキスト変えていろいろ試さないか?
>コンソール画面のメニューからフォントを変更すると正しく表示されますが
だったら具体的にどのフォントで問題が発生してどのフォントで発生しないか
確認した範囲で書いた方がいいのでは
あと、普通テキスト変えていろいろ試さないか?
336デフォルトの名無しさん (ワッチョイ b301-xYNh)
2020/10/10(土) 21:50:46.82ID:wYCx593I0 他のアプリでMSゴシックの18ポイント使ってみ。フォントのファイルが正常かどうか
使えるなら8.1のコンソールウィンドウの問題でしょ
使えるなら8.1のコンソールウィンドウの問題でしょ
337デフォルトの名無しさん (ワッチョイ 1b02-tHo0)
2020/10/10(土) 23:23:35.42ID:wgBcrtZd0338デフォルトの名無しさん (ワッチョイ 5b49-fMdf)
2020/10/20(火) 10:49:57.27ID:N2Y7+9Dy0 ローカルでiTextSharpを利用して、
Json形式のデータからPDF帳票を作る・・てのつくったんだが、
(サーバ上で、APIコールとかファイル読込でPDFファイルを返したかった。
イメージ的にはページごとにTextとかLineを指定したJsonデータ)
いざ業務に転用できるかなってフェーズにきて
iTextSharpのライセンス(AGPL)がやだなあ、って思ってる。
PDFSharpは日本語がなんかうまくいかない。
今のC#で、PDFを作るの、皆さんはどうやってる?
Json形式のデータからPDF帳票を作る・・てのつくったんだが、
(サーバ上で、APIコールとかファイル読込でPDFファイルを返したかった。
イメージ的にはページごとにTextとかLineを指定したJsonデータ)
いざ業務に転用できるかなってフェーズにきて
iTextSharpのライセンス(AGPL)がやだなあ、って思ってる。
PDFSharpは日本語がなんかうまくいかない。
今のC#で、PDFを作るの、皆さんはどうやってる?
339デフォルトの名無しさん (ワッチョイ 9fad-3SP/)
2020/10/20(火) 10:55:16.27ID:0/xBmjm30 >>338
業務だったらExcelCreator使ってる
業務だったらExcelCreator使ってる
340デフォルトの名無しさん (ワイーワ2 FF3f-Vszw)
2020/10/20(火) 10:59:00.80ID:pHiz9StDF PDFSharp使ってるけど問題無し
341デフォルトの名無しさん (アウアウエー Sa3f-EbeN)
2020/10/20(火) 11:10:22.94ID:d69BLAaZa React、Vueで帳票レンダリング
ヘッドレスブラウザでPDF印刷
ヘッドレスブラウザでPDF印刷
342デフォルトの名無しさん (ワイーワ2 FF3f-Vszw)
2020/10/20(火) 11:13:59.21ID:pHiz9StDF 日本語不安ならグラフィック直接PDFに張り付けろ
343デフォルトの名無しさん (ワッチョイ bbad-6ryY)
2020/10/20(火) 12:28:25.89ID:eHl8PxCr0 PDFSharpは日本語の折り返しに対応してなかったぞ。
344デフォルトの名無しさん (ワイーワ2 FF3f-Vszw)
2020/10/20(火) 12:50:06.87ID:pHiz9StDF >Json形式のデータからPDF帳票を作る
これが折り返しするかどうかだな
これが折り返しするかどうかだな
345デフォルトの名無しさん (ワッチョイ 5b49-fMdf)
2020/10/20(火) 13:46:22.13ID:N2Y7+9Dy0346デフォルトの名無しさん (アウアウエー Sa3f-EbeN)
2020/10/20(火) 13:50:07.09ID:d69BLAaZa347デフォルトの名無しさん (ワッチョイ 9fad-3SP/)
2020/10/20(火) 14:00:01.34ID:0/xBmjm30348デフォルトの名無しさん (ワッチョイ 5b49-fMdf)
2020/10/20(火) 15:28:40.52ID:N2Y7+9Dy0349デフォルトの名無しさん (ワッチョイ ef02-pZTf)
2020/10/20(火) 16:09:37.19ID:CqCKSidt0 C♯が現在最強言語らしいので勉強したいのですが
マイクロソフトはVB6の開発を打ち切ってプログラマを裏切った過去があるそうで
なかなか踏み切れずにいます。。。
C♯は20年後も開発が続いてると思いますか?
教えてエロい人
マイクロソフトはVB6の開発を打ち切ってプログラマを裏切った過去があるそうで
なかなか踏み切れずにいます。。。
C♯は20年後も開発が続いてると思いますか?
教えてエロい人
350デフォルトの名無しさん (スップ Sdbf-H+yj)
2020/10/20(火) 16:14:23.52ID:Nb9oJ8Mwd そんな先のことなんざわからん
確実に言えるのは今勉強している技術を20年後も変わらずに使い続ける前提でいるような技術者は居ない(と信じたい)
生き残ってるなら初期学習がない分少し楽かもしれないけど、新しいのが台頭してくりゃそちらを新たに学習するだけ
確実に言えるのは今勉強している技術を20年後も変わらずに使い続ける前提でいるような技術者は居ない(と信じたい)
生き残ってるなら初期学習がない分少し楽かもしれないけど、新しいのが台頭してくりゃそちらを新たに学習するだけ
351デフォルトの名無しさん (ワッチョイ ef02-pZTf)
2020/10/20(火) 16:25:01.94ID:CqCKSidt0 そうですか。先のことは誰にもわからないですよね。
逆に20年後も確実に主力な言語ってPythonくらいかな?
逆に20年後も確実に主力な言語ってPythonくらいかな?
352デフォルトの名無しさん (ワッチョイ 6b01-fMdf)
2020/10/20(火) 16:25:26.41ID:cR623l/E0 >>349
開発が続いてる言語の新しい技術についていくような人はどんな言語でもすぐ学べる
開発が続いてる言語の新しい技術についていくような人はどんな言語でもすぐ学べる
353デフォルトの名無しさん (ワッチョイ ef02-pZTf)
2020/10/20(火) 16:31:38.91ID:CqCKSidt0354デフォルトの名無しさん (ワッチョイ 9fad-3SP/)
2020/10/20(火) 16:45:13.07ID:0/xBmjm30 C#ほど後方互換性を重要視している言語ってなかなかないと思うけどね
355デフォルトの名無しさん (ワッチョイ ef02-pZTf)
2020/10/20(火) 16:48:10.12ID:CqCKSidt0356デフォルトの名無しさん (アウアウウー Sacf-0T0S)
2020/10/20(火) 17:16:01.37ID:nipGGPAZa357デフォルトの名無しさん (アウアウウー Sacf-Gzvz)
2020/10/20(火) 18:10:04.06ID:kSL2D2eBa OfficeのマクロはまだVBなんだっけ?
358デフォルトの名無しさん (スップ Sdbf-H+yj)
2020/10/20(火) 18:13:11.84ID:Nb9oJ8Mwd そだね
python使えるようにするみたいな話はあったけど進行してるのかな?
python使えるようにするみたいな話はあったけど進行してるのかな?
359デフォルトの名無しさん (ワッチョイ fb0c-lr1q)
2020/10/20(火) 18:15:13.55ID:ATqqkPAW0 >python使えるようにするみたいな話
頓挫したぞ
頓挫したぞ
360デフォルトの名無しさん (スプッッ Sdbf-1poc)
2020/10/20(火) 19:53:46.10ID:c2x7XoZLd 贅沢言わないから.NETにpython入れてVisualStudio(codeじゃない方)でサポートしてくれるだけでいいのに
361デフォルトの名無しさん (ワッチョイ ab5f-UsEC)
2020/10/20(火) 21:29:38.81ID:j1S9Ds0j0 それIronPythonと何が違うの?
362デフォルトの名無しさん (ワッチョイ 9f01-ArIQ)
2020/10/20(火) 21:48:49.93ID:iUu5GsdY0363デフォルトの名無しさん (ワッチョイ 9f42-lr1q)
2020/10/20(火) 22:16:42.30ID:jgnvePEX0 ChromeベースのWebView2がやっとラウンチしたようだね。まだ.netじゃ使えないが
Previewで確認したところマウスの戻るボタンが使えるのがいい所だな
Previewで確認したところマウスの戻るボタンが使えるのがいい所だな
364デフォルトの名無しさん (アウアウウー Sacf-Gzvz)
2020/10/20(火) 22:51:38.52ID:kSL2D2eBa >>362
へーそれは知らんかったありがと。
へーそれは知らんかったありがと。
365デフォルトの名無しさん (ワッチョイ ef02-pZTf)
2020/10/20(火) 23:36:15.59ID:CqCKSidt0366デフォルトの名無しさん (ワッチョイ 65e4-xMNm)
2020/10/21(水) 00:36:52.32ID:0KDGF23Y0 なんかうろ覚えなんだが
こういう非同期処理の書き方ってちゃんと動いたっけ?
if(!locked){
locked = true;
await xxx.Task;
locked = false;
}
async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無いって昔判断したような記憶はある
こういう非同期処理の書き方ってちゃんと動いたっけ?
if(!locked){
locked = true;
await xxx.Task;
locked = false;
}
async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無いって昔判断したような記憶はある
367デフォルトの名無しさん (ワッチョイ c6de-qdaq)
2020/10/21(水) 09:14:18.23ID:hl6LkBs90 ソースの一行単位でスキがうまれるので無理じゃね
ifとlocked=trueの間に実行されてる
ifとlocked=trueの間に実行されてる
368デフォルトの名無しさん (ワッチョイ c6de-qdaq)
2020/10/21(水) 09:16:03.92ID:hl6LkBs90 1行単位どころじゃなかった
意味不明なところでも割り込みあるわw
意味不明なところでも割り込みあるわw
369デフォルトの名無しさん (JP 0H22-pYMh)
2020/10/21(水) 09:43:40.30ID:eNSg6QZpH 四捨五入の結果がおかしいのって自分だけかな・・・
decimal v = -0.0195m;
decimal rounded = Math.Round(v, 2, MidpointRounding.ToPositiveInfinity);
Console.WriteLine(rounded);
ってすると、小数点2桁までになるよう(小数点3桁目を)四捨五入するので
-0.02になるはずなのに、結果が-0.01になっちゃうんですけど・・・
decimal v = -0.0195m;
decimal rounded = Math.Round(v, 2, MidpointRounding.ToPositiveInfinity);
Console.WriteLine(rounded);
ってすると、小数点2桁までになるよう(小数点3桁目を)四捨五入するので
-0.02になるはずなのに、結果が-0.01になっちゃうんですけど・・・
370デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/21(水) 09:56:42.42ID:lxmGvu010371デフォルトの名無しさん (ワッチョイ 1d1a-8DiG)
2020/10/21(水) 12:02:28.19ID:sg7OOy0L0372デフォルトの名無しさん (ワッチョイ c6de-qdaq)
2020/10/21(水) 12:16:57.36ID:hl6LkBs90 >>371
いや
if(!locked){
実行
別タスクlockedのfalseを見て処理開始
locked = true;
別タスク割り込まれたら困る処理開始
await xxx.Task;←別タスクと衝突
locked = false;
}
起こるじゃん
いや
if(!locked){
実行
別タスクlockedのfalseを見て処理開始
locked = true;
別タスク割り込まれたら困る処理開始
await xxx.Task;←別タスクと衝突
locked = false;
}
起こるじゃん
373デフォルトの名無しさん (JP 0H22-pYMh)
2020/10/21(水) 13:03:41.62ID:eNSg6QZpH >>371
-0.01と-0.02の中間(MidPoint)である-0.015のときの丸め方(Rounding)として
「MidpointRounding.ToPositiveInfinity」を指定したつもりだったのですが・・・
MidPointじゃないときにも「ToPositiveInfinity」が適用されちゃうんですね・・・
JavaScriptのMath.Round()とおなじような(四捨五入される桁の数字が5の場合に
正の無限大の方向で丸める)四捨五入をしたかっただけなのですが、
関数を自作しないとだめみたいなので自作します。
お騒がせしました。
-0.01と-0.02の中間(MidPoint)である-0.015のときの丸め方(Rounding)として
「MidpointRounding.ToPositiveInfinity」を指定したつもりだったのですが・・・
MidPointじゃないときにも「ToPositiveInfinity」が適用されちゃうんですね・・・
JavaScriptのMath.Round()とおなじような(四捨五入される桁の数字が5の場合に
正の無限大の方向で丸める)四捨五入をしたかっただけなのですが、
関数を自作しないとだめみたいなので自作します。
お騒がせしました。
374デフォルトの名無しさん (ワッチョイ 8242-gGz3)
2020/10/21(水) 13:30:40.39ID:UaTtUbsy0 await絡みのときは、排他制御はSemaphoreSlim使うのが定番ですよ
https://www.atmarkit.co.jp/ait/articles/1411/11/news117.html
https://www.atmarkit.co.jp/ait/articles/1411/11/news117.html
375デフォルトの名無しさん (アウアウウー Sa45-PQnC)
2020/10/21(水) 13:44:12.17ID:RtxzEAIBa 四捨五入:わかる
銀行丸め:わかる
正の無限大の方向で丸める:何の意味があんのそれ?
銀行丸め:わかる
正の無限大の方向で丸める:何の意味があんのそれ?
376デフォルトの名無しさん (テテンテンテン MMe6-K3fn)
2020/10/21(水) 13:52:03.73ID:xBoANC0iM 切り上げって知ってる?
377デフォルトの名無しさん (ワッチョイ 1d1a-8DiG)
2020/10/21(水) 14:15:10.32ID:sg7OOy0L0 >>373
それならこんな感じで簡単に作れるから頑張れ
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
>>372
普通にメインスレッドから叩いていればこうなるからな
if(!locked){ // thread 1
locked = true; // thread 1
await xxx.Task; // thread 2
locked = false; // thread 1
}
それならこんな感じで簡単に作れるから頑張れ
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
>>372
普通にメインスレッドから叩いていればこうなるからな
if(!locked){ // thread 1
locked = true; // thread 1
await xxx.Task; // thread 2
locked = false; // thread 1
}
378デフォルトの名無しさん (スップ Sd02-UPmx)
2020/10/21(水) 14:19:07.15ID:lJjSrE40d 正負どっち方向に動くかわかんない変換より確実に方向がわかっている変換が必要なことはあるよ
379デフォルトの名無しさん (アウアウウー Sa45-PQnC)
2020/10/21(水) 14:26:27.71ID:RtxzEAIBa380デフォルトの名無しさん (スップ Sd02-UPmx)
2020/10/21(水) 14:32:15.81ID:lJjSrE40d 5捨6入って特定に分野では一般的な計算方法では?
俺は使わないけど
俺は使わないけど
381デフォルトの名無しさん (アウアウウー Sa45-PQnC)
2020/10/21(水) 14:33:15.98ID:RtxzEAIBa382デフォルトの名無しさん (ワッチョイ 8224-3PYq)
2020/10/21(水) 14:47:36.44ID:8k52si4D0 それでもう.NET5使ってええの?
383デフォルトの名無しさん (ワッチョイ 02ad-zk6z)
2020/10/21(水) 14:52:13.96ID:v0oiVQF00 いいよ
384デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 15:00:31.64ID:5E7rZ8hS0 >>377
それが問題になるのは、そのifブロックが複数スレッドで実行されたときだからな
それが問題になるのは、そのifブロックが複数スレッドで実行されたときだからな
385デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/21(水) 16:37:46.89ID:APVpE4AA0386デフォルトの名無しさん (ワッチョイ 1d1a-LA9s)
2020/10/21(水) 17:36:18.89ID:sg7OOy0L0 >>385
つまりこういうのを危惧してるのか?
Task.Run(() => {
if(!locked){
locked = true;
await xxx.Task;
locked = false;
}
});
だとしたらこんなのは仮定に持ち出すのがそもそも間違い
それ言い出したらフィールド操作するあらゆるメソッドで「並列で呼び出される可能性がある」とlock()で括らなきゃいけなくなってしまう
つまりこういうのを危惧してるのか?
Task.Run(() => {
if(!locked){
locked = true;
await xxx.Task;
locked = false;
}
});
だとしたらこんなのは仮定に持ち出すのがそもそも間違い
それ言い出したらフィールド操作するあらゆるメソッドで「並列で呼び出される可能性がある」とlock()で括らなきゃいけなくなってしまう
387デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/21(水) 17:53:44.86ID:lxmGvu010 ifブロックがシングルスレッドでしか実行されない状況で
lockが必要な状況ってどういうの?
lockが必要な状況ってどういうの?
388デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 17:55:56.87ID:5E7rZ8hS0 元の質問がマルチスレッドでのロックに関する質問だと思うのだがな
このコードはスレッドセーフですか?
いいえ危険です
みんなが回答してるのはそういう事
このスレの趣旨や質問者のレベルを考えると妥当な仮定と回答だと思うぞ
このコードはスレッドセーフですか?
いいえ危険です
みんなが回答してるのはそういう事
このスレの趣旨や質問者のレベルを考えると妥当な仮定と回答だと思うぞ
389デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 17:58:26.66ID:5E7rZ8hS0 >>387
再入すればやばい気がしないでもない
再入すればやばい気がしないでもない
390デフォルトの名無しさん (ワッチョイ 1d1a-LA9s)
2020/10/21(水) 18:02:52.19ID:sg7OOy0L0 元の質問って>>366だろ?
> async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無い
「同じスレッドに戻る」を認識してるなら疑いなくtrueやん
ここで「でも別スレッドで動かしたら危険」と言うのは質問の前提を崩してる
> async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無い
「同じスレッドに戻る」を認識してるなら疑いなくtrueやん
ここで「でも別スレッドで動かしたら危険」と言うのは質問の前提を崩してる
391デフォルトの名無しさん (ワッチョイ bdad-TzND)
2020/10/21(水) 18:14:17.17ID:MqdNiLmu0 崩してないな。
392デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 18:19:06.78ID:5E7rZ8hS0 そのawaitしてるのはasyncメソッドだから、メインスレッドからのみ呼ばれるとは限らん
つまりもどるのがメインスレッドだとは限らん
というの理解しているのならまあ大きなお世話だと言えなくもないが
あとフォームアプリじゃなければ、もとのスレッドに戻るも保障されないけどな
つまりもどるのがメインスレッドだとは限らん
というの理解しているのならまあ大きなお世話だと言えなくもないが
あとフォームアプリじゃなければ、もとのスレッドに戻るも保障されないけどな
393デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/21(水) 19:06:44.50ID:lxmGvu010 >>389
なるほど
ロックって言葉でちょっと意図を勘違いしてた
タスクが実行中ならもう1回呼ばれても実行しないようにしたいってことだったのか
タスクの中には他のスレッドと競合する処理はなく
ifブロックはUIスレッドでのみ実行されるという前提ならいいんじゃねって気がする
なるほど
ロックって言葉でちょっと意図を勘違いしてた
タスクが実行中ならもう1回呼ばれても実行しないようにしたいってことだったのか
タスクの中には他のスレッドと競合する処理はなく
ifブロックはUIスレッドでのみ実行されるという前提ならいいんじゃねって気がする
394デフォルトの名無しさん (ワッチョイ 895f-ojc3)
2020/10/21(水) 19:15:16.66ID:/GjtxlMb0 そもそも呼ばれないようにしろ
395デフォルトの名無しさん (ワッチョイ 1d1a-xMNm)
2020/10/21(水) 19:22:35.51ID:sg7OOy0L0396デフォルトの名無しさん (ワッチョイ fd02-XbO/)
2020/10/21(水) 20:02:51.66ID:GqMp+oa10397デフォルトの名無しさん (アウアウクー MMd1-/IKK)
2020/10/21(水) 21:32:30.66ID:38qDfhYJM >>338
まだ帳票開発したことないけど、やる機会があればDocurainってサービス使ってみようかなって思ってる
まだ帳票開発したことないけど、やる機会があればDocurainってサービス使ってみようかなって思ってる
398デフォルトの名無しさん (ワッチョイ cdda-XH2X)
2020/10/24(土) 21:17:36.19ID:skFEsPcd0 for文で書き始めて、配列から要素を取り出すだけだからforeachに書き換えて、でもやっぱりiが必要になってfor文に戻すこと多くない?
399デフォルトの名無しさん (ワッチョイ eee3-tMQb)
2020/10/24(土) 21:32:32.75ID://9fx+gF0 Index付きのSelect句で事足りる
400デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/24(土) 21:50:33.27ID:878uww5f0 MoreLinqのIndex()がKeyValuePair<int, TSource>を返してくれる
簡単だから自分で実装してもいいけどライブラリ使うほうが管理含めて楽
foreach (var (i, x) in foo.Index()) {
Console.WriteLine($"{i}: {x}");
}
簡単だから自分で実装してもいいけどライブラリ使うほうが管理含めて楽
foreach (var (i, x) in foo.Index()) {
Console.WriteLine($"{i}: {x}");
}
401デフォルトの名無しさん (ワッチョイ cdda-XH2X)
2020/10/24(土) 21:55:59.78ID:skFEsPcd0 そうなんだ
402デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/24(土) 22:19:40.87ID:VOTutQQJ0 >>400
いや、これ書くぐらいならforで書くよな
いや、これ書くぐらいならforで書くよな
403デフォルトの名無しさん (ワッチョイ 5db2-Xls4)
2020/10/24(土) 23:15:08.92ID:GpR1sqnP0 >>402
たしかに
たしかに
404デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/24(土) 23:52:47.91ID:878uww5f0 またLinqバトル始まっちゃう感じ?
405デフォルトの名無しさん (ワッチョイ ee2c-ySc4)
2020/10/25(日) 00:14:13.24ID:AkfEJdVF0 (index, value)と(value, index)でバグを作ってしまったから
Index拡張メソッドは控えることにした
Index拡張メソッドは控えることにした
406デフォルトの名無しさん (ワッチョイ eee3-tMQb)
2020/10/25(日) 00:16:36.51ID:wq/6wJQN0407デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/25(日) 00:24:48.70ID:lDlwJ32m0 そもそもforeachなんて作ったやつの脳みそ腐ってんだから仕方ない
何回回すのかもコードからわかんねーし
どう回したいのか変わると一気に産廃
そもそもforeachなんて産廃コード使うなよ
変更に激弱だろ
あ、インデックスN番目は処理したくない
→産廃
あ、後から処理しないと
→産廃
あ、奇数と偶数で処理変えないと
→産廃
あ、こっちの配列もみながらいっしょに処理しないと
→産廃
もうあれね
コードレビューでforeachを見つけたら
修正させるぐらいでいい
何回回すのかもコードからわかんねーし
どう回したいのか変わると一気に産廃
そもそもforeachなんて産廃コード使うなよ
変更に激弱だろ
あ、インデックスN番目は処理したくない
→産廃
あ、後から処理しないと
→産廃
あ、奇数と偶数で処理変えないと
→産廃
あ、こっちの配列もみながらいっしょに処理しないと
→産廃
もうあれね
コードレビューでforeachを見つけたら
修正させるぐらいでいい
408デフォルトの名無しさん (ワッチョイ e1ad-gqeA)
2020/10/25(日) 07:44:18.56ID:yVRP623B0 インデックスを考えるような用途でforeach使うほうが悪いだろ。
偶数と奇数で処理変えるのも意味わからんし、イテーレタを一つずつって変更に強いと思うけど。
全部Linqでなんとかなることだけどさ。
偶数と奇数で処理変えるのも意味わからんし、イテーレタを一つずつって変更に強いと思うけど。
全部Linqでなんとかなることだけどさ。
409デフォルトの名無しさん (ワッチョイ 05da-jvOs)
2020/10/25(日) 08:02:57.19ID:bN5bdnqa0 紅白に塗るとかあるよね
410デフォルトの名無しさん (アウアウクー MMd1-AKl2)
2020/10/25(日) 09:10:32.90ID:WAUUQolqM 偶数の場合こう処理します!
プログラム解説サイトとかでありがち。
実務でそういうのに出くわしたことほぼない。
プログラム解説サイトとかでありがち。
実務でそういうのに出くわしたことほぼない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★2 [ぐれ★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★7 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… [BFU★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 「高市人気」どこに? 自民候補が福島市長選で大敗、葛飾区議選でも苦戦 衆院早期解散論に冷や水 [1ゲットロボ★]
- 【ホタテ】中国が水産物輸入停止を伝達「ビクビクしながら…」北海道の水産業者からは落胆の声 [おっさん友の会★]
- 中国「水産物輸入停止は高市首相の発言が理由」 [256556981]
- 日本人、ついに気づく「あれ、日本が対中国で取れる対抗措置ってなくない…?」 [931948549]
- 【号外】中国外務省、高市首相が台湾関連の発言を撤回しなければ「断固たる対抗措置」を取らざるを得ないと述べた [115996789]
- 中国「次に禁止してほしいものを教えて」 [358382861]
- 【画像】外務省局長のあの写真、日本側に無許可で撮影されたものだったwwwwwwwww [834922174]
- 【速報】中国、水産物輸入停止★3 [989870298]
