「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part134
http://mevius.5ch.net/test/read.cgi/tech/1511951038/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part135
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ 8b75-uWnk)
2018/02/04(日) 22:02:28.59ID:FbKpa1HN0832デフォルトの名無しさん (ワッチョイ 0cb3-UG62)
2018/02/26(月) 22:54:54.35ID:368iDdw70833デフォルトの名無しさん (ブーイモ MM5e-x7KF)
2018/02/26(月) 22:59:10.38ID:DUs1D+akM 一番大きなギャップは、今の.NET界は完全にWebに傾倒していて、コミュニティの話題や新しい技術はほぼ全てWebであるということだな
デスクトップアプリなんか完全に時間止まってるから.NET 3.5の知識だけで全く問題ないよ
デスクトップアプリなんか完全に時間止まってるから.NET 3.5の知識だけで全く問題ないよ
834デフォルトの名無しさん (ワッチョイ 66d2-+xKg)
2018/02/26(月) 23:09:05.92ID:vKciEg6e0835デフォルトの名無しさん (ワッチョイ 2c4c-sVxC)
2018/02/26(月) 23:47:01.79ID:bGZXNZ9L0 WPFも死んだ技術だったのかーw
836デフォルトの名無しさん (スップ Sd02-+xKg)
2018/02/26(月) 23:49:12.54ID:iwJ2EGnFd837デフォルトの名無しさん (ワッチョイ 0cb3-UG62)
2018/02/27(火) 00:16:09.81ID:u9k8VAiO0 >>825
抽象度の違う話だけどフラグメント化の状態によってはファイルサイズが大きくなると書き込み速度遅くなるよね?
抽象度の違う話だけどフラグメント化の状態によってはファイルサイズが大きくなると書き込み速度遅くなるよね?
838デフォルトの名無しさん (ワッチョイ 0e23-x4Or)
2018/02/27(火) 02:10:24.09ID:99t2/tIf0 WPFが生まれた時からずっと疑問なんだが
これって覚えたほうがいい技術なのか?
すぐ主流になるだろうからそれから乗り換えようと思ってもう何年もたつんだが
これって覚えたほうがいい技術なのか?
すぐ主流になるだろうからそれから乗り換えようと思ってもう何年もたつんだが
839デフォルトの名無しさん (ワッチョイ 4dcc-m9q9)
2018/02/27(火) 02:13:21.67ID:J8jkSyZL0 デスクトップはC#の聖域ではなくなったのだ
840デフォルトの名無しさん (ワッチョイ 26f7-qPs3)
2018/02/27(火) 02:41:32.24ID:jq+LpMYA0 まぁWinFormsよりはマシじゃねえかなという感じ
841デフォルトの名無しさん (ワッチョイ d0e8-x4Or)
2018/02/27(火) 05:19:22.80ID:Mxpc3vA+0 MSはFormsに回帰すべき
842デフォルトの名無しさん (ワンミングク MM3e-2hJC)
2018/02/27(火) 06:16:12.55ID:HfqHSINIM >>833
xamarinとかあるじゃん
xamarinとかあるじゃん
843デフォルトの名無しさん (ワッチョイ 2175-xOks)
2018/02/27(火) 08:05:04.96ID:zlwrDvPF0 個人的にはWinFormsのデザインのほうがすき
844デフォルトの名無しさん (ワッチョイ 1606-x4Or)
2018/02/27(火) 08:16:06.30ID:8aU06ktU0 MSはhtmlとjavascriptでデスクトップアプリを作るPWAに手を出し始めた
C#自体がどうなるか不透明にになってきたね
C#自体がどうなるか不透明にになってきたね
845デフォルトの名無しさん (アウアウカー Sa0a-msg2)
2018/02/27(火) 08:16:40.64ID:k/YAY/h1a xmlでシリアライズするときに、配列のタグに番号を付与していくにはどうしたらいいのでしょうか
846デフォルトの名無しさん (スッップ Sd70-+xKg)
2018/02/27(火) 08:20:43.64ID:QH+kUa8rd >>844
それは違う
それは違う
847デフォルトの名無しさん (ブーイモ MM5e-x7KF)
2018/02/27(火) 08:38:03.68ID:7wWsDoA+M >>844
なんか勘違いしてるみたいだが、PWAはWebアプリだぞ
今時ガワで何でもやるアプリなんてほとんど無くて、重要なのはWeb越しにある裏側の仕組みだ
つまり、PWAサポートするからバックエンドをVSやAzureで作ってね、ということ
そして、MSはC#を最重要なWebバックエンド開発言語として位置付けている
今更デスクトップアプリなどという時代遅れな技術を使いたくない、Web技術で全部作らせろ、というニーズは.NET開発者からも多いんだぞ?
今時C#=Winデスクトップアプリ向け、なんて言ってるのは10年遅れ
なんか勘違いしてるみたいだが、PWAはWebアプリだぞ
今時ガワで何でもやるアプリなんてほとんど無くて、重要なのはWeb越しにある裏側の仕組みだ
つまり、PWAサポートするからバックエンドをVSやAzureで作ってね、ということ
そして、MSはC#を最重要なWebバックエンド開発言語として位置付けている
今更デスクトップアプリなどという時代遅れな技術を使いたくない、Web技術で全部作らせろ、というニーズは.NET開発者からも多いんだぞ?
今時C#=Winデスクトップアプリ向け、なんて言ってるのは10年遅れ
848デフォルトの名無しさん (ワッチョイ 1606-x4Or)
2018/02/27(火) 11:00:10.39ID:8aU06ktU0849デフォルトの名無しさん (アウアウウー Sa08-x7KF)
2018/02/27(火) 11:40:41.47ID:xtZuYio6a >>848
今時Webできない開発者なんかいない(そうでない連中はどうせ新しい物買わないし先細りだし放っといてもMSから逃げられないから餌をやる必要がない)
MSから見ればそこに拘る意味がなくなってるんだよ
今の.NETプラットフォームはAzure含めて純粋にWebプラットフォームとしての使いやすさで勝負していて、
十分に競争力のあるものになってるし実際大成功してるよ
今時Webできない開発者なんかいない(そうでない連中はどうせ新しい物買わないし先細りだし放っといてもMSから逃げられないから餌をやる必要がない)
MSから見ればそこに拘る意味がなくなってるんだよ
今の.NETプラットフォームはAzure含めて純粋にWebプラットフォームとしての使いやすさで勝負していて、
十分に競争力のあるものになってるし実際大成功してるよ
850デフォルトの名無しさん (ワッチョイ 26eb-g0eH)
2018/02/27(火) 11:49:37.57ID:/SsV5BVS0 見様見真似で勉強始めたばかりの初心者です
以下の記述でerror CS0234が出まして、ここから学習が進んでません
class test001:System.Windows.Forms.Form
{
static void Main()
{
System.Windows.Forms.Application.Run(new test001());
}
}
スクショttps://dotup.org/uploda/dotup.org1474023.jpg.html
各単語の意味もわかってませんが、
空のウィンドウが表示されるだけのソースのつもりで書いてます
1.基本的にこの記述は間違っているのか
2.error CS0234の対処法ググるとVisual Basicの設定方法がヒットするんですが、
メモ帳とコマンドプロンプトで制作してる者としてはどう対処すべきか
(取り急ぎ開発環境導入しますが、メモ帳だけでやってる方もいるらしいので)
以上2点ご教示願います
以下の記述でerror CS0234が出まして、ここから学習が進んでません
class test001:System.Windows.Forms.Form
{
static void Main()
{
System.Windows.Forms.Application.Run(new test001());
}
}
スクショttps://dotup.org/uploda/dotup.org1474023.jpg.html
各単語の意味もわかってませんが、
空のウィンドウが表示されるだけのソースのつもりで書いてます
1.基本的にこの記述は間違っているのか
2.error CS0234の対処法ググるとVisual Basicの設定方法がヒットするんですが、
メモ帳とコマンドプロンプトで制作してる者としてはどう対処すべきか
(取り急ぎ開発環境導入しますが、メモ帳だけでやってる方もいるらしいので)
以上2点ご教示願います
851デフォルトの名無しさん (ワッチョイ f0ea-je3A)
2018/02/27(火) 11:58:10.40ID:p2sOgdSs0 >>850
どんな環境で何を見て始めたのか知らないけども、
VSならプロジェクト作成から「Windows フォーム アプリケーション」を選んで実行すれば、
空のウィンドウが表示される
初心者ならコマンドプロンプトで作らなくていいんじゃね?
どんな環境で何を見て始めたのか知らないけども、
VSならプロジェクト作成から「Windows フォーム アプリケーション」を選んで実行すれば、
空のウィンドウが表示される
初心者ならコマンドプロンプトで作らなくていいんじゃね?
852デフォルトの名無しさん (アウアウウー Sa08-MTlB)
2018/02/27(火) 12:03:39.82ID:n+fW2tYra853デフォルトの名無しさん (スップ Sd00-m9q9)
2018/02/27(火) 12:11:38.67ID:XgxJnBY2d 社員なのか信者なのか気持ち悪い奴いるな
854デフォルトの名無しさん (アウアウウー Sa08-MTlB)
2018/02/27(火) 12:17:51.29ID:zGsbnEDWa c#はどの場面でもメインにはなれないけど隙間隙間でやっていくだろう
855デフォルトの名無しさん (ワッチョイ e206-MTlB)
2018/02/27(火) 12:47:38.51ID:SDSkuy0K0 >>850
おそらくSystem.Windows.Forms.dllへの参照が埋め込まれていないんじゃないかと
うちの環境だとIDE入ってるせいかSystem.Windows.Forms.dllへの参照は勝手に入るが
コンパイルエラーコードはこの辺りに纏まっている
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-messages/CS0234
といってもVSはVSでエラーコードに関してヘルプをBingで検索しだす奇天烈仕様
おそらくSystem.Windows.Forms.dllへの参照が埋め込まれていないんじゃないかと
うちの環境だとIDE入ってるせいかSystem.Windows.Forms.dllへの参照は勝手に入るが
コンパイルエラーコードはこの辺りに纏まっている
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-messages/CS0234
といってもVSはVSでエラーコードに関してヘルプをBingで検索しだす奇天烈仕様
856デフォルトの名無しさん (ブーイモ MM5a-YW4B)
2018/02/27(火) 12:59:05.87ID:rBu0KqL2M azureの知識とかどうやってつければええのですん?
857850 (ワッチョイ 26eb-g0eH)
2018/02/27(火) 13:36:31.89ID:/SsV5BVS0 回答ありがとうございます
実際の対策としてVS導入はするつもりですが、
知識欲として、参照が埋め込まれていない状態をIDE介さずに解消するのは難しいのでしょうか?
実際の対策としてVS導入はするつもりですが、
知識欲として、参照が埋め込まれていない状態をIDE介さずに解消するのは難しいのでしょうか?
858デフォルトの名無しさん (ワッチョイ 0cb3-Q9O4)
2018/02/27(火) 13:54:26.80ID:u9k8VAiO0 >>857
コンパイラスイッチで参照追加すればいいよ
コンパイラスイッチで参照追加すればいいよ
859デフォルトの名無しさん (ワッチョイ e206-MTlB)
2018/02/27(火) 13:56:12.87ID:SDSkuy0K0 >>857
URLの/reference (メタデータのインポート)は読んだ?より具体的なら↓のとか
ソース ファイルが格納されているディレクトリで次のコマンドを実行します
https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/controls/how-to-develop-a-simple-windows-forms-control
https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/how-to-create-a-windows-forms-application-from-the-command-line
こちらだとcscにはライブラリの指定がないね、IDEというよりSDKやTargeting Packの設定なのかもしれん
URLの/reference (メタデータのインポート)は読んだ?より具体的なら↓のとか
ソース ファイルが格納されているディレクトリで次のコマンドを実行します
https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/controls/how-to-develop-a-simple-windows-forms-control
https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/how-to-create-a-windows-forms-application-from-the-command-line
こちらだとcscにはライブラリの指定がないね、IDEというよりSDKやTargeting Packの設定なのかもしれん
860デフォルトの名無しさん (ドコグロ MM2e-Y1mi)
2018/02/27(火) 19:21:28.04ID:LuvO3mbWM861デフォルトの名無しさん (ワッチョイ fc83-MTlB)
2018/02/27(火) 19:43:00.51ID:CzY5WQW+0 > 今時Webできない開発者なんかいない
Webやってるのって少数派じゃねーの。使い捨て技術者のイメージ。
Webやってるのって少数派じゃねーの。使い捨て技術者のイメージ。
862デフォルトの名無しさん (ワッチョイ c4e3-o9L9)
2018/02/27(火) 19:43:04.42ID:IhRJXR1o0 >>857
ビルドも通らない人間が気にするこっちゃないよ
ビルドも通らない人間が気にするこっちゃないよ
863デフォルトの名無しさん (アウアウエー Sa6a-Xk4Z)
2018/02/27(火) 20:08:25.49ID:vz5u013ka864デフォルトの名無しさん (ワッチョイ 2175-42by)
2018/02/27(火) 20:08:50.02ID:zlwrDvPF0865デフォルトの名無しさん (アウアウウー Sa08-MTlB)
2018/02/27(火) 20:14:25.43ID:hIuQGxZha でも正直なところ一般人の目に付く範囲のアプリってoffice除いたら
大体htmlで構成されてるものが多いんじゃないか
そうじゃなくてもネットワークがないと何も始まらない
大体htmlで構成されてるものが多いんじゃないか
そうじゃなくてもネットワークがないと何も始まらない
866デフォルトの名無しさん (ワッチョイ fc83-MTlB)
2018/02/27(火) 20:31:45.68ID:CzY5WQW+0 WEB技術なんか追いかけてたら廃人になると思う
フレームワークが使い捨てだもんな
フレームワークが使い捨てだもんな
867デフォルトの名無しさん (ワッチョイ f41e-a/z7)
2018/02/27(火) 20:44:37.33ID:Ee9DX7nT0 Webの特にフロントエンドはひどすぎるな。JavaScript。
生産性の低い道具を使って仕事たくさん生み出そうってことなんだろう。
俺もReactだけは勉強したけどさw
去年のQiitaアドベントみると去年はVue.jsだったのか?ww
アホすぎ
生産性の低い道具を使って仕事たくさん生み出そうってことなんだろう。
俺もReactだけは勉強したけどさw
去年のQiitaアドベントみると去年はVue.jsだったのか?ww
アホすぎ
868デフォルトの名無しさん (ワッチョイ 2175-xOks)
2018/02/27(火) 20:58:24.68ID:zlwrDvPF0 スレチ
869デフォルトの名無しさん (ワンミングク MM3e-2hJC)
2018/02/27(火) 21:09:13.36ID:IHLOiVm0M 業務系はレイヤー分割下手くそな初心者みたいなSE, PGばっかりだから
フロントを入れ替える=全改修みたいな悲惨な事になるから、頻繁にフロントを変えるって発想ができないんだろう
ここにはどうしても高い文明の壁があるから分かり合えることはない
フロントを入れ替える=全改修みたいな悲惨な事になるから、頻繁にフロントを変えるって発想ができないんだろう
ここにはどうしても高い文明の壁があるから分かり合えることはない
870829 (ワッチョイ 24c3-4sh6)
2018/02/28(水) 00:45:23.33ID:ZfoI/UP10 ちょっと流れてしまいましたか、貴重な意見ありがとうございます。
教えていただいたページで勘違いしていたところがスッキリしました。
WPF登場してから時間が立っているからか、古く感じてしまうのは仕方なしなのかな、と思う一報、クライアントアプリを扱う現場ではまだまだ全盛、WinFormも負けてられない勢いで使われているとおもいます。
また、一部、EFはサーバーサイドで…と言う意見もいただきましたが、クライアントでも、問題ないですよね、多分。
というか今回の質問としてはwebでないので3層は意識せず、でもUIとロジックの分離、その先の責務の分離を考えると、良い方法かな、と思いますが…じゃあEF使わないんだったら、どうしよう、constでクエリ定義してDataAdapterにぶっ込む…なんてしたくなかったですし。。。
もう少し調査は必要かもですが、ちょっとやってみたいと思います。
教えていただいたページで勘違いしていたところがスッキリしました。
WPF登場してから時間が立っているからか、古く感じてしまうのは仕方なしなのかな、と思う一報、クライアントアプリを扱う現場ではまだまだ全盛、WinFormも負けてられない勢いで使われているとおもいます。
また、一部、EFはサーバーサイドで…と言う意見もいただきましたが、クライアントでも、問題ないですよね、多分。
というか今回の質問としてはwebでないので3層は意識せず、でもUIとロジックの分離、その先の責務の分離を考えると、良い方法かな、と思いますが…じゃあEF使わないんだったら、どうしよう、constでクエリ定義してDataAdapterにぶっ込む…なんてしたくなかったですし。。。
もう少し調査は必要かもですが、ちょっとやってみたいと思います。
871デフォルトの名無しさん (ワッチョイ 709d-saxG)
2018/02/28(水) 03:45:22.69ID:Tpz3pZ6h0 >ここにはどうしても高い文明の壁があるから分かり合えることはない
例えばどんなところが「高い壁」といえるんだ?
例えばどんなところが「高い壁」といえるんだ?
872デフォルトの名無しさん (ワッチョイ fc83-MTlB)
2018/02/28(水) 04:03:44.27ID:XB4appM30 アセンブラの理解を必要される世界は土人の世界と言える。
873デフォルトの名無しさん (ワッチョイ 709d-saxG)
2018/02/28(水) 08:03:55.13ID:Tpz3pZ6h0 高いか低いかそれすらわからない。要するに何もわからないという壁だな。w
874デフォルトの名無しさん (ワッチョイ 4dcc-m9q9)
2018/02/28(水) 08:05:35.45ID:H5g0lJOW0 本人にとっては高い壁なんだから放っておいてあげなよ
875デフォルトの名無しさん (ワッチョイ f0ea-je3A)
2018/02/28(水) 14:53:55.71ID:oNcgzutM0 アセンブラの理解ってか、論理回路を理解するかどうかじゃね?
ちょこっと弱電をかじれば、なんとなく理解出来ると思うけども
ちょこっと弱電をかじれば、なんとなく理解出来ると思うけども
876デフォルトの名無しさん (ワッチョイ 9c03-07Zo)
2018/02/28(水) 22:27:40.29ID:6WnrRHIY0 >>875
おまえがなんとなく理解出来るんなら大体の人は正確に理解できんじゃね?
おまえがなんとなく理解出来るんなら大体の人は正確に理解できんじゃね?
877デフォルトの名無しさん (ワッチョイ 1606-x4Or)
2018/02/28(水) 23:59:37.37ID:z3mkUJ010 アセンブラは何とか成るけど、そのまま16進数打っていた奴には敵わんかったわw
いくら8ビットで命令少ないからって常人が出来るものじゃない
いくら8ビットで命令少ないからって常人が出来るものじゃない
878デフォルトの名無しさん (ワッチョイ 0706-lEE9)
2018/03/01(木) 02:02:49.70ID:kBOyQt430879デフォルトの名無しさん (ワッチョイ 078a-Jyeh)
2018/03/01(木) 04:04:04.41ID:3FYR9rwV0 >>877
こういう話で 8086 のバイトコードを丸暗記していたという話はきいたことがないね
こういう話で 8086 のバイトコードを丸暗記していたという話はきいたことがないね
881デフォルトの名無しさん (ワッチョイ 4706-m1UI)
2018/03/01(木) 08:22:59.92ID:8YSrTbQO0882デフォルトの名無しさん (ワッチョイ 078a-Jyeh)
2018/03/01(木) 10:14:54.05ID:3FYR9rwV0 8進数で覚えれば何とかなるけどね
883デフォルトの名無しさん (ワッチョイ 6775-LhZF)
2018/03/01(木) 13:33:07.63ID:6vJouTff0 スレチ
884デフォルトの名無しさん (スップ Sd7f-8Tjf)
2018/03/01(木) 16:02:04.47ID:nTTdbTAFd885デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 19:58:55.12ID:AzZlAoZA0 te
886デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 20:03:50.95ID:AzZlAoZA0 Task taskA = Task.Run(async () => {
int count = 60;//6sec
while (count-- > 0) {
Debug.Print("sw0:" + sw.ElapsedMilliseconds.ToString());
await Task.Delay(100);
Debug.Print("sw1:" + sw.ElapsedMilliseconds.ToString());
}
} );
taskA.Wait(5000);
5秒で一旦止まるように見えるが、暫くするとまたタスクは回り始める。C#バグかよ。
int count = 60;//6sec
while (count-- > 0) {
Debug.Print("sw0:" + sw.ElapsedMilliseconds.ToString());
await Task.Delay(100);
Debug.Print("sw1:" + sw.ElapsedMilliseconds.ToString());
}
} );
taskA.Wait(5000);
5秒で一旦止まるように見えるが、暫くするとまたタスクは回り始める。C#バグかよ。
887デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 20:10:43.58ID:AzZlAoZA0 しかもUIは5秒間止まってしまう。TASKの意味ないよ。書き方を間違ってるんだろうか?
888デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 20:23:11.20ID:q/FX+WiY0 親スレが先に終わってるだけでは?
889デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 20:33:24.41ID:q/FX+WiY0 ちなみUIを止めたくなければtaskAをawaitすれば良いはず
890デフォルトの名無しさん (ワッチョイ df06-k3ZN)
2018/03/01(木) 20:34:30.22ID:quAhlzft0 >>886-887
何だか良く分からないけど、どうみても6秒以上掛かるコードだし
Wait()はタイムアウトしても終了させないし、待機時間ブロックする
UIスレッドでしたら固まるし、awaitは解放したいスレッドで使う物だよ
何だか良く分からないけど、どうみても6秒以上掛かるコードだし
Wait()はタイムアウトしても終了させないし、待機時間ブロックする
UIスレッドでしたら固まるし、awaitは解放したいスレッドで使う物だよ
891デフォルトの名無しさん (ブーイモ MM4b-k3ZN)
2018/03/01(木) 20:36:05.85ID:6F6TcS9xM892デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 20:37:12.88ID:AzZlAoZA0893デフォルトの名無しさん (ブーイモ MM4b-k3ZN)
2018/03/01(木) 20:39:22.48ID:6F6TcS9xM >>892
それは正しい動作だよ
それは正しい動作だよ
894デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 20:41:57.81ID:q/FX+WiY0 次はasync voidで定義してなくてエラーになる質問が来ると見た
895デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 20:44:04.03ID:AzZlAoZA0 >>891
サンプル見て書いたつもりだったが、間違いでしたか?
Asyncが非同期処理を宣言するような機能で、Awaitは解放するスレッドに付けるのだから、Task.Delay(100)を
解放してUIに戻す.つまり100msec待ちながらもUIに制御を戻すってことではないのか?
サンプル見て書いたつもりだったが、間違いでしたか?
Asyncが非同期処理を宣言するような機能で、Awaitは解放するスレッドに付けるのだから、Task.Delay(100)を
解放してUIに戻す.つまり100msec待ちながらもUIに制御を戻すってことではないのか?
896デフォルトの名無しさん (ブーイモ MM4b-k3ZN)
2018/03/01(木) 20:44:33.47ID:6F6TcS9xM >>895
思い違い
思い違い
897デフォルトの名無しさん (ワッチョイ e796-EQhT)
2018/03/01(木) 20:47:14.71ID:CGoXJwt80 こんなサンプルどこにあったんだよ
冗談キツいぞ
冗談キツいぞ
898デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 20:50:53.25ID:q/FX+WiY0899デフォルトの名無しさん (ワッチョイ df06-k3ZN)
2018/03/01(木) 20:52:01.74ID:quAhlzft0 >>895
Taskはスケジューラを指定しない限りワーカースレッドで動くよ
その非同期ラムダでawaitしてもワーカースレッドが解放されてるだけ
UIスレッドで非同期待機するなら作成側を非同期メソッドにしてawaitする
Taskはスケジューラを指定しない限りワーカースレッドで動くよ
その非同期ラムダでawaitしてもワーカースレッドが解放されてるだけ
UIスレッドで非同期待機するなら作成側を非同期メソッドにしてawaitする
900デフォルトの名無しさん (ワッチョイ 7fc9-m1UI)
2018/03/01(木) 20:54:52.06ID:nTP7Re4I0 await/asyncはネットに碌な例がないからしゃーないわな
901デフォルトの名無しさん (アウアウウー Sa2b-k3ZN)
2018/03/01(木) 20:59:11.45ID:73H1EZrda 間違った理解
awaitがあるとUIに制御を戻す
awaitがあるメソッドに出会うとUIはその場で対象のメソッドの終了を待つ
2番目が特に誤解を招きやすい
awaitがあるとUIに制御を戻す
awaitがあるメソッドに出会うとUIはその場で対象のメソッドの終了を待つ
2番目が特に誤解を招きやすい
902デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 20:59:14.26ID:AzZlAoZA0 >WaitでGUIのスレッドを使って待機してるのでGUIはその間動かない
>5秒たつと待つのをやめてそのまま進む
GUIのスレッドを使って待つの当然でしょ。それが目的だから。だめなの?
じゃあどこで待てばいいのだ?
void ボタン_Click(){
TaskAを実行(起動);
TaskAの完了を待();
}
処理の流れはこうだけど、これは駄目ってこと? じゃあどうするの?
void ボタン_Click(){
TaskAを実行(起動);
}
どっか別のところで、例えばタイマー割り込みで
TaskAの完了を待();
ってことか? 流れがわかり難いので不細工だよな。「シーケンシャルに流れを書いて且つUIが
止まらない」というようになってないと駄目だろ。
>5秒たつと待つのをやめてそのまま進む
GUIのスレッドを使って待つの当然でしょ。それが目的だから。だめなの?
じゃあどこで待てばいいのだ?
void ボタン_Click(){
TaskAを実行(起動);
TaskAの完了を待();
}
処理の流れはこうだけど、これは駄目ってこと? じゃあどうするの?
void ボタン_Click(){
TaskAを実行(起動);
}
どっか別のところで、例えばタイマー割り込みで
TaskAの完了を待();
ってことか? 流れがわかり難いので不細工だよな。「シーケンシャルに流れを書いて且つUIが
止まらない」というようになってないと駄目だろ。
903デフォルトの名無しさん (アウアウウー Sa2b-k3ZN)
2018/03/01(木) 21:00:06.29ID:73H1EZrda ちょっと語弊があるな
間違った理解
awaitがあるとUIに制御を戻す
awaitがついたメソッドに出会うとUIはその場で対象のメソッドの終了を待つ
2番目が特に誤解を招きやすい
間違った理解
awaitがあるとUIに制御を戻す
awaitがついたメソッドに出会うとUIはその場で対象のメソッドの終了を待つ
2番目が特に誤解を招きやすい
904デフォルトの名無しさん (アウアウウー Sa2b-k3ZN)
2018/03/01(木) 21:00:51.42ID:73H1EZrda905デフォルトの名無しさん (ブーイモ MM4b-k3ZN)
2018/03/01(木) 21:05:15.82ID:6F6TcS9xM906デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 21:06:34.94ID:q/FX+WiY0 winformsで非同期やってた時、デバッグとリリースで動作が違くてはまったなぁ
CheckForIllegalCrossThreadCallsは絶対に許さない
CheckForIllegalCrossThreadCallsは絶対に許さない
907デフォルトの名無しさん (ワッチョイ e796-EQhT)
2018/03/01(木) 21:06:49.07ID:CGoXJwt80 ああ前にもいた奴?もう辞めればいいのに
908デフォルトの名無しさん (ブーイモ MM4b-k3ZN)
2018/03/01(木) 21:09:05.97ID:6F6TcS9xM >>906
確かそれ挙動は同じなんだけどデバッグ時はIDEかなにかにスレッド渡す奴だっけ?
確かそれ挙動は同じなんだけどデバッグ時はIDEかなにかにスレッド渡す奴だっけ?
909デフォルトの名無しさん (ワッチョイ df06-k3ZN)
2018/03/01(木) 21:18:31.12ID:quAhlzft0 >>902
いやだから…そのWait()の代わりにawaitをUIメソッドに書くんでしょうが…
そうすれば一旦スレッド制御を返し、Taskが終われば取り戻し再開してくれる
レガシーな書き方だってTaskScheduler.FromCurrentSynchronizationContext()を指定して
ContinueWith()すれば良いし、UIコンテキスト取得しといてワーカースレッドから投げても良い
いやだから…そのWait()の代わりにawaitをUIメソッドに書くんでしょうが…
そうすれば一旦スレッド制御を返し、Taskが終われば取り戻し再開してくれる
レガシーな書き方だってTaskScheduler.FromCurrentSynchronizationContext()を指定して
ContinueWith()すれば良いし、UIコンテキスト取得しといてワーカースレッドから投げても良い
910デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 21:20:57.83ID:q/FX+WiY0911デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 21:23:58.40ID:AzZlAoZA0 >Taskはスケジューラを指定しない限りワーカースレッドで動くよ
>その非同期ラムダでawaitしてもワーカースレッドが解放されてるだけ
>UIスレッドで非同期待機するなら作成側を非同期メソッドにしてawaitする
言ってることの意味がわからない。Async()=>{}にしてるでしょ。
しかもこのラムダはRunが確保したスレッドプールで動作してるんでしょ。意味的にそうでないと
可笑しい。でラムダのその中でawaitしてるんだから、、、、って
UIスレでボタン受付
スレ4000でラムダ起動
AWAITでスレ4001にスイッチして100msec待つ
100msec完了でスレ4000に戻る。
スレ4000でループ
Task.Wait(3000)はUIスレでスレ4000の終了を待ってる。
ここで待ってる限りUIは止まるってことね。
そういう意味か? 何となく解った。
>その非同期ラムダでawaitしてもワーカースレッドが解放されてるだけ
>UIスレッドで非同期待機するなら作成側を非同期メソッドにしてawaitする
言ってることの意味がわからない。Async()=>{}にしてるでしょ。
しかもこのラムダはRunが確保したスレッドプールで動作してるんでしょ。意味的にそうでないと
可笑しい。でラムダのその中でawaitしてるんだから、、、、って
UIスレでボタン受付
スレ4000でラムダ起動
AWAITでスレ4001にスイッチして100msec待つ
100msec完了でスレ4000に戻る。
スレ4000でループ
Task.Wait(3000)はUIスレでスレ4000の終了を待ってる。
ここで待ってる限りUIは止まるってことね。
そういう意味か? 何となく解った。
912デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 21:25:07.02ID:q/FX+WiY0 まぁ別スレからUI触るなクソ野郎と言われればその通りなので、当時の俺が悪かったのは間違いないのだが。
913デフォルトの名無しさん (ワッチョイ df9d-wl/W)
2018/03/01(木) 21:26:35.19ID:AzZlAoZA0 >いやだから…そのWait()の代わりにawaitをUIメソッドに書くんでしょうが…
そういうことね。解り申した。
そういうことね。解り申した。
914デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 21:41:01.61ID:q/FX+WiY0 ちなみに非同期の勉強ならasync/awaitよりも
生threadから始めた方が良いと思うんですが?
生threadから始めた方が良いと思うんですが?
915デフォルトの名無しさん (ワッチョイ dfd2-QDoW)
2018/03/01(木) 21:46:31.27ID:GOUhL4CG0 >>914
ねーよ
ねーよ
916デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/01(木) 21:48:56.53ID:q/FX+WiY0 そっかあ(´・ω・`)
917デフォルトの名無しさん (ワッチョイ 07e3-Dwo1)
2018/03/01(木) 21:54:11.39ID:CjtoGQ7P0 あんまり実践で使うことないな
基本的にスレッド必要なときってメソッド内で終わるほど準備ヌルくないし
簡単な機能使って実装すると大抵バグってる
基本的にスレッド必要なときってメソッド内で終わるほど準備ヌルくないし
簡単な機能使って実装すると大抵バグってる
918デフォルトの名無しさん (ワッチョイ 4706-m1UI)
2018/03/01(木) 22:41:00.53ID:8YSrTbQO0 ま非同期など定形を何本か覚えたら、ソレ以上凝ったことしても大して効率上がらんのよね
919デフォルトの名無しさん (ワッチョイ 0706-lEE9)
2018/03/01(木) 23:40:54.75ID:kBOyQt430 たまにはBackgroundWorkerさんのことも・・・
ううん、忘れていいw
ううん、忘れていいw
920デフォルトの名無しさん (アウアウウー Sa2b-dKqy)
2018/03/01(木) 23:57:01.48ID:bUfJPuYla クライアントアプリならイベントハンドラでの await Task.Run だけ覚えてそこから先は全部同期でいい
WebだとTPL Dataflowとか CancellationToken とかまで踏み込んで使いこなさないとあまり意味ないけど
WebだとTPL Dataflowとか CancellationToken とかまで踏み込んで使いこなさないとあまり意味ないけど
921デフォルトの名無しさん (ワッチョイ 7fc9-m1UI)
2018/03/02(金) 00:00:26.72ID:Gwpj8bix0922デフォルトの名無しさん (アウアウウー Sa2b-dKqy)
2018/03/02(金) 00:15:37.45ID:SqtcRaFRa >>921
そもそも勘違いしてるみたいだが、asyncはオーバーヘッドが大きいから一般にはなるべく使わないほうがいい。
じゃあWebではなぜ逆に非同期を全面的に積極的に使うかというと、
多数のリクエストを同時に処理するときのスレッドプールの消費を抑えることでメモリ使用量を低減できるから。
クライアントアプリなんか必ず同時に一人しか使わないんだから、UIのイベントの度にRunしても全く問題にならない。
そもそも勘違いしてるみたいだが、asyncはオーバーヘッドが大きいから一般にはなるべく使わないほうがいい。
じゃあWebではなぜ逆に非同期を全面的に積極的に使うかというと、
多数のリクエストを同時に処理するときのスレッドプールの消費を抑えることでメモリ使用量を低減できるから。
クライアントアプリなんか必ず同時に一人しか使わないんだから、UIのイベントの度にRunしても全く問題にならない。
923デフォルトの名無しさん (アウアウウー Sa2b-k3ZN)
2018/03/02(金) 00:17:51.82ID:glQGbmO9a それは独自研究の独自理論でしかないだろう
924デフォルトの名無しさん (アウアウウー Sa2b-dKqy)
2018/03/02(金) 00:21:16.16ID:SqtcRaFRa925デフォルトの名無しさん (アウアウウー Sa2b-k3ZN)
2018/03/02(金) 00:23:34.25ID:glQGbmO9a >asyncはオーバーヘッドが大きいから一般にはなるべく使わないほうがいい。
これが独自研究の独自理論
これが独自研究の独自理論
926デフォルトの名無しさん (ブーイモ MMcf-dKqy)
2018/03/02(金) 00:27:57.99ID:RRk6A7H1M927デフォルトの名無しさん (ワッチョイ 47cc-MIKN)
2018/03/02(金) 00:29:15.66ID:k6O24zwX0 個人的には非同期IOのシナリオの場合ならクライアントでも積極的に非同期使うようにしてるにゃ
928デフォルトの名無しさん (アウアウウー Sa2b-k3ZN)
2018/03/02(金) 00:31:40.92ID:glQGbmO9a 普通はそうだろ
929デフォルトの名無しさん (ワッチョイ 07e3-Dwo1)
2018/03/02(金) 00:32:45.87ID:ORIKCzBj0 そもそもなぜ非同期なんかにしたいのか?
すっげー不具合増えそうだしぶっちゃけやるんじゃねーよ
ぶっころ
すっげー不具合増えそうだしぶっちゃけやるんじゃねーよ
ぶっころ
930デフォルトの名無しさん (ワッチョイ ff7f-9act)
2018/03/02(金) 00:36:23.51ID:biZ1zUn80 >>926
> 結論 – 非常に短いメソッドにasync/awaitを使うことを避ける、あるいはきついループ内でawaitステートメントを持つことをを避ける
使い所を間違えるなとしか書いて無い。
「一般にはなるべく使わないほうがいい」とか、曲解だよ。
> 結論 – 非常に短いメソッドにasync/awaitを使うことを避ける、あるいはきついループ内でawaitステートメントを持つことをを避ける
使い所を間違えるなとしか書いて無い。
「一般にはなるべく使わないほうがいい」とか、曲解だよ。
931デフォルトの名無しさん (アウアウウー Sa2b-dKqy)
2018/03/02(金) 00:39:03.88ID:SqtcRaFRaレス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 山田邦子 ひょうきん族時代の年収は12億円「ただ税金が80%」 [muffin★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 【芸能】ワイドショーはオワコンなのか... フジ・朝の情報番組『サン!シャイン』1年で打ち切り報道 テレビよりSNSの視聴者 [冬月記者★]
- ソーラー発電所の地下に大量の産廃、事業者「工事会社に任せているので、わからない」…この国はこんなのばっかや [668970678]
- 高市早苗「定数削減とかすると思ってたの???笑」漢一匹吉村「ざっけんな」反旗を翻す [245325974]
- 【訃報】中野再開発×新宿再開発×五反田TOC建替×津田沼再開発×名駅再開発×👈もしかしてこの国のコンクリート建築詰んだ? [943688309]
- 高市「たまたま私が支部長だった。高市早苗に対する献金ではない」→自分の公式サイトで、ガッツリ寄付を呼びかけていた事が判明 [594040874]
- 【悲報】阿部「巨人ファンも理解してもらわないと。育成なんかしてたら最下位になるんで。」
- ルーナイト第1条!誰よりルーナ(・o・🍬)が好きな人~🙋🏡
