!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
http://mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
http://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/
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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part153
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf2c-yjVA)
2021/12/13(月) 22:53:21.18ID:dhjmiKBp0799デフォルトの名無しさん (ワッチョイ e7da-jsoe)
2022/01/23(日) 19:48:24.39ID:is+XSiL/0 投稿が重複してしまいました、誠に申し訳ありません。
800デフォルトの名無しさん (ワッチョイ e7da-IuBN)
2022/01/23(日) 23:26:33.12ID:pR5ferbX0 メンバー'hoge' はインスタンスデータにアクセスしないため、static にマークできます
801デフォルトの名無しさん (ワッチョイ 078b-V3GB)
2022/01/24(月) 12:21:02.64ID:bXxRLmwJ0 四角をグラフィックに描画する場合の座標について
g.DrawRectangle(pen, 始点x座標,始点y座標,幅,高さ);
このようにあります
ならば幅が2,2の場合
g.DrawRectangle(pen, 16, 16, 2, 2);
これで(16,16)-(17,17)で2ドットだけの中抜きがないものを想像するのですが
実際は
(16,16)-(18,18)の中央に穴がある状態の四角が描画されるようです
これは3,3指定なら理解できるんですが
幅指定なのになぜこのようになってしまうのでしょうか?
g.DrawRectangle(pen, 始点x座標,始点y座標,幅,高さ);
このようにあります
ならば幅が2,2の場合
g.DrawRectangle(pen, 16, 16, 2, 2);
これで(16,16)-(17,17)で2ドットだけの中抜きがないものを想像するのですが
実際は
(16,16)-(18,18)の中央に穴がある状態の四角が描画されるようです
これは3,3指定なら理解できるんですが
幅指定なのになぜこのようになってしまうのでしょうか?
802デフォルトの名無しさん (アウアウウー Sa4b-DZ2P)
2022/01/24(月) 12:39:27.95ID:zeqExr0Ka g.DrawRectangle(pen, 16, 16, 1, 1);
g.DrawRectangle(pen, 16, 16, 0, 0);
こいつらはどういう挙動をするべきかを考えたら?
g.DrawRectangle(pen, 16, 16, 0, 0);
こいつらはどういう挙動をするべきかを考えたら?
803デフォルトの名無しさん (ブーイモ MM8f-X3yx)
2022/01/24(月) 13:27:00.02ID:VRumLvNTM GDIは終点は描画領域に「含まない」
だから、幅として成立する。
FORTRAN由来とかで「含む」系
もあるので注意だ
だから、幅として成立する。
FORTRAN由来とかで「含む」系
もあるので注意だ
804デフォルトの名無しさん (アウアウウー Sa4b-i5gI)
2022/01/24(月) 14:09:38.84ID:97kNTb42a >>801
まあこうは言える。
まずユークリッド幾何学的な数学的に抽象化された世界で考えるべき。
その世界では、1対の平行線の距離がペンの幅より大きければ必ず平行線の間に「隙間」が出来る。
GDI+の描画はこういう抽象化された世界をピクセルの世界に写像してるだけ
まあこうは言える。
まずユークリッド幾何学的な数学的に抽象化された世界で考えるべき。
その世界では、1対の平行線の距離がペンの幅より大きければ必ず平行線の間に「隙間」が出来る。
GDI+の描画はこういう抽象化された世界をピクセルの世界に写像してるだけ
805デフォルトの名無しさん (アウアウウー Sa4b-i5gI)
2022/01/24(月) 18:54:49.46ID:97kNTb42a まあたぶんこんな感じだね
(1) 論理座標の原点は(0, 0)のピクセルの中心に設定されている。つまり論理座標とピクセル座標は
0.5ずれている(少なくともペンの幅が奇数ピクセルの時は)
(2) DrawRectangleは論理的な矩形の辺がペンの中心になるように描画する
(3) だから描画された矩形はペンの幅の1/2 * 2だけ指定したサイズより大きくなる
(1) 論理座標の原点は(0, 0)のピクセルの中心に設定されている。つまり論理座標とピクセル座標は
0.5ずれている(少なくともペンの幅が奇数ピクセルの時は)
(2) DrawRectangleは論理的な矩形の辺がペンの中心になるように描画する
(3) だから描画された矩形はペンの幅の1/2 * 2だけ指定したサイズより大きくなる
806デフォルトの名無しさん (スフッ Sd7f-1Ojp)
2022/01/24(月) 19:46:14.25ID:ph7NlGryd 小数のない世界なら厚みゼロで隙間がないんだろうけど、塗りつぶすならFillRectngleで明示しろってことかな。
807デフォルトの名無しさん (ワッチョイ 5f0e-RLpW)
2022/01/25(火) 22:02:24.84ID:AwkrZJuk0 独習C#やってるんだけど、これを一通りやれば基本は身に付くと思っていい?
808デフォルトの名無しさん (ワッチョイ a718-VhOq)
2022/01/25(火) 22:03:27.85ID:3T3OgJ8A0 信じるしかないだろ。もう買ってしまったのだから。
809デフォルトの名無しさん (ワッチョイ 7f33-AHSv)
2022/01/25(火) 22:23:59.29ID:bPaq+vdr0 >>807
その本なら自信持って良いよ。
record, using var, initなどのC#8以降の機能は別途学習が必要。
LINQや正規表現などは実践でないとなかなか身につかないので、だいたい理解したらどんどん読み進めるのがおすすめ。
ちなみにプログラミング未経験で、全部読むのに3ヶ月かかりました。
その本なら自信持って良いよ。
record, using var, initなどのC#8以降の機能は別途学習が必要。
LINQや正規表現などは実践でないとなかなか身につかないので、だいたい理解したらどんどん読み進めるのがおすすめ。
ちなみにプログラミング未経験で、全部読むのに3ヶ月かかりました。
810デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/26(水) 00:57:13.82ID:TS8Lm52TM 自分だったら3か月かかるならモチベーションが保てそうにないなw
20年前はそんな本がなく手探りだったけど逆に良かったのかな…
20年前はそんな本がなく手探りだったけど逆に良かったのかな…
811デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/26(水) 01:14:23.92ID:TS8Lm52TM 仕様もライブラリも今よりペラペラだったから入門しやすかった
812デフォルトの名無しさん (ワッチョイ 5f0e-RLpW)
2022/01/26(水) 01:55:09.45ID:4qIztPSU0813デフォルトの名無しさん (スプッッ Sdff-12R3)
2022/01/26(水) 12:37:45.33ID:IaxANYMEd やっつけ仕事するだけなら今も昔も変わらんと思う
C#の便利機能が山ほど増えてて書きやすくはなってるけどどこまでが入門なのかは正直わからん
C#の便利機能が山ほど増えてて書きやすくはなってるけどどこまでが入門なのかは正直わからん
814デフォルトの名無しさん (テテンテンテン MM8f-LUKT)
2022/01/26(水) 13:20:24.56ID:S6jLK41vM Recordとかぜってえ使わねえ
815デフォルトの名無しさん (ワッチョイ e749-zlty)
2022/01/26(水) 13:32:46.48ID:MBxJE5i40 ともーじゃん?
・・・まあ使わなくても済むよなあ
・・・まあ使わなくても済むよなあ
816デフォルトの名無しさん (テテンテンテン MM8f-9Kiq)
2022/01/26(水) 13:50:18.74ID:wOQPCoOZM DTOだらけの低品質なコードが量産されてTypeScriptみたいになりそうな気はしてる
817デフォルトの名無しさん (スッップ Sd7f-lJKu)
2022/01/26(水) 14:28:40.80ID:pfxZ0tMsd おれも独習で勉強した
分厚いから真ん中ぐらいまでくると最初の方忘れてるわ
んでもう一度戻ってやり直したり、途中で挫折したりで
1年以上うだうだ読んでた
読み終わる前にいろいろ作って遊んでたけど
イベントとか非同期処理とか分からないとまともなの作れないんで
途中すっ飛ばしてその辺読んだり
分厚いから真ん中ぐらいまでくると最初の方忘れてるわ
んでもう一度戻ってやり直したり、途中で挫折したりで
1年以上うだうだ読んでた
読み終わる前にいろいろ作って遊んでたけど
イベントとか非同期処理とか分からないとまともなの作れないんで
途中すっ飛ばしてその辺読んだり
818デフォルトの名無しさん (NZ 0H1f-ZgEK)
2022/01/26(水) 19:22:56.75ID:uxP3YVvMH >>817
その独習、旧版(ハーバード・シルト)?
その独習、旧版(ハーバード・シルト)?
819デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/26(水) 19:59:28.45ID:zF2HduXmM シルトは過去の人
昔読んだ時もそういうイメージ
文法ぐらいが得意分野
昔読んだ時もそういうイメージ
文法ぐらいが得意分野
820デフォルトの名無しさん (NZ 0H1f-ZgEK)
2022/01/26(水) 21:16:01.91ID:uxP3YVvMH >>819
では最近の教科書で優れたものは、どなたの著作ですか?
では最近の教科書で優れたものは、どなたの著作ですか?
821デフォルトの名無しさん (ワッチョイ 5f42-4V6Q)
2022/01/27(木) 00:27:57.09ID:XnQeNwtl0 俺はオライリーの薄いやつで大体把握して、デザパタをjavaの結城さんのやつで学んだな
822デフォルトの名無しさん (ワッチョイ e7ae-tBRw)
2022/01/27(木) 10:26:45.87ID:i4V+v3ft0 C++の本で勉強した知識だけでC#の本は買わず、dobonを見ながら書いてる
823デフォルトの名無しさん (ワッチョイ 8701-ZIfX)
2022/01/28(金) 00:37:45.37ID:UrWQ/KNN0 dobonよく参考にしてるけどもしかして見てるとバカにされる風潮とかあるの?
824デフォルトの名無しさん (ワッチョイ 7f2d-dZT1)
2022/01/28(金) 00:43:53.93ID:OmkEpZCo0 昔はよくお世話になったけど、今となっては古い記事が多いので最近はあまり見ないな
825デフォルトの名無しさん (ワッチョイ c55f-dxHz)
2022/01/28(金) 05:13:54.08ID:AmULl7RP0 全ページのヘッダに古い言語仕様の内容であることの明示くらいはしてほしい
あと初心者向けと言いながら
同じ処理でベストプラクティスと非推奨な書き方を同列に載せてるのも印象よくない
あと初心者向けと言いながら
同じ処理でベストプラクティスと非推奨な書き方を同列に載せてるのも印象よくない
826デフォルトの名無しさん (アウアウクー MM7d-CZkQ)
2022/01/28(金) 08:13:42.95ID:MUNMfoCeM recordはvalueobject作るのに便利
使い捨てのアプリ作るのには不要
使い捨てのアプリ作るのには不要
827デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/28(金) 12:18:41.61ID:g6bFcMDaM で、あるか
828デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 14:24:04.65ID:C+lFkEfx0 お世話になります。
ComboBox.IsReadOnly を使おうとしてエラー(usingまたはアセンブリが不足)が出ました。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.combobox?view=windowsdesktop-6.0
で調べ、
名前空間:System.Windows.Controls
アセンブリ:PresentationFramework.dll
を追加しました。
しかし、現時点でエラーに変化がなく困っています。他に考えられる原因があればお教えてください。
ComboBox.IsReadOnly を使おうとしてエラー(usingまたはアセンブリが不足)が出ました。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.combobox?view=windowsdesktop-6.0
で調べ、
名前空間:System.Windows.Controls
アセンブリ:PresentationFramework.dll
を追加しました。
しかし、現時点でエラーに変化がなく困っています。他に考えられる原因があればお教えてください。
829デフォルトの名無しさん (ワッチョイ 11e5-KfKj)
2022/01/28(金) 14:32:54.24ID:QwC8uFzi0 「他」とか言われてもお前以外にゃわからんのよ
830デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/28(金) 14:38:21.72ID:S6VsJW6p0 >>828
追加したのはWPF用のアセンブリだけどお前が作ってんのはWPFじゃなくてWinFormsだとか
追加したのはWPF用のアセンブリだけどお前が作ってんのはWPFじゃなくてWinFormsだとか
831デフォルトの名無しさん (スプッッ Sdea-8U/q)
2022/01/28(金) 15:20:17.24ID:D0DTDHxMd ComboBoxのインスタンス作らずにプロパティ見ようとしてるとか?
プロジェクトのエラー起こしてるコードさえないからわからん
プロジェクトのエラー起こしてるコードさえないからわからん
832デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 15:31:53.40ID:C+lFkEfx0 >>829>>830
反応ありがとうございます。
はい。WinForms(VisualStudio使用)です。
ソリューションエクスプローラーの参照からアセンブリを探して追加しました。
WPF用ではなかったか確認します。
using System.Windows.Controls と書いて追加した気になっていましたが、
ソリューションエクスプローラーに同名がないのを確認しました。これが原因かもしれないので調べてみます。
>>831
盲点でした。確かにインスタンス化していません。やってみます。
みなさんのアドバイスのおかげで糸口が見えました。あとは自力で頑張ってみます。
また困ったことがあればよろしくお願いします。
反応ありがとうございます。
はい。WinForms(VisualStudio使用)です。
ソリューションエクスプローラーの参照からアセンブリを探して追加しました。
WPF用ではなかったか確認します。
using System.Windows.Controls と書いて追加した気になっていましたが、
ソリューションエクスプローラーに同名がないのを確認しました。これが原因かもしれないので調べてみます。
>>831
盲点でした。確かにインスタンス化していません。やってみます。
みなさんのアドバイスのおかげで糸口が見えました。あとは自力で頑張ってみます。
また困ったことがあればよろしくお願いします。
833デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 15:36:53.16ID:bcAzYVuU0834デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 15:38:40.89ID:bcAzYVuU0 >>832 833の追記
WinFormsのComboBoxはSystem.Windows.Formsの方だったはず
WinFormsのComboBoxはSystem.Windows.Formsの方だったはず
835デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 15:51:48.62ID:C+lFkEfx0 >>832
反応ありがとうございます(横レスでも大歓迎です)
情報を端折ってしまったようで今後気を付けます。
必要になる正しい情報とはこちらでよろしいですか?
エラー CS1061 'ComboBox' に 'IsReadOnly' の定義が含まれておらず、型 'ComboBox' の最初の引数を受け付けるアクセス可能な拡張メソッド 'IsReadOnly' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください
それとも部分的であってもソースでしょうか?今回の問題では必要ないと判断してしまいましたが、次回以降気を付けます。
次回もぜひお願いします。ありがとうございました。
反応ありがとうございます(横レスでも大歓迎です)
情報を端折ってしまったようで今後気を付けます。
必要になる正しい情報とはこちらでよろしいですか?
エラー CS1061 'ComboBox' に 'IsReadOnly' の定義が含まれておらず、型 'ComboBox' の最初の引数を受け付けるアクセス可能な拡張メソッド 'IsReadOnly' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください
それとも部分的であってもソースでしょうか?今回の問題では必要ないと判断してしまいましたが、次回以降気を付けます。
次回もぜひお願いします。ありがとうございました。
836デフォルトの名無しさん (ワッチョイ a633-K61z)
2022/01/28(金) 16:04:30.29ID:AFiLYmq20 単に、WinFormsのComboBoxにはIsReadOnlyプロパティが存在しないだけだな
https://atmarkit.itmedia.co.jp/ait/articles/0711/01/news152.html
https://atmarkit.itmedia.co.jp/ait/articles/0711/01/news152.html
837デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 16:32:10.58ID:bcAzYVuU0 >>835
エラーメッセージもそうだけど、こっちが言ってたのは「WinFormsかWPFか」の方だね
WinFormsの方のComboBoxにはDropDownStyleプロパティがあるからこれにComboBoxStyle.DropDownListを渡せば選択可能で文字列入力を受け付けないタイプになるよ
(まあ、他の人がすでに提示しているようだけど)
エラーメッセージもそうだけど、こっちが言ってたのは「WinFormsかWPFか」の方だね
WinFormsの方のComboBoxにはDropDownStyleプロパティがあるからこれにComboBoxStyle.DropDownListを渡せば選択可能で文字列入力を受け付けないタイプになるよ
(まあ、他の人がすでに提示しているようだけど)
838デフォルトの名無しさん (ワッチョイ f1ad-x4tF)
2022/01/28(金) 16:34:15.50ID:ycXEhqEs0 もしかして Enabled
839デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 17:05:47.31ID:C+lFkEfx0 みなさん親切で涙が出てきます。
>>836・837・838 反応ありがとうございます。
・C#にはWinFormsの他にWPFがあったのですね。WPFという言語なのかと思っていました。
今後はエラーメッセージと共にWinFormsであることを最初に宣言します(初心者すぎてすみません)
IsReadOnlyプロパティが存在しない
・はい。通常のプロパティでは見つけられませんでした。
こちらのサイトを参考にさせてもらい挑戦していました。
https://blog.t5o.me/post/20140316/c-sharp-xaml-combobox-read-only.html
・ComboBoxStyle.DropDownListとEnabledも試しに設定しました。
やりたいことは、
コンボボックス横にチェックボックスを設置
チェックボックスが真の時、コンボボックスを規定値にし操作不可能にすることですが、
上記設定でもドロップダウンボタンが反応するので別の方法を探し、上記サイトにたどり着きました。
・第2案として、チェックボックスが真の時、コンボリストを規定値以外を削除し対応しようかと考えています。
(ドロップダウンリストが空白で1行出てきてしまうのがかっこ悪いかなと考えて最善を探していました)
なんとか頑張ってみます。みなさんありがとうございました。
>>836・837・838 反応ありがとうございます。
・C#にはWinFormsの他にWPFがあったのですね。WPFという言語なのかと思っていました。
今後はエラーメッセージと共にWinFormsであることを最初に宣言します(初心者すぎてすみません)
IsReadOnlyプロパティが存在しない
・はい。通常のプロパティでは見つけられませんでした。
こちらのサイトを参考にさせてもらい挑戦していました。
https://blog.t5o.me/post/20140316/c-sharp-xaml-combobox-read-only.html
・ComboBoxStyle.DropDownListとEnabledも試しに設定しました。
やりたいことは、
コンボボックス横にチェックボックスを設置
チェックボックスが真の時、コンボボックスを規定値にし操作不可能にすることですが、
上記設定でもドロップダウンボタンが反応するので別の方法を探し、上記サイトにたどり着きました。
・第2案として、チェックボックスが真の時、コンボリストを規定値以外を削除し対応しようかと考えています。
(ドロップダウンリストが空白で1行出てきてしまうのがかっこ悪いかなと考えて最善を探していました)
なんとか頑張ってみます。みなさんありがとうございました。
840デフォルトの名無しさん (ワッチョイ a633-K61z)
2022/01/28(金) 17:14:46.64ID:AFiLYmq20 >>839
System.Windows.Forms.ComboBoxを継承してカスタムコントロールを作るってのが調べると出てくると思うよ
例えばこんなのとか
http://jeanne.wankuma.com/library/readonlycombobox/
System.Windows.Forms.ComboBoxを継承してカスタムコントロールを作るってのが調べると出てくると思うよ
例えばこんなのとか
http://jeanne.wankuma.com/library/readonlycombobox/
841デフォルトの名無しさん (ワッチョイ a62d-Y4FF)
2022/01/28(金) 17:20:12.41ID:OmkEpZCo0 >>839
839のリンク先もそうだけど、記事にXAMLって単語があったらWinFormsと無関係だと思って良いよ
WinFormsのコンボボックスの操作不能にするのは、comboBox.Enabled = false;
839のリンク先もそうだけど、記事にXAMLって単語があったらWinFormsと無関係だと思って良いよ
WinFormsのコンボボックスの操作不能にするのは、comboBox.Enabled = false;
842デフォルトの名無しさん (ワッチョイ b501-Y4FF)
2022/01/28(金) 19:13:46.87ID:l6dMzLky0 c# + visual studioでデータブレークポイント使えますか?
c#のクラスは参照型ですが、値のコピー
(int型変数i,jだと、i = jに相当する処理)
するにはどのようにすればよいのでしょうか?
c#のクラスは参照型ですが、値のコピー
(int型変数i,jだと、i = jに相当する処理)
するにはどのようにすればよいのでしょうか?
843デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/28(金) 19:27:11.67ID:LzvJDC40a ブレークポイントの上で右クリ→条件
844デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/28(金) 20:10:31.96ID:LzvJDC40a コピーはコピー先をnewして作って、メンバー変数の値をそこに一個ずつコピーしてく
クラスによってはそういうnewとコピーをしてくれるClone()を持ってることもある
クラスによってはそういうnewとコピーをしてくれるClone()を持ってることもある
845デフォルトの名無しさん (ワッチョイ 4a0e-21ac)
2022/01/29(土) 16:47:47.80ID:3whatsSd0 独習C#で学習されている方が多そうですがマルチスレッド難しすぎないですか(泣)
新版を使っておりますが、P530〜の説明が意味不明です
awaitとWait()メソッドの違いがよくわかりません
どちらもタスク(サブスレッド)の処理を待機するという同じような意味という理解ですが、
なぜかサンプルプログラムで両方使われています
試しに片方削除して実行すると、ループが最後まで実行されないので、意味が違うんでしょうが調べてもよくわかりません…
どなたかご教示いただけないでしょうか
新版を使っておりますが、P530〜の説明が意味不明です
awaitとWait()メソッドの違いがよくわかりません
どちらもタスク(サブスレッド)の処理を待機するという同じような意味という理解ですが、
なぜかサンプルプログラムで両方使われています
試しに片方削除して実行すると、ループが最後まで実行されないので、意味が違うんでしょうが調べてもよくわかりません…
どなたかご教示いただけないでしょうか
846デフォルトの名無しさん (ワッチョイ 3a32-6WVI)
2022/01/29(土) 17:25:22.69ID:xNgrtKWR0 >>845
大別するならawaitは非同期、Task.Wait()は同期的、という所だけど
Task.Wait()は単純にその場でタスクの終了を待つので足踏みする事になる
awaitを使うと内部的にはその後のコードもTask化されてasyncメソッドの返り値になる
awaitまで到達した時点で呼び出し元に処理が戻るので、主にUIスレッド等でよく使われる
後続処理を追加するだけならTask.ContinueWith()も有るんだけど
UIコンポーネントは作成スレッドからしかアクセスしてはならない制約とか
後続処理を担うスケジューラ指定とか煩雑なのを纏めて糖衣構文にしたのがawait
大別するならawaitは非同期、Task.Wait()は同期的、という所だけど
Task.Wait()は単純にその場でタスクの終了を待つので足踏みする事になる
awaitを使うと内部的にはその後のコードもTask化されてasyncメソッドの返り値になる
awaitまで到達した時点で呼び出し元に処理が戻るので、主にUIスレッド等でよく使われる
後続処理を追加するだけならTask.ContinueWith()も有るんだけど
UIコンポーネントは作成スレッドからしかアクセスしてはならない制約とか
後続処理を担うスケジューラ指定とか煩雑なのを纏めて糖衣構文にしたのがawait
847デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/01/29(土) 18:18:28.62ID:5CdUE0YMa >>845
助手(他のスレッド)がタマネギを炒め終わるのをジャガイモの皮を剥きながら待つのがawait
手を止めてじっと待つのがWait
awaitが画期的なのは、「助手の仕事が完了するまでは別の仕事をしつつ、完了後に
やりかけの仕事の続きをする」という本来シーケンシャルでない手続きを、あたかも
「助手の仕事が完了したら続きをやる」という単純なシーケンスであるかのように記述できること
助手(他のスレッド)がタマネギを炒め終わるのをジャガイモの皮を剥きながら待つのがawait
手を止めてじっと待つのがWait
awaitが画期的なのは、「助手の仕事が完了するまでは別の仕事をしつつ、完了後に
やりかけの仕事の続きをする」という本来シーケンシャルでない手続きを、あたかも
「助手の仕事が完了したら続きをやる」という単純なシーケンスであるかのように記述できること
848デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/29(土) 18:22:38.33ID:p/SD7W260 async汚染に注意な
849デフォルトの名無しさん (ワッチョイ a5d2-8U/q)
2022/01/29(土) 18:50:59.09ID:wjo4lb340 awaitの正体は「Taskがすぐに終わらなかったらすぐにreturnする特殊構文」ってことを知っておけば理解はしやすいと思う
Taskが終わったらさっきawaitしたところから(途中処理を飛ばして)再開する
関数先頭に特殊構文を使うことを明記(async)しなきゃいけない
(FormとかWPFとかのGUIアプリなら裏で勝手にやってくれるから気にしなくていいが)
Taskが終わった後にawaitから再開できるように呼び出し元のスレッドでDispatcher.Run()しとかなきゃいけない
Taskが終わったらさっきawaitしたところから(途中処理を飛ばして)再開する
関数先頭に特殊構文を使うことを明記(async)しなきゃいけない
(FormとかWPFとかのGUIアプリなら裏で勝手にやってくれるから気にしなくていいが)
Taskが終わった後にawaitから再開できるように呼び出し元のスレッドでDispatcher.Run()しとかなきゃいけない
850デフォルトの名無しさん (オッペケ Srbd-TR9v)
2022/01/29(土) 19:19:00.14ID:7kxnQq4mr awaitは「あ!まって!」って覚えればいい
851デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/29(土) 19:28:39.37ID:RKF0PElVM await 〇〇やっといてよろしく。私いったん席外すんで終わったら連絡ちょうだい。続きこっちで引き継ぐから
Wait 〇〇やれや!終わるまで後ろでじっと見とるからな!はよせえよ!
どっちがいい?
Wait 〇〇やれや!終わるまで後ろでじっと見とるからな!はよせえよ!
どっちがいい?
852デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/29(土) 19:41:45.39ID:S+vKlyc9a Threadが一番わかりやすいw
853デフォルトの名無しさん (ワッチョイ a612-21ac)
2022/01/29(土) 20:51:42.02ID:kkw3q4n30 たとえが分かりやすいですw
イメージがわきました、みなさんありがとうございます!
もう一点だけ確認なのですが、asyncメソッドのawaitよりあとのプログラムに移るタイミングですが、
メインスレッドでプログラムが実行中のときはどちらが優先になるのでしょうか?
イメージがわきました、みなさんありがとうございます!
もう一点だけ確認なのですが、asyncメソッドのawaitよりあとのプログラムに移るタイミングですが、
メインスレッドでプログラムが実行中のときはどちらが優先になるのでしょうか?
854デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/29(土) 20:57:28.48ID:z01vGxpA0 >>853
OSの気分次第
OSの気分次第
855デフォルトの名無しさん (ワッチョイ ea2c-Bf/t)
2022/01/29(土) 21:26:41.18ID:qmqxr6WH0 WinFormという前提でいうと
まず前提としてメインスレッドではずっとメッセージループっていうループが回ってる
でマウスの入力とか再描画要求はメッセージって形でキューに貯められる
メッセージループはキューから1つメッセージを取り出してはアプリの実装に流してくる
ちなみにその辺のシステムメッセージはWinFormだとMouseMoveとかPaintとかのイベントとしてアプリが対応することになる
await以降の処理もこのメッセージを使って実現してるから
メインスレッドの手が空いて次のメッセージを処理できる態勢になるまで待たされる
まず前提としてメインスレッドではずっとメッセージループっていうループが回ってる
でマウスの入力とか再描画要求はメッセージって形でキューに貯められる
メッセージループはキューから1つメッセージを取り出してはアプリの実装に流してくる
ちなみにその辺のシステムメッセージはWinFormだとMouseMoveとかPaintとかのイベントとしてアプリが対応することになる
await以降の処理もこのメッセージを使って実現してるから
メインスレッドの手が空いて次のメッセージを処理できる態勢になるまで待たされる
856デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/29(土) 22:02:51.88ID:p/SD7W260 スレッド
注意点一覧
・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)
・本体終了時に終了できるか?
注意点一覧
・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)
・本体終了時に終了できるか?
857デフォルトの名無しさん (ワッチョイ a612-21ac)
2022/01/29(土) 23:49:44.87ID:kkw3q4n30 ありがとうございました!
858デフォルトの名無しさん (ワッチョイ 7d01-0kD6)
2022/01/30(日) 01:12:48.99ID:XLpABEj80 C#のマルチコアなんたらっていう非同期処理のテキスト読んだらいいよ
859デフォルトの名無しさん (アウアウウー Sa21-xC/n)
2022/01/30(日) 03:05:22.41ID:2zm6GvSaa async/awaitとTask.Runの使い分けが今でもよくわからん。。
860デフォルトの名無しさん (オッペケ Srbd-TR9v)
2022/01/30(日) 09:00:16.50ID:F79hzdqmr861デフォルトの名無しさん (テテンテンテン MM3e-Xc5L)
2022/01/30(日) 11:27:59.00ID:zEfMsuv9M それ多分C#じゃなくて組み込みとかの話だから参考にならんよ
862デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/30(日) 14:20:38.52ID:6d5Lec+00 >>861
え?どこにC#だと助かる要素があるの?
え?どこにC#だと助かる要素があるの?
863デフォルトの名無しさん (テテンテンテン MM3e-Xc5L)
2022/01/30(日) 15:48:10.14ID:WELts56MM >>856
この記事の内容が組み込みc++じゃないのかと
この記事の内容が組み込みc++じゃないのかと
864デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/30(日) 17:06:41.10ID:6d5Lec+00 C++だと駄目でC#だと助かる要素なんて1つもないけど
今まで何やってたん?
今まで何やってたん?
865デフォルトの名無しさん (ワッチョイ 66e3-Xc5L)
2022/01/30(日) 17:17:33.02ID:nTSKdiu90866デフォルトの名無しさん (ワッチョイ a62d-Y4FF)
2022/01/30(日) 17:18:42.01ID:v/uLxU6j0867デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/30(日) 17:21:16.29ID:cT0our3Wa 助かるってどっかの方言なのかな。まったく意味わからなかったw
ほぼすべてがc#(とVSの組み合わせ)で助かるか、マルチスレッド関係なくそのぐらい考えとけって項目
ほぼすべてがc#(とVSの組み合わせ)で助かるか、マルチスレッド関係なくそのぐらい考えとけって項目
868デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/30(日) 17:29:29.52ID:6d5Lec+00869デフォルトの名無しさん (スププ Sd0a-pyKz)
2022/01/30(日) 19:59:30.72ID:XMZDBma3d またシングルスレッドおじさんの講釈が始まったのか
870デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/30(日) 20:10:42.59ID:Mi/4eGx6M awaitのおかげで非同期書きまくる現代のプログラミングでこんなチェックリストいちいち考えてたら工数足りん
それに現代の実行環境は優秀なんでほとんど考えなくていいよう出来てる
C#もJavaScriptもそう
C++とはもう時代が違う
・シングルコアで動くか?→普通に書けば当たり前に動く
・応答がないときに自決するか?→普通に書けばライブラリ側からタイムアウト例外出て落ちる
・失敗時のメモリリークはないか?→普通に書けばあり得ない
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)→大半のケースで環境に任せるのが正解。制御したいならより上のプロセスレベルで制御する
・生存確認方法はあるか?→死んだら例外でる出てないなら生きてる
・実行中の状態は取得できるか?→大半のケースで取得要件はない
・ログは出力できるか?→出来ないことなんてあるの?
・最大使用メモリは把握できているか?→環境に任せるのが正解。したいならより上のプロセスレベルで制御する
・失敗時のリザルトの受け取り方法は適切か?→例外で標準化されてる
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)→例外出たら止めろ。例外出ても進めるならしっかり設計しろ。そしてそれは非同期関係ない
・本体終了時に終了できるか?→普通に書けば猶予期間内に終了する。ロングランニングの時だけ気をつけろ
それに現代の実行環境は優秀なんでほとんど考えなくていいよう出来てる
C#もJavaScriptもそう
C++とはもう時代が違う
・シングルコアで動くか?→普通に書けば当たり前に動く
・応答がないときに自決するか?→普通に書けばライブラリ側からタイムアウト例外出て落ちる
・失敗時のメモリリークはないか?→普通に書けばあり得ない
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)→大半のケースで環境に任せるのが正解。制御したいならより上のプロセスレベルで制御する
・生存確認方法はあるか?→死んだら例外でる出てないなら生きてる
・実行中の状態は取得できるか?→大半のケースで取得要件はない
・ログは出力できるか?→出来ないことなんてあるの?
・最大使用メモリは把握できているか?→環境に任せるのが正解。したいならより上のプロセスレベルで制御する
・失敗時のリザルトの受け取り方法は適切か?→例外で標準化されてる
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)→例外出たら止めろ。例外出ても進めるならしっかり設計しろ。そしてそれは非同期関係ない
・本体終了時に終了できるか?→普通に書けば猶予期間内に終了する。ロングランニングの時だけ気をつけろ
871デフォルトの名無しさん (ブーイモ MM8e-bj7G)
2022/01/30(日) 20:27:29.51ID:MKtsah/wM 各アプリケーションの機能テストで確認すべき項目と
非機能要求のテストで確認すべき項目と
フレームワークの仕様テストで確認すべき項目と
全部ごちゃ混ぜだから分かりにくい
タイムアウトを含め失敗時の振る舞いは一般的な品質レベルなら全部テストする項目
非機能要求のテストで確認すべき項目と
フレームワークの仕様テストで確認すべき項目と
全部ごちゃ混ぜだから分かりにくい
タイムアウトを含め失敗時の振る舞いは一般的な品質レベルなら全部テストする項目
872デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/30(日) 20:32:44.54ID:cT0our3Wa 組み込みになるとシングルコアで動くのにマルチコアで動かないとか、通信ライブラリが処理をつかんだままだとほかのスレッドが止まるとか(それマルチスレッドなのか?でも本当に起きる)
そんな感じになっていくからな。特にFreeRTOSは・・・
c#だとlockとかを知らないと色々トラブル。そっちの方が重要だろ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/statements/lock
そんな感じになっていくからな。特にFreeRTOSは・・・
c#だとlockとかを知らないと色々トラブル。そっちの方が重要だろ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/statements/lock
873デフォルトの名無しさん (ワッチョイ a95f-Xc5L)
2022/01/30(日) 22:57:40.72ID:aiFnFmm30 doxygenって何処のスレで質問すれば良いですか?
874デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/30(日) 23:50:15.42ID:cT0our3Wa スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
875デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/31(月) 00:03:34.26ID:HAfOA5uC0 >>870
。oO(ああ、こいつダメだ、経験が少なすぎてなんも当たったことねぇのなw)
。oO(ああ、こいつダメだ、経験が少なすぎてなんも当たったことねぇのなw)
876デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/31(月) 01:18:01.43ID:rap/w09T0 GUIアプリ作るのにシングルスレッド縛りはありえねーって
877デフォルトの名無しさん (ワッチョイ 66b0-K8xK)
2022/01/31(月) 01:20:52.56ID:PXu70Z+W0 (応答なし)
878デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/31(月) 01:30:02.02ID:HAfOA5uC0 >>876
うまく行かなかったんだろ?w
うまく行かなかったんだろ?w
879デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/31(月) 02:43:38.51ID:rap/w09T0 >>878
GUIアプリでシングルスレッド縛りだと重い処理で画面固まってるように見えてしまうからうまく行かないね
GUIアプリでシングルスレッド縛りだと重い処理で画面固まってるように見えてしまうからうまく行かないね
880デフォルトの名無しさん (テテンテンテン MM3e-+Ul7)
2022/01/31(月) 08:09:11.84ID:RgoQRIUnM >>870のどこがダメなのか分からない
スレッド制御を自前で1から書かなきゃいけなかった00年代ならともかく
async/awaitにほぼすべてを任せられて非同期を安全お手軽に書けるようになってる時代なのにさあ
脳みその中もPentium4あたりで進化が止まった老害が
async/awaitを当たり前に使う現在のコーディングスタイルについていけなくて
誰彼かまわずケチをつけてるだけにしか見えない
年取ってこういうゴミみたいなジジイにはなりたくないもんだ
スレッド制御を自前で1から書かなきゃいけなかった00年代ならともかく
async/awaitにほぼすべてを任せられて非同期を安全お手軽に書けるようになってる時代なのにさあ
脳みその中もPentium4あたりで進化が止まった老害が
async/awaitを当たり前に使う現在のコーディングスタイルについていけなくて
誰彼かまわずケチをつけてるだけにしか見えない
年取ってこういうゴミみたいなジジイにはなりたくないもんだ
881デフォルトの名無しさん (ワッチョイ 9e10-l0pG)
2022/01/31(月) 09:50:16.85ID:JauXjIS80 何がしたいかによる
await/asyncを使うのは主に外部要因で待たされる時
ダウンロード残り1GBとかSQLサーバーからレスポンスが2秒以上かかってるとか
そういう感じの時クルクル回したりプログレスバーとキャンセルボタンが欲しいわけ
ボタンすら反応しませんだと、クソ重いソフトと因縁つけられちゃうの
一方マルチスレッドでCPU100%がん回しですってのがしたいことだったら
Partitioner.CreateとParallel.ForEachを使うawait/asyncは関係ない
await/asyncを使うのは主に外部要因で待たされる時
ダウンロード残り1GBとかSQLサーバーからレスポンスが2秒以上かかってるとか
そういう感じの時クルクル回したりプログレスバーとキャンセルボタンが欲しいわけ
ボタンすら反応しませんだと、クソ重いソフトと因縁つけられちゃうの
一方マルチスレッドでCPU100%がん回しですってのがしたいことだったら
Partitioner.CreateとParallel.ForEachを使うawait/asyncは関係ない
882デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/31(月) 10:15:13.28ID:FSK5xZBqM 大半のケースで考慮不要
この一言でまあそうだよねと納得できないなら開発経験不足としか言えん
この一言でまあそうだよねと納得できないなら開発経験不足としか言えん
883デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/31(月) 10:47:47.62ID:F4OTxaxpa もともとがc#に合わせた話じゃないからどうとでも読み取れちゃうんだよ
分かりやすいとこで言えば例えば
> ログは出力できるか?→出来ないことなんてあるの?
プログラミングの話をしてるのだからきちんと意図通りに動くことを把握するためのDebug.WriteLineのようなログと捉えたらできないことなんてあるの?となる
でもログファイル出力と捉えたら、マルチスレッドから同じファイルに対して書き込もうとして・・・なんてできないこともある
分かりやすいとこで言えば例えば
> ログは出力できるか?→出来ないことなんてあるの?
プログラミングの話をしてるのだからきちんと意図通りに動くことを把握するためのDebug.WriteLineのようなログと捉えたらできないことなんてあるの?となる
でもログファイル出力と捉えたら、マルチスレッドから同じファイルに対して書き込もうとして・・・なんてできないこともある
884デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/31(月) 11:33:05.16ID:I+ECkei6M そんなのはloggerがなんとかしてくれるから気にするな
つか今時はログは全部標準出力でいい
標準出力を拾って何処に吐くかは環境が担当するところ
つか今時はログは全部標準出力でいい
標準出力を拾って何処に吐くかは環境が担当するところ
885デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/01/31(月) 11:38:53.86ID:BNlzdeLSM886デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/31(月) 12:08:05.50ID:F4OTxaxpa そうなんだよ
だからログ取るならこのクラス使え(c#が勝手にスレッドセーフにしてくれたり管理するよ)
マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
ってチェックシートならいいんだけどな
だからログ取るならこのクラス使え(c#が勝手にスレッドセーフにしてくれたり管理するよ)
マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
ってチェックシートならいいんだけどな
887デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/01/31(月) 12:13:17.55ID:a9TU5xJTa オラオラ交通整理マン仕事しろや早く議論スレに誘導しろよ
まさか交通整理マン自身が議論してるんじゃねえだろうな?ん?
まあ、個人的には議論は結構だけど論点は明確にして欲しいね。
正直何を争ってるのかさっぱり分からんw
こんなあいまいな話で藁人形と戦ってる奴って普段よっぽど邪険にされてるのかねwww
まさか交通整理マン自身が議論してるんじゃねえだろうな?ん?
まあ、個人的には議論は結構だけど論点は明確にして欲しいね。
正直何を争ってるのかさっぱり分からんw
こんなあいまいな話で藁人形と戦ってる奴って普段よっぽど邪険にされてるのかねwww
888デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/31(月) 12:53:42.98ID:80+F6Vz/M かわいそうに
889デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/01/31(月) 13:04:34.28ID:dnOSCP4XM >>886
> マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
スレッドセーフならいいって話じゃないことぐらいは理解してから議論に参加しようよ…
> マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
スレッドセーフならいいって話じゃないことぐらいは理解してから議論に参加しようよ…
890デフォルトの名無しさん (ワッチョイ 6663-gS2q)
2022/01/31(月) 15:26:32.90ID:2TQISd5L0 あ、これ議論なの?
891デフォルトの名無しさん (アウアウキー Sa55-/Ngc)
2022/01/31(月) 19:09:11.37ID:yyWr14dta 凄まじく複雑な相談なんだけど良い?
インスタンスと対になる鍵オブジェクトって
xxxIdかxxxKeyかxxxTokenのどれで名付けるべき?
ちなみに中には格納番号が入っててリポジトリからインスタンスを引き出すのに使う
インスタンスと対になる鍵オブジェクトって
xxxIdかxxxKeyかxxxTokenのどれで名付けるべき?
ちなみに中には格納番号が入っててリポジトリからインスタンスを引き出すのに使う
892デフォルトの名無しさん (スップ Sdea-8U/q)
2022/01/31(月) 21:03:11.17ID:eqy2NGbAd 初心者スレだぞ
簡単な使い方ならともかく
なんか動かんだのデータ壊れただのデッドロックしただのの対策を一気に詰め込んでも無理でしょ
簡単な使い方ならともかく
なんか動かんだのデータ壊れただのデッドロックしただのの対策を一気に詰め込んでも無理でしょ
893デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/01/31(月) 21:27:15.36ID:a9TU5xJTa894デフォルトの名無しさん (ワッチョイ 9e10-l0pG)
2022/02/01(火) 11:07:54.02ID:Z6xO941E0 IDを使うときは配列でインデクサがある、とか
Keyを使うときは辞書でKey-Valueの対がある、とか
Tokenを使うときは重複しない文字列(大抵はハッシュ)が入ってる、とか
そういう話なのかな、C#とどう関係するのか知らんけど
Keyを使うときは辞書でKey-Valueの対がある、とか
Tokenを使うときは重複しない文字列(大抵はハッシュ)が入ってる、とか
そういう話なのかな、C#とどう関係するのか知らんけど
895デフォルトの名無しさん (ブーイモ MM0a-4rOF)
2022/02/01(火) 11:19:59.86ID:Tjw+V3tAM 普通にハンドルパターンじゃないのか
896デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/02/01(火) 12:10:52.81ID:LUb4jo/Ua object xxxと対になる鍵オブジェクト = new object();
897デフォルトの名無しさん (ワッチョイ 4954-l0pG)
2022/02/01(火) 13:48:07.91ID:1d/yMvRJ0 TextBoxの高さに合わせてFormの高さを調整したいのですが、下記のようにすると、TextChangeのたびに高さが減ってしまいます。
何が原因でしょうか?
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Height = textBox1.Lines.Length * textBox1.Font.Height;
ClientSize = new Size(ClientSize.Width ,textBox1.Height);
}
何が原因でしょうか?
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Height = textBox1.Lines.Length * textBox1.Font.Height;
ClientSize = new Size(ClientSize.Width ,textBox1.Height);
}
898デフォルトの名無しさん (アウアウキー Sa55-lbKC)
2022/02/01(火) 18:19:16.26ID:R62wNw5Va■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】 アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 [お断り★]
- 「二枚舌は許されない」中国外務省 高市総理の発言を批判… [BFU★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★8 [樽悶★]
- 中国国際航空が日本便を減便へ、春節休みも SNSでは投稿相次ぐ [七波羅探題★]
- 【速報】公然わいせつの疑いで逮捕・送検・略式起訴のAぇ! group 草間リチャード敬太メンバー 脱退を発表 「心の病の療養」に専念 [Ailuropoda melanoleuca★]
- 小野田紀美 経済安保相「悪いことをする外国人、日本にいない状況つくる」 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちお子様ランチ🛸💜🥀🧪🍃
- 【悲報】高市有事、中国から追加の報復措置が来る模様 [834922174]
- 【高市悲報】弱者男性「CoCo壱は高い!」言うほど高いか?一食1300円くらいだしサイゼリヤと食うのと変わらんじゃん [257926174]
- 【悲報】中国のNo.1動画サイト、「琉球は日本領土ではない」「日本人の琉球侵略を許すな」ネタで連日とんでもなく盛り上がる… [452836546]
- 恐ろしい😈のちゅちょちゅちょ・ちぇびるのお🏡
- 【悲報】高市失言、完全に立憲民主党が全て悪いという意見で合致wwww「岡田はスパイ!」「中国から命令を受けた!」 [833674621]
