!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
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#(初心者用) Part147
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (エムゾネ FF9f-HF0o)
2020/02/19(水) 17:25:41.55ID:IsrGexiaF232デフォルトの名無しさん (ワッチョイ 55b0-CuPJ)
2020/04/07(火) 18:09:18.22ID:haJ3Gg0r0 GoogleドライブにファイルをアップをしたくてGoogleの下のサンプルを
参考に動かしてみたのですが、全くアップできず何が悪いのかさっぱりです・・・
https://developers.google.com/drive/api/v3/quickstart/dotnet
https://developers.google.com/drive/api/v3/manage-uploads
以下がコードです。
https://dotnetfiddle.net/4z2iZ4
ファイルのリストは、取得できているので認証はできていると思うのですが
「var file = request.ResponseBody」の行で、fileがnullとなっており
次の行でエラーが発生しています。
どなかたお助けください。よろしくお願いいたします。
参考に動かしてみたのですが、全くアップできず何が悪いのかさっぱりです・・・
https://developers.google.com/drive/api/v3/quickstart/dotnet
https://developers.google.com/drive/api/v3/manage-uploads
以下がコードです。
https://dotnetfiddle.net/4z2iZ4
ファイルのリストは、取得できているので認証はできていると思うのですが
「var file = request.ResponseBody」の行で、fileがnullとなっており
次の行でエラーが発生しています。
どなかたお助けください。よろしくお願いいたします。
233デフォルトの名無しさん (ワッチョイ 4b7b-Teqc)
2020/04/07(火) 18:10:40.64ID:Zxvg5mpZ0 >>231
追加部分をビルドしてもツールボックスに表示されないのなら該当するVSのスレで聞いてくれ
追加部分をビルドしてもツールボックスに表示されないのなら該当するVSのスレで聞いてくれ
234デフォルトの名無しさん (ワッチョイ b501-bVUD)
2020/04/07(火) 18:23:44.41ID:Fz3MtvZy0 >>233
VSスレ行ってきます
VSスレ行ってきます
235デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 18:42:39.03ID:G5F9VLMpF >>232
var driveService = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "MyApplicationName",
});
使ってない?
var driveService = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "MyApplicationName",
});
使ってない?
236デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 18:55:57.94ID:G5F9VLMpF あとは
var fileMetadata = new Google.Apis.Drive.v3.Data.File(){
Name="test.png",MimeType="image/png",};
にしてみるとか
他にはstreamがbinaryになってるかどうかとか
https://gist.github.com/LindaLawton/ead22e44bf88c3afa60753de0445eddf
この人もnullって言ってるな
var fileMetadata = new Google.Apis.Drive.v3.Data.File(){
Name="test.png",MimeType="image/png",};
にしてみるとか
他にはstreamがbinaryになってるかどうかとか
https://gist.github.com/LindaLawton/ead22e44bf88c3afa60753de0445eddf
この人もnullって言ってるな
237デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 18:58:19.21ID:G5F9VLMpF238デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/07(火) 19:00:30.98ID:G5F9VLMpF っていうか
DriveService.Scope.DriveReadonly
じゃだめな気がする
DriveService.Scope.DriveReadonly
じゃだめな気がする
239デフォルトの名無しさん (ワッチョイ 55b0-CuPJ)
2020/04/07(火) 19:02:03.78ID:haJ3Gg0r0240デフォルトの名無しさん (ワッチョイ 55b0-CuPJ)
2020/04/07(火) 19:42:25.67ID:haJ3Gg0r0241デフォルトの名無しさん (ワッチョイ df01-aZ/i)
2020/04/08(水) 18:42:37.41ID:4ZoNAvx+0 バルクコピーはdatatableだけに対応なのでしょうか?
ググってもジェネリックで使う記事が見当たらないので無理なのかなという気がしていますが
ググってもジェネリックで使う記事が見当たらないので無理なのかなという気がしていますが
242デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/08(水) 21:01:32.25ID:SnWF1IxV0 SqlBulkCopyの話ならWriteToServerのオーバーロード見る限り
IDataReader頑張って実装すれば何とかなりそう
IDataReader頑張って実装すれば何とかなりそう
243デフォルトの名無しさん (ワッチョイ 06e3-AglQ)
2020/04/08(水) 22:55:22.95ID:t+YdRhnM0 ググればToDataReaderの拡張メソッドヒットするからそれ参考に実装すればいいんじゃね
俺社環でライブラリの拡張メソッド禁止されているから、IDataReaderで作ったけど
俺社環でライブラリの拡張メソッド禁止されているから、IDataReaderで作ったけど
244デフォルトの名無しさん (ワッチョイ df01-aZ/i)
2020/04/09(木) 07:09:54.80ID:9rfBAHbp0 >>243
知らない知識なので参考にさせて頂きます
しかしバルクコピーのメソッドがdatatableという古い技術で実装させる時点で、そもそもバルクコピー自体が古い技術で別の最新技術があるのかなと疑っております
色々な角度で調べてみるつもりです
知らない知識なので参考にさせて頂きます
しかしバルクコピーのメソッドがdatatableという古い技術で実装させる時点で、そもそもバルクコピー自体が古い技術で別の最新技術があるのかなと疑っております
色々な角度で調べてみるつもりです
245デフォルトの名無しさん (オッペケ Sr5f-q7V1)
2020/04/09(木) 07:57:03.98ID:WaI3ZH+Vr datatableってもう古いの?
246デフォルトの名無しさん (ワッチョイ 431d-slfm)
2020/04/09(木) 08:44:51.87ID:lA8JDzIo0 win10において
・ネットワークとインターネット設定→プロキシのセットアップスクリプトを使う設定のON/OFF切り替え
・ネットワーク接続のインターネットプロトコルバージョン4のプロパティの
IPアドレスを自動的に取得すると、次のIPアドレスを使うの切り替えと入力
DNSサーバー・・・と次のDNSサーバーのアドレスを使うの切り替えと入力
これをC#アプリで実現できますか?どのようなクラスを使えばいいでしょうか?
・ネットワークとインターネット設定→プロキシのセットアップスクリプトを使う設定のON/OFF切り替え
・ネットワーク接続のインターネットプロトコルバージョン4のプロパティの
IPアドレスを自動的に取得すると、次のIPアドレスを使うの切り替えと入力
DNSサーバー・・・と次のDNSサーバーのアドレスを使うの切り替えと入力
これをC#アプリで実現できますか?どのようなクラスを使えばいいでしょうか?
247デフォルトの名無しさん (ワッチョイ 2349-q7V1)
2020/04/09(木) 09:25:00.65ID:x5VgstST0 レジストリいじれば設定変更できるやつだろ
ようはwin32だろ、それくらいまでは調べたよな?
ようはwin32だろ、それくらいまでは調べたよな?
248デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/09(木) 10:21:54.03ID:uYq8FGtT0 IPアドレスの変更の類はnetshコマンドをProcessクラスで使うのが一番手っ取り早いと思う
249デフォルトの名無しさん (ワッチョイ 2349-q7V1)
2020/04/09(木) 11:12:18.01ID:x5VgstST0 ローカルじゃなければProcess使うかなあ
250デフォルトの名無しさん (ワッチョイ 2733-0eSS)
2020/04/09(木) 11:17:42.26ID:MvrijcPz0 目的にもよるんだろうけど、PowerShellでスクリプト書く方が早そうな予感
完全にスレチになるけど
完全にスレチになるけど
251デフォルトの名無しさん (ワッチョイ cb02-AglQ)
2020/04/09(木) 11:21:39.40ID:wyC9Ec3D0 内部でPowerShellスクリプトを走らせるC#プログラムを作る
252デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/09(木) 12:41:32.88ID:kpg/tOgGF >>248
ほんそれ +1
ほんそれ +1
253デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/09(木) 12:48:40.23ID:XKMcLRnY0 x ほんそれ
o ほんとそれ
正しい日本語で
o ほんとそれ
正しい日本語で
254デフォルトの名無しさん (ワッチョイ cb02-AglQ)
2020/04/09(木) 14:07:27.20ID:wyC9Ec3D0 日本語を母国語としない人ほど
正しくない日本語で困るのです
正しくない日本語で困るのです
255デフォルトの名無しさん (ワッチョイ d701-jz5X)
2020/04/09(木) 21:32:00.67ID:ezz+hw670 ハンソロ
256デフォルトの名無しさん (ワッチョイ df01-aZ/i)
2020/04/10(金) 07:07:24.38ID:xmb7c5Fr0 >>245
新規開発でdatatable使ってたらうわってなる
新規開発でdatatable使ってたらうわってなる
257デフォルトの名無しさん (ワンミングク MM92-pOGN)
2020/04/10(金) 08:53:16.36ID:9rsnwyfyM >>256
今は何ですか?
今は何ですか?
258デフォルトの名無しさん (ワッチョイ 9b61-AglQ)
2020/04/10(金) 08:53:52.31ID:GJl9p4h50 型付きDataSet
259デフォルトの名無しさん (ワントンキン MM92-f3vT)
2020/04/10(金) 09:00:25.56ID:3BYzeKcKM >>245
もうEFかDapperでええやろ
もうEFかDapperでええやろ
260245 (オッペケ Sr5f-q7V1)
2020/04/10(金) 09:43:04.90ID:Rte1PrgOr あーそういや気付けばdapperばっか使ってたわ
あいえにゅめにゃんにゃんが便利やしなあ
あいえにゅめにゃんにゃんが便利やしなあ
261デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/10(金) 10:18:31.70ID:XzeHNtat0 DBとは無関係に
動的列、フィルタ&ソートしたまま行追加、みたいなのが必要な時はDataTable使ってる
動的列、フィルタ&ソートしたまま行追加、みたいなのが必要な時はDataTable使ってる
262デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/10(金) 11:00:45.18ID:nz1tlAhXF DataTableでうわぁっってなるひとはJSONでくぇぇっってならんのまじで?
263245 (ワッチョイ 2349-q7V1)
2020/04/10(金) 11:58:55.10ID:dIu9zrlt0 jitとか使ってそう
264デフォルトの名無しさん (ワッチョイ ebb2-zja/)
2020/04/10(金) 12:04:16.89ID:sXssV4F30 DataTableは2次元
JSONは3次元
JSONは3次元
265デフォルトの名無しさん (ワッチョイ 4e2f-5WFu)
2020/04/10(金) 13:26:59.74ID:saZPvfHU0 EFもDapperも変更追跡がなぁ
266デフォルトの名無しさん (ワッチョイ 62ad-0DgC)
2020/04/10(金) 13:54:32.33ID:/e8vDB+E0 >>265
Dapperにそんなもんあったっけ?
Dapperにそんなもんあったっけ?
267デフォルトの名無しさん (ワッチョイ 4e2f-5WFu)
2020/04/10(金) 14:10:46.01ID:saZPvfHU0268デフォルトの名無しさん (ワッチョイ 62ad-0DgC)
2020/04/10(金) 14:29:32.62ID:/e8vDB+E0 EFにはあるやろ
269デフォルトの名無しさん (ワッチョイ 6777-AglQ)
2020/04/10(金) 15:28:01.76ID:SuSUfgJ80 Chartコントロールで横のスクロールバーを表示させる方法を教えてください。
サンプルプログラムは↓のをほぼそのまま使いました。( i < 5のところを i < 500に変えて数だけ増やしています)
チャートは普通に表示されるのですが、いろいろ探してもスクロールバーの出し方が全然わかりません。
https://qiita.com/Aki_mintproject/items/02e98173eb8eee74fc5b
サンプルプログラムは↓のをほぼそのまま使いました。( i < 5のところを i < 500に変えて数だけ増やしています)
チャートは普通に表示されるのですが、いろいろ探してもスクロールバーの出し方が全然わかりません。
https://qiita.com/Aki_mintproject/items/02e98173eb8eee74fc5b
270デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/10(金) 16:05:22.34ID:eaxyjA8iF271デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
2020/04/10(金) 16:06:49.77ID:eaxyjA8iF272デフォルトの名無しさん (ワッチョイ 4e2f-5WFu)
2020/04/10(金) 19:04:23.80ID:saZPvfHU0273デフォルトの名無しさん (ワッチョイ 2b2c-m8t6)
2020/04/10(金) 21:43:50.98ID:Q8afigXi0 DatasetやTableのoriginalが取れたりrejectでロールパック出来たりするのは確かに便利
274デフォルトの名無しさん (ワッチョイ d701-jz5X)
2020/04/10(金) 22:14:18.97ID:phkDJesv0 トランザクションログ
275デフォルトの名無しさん (ワッチョイ 8eda-JB1h)
2020/04/11(土) 02:58:17.93ID:EYr99YyX0 よぉ〜しよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよし
276デフォルトの名無しさん (ワッチョイ 6777-AglQ)
2020/04/11(土) 13:19:24.89ID:n/kHMKTa0 >>270
ありがとうございます。解決しました
ありがとうございます。解決しました
277デフォルトの名無しさん (ワッチョイ c62d-kdbN)
2020/04/12(日) 16:27:59.95ID:WBJoN6ah0 if(条件A && !条件B){}
みたいなことをしたいのですが、&&と!をまとめてきれいに書く方法はありますか?
みたいなことをしたいのですが、&&と!をまとめてきれいに書く方法はありますか?
278デフォルトの名無しさん (ワッチョイ 0b17-AglQ)
2020/04/12(日) 16:48:42.14ID:insvI+xF0 var 条件C = 条件A && !条件B;
if(条件C){}
if(条件C){}
279デフォルトの名無しさん (ワッチョイ 47ac-q7V1)
2020/04/12(日) 18:02:02.30ID:Vvo4XdlE0 クラスや関数にする
設計を見直す
あーりーりたーんを心がける
設計を見直す
あーりーりたーんを心がける
280デフォルトの名無しさん (ワッチョイ 067b-Ryj7)
2020/04/12(日) 18:08:22.86ID:sgzIx9p/0281デフォルトの名無しさん (ワッチョイ 67a7-Oz6P)
2020/04/12(日) 18:11:50.67ID:7/OoXgJO0 >>277
関数にする
関数にする
282デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/12(日) 19:13:16.89ID:tx1YNXXn0 if (foo.IsEnabled && !bar.IsEnabled) を
if (foo.IsEnabled && bar.IsDisabled) にすることはある
単語の頭につけるエクスクラメーションマークは
見落としやすいから可読性がやや低い
>>278のパターンで変数にすることはあんまりないけど関数化するのもよくやる
if (foo.IsEnabled && bar.IsDisabled) にすることはある
単語の頭につけるエクスクラメーションマークは
見落としやすいから可読性がやや低い
>>278のパターンで変数にすることはあんまりないけど関数化するのもよくやる
283デフォルトの名無しさん (アウアウウー Sabb-b+QY)
2020/04/12(日) 19:22:29.59ID:xeq/pDNWa284デフォルトの名無しさん (ワッチョイ c62d-kdbN)
2020/04/12(日) 19:43:51.07ID:WBJoN6ah0 一発で書けるのかなと、すごく疑問に思ってたよ
ありがとう!
ありがとう!
285デフォルトの名無しさん (アウアウウー Sabb-KL7n)
2020/04/12(日) 21:05:32.57ID:0dL6T2+Wa 一発で書けた
if (b ? false : a) {...}
一発で書けた
if (!(!a || b)) {...}
一発で書けた
Func<bool, bool, bool> ippatu = (x, y) => x && !y;
if (ippatu(a, b)) {...}
if (b ? false : a) {...}
一発で書けた
if (!(!a || b)) {...}
一発で書けた
Func<bool, bool, bool> ippatu = (x, y) => x && !y;
if (ippatu(a, b)) {...}
286デフォルトの名無しさん (ワッチョイ cb02-AglQ)
2020/04/12(日) 21:27:27.71ID:JCmsoVoe0 XORでいいんだったら^一個で済むけど違うよな
287デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/12(日) 21:57:13.58ID:NV9JxSja0 Not演算子が見辛いから関数に置き換える
ぐらいでいい気はする
ぐらいでいい気はする
288デフォルトの名無しさん (アウアウウー Sabb-b+QY)
2020/04/12(日) 23:13:55.75ID:PHqFJcwka >>285
1つ目は短絡評価の場合の動作が異なるから等価な式になってないし、2つ目の式は元の式より見辛くなって無意味だろう
1つ目は短絡評価の場合の動作が異なるから等価な式になってないし、2つ目の式は元の式より見辛くなって無意味だろう
289デフォルトの名無しさん (ワッチョイ cb5f-zfCe)
2020/04/13(月) 10:34:31.41ID:xWnIwwwl0 >>286
カルノー図描いて観ろ
カルノー図描いて観ろ
290デフォルトの名無しさん (ワッチョイ bbda-P/Zs)
2020/04/13(月) 11:05:23.07ID:DkcwYYbx0291デフォルトの名無しさん (ワッチョイ 47ac-q7V1)
2020/04/13(月) 14:35:31.90ID:6KK4qS560 てかそんな条件がパット見でわからんくなるなら、根本的にそこにいたる道筋がおかしいと思うよ
292デフォルトの名無しさん (ワッチョイ 6207-O/Sq)
2020/04/13(月) 17:03:53.08ID:wlUJ1QGb0 SSH.net使った事ある人います?
フォワードポイント設定後、Startしてプログラムは通ってるんですけど、なぜかポートが開かないので困ってます
RloginというフリーのSShソフト使うと同じポートが開くので、SSH.net側かVS側が原因と考えてます
ネットの先人たちの知恵を拝見して同じようにしてるんですけど、なぜか上手くいきません
開発環境
VS2017
Nugetより最新のSSH.netを入れてます
netstatコマンドでポートの確認したら、192.168.〜の所が開かず、[::]の所が開いてるようです
これはなんなんでしょう?
フォワードポイント設定後、Startしてプログラムは通ってるんですけど、なぜかポートが開かないので困ってます
RloginというフリーのSShソフト使うと同じポートが開くので、SSH.net側かVS側が原因と考えてます
ネットの先人たちの知恵を拝見して同じようにしてるんですけど、なぜか上手くいきません
開発環境
VS2017
Nugetより最新のSSH.netを入れてます
netstatコマンドでポートの確認したら、192.168.〜の所が開かず、[::]の所が開いてるようです
これはなんなんでしょう?
293デフォルトの名無しさん (ワッチョイ 17ad-qv0W)
2020/04/13(月) 17:14:22.22ID:Szw9E2890294デフォルトの名無しさん (ワッチョイ ebb2-zja/)
2020/04/13(月) 17:18:05.18ID:ujcK/XL20 ポートフォアード開始してる?ステップインで状態とエラーメッセージ追えば理由なんとなくわかるんじゃね?
295デフォルトの名無しさん (ワッチョイ 6207-O/Sq)
2020/04/13(月) 17:41:05.66ID:wlUJ1QGb0296デフォルトの名無しさん (ワッチョイ 36eb-AglQ)
2020/04/13(月) 19:23:38.52ID:o+L/gyE50 拡張メソッドがあるのに、拡張プロパティなどが無いのは何故でしょう?
多くの日本語解説サイトで DirectoryInfoではなくDirectoryを、EnumerateFilesでなくGetFilesを使ってるのは何故でしょう?
(対応していないバージョンのC#を利用する人も、その方が高速・妥当なコードも稀だと思うのですが…)
多くの日本語解説サイトで DirectoryInfoではなくDirectoryを、EnumerateFilesでなくGetFilesを使ってるのは何故でしょう?
(対応していないバージョンのC#を利用する人も、その方が高速・妥当なコードも稀だと思うのですが…)
297デフォルトの名無しさん (ワッチョイ 9f43-AglQ)
2020/04/13(月) 19:55:51.75ID:i5ardRu40 >>296
> 拡張メソッドがあるのに、拡張プロパティなどが無いのは何故でしょう?
Why No Extension Properties?
https://blogs.msdn.microsoft.com/ericlippert/2009/10/05/why-no-extension-properties/
> 多くの日本語解説サイトで
解説を書いてるヤツらに聞け
> 拡張メソッドがあるのに、拡張プロパティなどが無いのは何故でしょう?
Why No Extension Properties?
https://blogs.msdn.microsoft.com/ericlippert/2009/10/05/why-no-extension-properties/
> 多くの日本語解説サイトで
解説を書いてるヤツらに聞け
298デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/13(月) 20:03:19.03ID:Bv/vlgUb0 拡張プロパティの類はC#10かもうちょい先ぐらいで追加されそう
https://ufcpp.net/blog/2018/7/pickuproslyn0714/
https://ufcpp.net/blog/2018/7/pickuproslyn0714/
299デフォルトの名無しさん (ドコグロ MM7a-juGi)
2020/04/13(月) 20:08:08.68ID:Wzp4v7WxM300デフォルトの名無しさん (ワッチョイ 36eb-AglQ)
2020/04/13(月) 20:26:56.25ID:o+L/gyE50301デフォルトの名無しさん (ワッチョイ 0b17-AglQ)
2020/04/13(月) 20:49:56.31ID:4T6PL/Gc0 >>298
リフレクション使うとどんな挙動になるんだろ
リフレクション使うとどんな挙動になるんだろ
302デフォルトの名無しさん (ワッチョイ 622c-N9MB)
2020/04/13(月) 21:10:08.00ID:Bv/vlgUb0303デフォルトの名無しさん (アウアウウー Sabb-juGi)
2020/04/13(月) 21:18:16.05ID:VqvNVGMOa >>302
そういう失敗例ならScalaでも見てみたら
そういう失敗例ならScalaでも見てみたら
304デフォルトの名無しさん (ワッチョイ 6233-AglQ)
2020/04/13(月) 23:30:22.44ID:IBaPMQxT0 Taskとasync/awaitの使い方について質問です
await Task.Delay(100);
と
task.Wait();
を組み合わせるとデッドロックすると色々なページで書かれていますが
試したらデッドロックしませんでした
https://ideone.com/d6BWCC
ConfigureAwaitもよく分かっていません(コンテキストとかマーシャリングとかも・・・)
https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.tasks.task.configureawait?view=netframework-4.8
なぜデッドロックしなかったのか教えてください
await Task.Delay(100);
と
task.Wait();
を組み合わせるとデッドロックすると色々なページで書かれていますが
試したらデッドロックしませんでした
https://ideone.com/d6BWCC
ConfigureAwaitもよく分かっていません(コンテキストとかマーシャリングとかも・・・)
https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.tasks.task.configureawait?view=netframework-4.8
なぜデッドロックしなかったのか教えてください
305デフォルトの名無しさん (ワッチョイ f7c3-RPGu)
2020/04/13(月) 23:33:06.25ID:LODcFAHq0 >>304
guiでWaitメソッドを使ってみて
guiでWaitメソッドを使ってみて
306304 (ワッチョイ 6233-AglQ)
2020/04/14(火) 00:04:17.51ID:wwnZT3mo0 WPFで適当なボタン作ってクリックイベント内で同じようなことをしたらフリーズしました
GUIじゃなければ起きない、とかでしょうか
CUIだとフリーズせず実行できてしまいます
GUIじゃなければ起きない、とかでしょうか
CUIだとフリーズせず実行できてしまいます
307デフォルトの名無しさん (ワッチョイ 8eda-KRXG)
2020/04/14(火) 02:23:36.56ID:hp+6QaJX0 ・UIスレッドは1つしかない
・GUIアプリの場合、await後は生成元のスレッドに戻ろうとする
・ところがUIスレッドはawaitしている
・お互い待ち合うことでデッドロック発生
CUIの場合はawait後に元のスレッドに戻らないのでデッドロックしない。
GUIでもAsync1、Async2のメソッド内で
await Task.Delay(100).ConfigureAwait(false);
とすればデッドロックしないが、Async1やAsync2でDelay後にUI部品触ると(ボタンのキャプション変えるとか)落ちる
・GUIアプリの場合、await後は生成元のスレッドに戻ろうとする
・ところがUIスレッドはawaitしている
・お互い待ち合うことでデッドロック発生
CUIの場合はawait後に元のスレッドに戻らないのでデッドロックしない。
GUIでもAsync1、Async2のメソッド内で
await Task.Delay(100).ConfigureAwait(false);
とすればデッドロックしないが、Async1やAsync2でDelay後にUI部品触ると(ボタンのキャプション変えるとか)落ちる
308304 (ワッチョイ 6233-AglQ)
2020/04/14(火) 09:01:56.56ID:wwnZT3mo0 なんとなくわかった気がしました
SynchronizationContext.Currentで取得できる同期コンテキストでawaitの動作が変わってるみたいで
CUIはもともとnull、WPFは
await Task.Delay(100).ConfigureAwait(false);
のあとはnullになるようです
一度nullにしてしまえば
await Task.Delay(100);
Async().Wait();
とやってもフリーズしませんでした
というかCUIと同じようにawait毎にスレッドがコロコロ変わるようになります
逆にCUIでも同期コンテキストを設定してしまえばデッドロックも起こせるみたいです
SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext());
とやったらCUIでもフリーズしました
普通のnew SynchronizationContext()ではフリーズしないので、知らない仕掛けがありそうですが
同期コンテキストの作られ方によってawaitの動作が変わるから
デッドロックが起きたり起きなかったりする、という感じがしました
SynchronizationContext.Currentで取得できる同期コンテキストでawaitの動作が変わってるみたいで
CUIはもともとnull、WPFは
await Task.Delay(100).ConfigureAwait(false);
のあとはnullになるようです
一度nullにしてしまえば
await Task.Delay(100);
Async().Wait();
とやってもフリーズしませんでした
というかCUIと同じようにawait毎にスレッドがコロコロ変わるようになります
逆にCUIでも同期コンテキストを設定してしまえばデッドロックも起こせるみたいです
SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext());
とやったらCUIでもフリーズしました
普通のnew SynchronizationContext()ではフリーズしないので、知らない仕掛けがありそうですが
同期コンテキストの作られ方によってawaitの動作が変わるから
デッドロックが起きたり起きなかったりする、という感じがしました
309デフォルトの名無しさん (ワッチョイ 7b0c-AglQ)
2020/04/14(火) 11:04:24.75ID:27IsOs6K0 WinformsやWPFは各々フレームワークのコンポーネントの初回呼び出しで
それぞれ専用の同期コンテキストを自動で現在のスレッドに設定して
await 式から自動生成されたコードで現在の同期コンテキストのSendやPostを呼び出してるって割と単純な話だわよ
それぞれ専用の同期コンテキストを自動で現在のスレッドに設定して
await 式から自動生成されたコードで現在の同期コンテキストのSendやPostを呼び出してるって割と単純な話だわよ
310デフォルトの名無しさん (ワッチョイ 7b59-vo9w)
2020/04/14(火) 21:47:37.07ID:kOEIvzYK0 質問失礼致します。
ttps://xr-hub.com/archives/20326
の2番目のサンプルコード「Person.cs」に
public Person(string name, Job job)
という行があるのですが、これは関数ですか?
publicの後の型やvoidを省略した時、どういう扱いになっているのでしょうか?
(暗黙的にvoidなど)
初歩的すぎる質問ですが知恵をお借し頂ければと思います。
よろしくお願い致します。
ttps://xr-hub.com/archives/20326
の2番目のサンプルコード「Person.cs」に
public Person(string name, Job job)
という行があるのですが、これは関数ですか?
publicの後の型やvoidを省略した時、どういう扱いになっているのでしょうか?
(暗黙的にvoidなど)
初歩的すぎる質問ですが知恵をお借し頂ければと思います。
よろしくお願い致します。
311デフォルトの名無しさん (ワッチョイ 6763-Ib7D)
2020/04/14(火) 21:49:20.96ID:LYeRKBcY0 >>310
コンストラクタで検索してみよう
コンストラクタで検索してみよう
312デフォルトの名無しさん (ワッチョイ d701-P/Zs)
2020/04/14(火) 21:52:06.64ID:LIgN/yKN0313デフォルトの名無しさん (ワッチョイ 7b59-vo9w)
2020/04/14(火) 22:02:45.41ID:kOEIvzYK0314デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/14(火) 22:48:21.91ID:GtUt/+gx0 コンストラクタが関数じゃないだとっ?
315デフォルトの名無しさん (ワッチョイ 62ad-0DgC)
2020/04/14(火) 23:10:59.52ID:e1S+5JbE0 >>312
え?
え?
316デフォルトの名無しさん (ワッチョイ ebb2-zja/)
2020/04/14(火) 23:32:09.30ID:a7j1JMim0 >>313
コンストラクタ知らないとか煽り抜きで基礎からやり直せ。この先すぐに行き止まりやぞ
コンストラクタ知らないとか煽り抜きで基礎からやり直せ。この先すぐに行き止まりやぞ
317デフォルトの名無しさん (ワッチョイ 06f2-shd/)
2020/04/14(火) 23:38:54.68ID:aqCEjjHy0 ゆっくり進んでいけばいいさ
318デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/15(水) 00:53:54.59ID:fYr2Vm730 コンストラクタは言語によってちょこちょこ違いがあるからなあ
それによって作法も、チームとかのなかでの使い方も違うんだよな
それによって作法も、チームとかのなかでの使い方も違うんだよな
319デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/15(水) 06:29:23.91ID:ElrUDxqt0 初心者で妥当な用語もよく分からないのですが、
Sytem.IO.File全体を Sytem.IO.FileInfoで上書きしたり
Sytem.IO.File全体を FileUtilsにリネームして利用ってできるでしょうか
多分歴史的経緯とかなんでしょうが、名前も機能も違和感ある・・・あるよね?
Sytem.IO.File全体を Sytem.IO.FileInfoで上書きしたり
Sytem.IO.File全体を FileUtilsにリネームして利用ってできるでしょうか
多分歴史的経緯とかなんでしょうが、名前も機能も違和感ある・・・あるよね?
320デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/15(水) 06:30:19.71ID:ElrUDxqt0 正system
誤sytem
誤sytem
321デフォルトの名無しさん (ワッチョイ 5701-xSTm)
2020/04/15(水) 07:39:24.57ID:0X0pe0WE0322デフォルトの名無しさん (ブーイモ MMbb-XMn9)
2020/04/15(水) 07:54:03.68ID:HIqtt51zM マニュアル読むならこのスレには来ないよ
323今度はビルドとはとか言い出すんだろうか? (ドコグロ MMbf-A2g6)
2020/04/15(水) 07:59:57.33ID:WVx1tERFM 進歩しろってことだろ
>>322には一生無理っぽいが…
>>322には一生無理っぽいが…
324デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/15(水) 08:16:40.55ID:ElrUDxqt0325デフォルトの名無しさん (ワッチョイ 9f63-jdMw)
2020/04/15(水) 11:11:56.53ID:O8tgepsJ0 >>319
名前も機能もべつに違和感ないけど
名前も機能もべつに違和感ないけど
326デフォルトの名無しさん (ワッチョイ d763-oiAQ)
2020/04/15(水) 11:38:37.86ID:hXBJaVw20327デフォルトの名無しさん (アウアウウー Sa1b-V/21)
2020/04/15(水) 12:23:21.76ID:4U/dMrxba >>319
あなたの違和感をなくすために他人に違和感を与えるコードを書いてはダメでしょうw
そういう尾崎豊的な「世の中間違ってる!」は義務教育で卒業しておけよw
インフラはみんなが慣れ親しんで知識を共有していることに意味があるんだよw
変なエイリアスを使うことはあなたの「俺流」を理解する手間を読む人に押し付けることになる。
それは1年後の自分自身かもしれないよw
あなたの違和感をなくすために他人に違和感を与えるコードを書いてはダメでしょうw
そういう尾崎豊的な「世の中間違ってる!」は義務教育で卒業しておけよw
インフラはみんなが慣れ親しんで知識を共有していることに意味があるんだよw
変なエイリアスを使うことはあなたの「俺流」を理解する手間を読む人に押し付けることになる。
それは1年後の自分自身かもしれないよw
328デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/15(水) 15:49:28.85ID:fYr2Vm730 自分だけのコードなら好きにすればとしか
チームで共有するならレビューしろとしか
チームで共有するならレビューしろとしか
329デフォルトの名無しさん (ワッチョイ 372c-+ZVK)
2020/04/15(水) 23:14:10.59ID:erSE2P+N0 添付プロパティがあるじゃない
330デフォルトの名無しさん (ワッチョイ 7feb-Ho7r)
2020/04/16(木) 00:47:09.81ID:97EKYXOu0 まさにそういう話で、(大多数が慣れ親しんだ知識である)自然言語で full path of a file だから
(FileInfo) hoge.FullName より
(File) file.FullPath の方が読みやすく、知識なく利用しやすくない? と思ったんだ
自分が知らないだけでFileInfoやFullNameの方が妥当な理由あるのかな
(FileInfo) hoge.FullName より
(File) file.FullPath の方が読みやすく、知識なく利用しやすくない? と思ったんだ
自分が知らないだけでFileInfoやFullNameの方が妥当な理由あるのかな
331デフォルトの名無しさん (アウアウウー Sa1b-7wDT)
2020/04/16(木) 00:49:55.71ID:PmElPVF7a 質問です。
visual studio2013 のWEBフォーム(.aspx)を使用しています。
以下のようなフォームを作りたいです。 どうやってつくったらよいでしょうか?
▼コンビニ ←選択すると▼マークになり、折り畳みのチェックボックスリストが出る
■セブンイレブン ←選択するとレ点でなく、□を塗りつぶす
□ローソン
■ファミリーマート
△ショッピングモール ←選択しないときは△マークでリストは折りたたまれている
△スーパー
よろしくお願いいたします。
visual studio2013 のWEBフォーム(.aspx)を使用しています。
以下のようなフォームを作りたいです。 どうやってつくったらよいでしょうか?
▼コンビニ ←選択すると▼マークになり、折り畳みのチェックボックスリストが出る
■セブンイレブン ←選択するとレ点でなく、□を塗りつぶす
□ローソン
■ファミリーマート
△ショッピングモール ←選択しないときは△マークでリストは折りたたまれている
△スーパー
よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★3 [BFU★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★4 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★3
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」★2 [115996789]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★4
- 【んな専🏡】華金もんなっしょいとはやれやれなのらね🍬(・o・🍬)🏰
- NHKニュースウオッチ9「日本側は対話にオープンな姿勢で安定した日中関係を築きたい考えなのに中国が意固地で糸口が見いだせない」 [904151406]
- 日中戦争起きたら5日で自衛隊壊滅するらしい。じゃあ徴兵も無いし、俺等が必死になって反対してやる理由なくね? [237216734]
