■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7b7f-3FY0)
2017/10/17(火) 00:41:22.60ID:JxIRdCj70687デフォルトの名無しさん (ドコグロ MM0a-VrsN)
2020/01/05(日) 15:01:43.69ID:jkDw/EWEM こんなくだらん喧嘩の起きる余地がないGoが流行るのも納得
688デフォルトの名無しさん (ワッチョイ 797b-s4wZ)
2020/01/05(日) 15:26:07.93ID:UANz5iul0 >>686
> 無意味に同期/非同期の両方をサポートしなくていい
無意味も何も、普通に作ったら両対応にしかならないと思うぞ。
逆に、そうならないのなら、コーディングを見直した方がいい。
後半については、多分お前の「非同期」は一般の意味とは違うと思うが、
同期APIと非同期APIの両方が用意されている場合、今後は非同期APIだけ使え、というのはお前の自由だ.。
ただ現実として世の大勢は同期APIで、そしてこれで全く問題ない場合が多く、そうはならないと思うけど。
(例えばファイルなら中身がないと次の処理が出来ず、話を進めようがない事が多い)
なお非同期縛りが心地よいのならJavaScriptを勧める。あれは宗教的にそうなってる。
今はAPIの中身についての話なんてしてない。それがお前流の逃げならそれでもいいが、
ここは「C#でどう書くか」の階層の話をするところであって、APIの中身ガーとか言うのなら最低限先にそう言っておくべきだろ。
ただ俺はそれについてつき合う気はないが。(他の人が食いつくのは自由)
> 無意味に同期/非同期の両方をサポートしなくていい
無意味も何も、普通に作ったら両対応にしかならないと思うぞ。
逆に、そうならないのなら、コーディングを見直した方がいい。
後半については、多分お前の「非同期」は一般の意味とは違うと思うが、
同期APIと非同期APIの両方が用意されている場合、今後は非同期APIだけ使え、というのはお前の自由だ.。
ただ現実として世の大勢は同期APIで、そしてこれで全く問題ない場合が多く、そうはならないと思うけど。
(例えばファイルなら中身がないと次の処理が出来ず、話を進めようがない事が多い)
なお非同期縛りが心地よいのならJavaScriptを勧める。あれは宗教的にそうなってる。
今はAPIの中身についての話なんてしてない。それがお前流の逃げならそれでもいいが、
ここは「C#でどう書くか」の階層の話をするところであって、APIの中身ガーとか言うのなら最低限先にそう言っておくべきだろ。
ただ俺はそれについてつき合う気はないが。(他の人が食いつくのは自由)
689デフォルトの名無しさん (ワッチョイ ed0c-UAPS)
2020/01/05(日) 15:40:34.39ID:eKdfVC3B0 そもC#はSTAとMTAの両方、なんなら混在する環境に対応しなければならないので
どっちかで綺麗に書けるかけるからこうすべきだってお花畑はなかなか通用しないのよね
結局C#においてはasync/awaitもTaskの中で頻発する特定のパターンを楽にしてくれるだけ
>今後は非同期APIだけ使え
新規のAPIではMSはそういう方針だねえ(winrt)
どっちかで綺麗に書けるかけるからこうすべきだってお花畑はなかなか通用しないのよね
結局C#においてはasync/awaitもTaskの中で頻発する特定のパターンを楽にしてくれるだけ
>今後は非同期APIだけ使え
新規のAPIではMSはそういう方針だねえ(winrt)
690デフォルトの名無しさん (ワッチョイ dd02-yXa+)
2020/01/05(日) 18:06:33.11ID:VTWLVkpA0 WPFではファイル操作関数を同期的に呼び出せたが、UWPだと許されない。
ちっちゃいファイルの読込みでGUIの遅延も体感できないぐらいだけどダメなんだ。
ちょっとしたプログラム書く時に面倒だね。
ちっちゃいファイルの読込みでGUIの遅延も体感できないぐらいだけどダメなんだ。
ちょっとしたプログラム書く時に面倒だね。
691デフォルトの名無しさん (ワッチョイ 4d42-UAPS)
2020/01/05(日) 18:11:57.59ID:qdBxOc2v0 >>690
async/awaitあるから普通は問題無くかけるけど、コンストラクターでファイル弄るときは面倒なんだよな
async/awaitあるから普通は問題無くかけるけど、コンストラクターでファイル弄るときは面倒なんだよな
692デフォルトの名無しさん (ワッチョイ dd02-yXa+)
2020/01/05(日) 18:23:07.47ID:VTWLVkpA0 >>690だけど、ちょっと間違った。
同期的には書けるけど、プライマリスレッド(GUI)からだとダメなんだ。
同期的には書けるけど、プライマリスレッド(GUI)からだとダメなんだ。
693デフォルトの名無しさん (ドコグロ MM0a-VrsN)
2020/01/05(日) 19:12:31.63ID:jkDw/EWEM GUIアプリならネイティブスレッドのコストは問題にならないから、
GUIをフリーズさせたくないならイベントハンドラでスレッド起こしてあとは全部同期で書くのが一番シンプルで分かりやすい
最近のC#のasync信仰はWebで膨大なリクエストを捌くときの話で、WinのGUIアプリには全くと言い切っていいほど関係ないよ
GUIをフリーズさせたくないならイベントハンドラでスレッド起こしてあとは全部同期で書くのが一番シンプルで分かりやすい
最近のC#のasync信仰はWebで膨大なリクエストを捌くときの話で、WinのGUIアプリには全くと言い切っていいほど関係ないよ
694デフォルトの名無しさん (ワッチョイ 9901-Ivq/)
2020/01/05(日) 19:23:11.93ID:kO8WyPRk0 >>693
guiのイベントでawaitじゃあかんの?
guiのイベントでawaitじゃあかんの?
695デフォルトの名無しさん (ドコグロ MM0a-VrsN)
2020/01/05(日) 19:34:01.01ID:jkDw/EWEM >>694
もちろんawaitはするよ。
await Task.Run(() => {
//あとは全部同期処理
})
イベントハンドラでこう書くだけ。
コントロールを触るときにInvokeが必要なことさえ忘れなければこれでいい。
ちなみにGoはこの考え方を更に突き詰めて、スレッドを独自の軽量な仕組みに置き換えることでWebも全部同期で書けるようにしてるね。
もちろんawaitはするよ。
await Task.Run(() => {
//あとは全部同期処理
})
イベントハンドラでこう書くだけ。
コントロールを触るときにInvokeが必要なことさえ忘れなければこれでいい。
ちなみにGoはこの考え方を更に突き詰めて、スレッドを独自の軽量な仕組みに置き換えることでWebも全部同期で書けるようにしてるね。
696デフォルトの名無しさん (ワッチョイ 06de-HDsw)
2020/01/05(日) 19:38:18.63ID:AZQzKocv0 invokeしても死ぬときあんじゃん?
→運が悪かったと諦める
→解決するまでひたすら回避策を突っ込んでいく
→マイクロソフトに電話かける
→上記を制限時間いっぱいまで全部やってみる
→運が悪かったと諦める
→解決するまでひたすら回避策を突っ込んでいく
→マイクロソフトに電話かける
→上記を制限時間いっぱいまで全部やってみる
697デフォルトの名無しさん (ブーイモ MM62-eGyC)
2020/01/05(日) 20:03:16.92ID:qqN6BGPlM ファイルオープンは同期的とかいう謎の断定の声もあるけど、
UWPだとオープンも非同期なんだね。
https://docs.microsoft.com/ja-jp/windows/uwp/files/quickstart-reading-and-writing-files
アクセスするストレージへがローカルストレージだけじゃなくてクラウドストレージなのも一般的になってきたから、
ファイルを開くために必要な一連の操作もタイムアウトして失敗する可能性を考えなくちゃならなくなったということなのかな。
UWPだとオープンも非同期なんだね。
https://docs.microsoft.com/ja-jp/windows/uwp/files/quickstart-reading-and-writing-files
アクセスするストレージへがローカルストレージだけじゃなくてクラウドストレージなのも一般的になってきたから、
ファイルを開くために必要な一連の操作もタイムアウトして失敗する可能性を考えなくちゃならなくなったということなのかな。
698デフォルトの名無しさん (ワッチョイ 9901-Ivq/)
2020/01/05(日) 20:08:14.69ID:kO8WyPRk0 >>695
なんだ… それなら
〉最近のC#のasync信仰はWebで膨大なリクエストを捌くときの話で、WinのGUIアプリには全くと言い切っていいほど関係ないよ
とちゃうやん
頭ではわかっているのに言い方が間違ってる(言い方が悪い)人時々いるよな
なんだ… それなら
〉最近のC#のasync信仰はWebで膨大なリクエストを捌くときの話で、WinのGUIアプリには全くと言い切っていいほど関係ないよ
とちゃうやん
頭ではわかっているのに言い方が間違ってる(言い方が悪い)人時々いるよな
699デフォルトの名無しさん (ワッチョイ dd02-yXa+)
2020/01/05(日) 20:47:26.26ID:VTWLVkpA0700デフォルトの名無しさん (ワッチョイ 7197-IH4P)
2020/01/05(日) 20:59:12.88ID:dqyEtfEv0 >>699
UIスレッドでawaitしてもブロッキングにはならないと思うけど。
await以降のコードがawaitしている処理が終わったら実行されるだけで、
処理中は一旦asyncのメソッドを抜けてイベントループに戻るよ
UIスレッドでawaitしてもブロッキングにはならないと思うけど。
await以降のコードがawaitしている処理が終わったら実行されるだけで、
処理中は一旦asyncのメソッドを抜けてイベントループに戻るよ
701デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/05(日) 21:07:50.78ID:3XFOch5ma702デフォルトの名無しさん (ワッチョイ dd5f-BfT8)
2020/01/05(日) 21:15:43.37ID:GaCs2bDS0703デフォルトの名無しさん (ワッチョイ 9901-Ivq/)
2020/01/05(日) 22:16:53.04ID:kO8WyPRk0 >>701
実行ボタンの場合、何も書かないほうが稀だと思うけど
実行ボタンの場合、何も書かないほうが稀だと思うけど
704デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/05(日) 22:31:27.48ID:3XFOch5ma >>703
処理結果の反映にInvoke使うんなら不要でしょ
処理結果の反映にInvoke使うんなら不要でしょ
705デフォルトの名無しさん (ワッチョイ 9901-Ivq/)
2020/01/05(日) 22:43:52.66ID:kO8WyPRk0 >>704
ボタンの連打対策が必要とか、普通にプログラム書いてる人ならわかると思うんだけど
ボタンの連打対策が必要とか、普通にプログラム書いてる人ならわかると思うんだけど
706デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/05(日) 22:53:53.05ID:3XFOch5ma707デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/05(日) 23:03:25.02ID:3XFOch5ma もしかして705はBeginInvokeと勘違いしてるんだろうか
InvokeはUIスレッド上で実際に処理が完了するまで呼出元のスレッドをブロックするから、連打対策のような用途にも使えるんだよ
なぜかコピペサイトではBeginInvokeだけ紹介されてることが多くて、意外とInvokeの方は知られてなかったりするんだよね
よく理解しないで使ってデッドロックさせるアホがいるからかな
InvokeはUIスレッド上で実際に処理が完了するまで呼出元のスレッドをブロックするから、連打対策のような用途にも使えるんだよ
なぜかコピペサイトではBeginInvokeだけ紹介されてることが多くて、意外とInvokeの方は知られてなかったりするんだよね
よく理解しないで使ってデッドロックさせるアホがいるからかな
708デフォルトの名無しさん (アウアウウー Saa5-CnQr)
2020/01/05(日) 23:09:20.18ID:MI3jwdk/a 何を争ってるのかよく分からんけど、連打対策になるって主張もよく分かんないねw
709デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/05(日) 23:12:07.22ID:3XFOch5ma いや、そもそも処理終了後にEnabledを戻すだけならBeginInvokeでもいいか
細かいことを言えばInvoke/BeginInvokeだと一度メッセージループに処理が返ってしまい連打を防ぎきれない可能性があるから
無効化の方はRunの前にやっておく方がベターだけど、いずれにせよ後続処理はRunの中からInvoke/BeginInvokeで問題ないね
(というか振る舞いは等価)
細かいことを言えばInvoke/BeginInvokeだと一度メッセージループに処理が返ってしまい連打を防ぎきれない可能性があるから
無効化の方はRunの前にやっておく方がベターだけど、いずれにせよ後続処理はRunの中からInvoke/BeginInvokeで問題ないね
(というか振る舞いは等価)
710デフォルトの名無しさん (ワッチョイ 3102-UAPS)
2020/01/05(日) 23:13:02.39ID:XwlRh/tg0 継続ブロックがUIスレッドに戻ってくるからInvoke不要ってのがasyncイベントハンドラの価値じゃねえのん
逆にメリットそれだけだからTaskに包んで書こうが構わんやろって向きもあるんだろうけど
マそもそも同期コンテキストの前提がおけないライブラリ内のコードでは
継続ブロックがどのスレッドで動き出すかわからないなんてことも普通にあるので
ConfigureAwaitとか必要悪ともお付き合いせにゃならんのが辛いところネー
逆にメリットそれだけだからTaskに包んで書こうが構わんやろって向きもあるんだろうけど
マそもそも同期コンテキストの前提がおけないライブラリ内のコードでは
継続ブロックがどのスレッドで動き出すかわからないなんてことも普通にあるので
ConfigureAwaitとか必要悪ともお付き合いせにゃならんのが辛いところネー
711デフォルトの名無しさん (ワッチョイ 7197-IH4P)
2020/01/05(日) 23:19:25.32ID:dqyEtfEv0 >>706
それはTaskだけでなんでも出来るからawaitなんかいらないよ言ってることにならない?
もちろんInvoke使えばできるだろうけど、アニメーションなんかが絡むとコールバックだらけになりそうな気がする。
Task.Runの中のInvokeにはプログレスバーを進める、テキストエリアにテキストログを出す、
みたいなあまり本質的でないUIの変更にとどめておいて、本格的な処理結果の表示はawait以降に書く、なんてのも
コードの読みやすさの確保のためには有効な手順じゃないかな。自分はそうしてる。
それはTaskだけでなんでも出来るからawaitなんかいらないよ言ってることにならない?
もちろんInvoke使えばできるだろうけど、アニメーションなんかが絡むとコールバックだらけになりそうな気がする。
Task.Runの中のInvokeにはプログレスバーを進める、テキストエリアにテキストログを出す、
みたいなあまり本質的でないUIの変更にとどめておいて、本格的な処理結果の表示はawait以降に書く、なんてのも
コードの読みやすさの確保のためには有効な手順じゃないかな。自分はそうしてる。
712デフォルトの名無しさん (ワッチョイ 9901-Ivq/)
2020/01/06(月) 00:46:28.60ID:3wPOSvMe0 >>709
実際にそんなソース書くようなやつはセンス無いから、営業や総務に異動させるわ
実際にそんなソース書くようなやつはセンス無いから、営業や総務に異動させるわ
713デフォルトの名無しさん (ワッチョイ 9901-W0QA)
2020/01/06(月) 18:16:42.26ID:Qm/elW020 ファイルサーバにC#のサービスを常駐させてクライアントからリクエスト受けたらdosコマンドを実行したいのですがどういう技術で実現出来るでしょうか?
単純にサービスだとリクエストをどう受ければ良いのだろうと悩んでおります
単純にサービスだとリクエストをどう受ければ良いのだろうと悩んでおります
714デフォルトの名無しさん (ドコグロ MM75-VrsN)
2020/01/06(月) 18:26:36.55ID:+ezJCAApM そんなもんApacheでも立ててCGIでええやろ
C#なんぞ要らん
C#なんぞ要らん
715デフォルトの名無しさん (ワッチョイ 9901-W0QA)
2020/01/06(月) 18:33:44.24ID:Qm/elW020 昔なんですけどwebサーバ立てないでリクエスト受け付けるサービス作ってた人が居たんです
そんなこと出来るんだと思った数年後の現在調べてみても何の技術か解らず
C#で作られていたのは覚えてるのですが
そんなこと出来るんだと思った数年後の現在調べてみても何の技術か解らず
C#で作られていたのは覚えてるのですが
716デフォルトの名無しさん (ワッチョイ 9d17-UAPS)
2020/01/06(月) 18:38:57.81ID:X36Zclkj0 サービス作った人にやり方を聞けばいいのでは
717デフォルトの名無しさん (ワッチョイ 42ad-f3Fz)
2020/01/06(月) 18:42:12.36ID:HrPzlOWn0 >>713
https://dobon.net/vb/dotnet/internet/tcpclientserver.html
ソケットで受けてProcess.Startとかすればいけると思うけどあまりお勧めしない
https://dobon.net/vb/dotnet/internet/tcpclientserver.html
ソケットで受けてProcess.Startとかすればいけると思うけどあまりお勧めしない
718デフォルトの名無しさん (ブーイモ MMb6-OcRt)
2020/01/06(月) 18:48:18.84ID:sG64rza2M System.Net.HttpListenerのこと言ってる?
719デフォルトの名無しさん (ワッチョイ dd5f-BtD6)
2020/01/06(月) 21:20:55.59ID:/c/Em2OW0 >>715
TcpListener/TcpClientでSocketをそのまま使うかWCFかな
TcpListener/TcpClientでSocketをそのまま使うかWCFかな
720デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2020/01/06(月) 21:47:44.44ID:78RinjQr0 >>713
どうやって実現するかを考える前に
解決したい問題を定義することからはじめたほうがいい
そうしないと適切な選択肢を発見できない可能性が高いから
このケースで問題の定義ってのは
「どういう処理を、どういう理由で、どういう制約の中で実行したいのか」
どうやって実現するかを考える前に
解決したい問題を定義することからはじめたほうがいい
そうしないと適切な選択肢を発見できない可能性が高いから
このケースで問題の定義ってのは
「どういう処理を、どういう理由で、どういう制約の中で実行したいのか」
721デフォルトの名無しさん (ワッチョイ 422c-RM0q)
2020/01/07(火) 00:56:13.00ID:ueOqy5pf0 >>715
そりゃ、Ruby でも、socket モジュールで、TCP サーバーを作れるけど、そんな面倒な事はしない。
Sinatra を使えば、ルーティングまで出来るし、
他にも、PowerShell から、1-liner で、
Rubyで作られた、遅い標準ウェブサーバーの、WEBrick も起動できる
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
何も考えなくても、これでブラウザからアクセスできる
http://localhost:8080
そりゃ、Ruby でも、socket モジュールで、TCP サーバーを作れるけど、そんな面倒な事はしない。
Sinatra を使えば、ルーティングまで出来るし、
他にも、PowerShell から、1-liner で、
Rubyで作られた、遅い標準ウェブサーバーの、WEBrick も起動できる
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
何も考えなくても、これでブラウザからアクセスできる
http://localhost:8080
722デフォルトの名無しさん (ワッチョイ ade6-UAPS)
2020/01/07(火) 01:21:55.02ID:j8v37+r+0 IIS Expressは?
723デフォルトの名無しさん (ワッチョイ e2cf-UAPS)
2020/01/07(火) 01:28:51.16ID:ROWMtFOx0 C#で作られたらしいのになぜか他言語推しするやつw
724デフォルトの名無しさん (ワッチョイ 9901-W0QA)
2020/01/07(火) 07:07:29.19ID:HzCvb3eG0 WCFという言葉を聞いた事があるのでそれかと思います
調べてみます
ありがとうございます
調べてみます
ありがとうございます
725デフォルトの名無しさん (ワッチョイ 9901-W0QA)
2020/01/07(火) 07:12:14.82ID:HzCvb3eG0726デフォルトの名無しさん (ワンミングク MM92-Lg55)
2020/01/07(火) 16:22:44.68ID:W35nJ2lzM .NET 5で何か変わると思う?
727デフォルトの名無しさん (ドコグロ MM75-VrsN)
2020/01/07(火) 17:03:30.97ID:muv+YNpYM .NET5は4.x以前とは全くの別物であり、何もかも変わると思っておけばいい
業務ドカタは永遠に4.8から移行しないだろうから、Web系との間で深刻な分断が生じることになる
業務ドカタは永遠に4.8から移行しないだろうから、Web系との間で深刻な分断が生じることになる
728デフォルトの名無しさん (ワッチョイ d188-IJNu)
2020/01/07(火) 18:26:40.26ID:RhWBTAz60 未だにwin7な企業もわんさかいるし4.8は向こう5年くらいは現役になっちゃうだろうねー
729デフォルトの名無しさん (ワッチョイ c210-E95m)
2020/01/07(火) 18:51:41.45ID:4CH2lMXx0 ぇー
4.8から5に移植する必要がでてくるの?
4.8から5に移植する必要がでてくるの?
730デフォルトの名無しさん (ワッチョイ e2cf-UAPS)
2020/01/07(火) 19:12:37.85ID:ROWMtFOx0 そんな変わらんから
731デフォルトの名無しさん (ドコグロ MM75-VrsN)
2020/01/07(火) 20:12:30.06ID:muv+YNpYM >>730
WebFormsが使えないから、既存の.NETアプリの半分くらいは完全に死亡するよ
WebFormsが使えないから、既存の.NETアプリの半分くらいは完全に死亡するよ
732デフォルトの名無しさん (ドコグロ MM75-VrsN)
2020/01/07(火) 20:26:57.89ID:muv+YNpYM あとヤバいのはWCF&.NET Remoting死亡あたりだな
経験上、Classic ASP.NETは使ってるつもりがなくてもユーティリティ類を使ってしまってるケースが結構多くて、大規模なアプリはだいたい死ぬ
経験上、Classic ASP.NETは使ってるつもりがなくてもユーティリティ類を使ってしまってるケースが結構多くて、大規模なアプリはだいたい死ぬ
733デフォルトの名無しさん (ドコグロ MM75-VrsN)
2020/01/07(火) 20:32:52.17ID:muv+YNpYM あと厄介なのがNuGetの依存関係ね
SDKのバージョンを上げるとだいたいNuGetパッケージのバージョンアップ祭りになるんで、だいたいどっかの破壊的変更を踏んで逝く
SDKのバージョンを上げるとだいたいNuGetパッケージのバージョンアップ祭りになるんで、だいたいどっかの破壊的変更を踏んで逝く
734デフォルトの名無しさん (ワッチョイ 426a-UAPS)
2020/01/07(火) 22:31:07.85ID:o9NgJRxS0735デフォルトの名無しさん (ワッチョイ 0642-UAPS)
2020/01/07(火) 23:04:37.23ID:wcxyvOp00 >>734
VB6はC#より早いしWinFormsと見た目もそれほど変わらんからな
VB6はC#より早いしWinFormsと見た目もそれほど変わらんからな
736デフォルトの名無しさん (ワッチョイ 9d17-UAPS)
2020/01/07(火) 23:20:19.80ID:b0Bey+qG0 VS2010以降の操作性に慣れたらVB6には戻りたくないわ
737デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/07(火) 23:26:15.05ID:8JDfUSzea .NET CoreはLTSでも3年でサポートが切れる
もし.NET5も同じならドカタITでは互換性以前に検討にも値しないレベル
もし.NET5も同じならドカタITでは互換性以前に検討にも値しないレベル
738デフォルトの名無しさん (ワッチョイ 7fad-wbog)
2020/01/08(水) 00:38:18.01ID:HFuLNThA0 Java8的な感じで残りそうな気もする
4.8で打ち止めなら枯れて安定してるし
4.8で打ち止めなら枯れて安定してるし
739デフォルトの名無しさん (ワッチョイ 5fae-Hp8P)
2020/01/08(水) 17:07:05.84ID:Jh9kZvPt0 WinFormのTextboxやRichTextBoxを使用して、
エスケープシーケンスの様に文字単位で色を変えることは可能でしょうか?
String str = "例文:\red赤\r\n \green緑\r\n \black黒\r\n"; // \red \green \blackは仮想のエスケープシーケンス
TextBox.Text = str;
例えば上記で、赤・緑・黒の色がそれぞれ変えるのは可能でしょうか?
それともエスケープシーケンスは改行やTABにだけ対応していて、
色までは対応していなくて不可能でしょうか?
エスケープシーケンスの様に文字単位で色を変えることは可能でしょうか?
String str = "例文:\red赤\r\n \green緑\r\n \black黒\r\n"; // \red \green \blackは仮想のエスケープシーケンス
TextBox.Text = str;
例えば上記で、赤・緑・黒の色がそれぞれ変えるのは可能でしょうか?
それともエスケープシーケンスは改行やTABにだけ対応していて、
色までは対応していなくて不可能でしょうか?
740デフォルトの名無しさん (ワキゲー MM7f-DGfv)
2020/01/08(水) 17:42:23.45ID:S7vQ7ZowM \redって赤と復帰文字+edの区別つかないじゃん
それはともかくRichTextBoxとRTFを使えばまあ似たようなことはできる
RTFを一から書くのは拷問だけど
それはともかくRichTextBoxとRTFを使えばまあ似たようなことはできる
RTFを一から書くのは拷問だけど
741デフォルトの名無しさん (アウアウウー Saa3-7oRq)
2020/01/08(水) 18:32:11.60ID:6iphn5xQa >>739
ちょっと何言ってるのかよく分からないけど、
C#のコードでエスケープシーケンスを含む文字列リテラルを書いた時、
それがそのままバイナリになると勘違いしてない?
あれ、コンパイラが対応する文字に置き換えてるんだよw
ちょっと何言ってるのかよく分からないけど、
C#のコードでエスケープシーケンスを含む文字列リテラルを書いた時、
それがそのままバイナリになると勘違いしてない?
あれ、コンパイラが対応する文字に置き換えてるんだよw
742デフォルトの名無しさん (ワッチョイ ff28-wBwZ)
2020/01/11(土) 10:46:33.04ID:IVNUyUW+0 C#でできることってすべてF#で(多少複雑になったとしても)実現できますか?
同じ共通言語基盤上にあってもC#だけで可能なことってあるんでしょうか。
(もちろん、どちらも計算完備なのでC#でできることは
それこそBASICでもできるでしょうが、そういう意味ではなくて
.NET上での共通性の話です)
同じ共通言語基盤上にあってもC#だけで可能なことってあるんでしょうか。
(もちろん、どちらも計算完備なのでC#でできることは
それこそBASICでもできるでしょうが、そういう意味ではなくて
.NET上での共通性の話です)
743デフォルトの名無しさん (ドコグロ MM7f-JyDu)
2020/01/11(土) 12:49:57.55ID:Uc6AtsCZM744デフォルトの名無しさん (ワッチョイ ff28-wBwZ)
2020/01/11(土) 16:36:56.68ID:IVNUyUW+0745デフォルトの名無しさん (ワッチョイ ff7c-DGfv)
2020/01/14(火) 09:13:37.09ID:/tPlPF6x0 https://www.atmarkit.co.jp/ait/articles/1710/03/news018.html
一応C#も対話的に実行できる
一応C#も対話的に実行できる
746デフォルトの名無しさん (ブーイモ MM0f-rUPC)
2020/01/14(火) 09:19:18.61ID:HiotJy5MM >>745
へーこれってどんな仕組み?コンパイル必要としてないの?
へーこれってどんな仕組み?コンパイル必要としてないの?
747742 (ワッチョイ 7e28-V2kM)
2020/01/15(水) 18:27:50.06ID:YlxQUfnE0748デフォルトの名無しさん (ブーイモ MMcd-gA+Q)
2020/01/15(水) 21:17:39.40ID:jOuGOKj7M なんだと…ゴゴゴゴ
749デフォルトの名無しさん (ワッチョイ d197-sxSO)
2020/01/15(水) 23:02:14.43ID:k9iUnicj0 C# Interactive, 64bitで実行できるようになるのはいつなのかねえ。便利なんだけどたまに困る。
xamarin workbookとかも代替であるんだろうけど。
xamarin workbookとかも代替であるんだろうけど。
750デフォルトの名無しさん (ワッチョイ cd90-JESV)
2020/01/16(木) 00:16:18.83ID:CC5bpFwG0 誰だってわかりやすくて書きやすい言語でプログラミングしたいに決まってんじゃん
C#はまだわかるけど難解ぶってるオナニー言語は滅んだ方がいいね
C#はまだわかるけど難解ぶってるオナニー言語は滅んだ方がいいね
751デフォルトの名無しさん (ワッチョイ ae8f-A78j)
2020/01/17(金) 01:22:15.96ID:atTN5w3j0 まあ、たしかに defun(((((( なんか嫌だもんな。
752デフォルトの名無しさん (ワッチョイ 5f15-1kxO)
2020/01/24(金) 22:14:55.39ID:k9osu5pp0 forおじさんなるキーワードを知ったんだけど今forは使っちゃいかんの?
c#には直接関係ないけどさ
c#には直接関係ないけどさ
753デフォルトの名無しさん (ワッチョイ 5f6a-bOFn)
2020/01/24(金) 22:23:17.00ID:ckgx8D9Z0 他にbetterな方法がある場合でも、とにかくforをつかえってのを揶揄してるだけでしょ
754デフォルトの名無しさん (ブーイモ MMcf-PIvP)
2020/01/24(金) 22:59:35.08ID:1f1Z8E2rM マーティンも今どきforは臭いからパイプライン使えみたいなこと言ってたな
755デフォルトの名無しさん (ワッチョイ 6a02-ZTBJ)
2020/02/04(火) 07:23:29.54ID:2P9jYwzY0 ifとforで何重にもネストさせるやつ未だにいるからな
レビューで暴言吐きそうになって困るからやめてほしい
レビューで暴言吐きそうになって困るからやめてほしい
756デフォルトの名無しさん (JP 0H2e-5BC/)
2020/02/04(火) 08:13:40.65ID:oN9vo+PdH757デフォルトの名無しさん (ワッチョイ 3628-A+Jj)
2020/02/04(火) 12:44:04.58ID:M0ahQJ780 見た目だけじゃなくて処理効率も変わるのかな?
C#みたいな言語だとforだろうがmapだろうがコンパイラがよしなに最適化してくれそう(適当)
C#みたいな言語だとforだろうがmapだろうがコンパイラがよしなに最適化してくれそう(適当)
758デフォルトの名無しさん (オッペケ Srbd-Y6bJ)
2020/02/04(火) 19:03:41.12ID:XAK/YcTOr 実際意味は違うので用途次第ということ
759デフォルトの名無しさん (ワッチョイ a902-nz5b)
2020/02/04(火) 22:00:23.17ID:kfb5o96m0 期待通りの順番で処理してもらえるのか?
不安なんでfor使ったりすることあるね。
不安なんでfor使ったりすることあるね。
760デフォルトの名無しさん (ブーイモ MM8e-YgEg)
2020/02/04(火) 22:07:47.88ID:Z8KA+tSJM 順番が気になる処理はなるべく書かない
761デフォルトの名無しさん (ワッチョイ 6663-3Mgd)
2020/02/04(火) 22:56:53.13ID:ozqUNPd80 馬鹿の一つ覚え
762デフォルトの名無しさん (ワッチョイ 9f6a-56gX)
2020/02/05(水) 00:50:35.93ID:+dC8QpOa0 >>754
すまん、ジジイなんで勉強したいからソース教えてほしい
すまん、ジジイなんで勉強したいからソース教えてほしい
763デフォルトの名無しさん (ワッチョイ d724-56gX)
2020/02/05(水) 13:31:41.51ID:OSDzuje90764デフォルトの名無しさん (ワンミングク MM7f-gP8z)
2020/02/05(水) 14:05:00.81ID:AaNsO0iwM 可読性より性能重視でfor使いまくることあるです
765デフォルトの名無しさん (ブーイモ MMcf-gAEv)
2020/02/05(水) 14:14:25.44ID:N1rQ6Y7rM 性能が必要なら言語かえますし
766デフォルトの名無しさん (JP 0H4f-w9wO)
2020/02/05(水) 18:36:26.77ID:NPiSCXLeH アセンブラ最速(要最適化)
767デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/05(水) 21:42:19.79ID:qmME163kr レベル高いのはlinqやforをちゃんと使い分けれる人
レベルが低い人はどちらかしか使わない人
レベルが低い人はどちらかしか使わない人
768デフォルトの名無しさん (ワッチョイ 3715-VkLk)
2020/02/05(水) 23:51:29.21ID:JHMrCxaG0 Linqってnullがあった時面倒な印象がある
実装当時はselectみたいな予約語を中途半端に実装したってどっかで見た記憶があるけど増えたのかね?
実装当時はselectみたいな予約語を中途半端に実装したってどっかで見た記憶があるけど増えたのかね?
769デフォルトの名無しさん (ワッチョイ 5797-IOUD)
2020/02/06(木) 11:04:45.02ID:y+neP3Z40 もちろんLINQでもforでも書けるけど、LINQで遅そうな処理で、それが作っている
ソフトの決定的なパフォーマンス問題につながりそうなら、forで書いてみて
ベンチマークしてどっちを採用するか決めるかな。
forの方がありとあらゆる言語で書ける書き方だから当然書けるけど、
LINQの方はPythonの内包表記やmap/filter/reduceの書き方に近くいから
こっちも当然書けるし、短いし一時変数用意しなくていいから基本LINQ使っちゃうよね。
ソフトの決定的なパフォーマンス問題につながりそうなら、forで書いてみて
ベンチマークしてどっちを採用するか決めるかな。
forの方がありとあらゆる言語で書ける書き方だから当然書けるけど、
LINQの方はPythonの内包表記やmap/filter/reduceの書き方に近くいから
こっちも当然書けるし、短いし一時変数用意しなくていいから基本LINQ使っちゃうよね。
770デフォルトの名無しさん (ブーイモ MMbf-gAEv)
2020/02/06(木) 12:27:26.13ID:BIpKXfQOM forでないと書けないってコードが汚いだけの場合が殆どだからまずそっちをリファクタリングする
すると自然とLINQで書けるようになる
LINQで遅いのは件数が多すぎるかキャッシュを使ってない場合なので実はforに変えただけじゃたかが知れてる
すると自然とLINQで書けるようになる
LINQで遅いのは件数が多すぎるかキャッシュを使ってない場合なので実はforに変えただけじゃたかが知れてる
771デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 18:42:57.79ID:ePr9F6TEr あまり大したことに使ってなさそう
772デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 18:45:07.13ID:ePr9F6TEr > forでないと書けないってコードが汚いだけの場合が殆ど
そうは思わないけどw
そうは思わないけどw
773デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 18:54:05.90ID:ePr9F6TEr774デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 18:55:11.26ID:ePr9F6TEr linqでしか書けない人は最下層
forでしか書けない人はそのやや上
forでしか書けない人はそのやや上
775デフォルトの名無しさん (ブーイモ MMbf-gAEv)
2020/02/06(木) 19:33:48.33ID:BIpKXfQOM forでしか書かない人は使い物にならないおじいさん
無理してでもLINQでしか書かないのはまだまだ研鑽が足りない
意識しなくても自然とLINQになってるのが達人プログラマ
無理してでもLINQでしか書かないのはまだまだ研鑽が足りない
意識しなくても自然とLINQになってるのが達人プログラマ
776デフォルトの名無しさん (ワッチョイ d701-3aYi)
2020/02/06(木) 20:55:07.31ID:WBT6cCNm0 POSTとかGETのレスポンス速度って、自分の回線速度と相手側のサーバー速度依存ですか?
プログラムの処理でコンマ数秒でも早くする方法ってあったりします?
プログラムの処理でコンマ数秒でも早くする方法ってあったりします?
777デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 21:12:13.83ID:ePr9F6TEr 普通はないよ
アメリカとかにPOSTして帰って来てるんだとしたらそもそも物理的な距離も問題になる
アメリカとかにPOSTして帰って来てるんだとしたらそもそも物理的な距離も問題になる
778デフォルトの名無しさん (オッペケ Sr0b-RXZG)
2020/02/06(木) 21:16:32.05ID:ePr9F6TEr どうでもいいけど回線速度と言うのも変な表現だな
帯域依存だな
最初のレスポンス自体が帰ってくる速度は同じだけど取れる帯域が広いと早くダウンロードが終わる
帯域依存だな
最初のレスポンス自体が帰ってくる速度は同じだけど取れる帯域が広いと早くダウンロードが終わる
779デフォルトの名無しさん (ワッチョイ d72f-ndoi)
2020/02/06(木) 22:57:37.84ID:O+zcmlkO0 ダウンロードの時間じゃなくてレスポンスの話だろ
帯域よりレイテンシのほうが問題だと思うが
帯域よりレイテンシのほうが問題だと思うが
780デフォルトの名無しさん (JP 0H4f-w9wO)
2020/02/07(金) 08:11:56.59ID:EMrYQo7/H 相手側のサーバーまで全部依存ですよね
ちなみに、普通にwebとかで見えてるサーバーは、必ずping返してくれるの?
ちなみに、普通にwebとかで見えてるサーバーは、必ずping返してくれるの?
781デフォルトの名無しさん (オッペケ Sr0b-glrA)
2020/02/07(金) 12:33:07.85ID:etaMDs5Yr ping返さないサーバはいくらでもある
782デフォルトの名無しさん (アウウィフ FF9b-VM48)
2020/02/07(金) 17:30:10.02ID:PWhN+bN7F783デフォルトの名無しさん (アウアウカー Sa6b-Za6j)
2020/02/07(金) 20:27:13.28ID:q5ptBTCZa フォームデータなのに?
784デフォルトの名無しさん (ワッチョイ 571d-uqPE)
2020/02/07(金) 23:07:36.53ID:GxNDg+Fe0 【与沢翼】労働収入を高くしても無駄!税金でほとんど持っていかれますよ。
金持ちになるにはたった2つしか方法がない
https://www.youtube.com/watch?v=A-5lQ2rDmc0
【与沢翼】サラリーマンとして生きるのはリスクでしかない。従業員は創業者に
利用されているだけだということに気づきなさい
https://www.youtube.com/watch?v=uPoTvbr5VDk&t=78s
【与沢翼】「世の中は罠だらけ。これに気づかない人はカモにされ続ける。」【思考の革命】
https://www.youtube.com/watch?v=qUk7HFabMeQ&t=70s
【与沢翼】現状に対する疑問を持てない人はずっと辛い労働をして生きてください。
今自分達が不自由であるということに気づかない人はどうぞご勝手に
https://www.youtube.com/watch?v=YGykF9IHv-w&t=41s
【与沢翼】時間を売るような働き方をしてはいけない。自分の24時間をどれだけ
増やせるかという発想で仕事しなさい。最終決定権がない仕事はビジネスとは呼べませんよ
https://www.youtube.com/watch?v=g0WXpcqg4oA&t=51s
金持ちになるにはたった2つしか方法がない
https://www.youtube.com/watch?v=A-5lQ2rDmc0
【与沢翼】サラリーマンとして生きるのはリスクでしかない。従業員は創業者に
利用されているだけだということに気づきなさい
https://www.youtube.com/watch?v=uPoTvbr5VDk&t=78s
【与沢翼】「世の中は罠だらけ。これに気づかない人はカモにされ続ける。」【思考の革命】
https://www.youtube.com/watch?v=qUk7HFabMeQ&t=70s
【与沢翼】現状に対する疑問を持てない人はずっと辛い労働をして生きてください。
今自分達が不自由であるということに気づかない人はどうぞご勝手に
https://www.youtube.com/watch?v=YGykF9IHv-w&t=41s
【与沢翼】時間を売るような働き方をしてはいけない。自分の24時間をどれだけ
増やせるかという発想で仕事しなさい。最終決定権がない仕事はビジネスとは呼べませんよ
https://www.youtube.com/watch?v=g0WXpcqg4oA&t=51s
785デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/08(土) 18:20:20.80ID: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.
Windowsでは正常に動作します。
エラーの原因と解決策を教えてください。
ランタイム: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.
Windowsでは正常に動作します。
エラーの原因と解決策を教えてください。
786デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/08(土) 18:23:37.92ID:0YppiA+B0 AngleSharpを入れるとこのエラーがでます。
AngleSharpを入れるとバイナリのフォルダにSystem.***という大量のDLLができます。
AngleSharpを入れるとバイナリのフォルダにSystem.***という大量のDLLができます。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 寝癖ってどうしたらつかなくなるんや?
- 自閉症が「んなっしょい」と連呼するお🏡
- 【画像】エロい一般漫画はなぜこんなに抜けるのか
- BTSのバラエティ面白すぎワロタ
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
