!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
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: checked:vvvvv:1000:512:----: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part141
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2317-qMUn)
2018/12/15(土) 11:07:07.89ID:0aSEF/I+0531デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 12:38:03.13ID:ymLQaaTBd >>530
引数でHelloを持ちかえる方法です。
引数でHelloを持ちかえる方法です。
532デフォルトの名無しさん (ブーイモ MM9f-3dyC)
2019/02/06(水) 13:05:34.43ID:pq3DhSMgM 日本語でOK!
533デフォルトの名無しさん (ワッチョイ 5f17-vS77)
2019/02/06(水) 13:11:17.81ID:/72vyC150534デフォルトの名無しさん (ワッチョイ dfe8-1Xap)
2019/02/06(水) 16:15:23.61ID:sqv9vum40 https://gist.github.com/katabamisan/5231237
上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
535デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 18:20:24.61ID:ymLQaaTBd >>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
536デフォルトの名無しさん (ササクッテロレ Spb3-MXrN)
2019/02/06(水) 18:30:37.80ID:1DcU3Gnhp コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
537デフォルトの名無しさん (アウアウウー Saa3-LWaQ)
2019/02/06(水) 18:54:31.06ID:cXGNS95ra538デフォルトの名無しさん (ワッチョイ ff2c-IxnT)
2019/02/06(水) 21:20:24.24ID:SSakxrcH0 >>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
539デフォルトの名無しさん (ワッチョイ a1e8-7AZF)
2019/02/07(木) 10:39:20.42ID:BTY8+ybz0 >>538
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ
・ReAllocCoTaskMemで確保するサイズをlength*2に変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更
上記2通りの修正でどちらも正常動作することが確認できました
回答ありがとうございました
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ
・ReAllocCoTaskMemで確保するサイズをlength*2に変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更
上記2通りの修正でどちらも正常動作することが確認できました
回答ありがとうございました
540デフォルトの名無しさん (スップ Sd82-Q5xa)
2019/02/07(木) 18:21:29.96ID:yK9ubdQXd VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ
ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?
なんか雛形のコードでもあればいただけませんか?
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ
ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?
なんか雛形のコードでもあればいただけませんか?
541デフォルトの名無しさん (ワッチョイ 7d17-feI+)
2019/02/07(木) 19:01:48.27ID:l2uiBAtS0 具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ
どんなエラーメッセージが出たのかを書いてくれ
542デフォルトの名無しさん (スップ Sd82-Q5xa)
2019/02/07(木) 19:28:54.09ID:yK9ubdQXd https://qiita.com/OneK/items/c3077aea595635f40ee5
このサイトの下のコードです。
adp.Fill(dt);←ここでエラーです。
return dt;
}
今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
このサイトの下のコードです。
adp.Fill(dt);←ここでエラーです。
return dt;
}
今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
543デフォルトの名無しさん (ワッチョイ a9e3-feI+)
2019/02/07(木) 20:24:29.71ID:3NiqE0/P0544デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/07(木) 21:34:46.19ID:FLUWNW3J0545デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/07(木) 21:37:56.26ID:FLUWNW3J0 >>543
速度はどうなんですか?早いですか?
速度はどうなんですか?早いですか?
546デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/07(木) 22:02:28.76ID:O0GaOve00547デフォルトの名無しさん (ワッチョイ a1f0-38JT)
2019/02/07(木) 22:23:39.18ID:iyj2o48P0 こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない
今回新たなソフトを社内でリリースするので悩んでいます。
あ、ちっちゃい会社です。
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない
今回新たなソフトを社内でリリースするので悩んでいます。
あ、ちっちゃい会社です。
548デフォルトの名無しさん (ワッチョイ 6ef2-Yfay)
2019/02/07(木) 22:28:55.73ID:CKGjxJfq0 もしかしてc#全く関係ない話?
549デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/07(木) 22:35:04.98ID:VZhzokSX0 > pdfではなんか味気ない
その謎の価値観を改めればすべて解決です
その謎の価値観を改めればすべて解決です
550デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/07(木) 23:39:26.83ID:Q7Nq6LQdd >>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
551デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/07(木) 23:40:23.99ID:Q7Nq6LQdd >>548
C#のコメントからヘルプを生成する話だよ
C#のコメントからヘルプを生成する話だよ
552デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/07(木) 23:47:55.01ID:O0GaOve00 doxygen的なのって新しいの出た?
553デフォルトの名無しさん (ワッチョイ 467d-4IkZ)
2019/02/08(金) 00:00:34.72ID:JeOi55qM0 sandcastleなつかしい
554デフォルトの名無しさん (ワッチョイ e247-WCNk)
2019/02/08(金) 00:09:17.11ID:yxq5pHtX0555デフォルトの名無しさん (ワッチョイ 6e63-+1v6)
2019/02/08(金) 00:42:26.66ID:zMW+eOHy0 markdownで書いてhtml出力
556デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/08(金) 00:59:36.44ID:wLiZux8Md >>555
ソースコードから生成しないのは非効率でしょ
ソースコードから生成しないのは非効率でしょ
557デフォルトの名無しさん (ワッチョイ 6ef2-Yfay)
2019/02/08(金) 01:02:48.69ID:kZW3St4e0 ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
558デフォルトの名無しさん (アウアウエー Sa0a-/S9r)
2019/02/08(金) 01:18:59.44ID:e7pcoQvna 社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ
ファイルで配ると後でメンテに苦労することになるよ
559デフォルトの名無しさん (ワッチョイ e247-WCNk)
2019/02/08(金) 01:22:13.31ID:yxq5pHtX0 >>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
560デフォルトの名無しさん (ササクッテロル Spd1-Yfay)
2019/02/08(金) 01:45:40.32ID:NCJ1sppLp ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど
質問した本人出てこないから結論出ないけど
561デフォルトの名無しさん (アウアウエー Sa0a-OF6d)
2019/02/08(金) 06:02:12.24ID:86VvLP3ma 簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか
Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
動作環境は何を基準にして明記したらいいのでしょうか
Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
562デフォルトの名無しさん (ドコグロ MMca-3tWi)
2019/02/08(金) 07:19:45.32ID:en2thcC6M >>555に一票
俺はAsciiDocだけど
俺はAsciiDocだけど
563デフォルトの名無しさん (スッップ Sd22-lwMy)
2019/02/08(金) 07:20:35.11ID:Weq4zX9xd 対処にした.netでしょう。
win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。
.net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。
一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか
知らないので、coreは注意が必要かもねぇ
win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。
.net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。
一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか
知らないので、coreは注意が必要かもねぇ
564デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/08(金) 07:33:47.03ID:JXgoNARF0 むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
565デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/08(金) 07:37:27.34ID:N+zrhIiBd >>563
4.5はもうサポート切れだからだめやろ
4.5はもうサポート切れだからだめやろ
566デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 14:02:16.37ID:wLzz2paeM 今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ
567デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/08(金) 14:09:17.61ID:N+zrhIiBd >>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
568デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 16:42:05.01ID:DCBa2RJt0 指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。
569デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 16:47:22.48ID:xI0+6qTx0 >>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。
570デフォルトの名無しさん (ワッチョイ 024b-GiBE)
2019/02/08(金) 16:58:08.14ID:hTn4Mfg30 >>569
Thread.Sleepの方がいいんじゃね?
Thread.Sleepの方がいいんじゃね?
571デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 17:08:32.00ID:wLzz2paeM >>568
タスクスケジューラ
タスクスケジューラ
572デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:20:02.58ID:xI0+6qTx0573デフォルトの名無しさん (ワッチョイ 9232-/WZR)
2019/02/08(金) 17:23:59.58ID:T5iT/olM0574デフォルトの名無しさん (ワッチョイ fe02-q2E1)
2019/02/08(金) 17:28:55.52ID:1w1isakW0 do-whileもいいと思う
575デフォルトの名無しさん (ワッチョイ 024b-GiBE)
2019/02/08(金) 17:33:15.83ID:hTn4Mfg30 >>572
待つロジックをThreadにすればいいだけじゃね?
待つロジックをThreadにすればいいだけじゃね?
576デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:48:48.00ID:xI0+6qTx0 マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく理解してからでないと危険を伴うことがある。
async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて
いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは
やめたほうがいいと思う。
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく理解してからでないと危険を伴うことがある。
async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて
いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは
やめたほうがいいと思う。
577デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:50:59.48ID:xI0+6qTx0 async は、↓のような複雑な control flow になる。
それを全部理解してから出ないと危険。
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/media/navigationtrace.png
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/
それを全部理解してから出ないと危険。
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/media/navigationtrace.png
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/
578デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/08(金) 18:11:51.00ID:JXgoNARF0 GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
579デフォルトの名無しさん (ブーイモ MMcd-FdHg)
2019/02/08(金) 18:25:10.33ID:ccTwL3cjM 指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
580デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 18:28:22.25ID:xI0+6qTx0 C#も汚い言語になってきたなー
581デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 18:32:16.25ID:xI0+6qTx0 なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
582デフォルトの名無しさん (スプッッ Sd82-bIN/)
2019/02/08(金) 18:49:11.69ID:5c9t7/Awd 汚いとは?
583デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 18:56:00.90ID:wLzz2paeM JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
584デフォルトの名無しさん (ワッチョイ a1d2-hHwN)
2019/02/08(金) 19:49:11.94ID:lL88DpXz0 割り込んですまない。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。
SolrNet を使ってこんなことをやってみた。
Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();
まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。
原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。
またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。
どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。
最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。
0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。
これを使えってご指定なんだよな。。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。
SolrNet を使ってこんなことをやってみた。
Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();
まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。
原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。
またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。
どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。
最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。
0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。
これを使えってご指定なんだよな。。
585デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/08(金) 20:41:31.54ID:OM4aCJGta >>568
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
var now = DateTime.Now;
var span = dt > now ? dt - now : TimeSpan.Zero;
await Task.Delay(span);
}
private async void button1_Click(object sender, EventArgs e)
{
await WaitTillAsync(DateTime.Now.AddSeconds(10));
MessageBox.Show("10秒後にこんにちは");
}
>>566
マジですかw
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
var now = DateTime.Now;
var span = dt > now ? dt - now : TimeSpan.Zero;
await Task.Delay(span);
}
private async void button1_Click(object sender, EventArgs e)
{
await WaitTillAsync(DateTime.Now.AddSeconds(10));
MessageBox.Show("10秒後にこんにちは");
}
>>566
マジですかw
586デフォルトの名無しさん (ワッチョイ aeda-OF6d)
2019/02/08(金) 21:46:41.47ID:tTA+g4g80 >>585
それだとNTPで時計合わせが発生したらズレる
素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、
指定時刻を過ぎてないか見るのが簡単。
マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。
それだとNTPで時計合わせが発生したらズレる
素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、
指定時刻を過ぎてないか見るのが簡単。
マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。
587デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/08(金) 22:17:53.01ID:uDI35RTx0 >>583
Rustは結局どうなったんだっけ?
Rustは結局どうなったんだっけ?
588デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 22:27:25.20ID:DCBa2RJt0 みなさんありがとうございます。
一応自分で書いていたのは>>585さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。
タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。
同じプログラムを大量に起動するので処理はなるべく軽いのが希望で
ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか?
また、時計合わせが発生したらズレるというのはどういうことでしょう?
一応自分で書いていたのは>>585さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。
タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。
同じプログラムを大量に起動するので処理はなるべく軽いのが希望で
ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか?
また、時計合わせが発生したらズレるというのはどういうことでしょう?
589デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 22:30:54.02ID:wLzz2paeM590デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/08(金) 22:53:24.62ID:OM4aCJGta >>586
えらい重箱の隅だけどまあそうだねw
private static async Task WaitTillAsync(DateTime dt)
{
await Task.Run
(
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
);
}
えらい重箱の隅だけどまあそうだねw
private static async Task WaitTillAsync(DateTime dt)
{
await Task.Run
(
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
);
}
591デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 23:23:03.92ID:wLzz2paeM592デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/08(金) 23:32:28.45ID:Waqd0NNdr どのへんでプロセス落ちるの?
593デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 23:33:09.16ID:DCBa2RJt0 >>590
Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
594デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 23:42:34.81ID:wLzz2paeM595デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 00:44:22.99ID:jhOjUKEBa >>593
もちろんいいと思うけど、
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
が
async () => { while (dt > DateTime.Now) await Task.Delay(500); }
に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
もちろんいいと思うけど、
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
が
async () => { while (dt > DateTime.Now) await Task.Delay(500); }
に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
596デフォルトの名無しさん (ワッチョイ 2de3-VUEs)
2019/02/09(土) 00:46:47.47ID:3dJvh84X0 await, async は、簡単なことを難しくしてしまう。
597デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/09(土) 00:52:22.81ID:8aikkfMy0 C#は、もはや、C++やCとは似ても似つかなくなってしまってる。
control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて
生ポインタの1,000倍危険。
control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて
生ポインタの1,000倍危険。
598デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 00:58:38.23ID:jhOjUKEBa () => { while (dt > DateTime.Now) Task.Delay(500).Wait(); }
の方が素直か。
何かTask.Delay使った方がいい理由ってあるかな
の方が素直か。
何かTask.Delay使った方がいい理由ってあるかな
599デフォルトの名無しさん (ワッチョイ 9140-/WZR)
2019/02/09(土) 01:13:05.43ID:dvMZ7Shb0 PDFファイルからテキストを抽出する方法でオススメはありますか?
調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。
調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。
600デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/09(土) 01:45:47.26ID:8aikkfMy0 C# の async, await を開発したのはこんな人。写真付き:
https://www.orioninc.com/c-async-and-await-programming-model-from-scratch-introduction/
https://www.orioninc.com/c-async-and-await-programming-model-from-scratch-introduction/
601デフォルトの名無しさん (スフッ Sd22-XlDt)
2019/02/09(土) 01:49:31.12ID:kYloXoqBd >>599
一番確実なのは製品版のAcrobatを使うことではないでしょうか
一番確実なのは製品版のAcrobatを使うことではないでしょうか
602デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/09(土) 01:49:48.79ID:U3ljW3xz0603デフォルトの名無しさん (ワッチョイ 9140-/WZR)
2019/02/09(土) 01:55:33.22ID:dvMZ7Shb0 >>601
私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか?
上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。
私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか?
上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。
604デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/09(土) 02:16:09.35ID:UMSUoHVI0 >>595
後者はTask.Run()が不要だから、むしろタイプ量は減るよ。
await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } );
と
while ( dt > DateTime.Now ) { await Task.Delay(500 ); }
後者はTask.Run()が不要だから、むしろタイプ量は減るよ。
await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } );
と
while ( dt > DateTime.Now ) { await Task.Delay(500 ); }
605デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/09(土) 02:39:48.15ID:U3ljW3xz0 ん? Task建ててる部分見てなかった、俺のレスのは忘れて
606デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/09(土) 02:40:17.09ID:UMSUoHVI0 後、細かいことを言うと、
Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、
Task.Delay()ならその間はThreadPoolのThreadが開放される。
Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、
Task.Delay()ならその間はThreadPoolのThreadが開放される。
607デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 02:47:07.48ID:jhOjUKEBa >>602
スリープするのはUIスレッドじゃないのでそれはありませんよw
これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、
そうでない場合もある。
つまり、別に車輪を再発明してるんじゃありません。
質問者がどっちのケースかは分からない
スリープするのはUIスレッドじゃないのでそれはありませんよw
これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、
そうでない場合もある。
つまり、別に車輪を再発明してるんじゃありません。
質問者がどっちのケースかは分からない
608デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 02:54:59.91ID:jhOjUKEBa609デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/09(土) 03:02:23.38ID:zy9w8qc80610デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/09(土) 07:11:19.34ID:Bzu1ndzH0 待つだけの処理で1スレッド消費しちゃうのは良くないな
かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる
ここはコルーチンしか無いでしょ!!コルーチン最高!!!!
かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる
ここはコルーチンしか無いでしょ!!コルーチン最高!!!!
611デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/09(土) 07:16:35.24ID:rkd3w/wq0 タスクスケジューラにしとけよ
612デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/09(土) 07:35:28.00ID:Bzu1ndzH0 タスクスケジューラはC#自体の機能じゃないからな、漢は黙ってコルーチン!!!
613デフォルトの名無しさん (ブーイモ MMf6-5dzK)
2019/02/09(土) 07:42:48.42ID:onf/I33CM 私、待つわ〜何時までも待つわ〜
例え対象スレッドが落ちていても〜
例え対象スレッドが落ちていても〜
614デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/09(土) 08:32:22.73ID:6iVlgEPUr >>594
それ非同期関係なくない?
それ非同期関係なくない?
615デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 08:45:27.49ID:O6W3Dl2k0616デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 08:47:26.04ID:O6W3Dl2k0 >>614
次はWindowsが落ちることを想定しよう
次はWindowsが落ちることを想定しよう
617デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/09(土) 11:10:00.80ID:YnD8XTKW0 c++はc#の何倍難しいですか?
618デフォルトの名無しさん (ブーイモ MMf6-5dzK)
2019/02/09(土) 11:13:22.03ID:onf/I33CM C# → C++/MFC なら大して変わらないかも
619デフォルトの名無しさん (ワッチョイ 467d-4IkZ)
2019/02/09(土) 11:13:26.70ID:902JN4xl0 256バイ
620デフォルトの名無しさん (ドコグロ MMca-/S9r)
2019/02/09(土) 11:17:48.96ID:k8PbCSORM 言うほど難しくはない
同じものを作るために3倍程度の工数がかかるだけ
同じものを作るために3倍程度の工数がかかるだけ
621デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/09(土) 11:24:28.88ID:YnD8XTKW0 個人で使うものではない感じですか?
openglを扱うためには裂けては通れないようですが
openglを扱うためには裂けては通れないようですが
622デフォルトの名無しさん (ワッチョイ 6e7b-HWB1)
2019/02/09(土) 11:31:34.31ID:k4TwxJVN0623デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/09(土) 11:35:32.77ID:YnD8XTKW0 ラッパーのほうが情報すくなくて難しそうなので
624デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/09(土) 11:39:46.24ID:U3ljW3xz0 >>621,623
> 個人で使うものではない感じですか?
個人で使うのになんら障害はない
> openglを扱うためには裂けては通れないようですが
OpenTKとかあるし別に必須じゃない
> ラッパーのほうが情報すくなくて難しそうなので
じゃあC++で学習すれば?
> 個人で使うものではない感じですか?
個人で使うのになんら障害はない
> openglを扱うためには裂けては通れないようですが
OpenTKとかあるし別に必須じゃない
> ラッパーのほうが情報すくなくて難しそうなので
じゃあC++で学習すれば?
625デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 11:41:56.63ID:O6W3Dl2k0 このレベルでOpenCVに手を出して何ができるんだって感じもある
チュートリアルを通してやるのがせいぜいか
チュートリアルを通してやるのがせいぜいか
626デフォルトの名無しさん (ワッチョイ 912f-XlDt)
2019/02/09(土) 12:15:17.08ID:yiDYsHnZ0 >>625
OpenCVとOpenGLは別物だよ
OpenCVとOpenGLは別物だよ
627デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/09(土) 12:25:47.28ID:6TG0Gkwea >>617
テンプレートの深みにはまらなければC++のほうが素朴で簡単
テンプレートの深みにはまらなければC++のほうが素朴で簡単
628デフォルトの名無しさん (ワッチョイ 8dda-feI+)
2019/02/09(土) 12:37:08.87ID:PsW6cRYq0 この人3ヶ月前からこういう質問ばっかしてる
一体いつになったら手を動かすんだろう
一体いつになったら手を動かすんだろう
629デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/09(土) 13:27:48.74ID:Bzu1ndzH0 やっぱコルーチンだわ
コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!
コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!
630デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/09(土) 14:30:31.24ID:8aikkfMy0 >>620
そんなかからん。せいぜい 2割り増し程度。
でも、ブラックボックスが少なくて何やってるのか分かりやすいので、
はまりにくいかも。
C#のasync, awaitなんて初心者が理解できるものではない。
そんなかからん。せいぜい 2割り増し程度。
でも、ブラックボックスが少なくて何やってるのか分かりやすいので、
はまりにくいかも。
C#のasync, awaitなんて初心者が理解できるものではない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★2 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 大竹まこと「高市早苗のせいで倒産する企業が出てくる。ババア、何がしたかったの?」 [592058334]
- 貧民アニオタ向けdアニメ、値上げへ [175344491]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- 【高市変質者】 お尻を出している 小太りTシャツの自転車乗りが発生 😱 [485983549]
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
