!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
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#(初心者用) Part146
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f0b-Fgt1)
2019/12/11(水) 22:12:11.28ID:d09CciDz0778デフォルトの名無しさん (アウアウウー Sa9b-QEaq)
2020/02/06(木) 12:50:38.55ID:wOe8UCqWa779デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 13:02:40.83ID:3avRIqPoa >>778
世の中こういう人が多いから糞コードで溢れてるんだなw
世の中こういう人が多いから糞コードで溢れてるんだなw
780デフォルトの名無しさん (アウアウウー Sa9b-QEaq)
2020/02/06(木) 13:07:54.43ID:wOe8UCqWa 「機能はソース元が持つべき(キリッ」
数十年前のオブジェクト指向かな
この時代にまったく追い付いていない感よ
数十年前のオブジェクト指向かな
この時代にまったく追い付いていない感よ
781デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 13:09:27.22ID:3avRIqPoa782デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 13:10:20.78ID:3avRIqPoa 香ばしい人が来たねw
本気で自分が正しいと思ってそうで怖いけどw
本気で自分が正しいと思ってそうで怖いけどw
783デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 13:16:45.15ID:3avRIqPoa 質問者の人みたいな、役割分担を意識しない有機的な(笑)コードでも
学生さんの宿題程度の小さなプログラムなら問題は顕在化しないよもちろん。
ちょっと規模がでかくなるとすぐ死ぬけどねw
こういう発想でやってると
>>780の人は一人で大きなプログラムを設計して書いたことないんだろうね
学生さんの宿題程度の小さなプログラムなら問題は顕在化しないよもちろん。
ちょっと規模がでかくなるとすぐ死ぬけどねw
こういう発想でやってると
>>780の人は一人で大きなプログラムを設計して書いたことないんだろうね
784デフォルトの名無しさん (ワッチョイ 9f84-tipF)
2020/02/06(木) 13:16:56.29ID:p3rMUukc0785デフォルトの名無しさん (ワッチョイ 5733-5cV/)
2020/02/06(木) 13:17:51.17ID:OK3H5xtI0 な、アウアウウーだろ?
786デフォルトの名無しさん (アウアウウー Sa9b-QEaq)
2020/02/06(木) 13:31:00.38ID:wOe8UCqWa787デフォルトの名無しさん (ラクッペ MMcb-OK07)
2020/02/06(木) 14:34:33.24ID:wPTmJZ51M ガイジはこんなところに来なくていいんだよ
ママと喋っててくれな
ママと喋っててくれな
788デフォルトの名無しさん (ワンミングク MM7f-gP8z)
2020/02/06(木) 15:31:49.41ID:Jb1VrEaQM あー子フォームにはプロパティ経由でItemsのインスタンスだけ見せたかったてことか
789デフォルトの名無しさん (ワッチョイ 9f63-ssi3)
2020/02/06(木) 17:25:31.37ID:rr8+dQJ50 >>778
デイジーチェーンは普通バスがあって見る側でフィルターしてるだけでしょ
本来はI/O(型変換)が要らないところにI/O入れちゃうのはどう考えても悪手でしょ。今回の話でいえば子要素から参照したくなったときに、
リストボックスに直でaddしてるのをやめて、元リストを作ってリストボックスのdatasourceにするか手動同期するかして、トータルのI/Oが少なくなるようにリファクタリングするよね。
デイジーチェーンは普通バスがあって見る側でフィルターしてるだけでしょ
本来はI/O(型変換)が要らないところにI/O入れちゃうのはどう考えても悪手でしょ。今回の話でいえば子要素から参照したくなったときに、
リストボックスに直でaddしてるのをやめて、元リストを作ってリストボックスのdatasourceにするか手動同期するかして、トータルのI/Oが少なくなるようにリファクタリングするよね。
790デフォルトの名無しさん (ワッチョイ b71a-QEaq)
2020/02/06(木) 17:46:36.56ID:2CNFUZCo0 バイクのエンジンの掛け方を訊ねているのに
「バイクは転ぶから車にしろ」とか言ってくる不思議な人が世の中にはいる
「バイクは転ぶから車にしろ」とか言ってくる不思議な人が世の中にはいる
791デフォルトの名無しさん (ブーイモ MMbf-gAEv)
2020/02/06(木) 18:00:29.92ID:BIpKXfQOM MVVMの基盤がしっかりしてるならそれでいいけど
Formsのバインドはクソだからなあ
Formsのバインドはクソだからなあ
792デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
2020/02/06(木) 18:09:16.22ID:v+RXRHu+F バイクは転ぶし
転んだ時のダメージも大きいし
車とぶつかっても死ぬのはバイク
百害あって一利なし
転んだ時のダメージも大きいし
車とぶつかっても死ぬのはバイク
百害あって一利なし
793デフォルトの名無しさん (ワッチョイ ffb0-tipF)
2020/02/06(木) 18:09:26.47ID:yYpacz/p0 いやーここは良いスレですよ
色々情報や知識が得られて
私のいるニッチな業界のスレじゃ
下手にかかわると顔バレしそうなんで
なるべく情報出さないようにスルーが基本ですからww
色々情報や知識が得られて
私のいるニッチな業界のスレじゃ
下手にかかわると顔バレしそうなんで
なるべく情報出さないようにスルーが基本ですからww
794デフォルトの名無しさん (ワッチョイ 3742-56gX)
2020/02/06(木) 18:13:45.05ID:DNa4Mn1G0 UIプログラミングの原則として、コントロールを複数のクラスからアクセスるってのは
動作の競合起こしたときにどうにもならんから普通は避けるものですね
この場合、サブフォームからメインフォームのメソッドを呼び出して処理自体をメインフォームのクラスでやらせるのが普通かな?
呼び出すにはサブフォームにFunc<T>の変数を用意して、メインでサブフォームを起動するときにコールバックをセットする
動作の競合起こしたときにどうにもならんから普通は避けるものですね
この場合、サブフォームからメインフォームのメソッドを呼び出して処理自体をメインフォームのクラスでやらせるのが普通かな?
呼び出すにはサブフォームにFunc<T>の変数を用意して、メインでサブフォームを起動するときにコールバックをセットする
795デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 18:47:00.08ID:ePr9F6TEr クラスとスレッドの概念は別物だからそれはおかしい
796デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 19:37:43.07ID:3avRIqPoa >>790
そういう比喩ならこっちの方が適切だね
バイクのエンジンのシリンダーにソレノイドを仕込んで「始動機能内蔵エンジン」
を発明(笑)した気になってるバカがいるので、そんな後でメンテに困るような
設計はやめて普通に外側にセルモーター付けろやと言ってるわけね。
そういう比喩ならこっちの方が適切だね
バイクのエンジンのシリンダーにソレノイドを仕込んで「始動機能内蔵エンジン」
を発明(笑)した気になってるバカがいるので、そんな後でメンテに困るような
設計はやめて普通に外側にセルモーター付けろやと言ってるわけね。
797デフォルトの名無しさん (ドコグロ MMdf-ep3J)
2020/02/06(木) 19:39:03.30ID:bk3hpXlEM >>782
ブーメランすぎるw
ブーメランすぎるw
798デフォルトの名無しさん (ワッチョイ b71a-QEaq)
2020/02/06(木) 20:09:27.53ID:2CNFUZCo0799デフォルトの名無しさん (ワッチョイ 17a7-gMkZ)
2020/02/06(木) 20:51:56.60ID:bargJKer0 すべて筋肉で説明がつく
800デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 21:02:33.81ID:3avRIqPoa801デフォルトの名無しさん (ワッチョイ 9f1b-QEaq)
2020/02/06(木) 21:13:05.64ID:4TJ952d10 バイクの乗り方の話してるのに、唐突にバイクの機構の話で割り込んできた空気読めない人
802デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/06(木) 21:33:06.95ID:3avRIqPoa803デフォルトの名無しさん (ワッチョイ b717-56gX)
2020/02/06(木) 21:34:18.40ID:QKvxUR9D0 スレタイ読めないの?
804デフォルトの名無しさん (ワッチョイ bfd6-QQjh)
2020/02/06(木) 22:23:36.57ID:CL10fagq0 >>777
usingってどこのことだろ。普通に一番上の方に
> public System.Windows.Forms.ListBox.ObjectCollection Items { get; }
とか
> プロパティ値 ListBox.ObjectCollection
って書いてあるのに。
usingってどこのことだろ。普通に一番上の方に
> public System.Windows.Forms.ListBox.ObjectCollection Items { get; }
とか
> プロパティ値 ListBox.ObjectCollection
って書いてあるのに。
805デフォルトの名無しさん (ワッチョイ 7f02-sfHF)
2020/02/06(木) 22:29:08.50ID:QYwN1zQ10806デフォルトの名無しさん (ワッチョイ d72f-ndoi)
2020/02/06(木) 22:51:51.07ID:O+zcmlkO0 やりたいことができるようになってから、それが最適かどうか考えればいいことで
相手のレベル考えないでアドバイスしたって意味ないんだが
それなら聞かれたことだけに素直に答えてるほうがよっぽど役に立つ
相手のレベル考えないでアドバイスしたって意味ないんだが
それなら聞かれたことだけに素直に答えてるほうがよっぽど役に立つ
807デフォルトの名無しさん (ワッチョイ 9f63-ssi3)
2020/02/06(木) 23:31:46.82ID:rr8+dQJ50 ビューからデータを取り出してあれこれするのはそれ以外方法がない場合は基本的に避けなきゃいけないレベルのことだと思うけどなあ
jQueryでアプリ作るのが衰退してReactとかになったのも同じ理由だし。
(あくまでアプリの話でjQuery自体は今でもWebの表現に役立つライブラリで衰退してないと思う)
jQueryでアプリ作るのが衰退してReactとかになったのも同じ理由だし。
(あくまでアプリの話でjQuery自体は今でもWebの表現に役立つライブラリで衰退してないと思う)
808デフォルトの名無しさん (ブーイモ MMbf-gAEv)
2020/02/06(木) 23:41:34.74ID:eMC8OYbwM フレームワークの出来次第なんだよ
WPFやWEB系の流行りの流儀をFormsに持ち込む必要はない
Formsではイベント〜Formへの問い合わせ〜サービス〜Formの更新が基本的な流れなんだからその流儀に従えばいい
逆にモデルバインディングで作りたいならFormsを捨てる
WPFやWEB系の流行りの流儀をFormsに持ち込む必要はない
Formsではイベント〜Formへの問い合わせ〜サービス〜Formの更新が基本的な流れなんだからその流儀に従えばいい
逆にモデルバインディングで作りたいならFormsを捨てる
809デフォルトの名無しさん (ワッチョイ d701-C+H6)
2020/02/06(木) 23:43:20.57ID:e739Nkpr0 MS公式セミナーにて
「技術より人脈ですよ」
ぺっ
「技術より人脈ですよ」
ぺっ
810デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/07(金) 00:50:21.95ID:JyRMIzlO0 モデルを分離して管理するコストに見合わないような
小規模で保守性をあまり考慮する必要がないアプリなら
Form間で密結合させるのも選択肢の一つ
仕事で作るようなそこそこの規模のアプリで
保守性が重要なケースではまずやらない
小規模で保守性をあまり考慮する必要がないアプリなら
Form間で密結合させるのも選択肢の一つ
仕事で作るようなそこそこの規模のアプリで
保守性が重要なケースではまずやらない
811デフォルトの名無しさん (ワッチョイ 9f79-Zca7)
2020/02/07(金) 00:53:15.15ID:yv1noF0X0 ワンライナーのノリで書いて捨てるなら適当にやればいい
812デフォルトの名無しさん (アウアウウー Sa9b-IXAi)
2020/02/07(金) 07:52:46.57ID:Osl0dJ3Qa >>792
歩行者も同じだろw
歩行者も同じだろw
813デフォルトの名無しさん (ブーイモ MMcf-gAEv)
2020/02/07(金) 08:06:28.65ID:PtYUZReyM Formsではモデルを分離しても間違いなくモデルバインディングを実装するコストは意外と高い
モデルを分離しただけのつもりが状態の二重管理になっていたなんてこともしばしば起こりうる
なのでFormsでは入力が必要ならその都度ヴューに問合せたほうがいい
そうすれば状態が重複しないので管理が楽になる
モデルバインディングを使いたいならWPFにフレームワークを変更すること
モデルを分離しただけのつもりが状態の二重管理になっていたなんてこともしばしば起こりうる
なのでFormsでは入力が必要ならその都度ヴューに問合せたほうがいい
そうすれば状態が重複しないので管理が楽になる
モデルバインディングを使いたいならWPFにフレームワークを変更すること
814デフォルトの名無しさん (ワントンキン MM7f-Gneu)
2020/02/07(金) 09:35:52.76ID:WtTaalc4M >>809
お○んぽ騎士団の話はやめて差し上げろ
お○んぽ騎士団の話はやめて差し上げろ
815デフォルトの名無しさん (ワントンキン MM4f-hvej)
2020/02/07(金) 19:18:34.16ID:sr6ubIFXM DataTableのカスタムソートの方法を教えてください。
あるカラムを独自のルールでソートせたいのです。Selectで単純なソートはできるのは分かったのですが、delegate 的なので、ルールを設定できないでしょうか。
あるカラムを独自のルールでソートせたいのです。Selectで単純なソートはできるのは分かったのですが、delegate 的なので、ルールを設定できないでしょうか。
816デフォルトの名無しさん (ワッチョイ d72f-ndoi)
2020/02/07(金) 19:36:55.19ID:N36mMxo20 Linq To DataSetでいけんじゃね
817デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/07(金) 21:48:37.46ID:m5SOWGhma 1秒ごとに、FormのTextBoxに1を加算していく・・Func1
2秒ごとに、FormのTextBoxに2を加算していく・・Func2
つまり
112112112.........このようにTextBox.Textの文字が増えていくプログラムを
非同期で作りたいと思います。
グローバル変数を一切使わずに実装することは可能でしょうか?
1週間考えてるんですが、Timerを使う方法しか思いつきません。
Timer Func1Timer
Timer Func2TImer
というグローバル変数を使ってしまうので、これはNGです。
いい方法はありますか?
2秒ごとに、FormのTextBoxに2を加算していく・・Func2
つまり
112112112.........このようにTextBox.Textの文字が増えていくプログラムを
非同期で作りたいと思います。
グローバル変数を一切使わずに実装することは可能でしょうか?
1週間考えてるんですが、Timerを使う方法しか思いつきません。
Timer Func1Timer
Timer Func2TImer
というグローバル変数を使ってしまうので、これはNGです。
いい方法はありますか?
818デフォルトの名無しさん (ワッチョイ 3738-YFJL)
2020/02/07(金) 21:55:30.06ID:ZGpQM5Go0 Rx便利よ
Observable.Timer
Observable.Timer
819デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/07(金) 22:02:19.48ID:m5SOWGhma820デフォルトの名無しさん (ワッチョイ 17a7-gMkZ)
2020/02/07(金) 22:24:38.95ID:726N/Ezo0 何がしたいん?
書き手にしかわからない前提条件が色々見えて
「ああ、こいつバカなんだな」
って思った
書き手にしかわからない前提条件が色々見えて
「ああ、こいつバカなんだな」
って思った
821デフォルトの名無しさん (ワッチョイ 571d-uqPE)
2020/02/07(金) 22:51:59.66ID:GxNDg+Fe0 実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
822デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/07(金) 23:40:24.00ID:m5SOWGhma823デフォルトの名無しさん (ワッチョイ 9f63-9GAq)
2020/02/07(金) 23:44:13.73ID:+/S7xbb70 そもそもC#にグローバル変数は存在しないでしょ
824デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/08(土) 00:01:02.29ID:0wE1WgKD0 >>817
グローバル変数を使ってしまうの意味がわからないよ
加算というか文字列を追加する処理をトリガーするメソッドで
タイマー2つ作ってイベントハンドラを設定してやればいいでしょ
複数スレッドから同じ変数を更新するなら同期かConcurrentは必要
グローバル変数を使ってしまうの意味がわからないよ
加算というか文字列を追加する処理をトリガーするメソッドで
タイマー2つ作ってイベントハンドラを設定してやればいいでしょ
複数スレッドから同じ変数を更新するなら同期かConcurrentは必要
825デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/08(土) 00:15:07.81ID:UjdtFeS9a >>824
すいません、クラス変数です。
public class Sample
{
public Timer Func1Timer;← こういう宣言するのが嫌
public Timer Func2Timer;← 嫌
public Method()
{
}
}
すいません、クラス変数です。
public class Sample
{
public Timer Func1Timer;← こういう宣言するのが嫌
public Timer Func2Timer;← 嫌
public Method()
{
}
}
826デフォルトの名無しさん (ワッチョイ b72c-uawS)
2020/02/08(土) 00:25:41.32ID:TB4Hh82w0 FormのLoadイベントでTickにdelegateかラムダで書けばいいんやないん
827デフォルトの名無しさん (ワッチョイ 17de-gMkZ)
2020/02/08(土) 00:38:23.93ID:jmnDdHvz0828デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/08(土) 00:53:34.25ID:UjdtFeS9a829デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/08(土) 00:56:47.80ID:0wE1WgKD0 >>825
public void FooMethod(){
var aTimer = new Timer(1000);
var bTimer = new Timer(2000);
…
}
メソッド内に閉じ込めればセーフってルールなんやろ?
public void FooMethod(){
var aTimer = new Timer(1000);
var bTimer = new Timer(2000);
…
}
メソッド内に閉じ込めればセーフってルールなんやろ?
830デフォルトの名無しさん (ワッチョイ 9f79-Zca7)
2020/02/08(土) 00:58:12.77ID:P57LPGn+0 理解できない以前にまず何も勉強してないだろ
頭が悪い上に不勉強で変な拘り持ってるとか救える要素ゼロだぞ
頭が悪い上に不勉強で変な拘り持ってるとか救える要素ゼロだぞ
831デフォルトの名無しさん (ワッチョイ b71a-QEaq)
2020/02/08(土) 01:04:54.86ID:1aMUbMa90 このスレの人達はFizzBuzzを見せても解こうとせずに問題がおかしいと文句付けるだけなのかなってこの流れ見てちょっと思った
832デフォルトの名無しさん (ワッチョイ b72c-uawS)
2020/02/08(土) 01:38:53.85ID:TB4Hh82w0 >>828
825のソースのタイマー宣言の直後に
aTimer.Tick += async (s,e) =>
await Task.StartNew(() => Textbox.Text += 1);
bTimer.Tick += async (s,e) =>
await Task.StartNew(() => Textbox.Text += 2);
825のソースのタイマー宣言の直後に
aTimer.Tick += async (s,e) =>
await Task.StartNew(() => Textbox.Text += 1);
bTimer.Tick += async (s,e) =>
await Task.StartNew(() => Textbox.Text += 2);
833デフォルトの名無しさん (ワッチョイ b72c-uawS)
2020/02/08(土) 01:45:01.07ID:TB4Hh82w0 あ、DispatcherTimerじゃないならテキスト操作はInvke つかやないけんかも
834デフォルトの名無しさん (ワッチョイ 9f52-m0mG)
2020/02/08(土) 02:00:56.55ID:uvgcwZ2m0 >>821
グロ
グロ
835デフォルトの名無しさん (ワッチョイ bfd6-QQjh)
2020/02/08(土) 02:05:01.32ID:aFNvUF1K0 >>822
大体1秒、2秒で良いなら
private async void Form1_Load( object sender, EventArgs e )
{
var odd = false;
while ( true )
{
await Task.Delay( TimeSpan.FromSeconds( 1.0 ) );
this.textBox1.Text += "1";
if ( odd )
{
this.textBox2.Text += "2";
}
odd = !odd;
}
}
大体1秒、2秒で良いなら
private async void Form1_Load( object sender, EventArgs e )
{
var odd = false;
while ( true )
{
await Task.Delay( TimeSpan.FromSeconds( 1.0 ) );
this.textBox1.Text += "1";
if ( odd )
{
this.textBox2.Text += "2";
}
odd = !odd;
}
}
836デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/08(土) 03:29:13.50ID:i8sbDftDa >>817
TextBoxのTextを操作するだけのコードが非同期っていうのがまず意味が分からないよ。
非同期っていうのは普通はUIスレッドならUIスレッドの処理をブロックせず、
同時並行で別の何かの処理をするって意味じゃないの?
何でか知らんけどとにかくフィールドを作らずにTextBoxのTextを一定間隔で操作したいなら
(1) TextBox自身を継承してそういう機能を追加する
(2) リストに登録されたActionを指定間隔で実行するstaticクラスを作る
こんなとこじゃないのかな
TextBoxのTextを操作するだけのコードが非同期っていうのがまず意味が分からないよ。
非同期っていうのは普通はUIスレッドならUIスレッドの処理をブロックせず、
同時並行で別の何かの処理をするって意味じゃないの?
何でか知らんけどとにかくフィールドを作らずにTextBoxのTextを一定間隔で操作したいなら
(1) TextBox自身を継承してそういう機能を追加する
(2) リストに登録されたActionを指定間隔で実行するstaticクラスを作る
こんなとこじゃないのかな
837デフォルトの名無しさん (ブーイモ MM3b-H3QT)
2020/02/08(土) 04:42:01.38ID:xFeDUF3NM whileでtaskを回したら駄目なの?
838デフォルトの名無しさん (ワッチョイ 7f02-sfHF)
2020/02/08(土) 04:53:34.35ID:i54vVeN30839デフォルトの名無しさん (ワッチョイ 5763-Fhqg)
2020/02/08(土) 10:59:47.25ID:S7+vC9vw0 なぜフィールドを作らずに実現したいのか?
質問者はフィールドとCにおけるグローバル変数の区別がついていないだけな気がする
学習用にタイマー使ってみる、はわかるけどフィールド使わずに、って意味わかんない
質問者はフィールドとCにおけるグローバル変数の区別がついていないだけな気がする
学習用にタイマー使ってみる、はわかるけどフィールド使わずに、って意味わかんない
840デフォルトの名無しさん (アウアウウー Sa9b-QEaq)
2020/02/08(土) 11:14:55.30ID:iN9jv2T/a 学習用の課題に意味求めて進行止めるってまんま発達障害だな
小学校でいうと「たかしくんって誰?」とかそんな思考で問題自体に疑問持って解答諦める変なやつ
小学校でいうと「たかしくんって誰?」とかそんな思考で問題自体に疑問持って解答諦める変なやつ
841デフォルトの名無しさん (ラクッペ MMcb-OK07)
2020/02/08(土) 11:17:20.82ID:W0we+YORM842デフォルトの名無しさん (ラクッペ MMcb-OK07)
2020/02/08(土) 11:18:52.11ID:W0we+YORM843デフォルトの名無しさん (ラクッペ MMcb-OK07)
2020/02/08(土) 11:20:45.26ID:W0we+YORM 貼っておきますので参考にしてくださいね
https://snabi.jp/article/77
https://snabi.jp/article/77
844デフォルトの名無しさん (アウアウウー Sa9b-QEaq)
2020/02/08(土) 11:25:16.61ID:iN9jv2T/a なんでこのキチガイって毎回三連投するんだろうな
845デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/08(土) 11:34:14.25ID:mzDbuDLWa846デフォルトの名無しさん (アウアウウー Sa9b-VM48)
2020/02/08(土) 11:35:29.41ID:mzDbuDLWa847デフォルトの名無しさん (アウアウウー Sa9b-m0mG)
2020/02/08(土) 12:12:03.27ID:7UG0Y89ua >>825
クラス変数とインスタンス変数を混同していないか? もしくはそれらを知らない?
クラス変数とインスタンス変数を混同していないか? もしくはそれらを知らない?
848デフォルトの名無しさん (ワッチョイ 9f79-Zca7)
2020/02/08(土) 12:22:44.83ID:P57LPGn+0 クラス変数とインスタンス変数という用語はC#ではあまり使わない
C#はフィールドが静的かそうでないかという文化だからそう捉えておいた方が意思疎通しやすいぞ
C#はフィールドが静的かそうでないかという文化だからそう捉えておいた方が意思疎通しやすいぞ
849デフォルトの名無しさん (ワッチョイ 9f79-Zca7)
2020/02/08(土) 12:27:09.20ID:P57LPGn+0 故にグローバル変数とかクラス変数とか言ってる時点で
こいつC#の基本的なところを全く勉強してないなと判断できる
こいつC#の基本的なところを全く勉強してないなと判断できる
850デフォルトの名無しさん (アウアウウー Sa9b-QEaq)
2020/02/08(土) 13:04:01.22ID:iN9jv2T/a 今まさに学んでる最中の人を勉強不足と罵るすげえ奴がいるな
幼稚園児相手に「え、キミ掛け算もできないの(笑)」とかイキるタイプか
幼稚園児相手に「え、キミ掛け算もできないの(笑)」とかイキるタイプか
851デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
2020/02/08(土) 13:56:53.42ID:v1IBJgnWF System.Drawing の Point は int か PointF の float なのに
System.Windows の Point は double で
結局3種類ある訳で
なんでこんな面倒くさいことになってんの?
System.Windows の Point は double で
結局3種類ある訳で
なんでこんな面倒くさいことになってんの?
852デフォルトの名無しさん (ワッチョイ 9f79-Zca7)
2020/02/08(土) 14:09:15.37ID:P57LPGn+0 いや学んでないでしょ
本で勉強すれば最序盤で解説されることだし
ググって拾っても確実にその知識には最序盤で出会う
本で勉強すれば最序盤で解説されることだし
ググって拾っても確実にその知識には最序盤で出会う
853デフォルトの名無しさん (ワッチョイ bfde-gMkZ)
2020/02/08(土) 14:10:16.42ID:G9H9woiW0 Media.Color「そんなこと言ってもなぁ?」
Drawing.Color「ああ、今更だよなぁ」
Drawing.Color「ああ、今更だよなぁ」
854デフォルトの名無しさん (ワッチョイ 7f02-sfHF)
2020/02/08(土) 14:27:00.86ID:i54vVeN30 >>846
まず同期処理で書くことできる?
async、awaitは非同期をあまり意識させることなく実装できるのが強み
なんで、まずは普通に書けないと話にならない
自分は非同期じゃなかったらこうするってコードをあげてみたらどう?
まず同期処理で書くことできる?
async、awaitは非同期をあまり意識させることなく実装できるのが強み
なんで、まずは普通に書けないと話にならない
自分は非同期じゃなかったらこうするってコードをあげてみたらどう?
855デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
2020/02/08(土) 14:32:32.65ID:v1IBJgnWF async await って Unity でも使えたっけ
856デフォルトの名無しさん (ワッチョイ d701-C+H6)
2020/02/08(土) 14:33:02.90ID:gfxMjDVS0 >>851
System.Drawingはuwpで使えるかな?
System.Drawingはuwpで使えるかな?
857デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
2020/02/08(土) 14:41:06.06ID:v1IBJgnWF UWP 使う積もりは無いので大丈夫
858デフォルトの名無しさん (ワッチョイ bfde-gMkZ)
2020/02/08(土) 14:43:17.18ID:Zbhib5650 asyncawait使っちゃうと普通のメソッドとして呼びたいときハングアップするよ
ババ付きにしちゃうよりはDoEvents呼んだ方がいいからね
ババ付きにしちゃうよりはDoEvents呼んだ方がいいからね
859デフォルトの名無しさん (スフッ Sdbf-uawS)
2020/02/08(土) 14:46:57.18ID:jh1EVlBnd860デフォルトの名無しさん (ワッチョイ 9f79-Zca7)
2020/02/08(土) 14:49:11.72ID:P57LPGn+0 WPFはそこそこ普及したがUWPは完全に死産だったな
861デフォルトの名無しさん (ワッチョイ d77b-sQGl)
2020/02/08(土) 14:54:00.62ID:PM68oxyf0 意味不明な縛りプレイとか雑談とか回線コロコロしている人他へ行ってくれないかな
862デフォルトの名無しさん (ワッチョイ 17b0-tipF)
2020/02/08(土) 15:45:57.77ID:ybbIdUq60 プログラムとして良い悪いは別にして
グローバル変数使わずにローカルだけでやるというのは
明確にオブジェクト指向を意識する練習でもあるから
頭の体操にはいいじゃん
グローバル変数使わずにローカルだけでやるというのは
明確にオブジェクト指向を意識する練習でもあるから
頭の体操にはいいじゃん
863デフォルトの名無しさん (スッップ Sdbf-eNXp)
2020/02/08(土) 15:51:43.96ID:L/vIW5KMd >>858
何言ってんの?
何言ってんの?
864デフォルトの名無しさん (ワッチョイ bfde-gMkZ)
2020/02/08(土) 17:11:40.43ID:jUN+F5PI0865デフォルトの名無しさん (ワッチョイ b717-56gX)
2020/02/08(土) 17:21:29.49ID:91b60hth0 >>864
しないよ
しないよ
866デフォルトの名無しさん (ワッチョイ f78c-K3N/)
2020/02/08(土) 17:41:59.50ID:+HA53xM00 await を使ったメソッドの完了を待つTask で
Task.Wait()
するとGUI アプリではデッドロックする
でも、そこさえ注意すればいいだけ
Task.Wait()
するとGUI アプリではデッドロックする
でも、そこさえ注意すればいいだけ
867デフォルトの名無しさん (ワッチョイ 9f6a-56gX)
2020/02/08(土) 17:48:37.98ID:D+bhjLNE0 めんどくせえから全部ConfigureAwait(false)書いときゃいいんだよ!
868デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/08(土) 18:18:34.40ID:Ovre0sLva >>862
オブジェクト指向関係あるかな?w
というかね、フィールドという明示的な実体を持たないくせに
インスタンスと同じ寿命を持つ「何か」が存在する、というのを
気持ち悪いと思わない人はプログラマの適正が疑わしいと個人的には思うよw
オブジェクト指向関係あるかな?w
というかね、フィールドという明示的な実体を持たないくせに
インスタンスと同じ寿命を持つ「何か」が存在する、というのを
気持ち悪いと思わない人はプログラマの適正が疑わしいと個人的には思うよw
869デフォルトの名無しさん (アウアウウー Sa9b-WggA)
2020/02/08(土) 19:07:17.64ID:Ovre0sLva 書いてみたけどくだらんなやっぱりw
protected async override void OnLoad(EventArgs e)
{
base.OnLoad(e);
var foo = WrapAction(() => textBox1.Text += "1", 1000);
var bar = WrapAction(() => textBox2.Text += "2", 2000);
await RepeatAction(() =>{foo(); bar();}, 10);
}
private async Task RepeatAction(Action a, int interval)
{
var closed = false;
FormClosed += (sender, e) => closed = true;
while(!closed)
{
await Task.Delay(interval);
a();
}
}
private Action WrapAction(Action a, int interval)
{
var timeout = System.Environment.TickCount + interval;
return () =>
{
if(Environment.TickCount >= timeout)
{
timeout += interval;
a();
}
};
}
protected async override void OnLoad(EventArgs e)
{
base.OnLoad(e);
var foo = WrapAction(() => textBox1.Text += "1", 1000);
var bar = WrapAction(() => textBox2.Text += "2", 2000);
await RepeatAction(() =>{foo(); bar();}, 10);
}
private async Task RepeatAction(Action a, int interval)
{
var closed = false;
FormClosed += (sender, e) => closed = true;
while(!closed)
{
await Task.Delay(interval);
a();
}
}
private Action WrapAction(Action a, int interval)
{
var timeout = System.Environment.TickCount + interval;
return () =>
{
if(Environment.TickCount >= timeout)
{
timeout += interval;
a();
}
};
}
870デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/08(土) 19:53:29.35ID:0YppiA+B0 OS:Rasbian Stretch
ランタイム:Mono JIT compiler version 4.6.2 (Debian 4.6.2.7+dfsg-1)
ソース:https://i.imgur.com/cFLOcYN.png
パッケージ:https://i.imgur.com/bWRI0Zg.png
エラー:Method 'System.Net.ServicePointManager.CloseConnectionGroups' not found.
ビルドターゲット:.NET Framework4.6.1
Windowsでは正常に動作します。
AngleSharpを入れていない場合であればMonoのほうでも動作します。
Anglesharpを入れるとバイナリのフォルダに大量のSystem.***.dllができます。
AngleSharpを入れていないと動くのに入れるとエラーが出る理由はなんですか?
ランタイム:Mono JIT compiler version 4.6.2 (Debian 4.6.2.7+dfsg-1)
ソース:https://i.imgur.com/cFLOcYN.png
パッケージ:https://i.imgur.com/bWRI0Zg.png
エラー:Method 'System.Net.ServicePointManager.CloseConnectionGroups' not found.
ビルドターゲット:.NET Framework4.6.1
Windowsでは正常に動作します。
AngleSharpを入れていない場合であればMonoのほうでも動作します。
Anglesharpを入れるとバイナリのフォルダに大量のSystem.***.dllができます。
AngleSharpを入れていないと動くのに入れるとエラーが出る理由はなんですか?
871デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/08(土) 20:00:30.54ID:1TiVu9qyr さっき書いた通り
872デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/08(土) 20:01:31.70ID:0YppiA+B0873デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/08(土) 20:06:39.89ID:1TiVu9qyr エラー内容見ろ
エラー:Method 'System.Net.ServicePointManager.CloseConnectionGroups' not found.
System.Net.ServicePointManager.CloseConnectionGroupsというメソッドが見つからないと言うことだ
何故見つからないかと言えば前に書いた内容で調べるべき
エラー:Method 'System.Net.ServicePointManager.CloseConnectionGroups' not found.
System.Net.ServicePointManager.CloseConnectionGroupsというメソッドが見つからないと言うことだ
何故見つからないかと言えば前に書いた内容で調べるべき
874デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/08(土) 20:10:36.90ID:1TiVu9qyr 入門者なのかもしれないけどいきなり面倒な方法を使って勉強しても大変だよ
標準的な内容である程度勉強した後に発展でMONOを使うならいいと思うと書いてもまあ理解されないだろうな
標準的な入門を選ぶか
いばらの道の入門を選ぶかは個人の自由だもの
標準的な内容である程度勉強した後に発展でMONOを使うならいいと思うと書いてもまあ理解されないだろうな
標準的な入門を選ぶか
いばらの道の入門を選ぶかは個人の自由だもの
875デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/08(土) 20:11:25.33ID:0YppiA+B0876デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/08(土) 20:30:21.35ID:1TiVu9qyr 知らないが憶測
AngleSharpで要求されるバージョンのライブラリを入れると
そのメソッドがないライブラリが入りそちらが優先されてしまうため
AngleSharpで要求されるバージョンのライブラリを入れると
そのメソッドがないライブラリが入りそちらが優先されてしまうため
877デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/08(土) 20:38:36.42ID:0YppiA+B0 しかしWindowsではエラーになりません
■ このスレッドは過去ログ倉庫に格納されています
