- 1 名前:デフォルトの名無しさん [2018/12/15(土) 11:07:07.89 ID:0aSEF/I+0.net]
- !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/ ■コードを貼る場合は↓を使いましょう。 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 referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 504 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 18:34:02.36 ID:wmh3wxbj0.net]
- dicHoge["Key"] = "hoge";
これの何がダメなの?
- 505 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 19:16:07.42 ID:Is8hbjin0.net]
- >>483
> dicHoge["Key"] = "hoge"; > ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか? Dictionary<TKey, TValue>はまさにその挙動だが
- 506 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 19:16:34.95 ID:nQoHUWUF0.net]
- 何か別の言語と勘違いしてんのかな
C++のmapみたいに存在しないキーにアクセスしたら自動的に初期値が入ればいいなと思ったことはある var d = new Dictionary<string, int>(); d["a"]++; こういうのできたら楽
- 507 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 21:30:37.03 ID:yHmpMqGVM.net]
- >>483
var
- 508 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 21:46:52.01 ID:2xzbyMOq0.net]
- hashset
- 509 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:06:39.55 ID:1o0umz0dp.net]
- 拡張メソッド作ればええんちゃうか
- 510 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:37:05.77 ID:SfS6VrgI0.net]
- そーいえば、ちょっと便利な Dictionary を作りたくて、これの完全ラッパーなクラスを作ったことあったな。
いまから考えれば無駄な労力だと思うが。w
- 511 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:46:34.52 ID:Lo/lI1+50.net]
- そんでDictionaryのインデクサが要求そのまんまの挙動であることについてはどういう見解なのだ
なんでそんな質問したんだ 気になるだろ
- 512 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 01:27:01.49 ID:Melu7CRC0.net]
- .Addメソッドも存在してるから
初見だと[]=valueがAddOrUpdateだとは思えないのはまぁ分かる
- 513 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 03:22:41.97 ID:V0cnsy7O0.net]
- 質問する前にちょこっと作って見ればすぐ分かるのに
- 514 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 12:54:05.03 ID:hIHuQnKx0.net]
- >>474
ありがとうございます D3DKMTWaitForVerticalBlankEvent に渡す D3DKMT_WAITFORVERTICALBLANKEVENT の 以下の3つはどのように取得すればよいのでしょうか D3DKMT_HANDLE hAdapter; D3DKMT_HANDLE hDevice; D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
- 515 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 17:55:46.18 ID:mF+gwDus0.net]
- var dicHoge = new Dictionary<string, string>();
dicHoge["Key"] = "hoge"; って、いきなり出来ちゃうんですか。 ダメと思って試しもしなかったです。
- 516 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 18:45:15.00 ID:9eIyz51RM.net]
- System.Data.DataTable なんて使ったら悶絶しちゃうかもな
- 517 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 19:27:14.70 ID:Lo/lI1+50.net]
- >>498
そのくらい自分でぐぐって調べろ と突き放そうと思ったけど要望そのまんまのコードが出てきたのでまあええわ https://github.com/fuse-open/fuse-studio/blob/master/Source/Fusion/Windows/VerticalSynchronization.cs 素直にIDXGIOutput::WaitForVBlank辺り使った方が良いと思うけどネ
- 518 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:37:02.16 ID:ZxPovaO5M.net]
- >>495
俺も最近似たようなもんが欲しくなったときがある ・重複したときに別の処理が必要 ・登録した順番が重要 ってときにDictionary自体使わんで KeyValuePairのListばっかり使うようになった つーのはログの出力まで出したいときに登録した順に出したいから ログ出力するもんにはDictionary使わなくなった
- 519 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:42:40.54 ID:jpAIKS8U0.net]
- ログ取ってるなら逆にDicで困らんと思うけど
- 520 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:49:56.24 ID:IKDI2S7C0.net]
- >>503
入れたときじゃなくて別のタイミングで出したい 順番に保証がないと困る って場面
- 521 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:58:01.30 ID:7GVwTPrN0.net]
- ログ出力する時に並び替えるだけで済むのでは?
- 522 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 16:04:15.94 ID:IKDI2S7C0.net]
- >>505
どうやって?
- 523 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 16:18:53.59 ID:LOT7/zBp0.net]
- つかそれKeyは何なんだよ
それがキー項目である必要あるのか?
- 524 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 17:01:46.98 ID:cLU3XamPa.net]
- >>504
dict[key] = value; mySpecialLogger.Log($"dictに追加したぞ: {key}, {value}"); ---- mySpecialLogger.Flush();
- 525 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 17:56:25.94 ID:EhLznF4nM.net]
- SortedListやSortedDictionaryでいいだろ
- 526 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 19:21:16.88 ID:ZOlWRYsg0.net]
- 登録順ならOrderedDictionary
- 527 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 11:39:31.27 ID:2YxD3k7B0.net]
- >>501
できました、ありがとうございました IDXGIOutput::WaitForVBlankは呼び出すまでがよくわからないし P/Invokeだけでできるのかもわからないのでやめておきます
- 528 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 13:36:44.96 ID:AKeTBC2ia.net]
- ReadOnly=trueのテキストボックスをクリックしてしまった時に
フォーカス映ってカーソルがチカチカしないようにしたいのですがプロパティ上で設定できないのでしょうか?
- 529 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 13:48:21.68 ID:B1LZYLJj0.net]
- GotFocusのたびにWindowsAPIのHideCaretの呼び出しが必要じゃないかな
- 530 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 14:07:22.27 ID:/rUNKcNUa.net]
- >>512
コピーを想定してそうなってるので、TextBoxを使うならその仕様は買えない方がよいのでは。 コピーなんかできなくてもいいなら素直にLabelを使いましょう。 BorderStyleやBackColorをいじればTextBoxに近い外見にも出来る
- 531 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 15:54:30.95 ID:AKeTBC2ia.net]
- テキストボックスの上に後付けでボタン配置したので、ポインタずれて押しそこなった時にそんな感じになってしまったのです
まあ動作的にはなんの問題もないのではあるけど>>513のイベントハンドラ作ってみます ありがとうございました
- 532 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 08:55:05.54 ID:3J1ruy+d0.net]
- rar5をオンメモリで解凍、ストリーム取得できるライブラリは無いですか?
- 533 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:59:50.41 ID:svez8hxC0.net]
- >>516
sharpcompressでそれっぽいことできてるな https://www.nuget.org/packages/sharpcompress https://github.com/adamhathcock/sharpcompress/blob/master/tests/SharpCompress.Test/Rar/RarReaderTests.cs
- 534 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 11:07:59.15 ID:svez8hxC0.net]
- すまんrar5は未対応みたいなこと言ってるわ
- 535 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 11:21:25.96 ID:svez8hxC0.net]
- ほんならこっち
7z.dllのラッパー https://www.nuget.org/packages/SevenZipExtractor/ https://github.com/adoconnection/SevenZipExtractor/blob/master/README.md
- 536 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 12:48:55.07 ID:cT2SE72s0.net]
- web上の画像をダウンロードせずに
高さと幅を取得する方法があれば教えてください
- 537 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 13:03:57.50 ID:GPC4C0Pm0.net]
- 電話で聞く
- 538 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 13:37:05.03 ID:RjbzZp8x0.net]
- >>520
先頭だけ取得して解析するくらいが関の山じゃない? https://developer.mozilla.org/ja/docs/Web/HTTP/Range_requests
- 539 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 15:25:13.53 ID:cT2SE72s0.net]
- >>522
ありがとうございました
- 540 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 15:40:50.37 ID:3J1ruy+d0.net]
- >>519
- 541 名前:
回答ありがとうございます。 SevenZipExtractorですが、プロジェクトにNugetで取り込んでも正常に認識してくれず使えませんでした。 SharpCompressですが、(まだファイルの一覧だけしか試していませんが)RAR5での圧縮ファイルを扱えました。 SharpCompressは前に使っていたことがあるので(当時はRAR5が使えなかった)、こちらを使おうと思います。 []- [ここ壊れてます]
- 542 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 17:04:13.00 ID:CPjaAgWSM.net]
- vs2013なんですけど、バーコードを作るメジャーな方法って何があるでしょうか?無料がいいです。
- 543 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 17:23:07.87 ID:jB1piIf60.net]
- 無料ならGPLv3でもええんか
- 544 名前:デフォルトの名無しさん [2019/02/05(火) 17:28:38.13 ID:dQJUt0gZF.net]
- ライブラリいっぱいあるで
- 545 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 18:20:58.39 ID:C5l7MRqld.net]
- >>525
メジャーなのはZXing
- 546 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 21:05:22.94 ID:XsUhL+1b0.net]
- 何かライブラリ無いかなと思ったらまずNuGet見てみる
- 547 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:34:37.03 ID:ymLQaaTBd.net]
- C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。
例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか? 使ってるのはVisualStudio2017です。
- 548 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:38:03.13 ID:ymLQaaTBd.net]
- >>530
引数でHelloを持ちかえる方法です。
- 549 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:05:34.43 ID:pq3DhSMgM.net]
- 日本語でOK!
- 550 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:11:17.81 ID:/72vyC150.net]
- >>530
ググレカス C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品 https://needtec.exblog.jp/21522702/
- 551 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 16:15:23.61 ID:sqv9vum40.net]
- https://gist.github.com/katabamisan/5231237
上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで 例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
- 552 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:20:24.61 ID:ymLQaaTBd.net]
- >>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
- 553 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:30:37.80 ID:1DcU3Gnhp.net]
- コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
- 554 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:54:31.06 ID:cXGNS95ra.net]
- >>535
C# メインルーチンからメッセージボックスを表示 VBA shellを使って↑を起動
- 555 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 21:20:24.24 ID:SSakxrcH0.net]
- >>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから 第5引数のnSizeはwchar_tの個数を指すことになる wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる でも実際にはその半分の16バイトしか確保してないから GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
- 556 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 10:39:20.42 ID:BTY8+ybz0.net]
- >>538
文字セットのことがすっかり頭から抜けてました WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ ・ReAllocCoTaskMemで確保するサイズをlength*2に
- 557 名前:変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更 上記2通りの修正でどちらも正常動作することが確認できました 回答ありがとうございました [] - [ここ壊れてます]
- 558 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 18:21:29.96 ID:yK9ubdQXd.net]
- VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。 対象エクセルブックは〇〇.xlsのみ ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。 何かインストールが必要なんですか?それとも参照設定とか必要なんですかね? なんか雛形のコードでもあればいただけませんか?
- 559 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 19:01:48.27 ID:l2uiBAtS0.net]
- 具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ
- 560 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 19:28:54.09 ID:yK9ubdQXd.net]
- https://qiita.com/OneK/items/c3077aea595635f40ee5
このサイトの下のコードです。 adp.Fill(dt);←ここでエラーです。 return dt; } 今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
- 561 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 20:24:29.71 ID:3NiqE0/P0.net]
- >>540
https://csharp.keicode.com/topics/how-to-use-exceldatareader.php これじゃあかんの?
- 562 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 21:34:46.19 ID:FLUWNW3J0.net]
- >>543
これも明日試してみます。 でもいろいろとコードの引き出しがあったらいいなって
- 563 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 21:37:56.26 ID:FLUWNW3J0.net]
- >>543
速度はどうなんですか?早いですか?
- 564 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:02:28.76 ID:O0GaOve00.net]
- >>545
ウゼェ、やる気がねーなら エロゲでもやってろ
- 565 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:23:39.18 ID:iyj2o48P0.net]
- こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で 作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない 今回新たなソフトを社内でリリースするので悩んでいます。 あ、ちっちゃい会社です。
- 566 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:28:55.73 ID:CKGjxJfq0.net]
- もしかしてc#全く関係ない話?
- 567 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:35:04.98 ID:VZhzokSX0.net]
- > pdfではなんか味気ない
その謎の価値観を改めればすべて解決です
- 568 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:39:26.83 ID:Q7Nq6LQdd.net]
- >>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
- 569 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:40:23.99 ID:Q7Nq6LQdd.net]
- >>548
C#のコメントからヘルプを生成する話だよ
- 570 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:47:55.01 ID:O0GaOve00.net]
- doxygen的なのって新しいの出た?
- 571 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:00:34.72 ID:JeOi55qM0.net]
- sandcastleなつかしい
- 572 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:09:17.11 ID:yxq5pHtX0.net]
- >>553
今でもメンテしてる人いるし! https://github.com/EWSoftware/SHFB
- 573 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:42:26.66 ID:zMW+eOHy0.net]
- markdownで書いてhtml出力
- 574 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:59:36.44 ID:wLiZux8Md.net]
- >>555
ソースコードから生成しないのは非効率でしょ
- 575 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:02:48.69 ID:kZW3St4e0.net]
- ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
- 576 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:18:59.44 ID:e7pcoQvna.net]
- 社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ
- 577 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:22:13.31 ID:yxq5pHtX0.net]
- >>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
- 578 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:45:40.32 ID:NCJ1sppLp.net]
- ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど
- 579 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 06:02:12.24 ID:86VvLP3ma.net]
- 簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
- 580 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:19:45.32 ID:en2thcC6M.net]
- >>555に一票
俺はAsciiDocだけど
- 581 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:20:35.11 ID:Weq4zX9xd.net]
- 対処にした.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は注意が必要かもねぇ
- 582 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:33:47.03 ID:JXgoNARF0.net]
- むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
- 583 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:37:27.34 ID:N+zrhIiBd.net]
- >>563
4.5はもうサポート切れだからだめやろ
- 584 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 14:02:16.37 ID:wLzz2paeM.net]
- 今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される 既存の.NETアプリは全てレガシーの産廃だ
- 585 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 14:09:17.61 ID:N+zrhIiBd.net]
- >>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
- 586 名前:デフォルトの名無しさん [2019/02/08(金) 16:42:05.01 ID:DCBa2RJt0.net]
- 指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能 なるべくcpuの負担が軽くなる方法が良いです よろしくお願い致します。
- 587 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:47:22.48 ID:xI0+6qTx0.net]
- >>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が 呼び出されるようにしておく。そして、その自前の関数で現在の日時を 取得して、条件に合う日時になっているか調べる。そして、条件に合って いれば、好きな処理をする。そうすればいい。
- 588 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:58:08.14 ID:hTn4Mfg30.net]
- >>569
Thread.Sleepの方がいいんじゃね?
- 589 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:08:32.00 ID:wLzz2paeM.net]
- >>568
タスクスケジューラ
- 590 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:20:02.58 ID:xI0+6qTx0.net]
- >>570
それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能 になるハズ。
- 591 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:23:59.58 ID:T5iT/olM0.net]
- >>568
アプリが起動しっぱなしなら指定日時から現在日時を引いて await Task.Delay()等でタイムアウト待つとか、他は>>571かね
- 592 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:28:55.52 ID:1w1isakW0.net]
- do-whileもいいと思う
- 593 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:33:15.83 ID:hTn4Mfg30.net]
- >>572
待つロジックをThreadにすればいいだけじゃね?
- 594 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:48:48.00 ID:xI0+6qTx0.net]
- マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には お勧めできない。同期オブジェクトや atomic アクセス、volatile などを 正しく
- 595 名前:理解してからでないと危険を伴うことがある。
async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは やめたほうがいいと思う。 [] - [ここ壊れてます]
- 596 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:50:59.48 ID:xI0+6qTx0.net]
- 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/
- 597 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:11:51.00 ID:JXgoNARF0.net]
- GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
- 598 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:25:10.33 ID:ccTwL3cjM.net]
- 指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
- 599 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:28:22.25 ID:xI0+6qTx0.net]
- C#も汚い言語になってきたなー
- 600 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:32:16.25 ID:xI0+6qTx0.net]
- なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
- 601 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:49:11.69 ID:5c9t7/Awd.net]
- 汚いとは?
- 602 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:56:00.90 ID:wLzz2paeM.net]
- JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した 汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
- 603 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 19:49:11.94 ID:lL88DpXz0.net]
- 割り込んですまない。
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 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。 これを使えってご指定なんだよな。。
- 604 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 20:41:31.54 ID:OM4aCJGta.net]
- >>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
|

|