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
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
605 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 2
] [ここ壊れてます]
606 名前:1:46:41.47 ID:tTA+g4g80.net mailto: >>585 それだとNTPで時計合わせが発生したらズレる 素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、 指定時刻を過ぎてないか見るのが簡単。 マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。 [] [ここ壊れてます]
607 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:17:53.01 ID:uDI35RTx0.net] >>583 Rustは結局どうなったんだっけ?
608 名前:デフォルトの名無しさん [2019/02/08(金) 22:27:25.20 ID:DCBa2RJt0.net] みなさんありがとうございます。 一応自分で書いていたのは>>585 さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。 タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。 同じプログラムを大量に起動するので処理はなるべく軽いのが希望で ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか? また、時計合わせが発生したらズレるというのはどういうことでしょう?
609 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:30:54.02 ID:wLzz2paeM.net] >>588 ポーリングが嫌ならタスクスケジューラを使えばいい プログラムから簡単に登録できる
610 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:53:24.62 ID:OM4aCJGta.net] >>586 えらい重箱の隅だけどまあそうだねw private static async Task WaitTillAsync(DateTime dt) { await Task.Run ( () => { while (dt > DateTime.Now) Thread.Sleep(500); } ); }
611 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 23:23:03.92 ID:wLzz2paeM.net] >>590 プロセスが落ちることを想定せよ NTPなんかより遥かに影響を受ける可能性の高い事象である やり直し
612 名前:デフォルトの名無しさん [2019/02/08(金) 23:32:28.45 ID:Waqd0NNdr.net] どのへんでプロセス落ちるの?
613 名前:デフォルトの名無しさん [2019/02/08(金) 23:33:09.16 ID:DCBa2RJt0.net] >>590 Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
614 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 23:42:34.81 ID:wLzz2paeM.net] >>592 どこでも 質問者は24時間起動って言ってるんだから当然想定すべきだよ
615 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:44:22.99 ID:jhOjUKEBa.net] >>593 もちろんいいと思うけど、 () => { while (dt > DateTime.Now) Thread.Sleep(500); } が async () => { while (dt > DateTime.Now) await Task.Delay(500); } に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
616 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:46:47.47 ID:3dJvh84X0.net] await, async は、簡単なことを難しくしてしまう。
617 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:52:22.81 ID:8aikkfMy0.net] C#は、もはや、C++やCとは似ても似つかなくなってしまってる。 control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて 生ポインタの1,000倍危険。
618 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:58:38.23 ID:jhOjUKEBa.net] () => { while (dt > DateTime.Now) Task.Delay(500).Wait(); } の方が素直か。 何かTask.Delay使った方がいい理由ってあるかな
619 名前:デフォルトの名無しさん [2019/02/09(土) 01:13:05.43 ID:dvMZ7Shb0.net] PDFファイルからテキストを抽出する方法でオススメはありますか? 調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。
620 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:45:47.26 ID:8aikkfMy0.net] C# の async, await を開発したのはこんな人。写真付き: https://www.orioninc.com/c-async-and-await-programming-model-from-scratch-introduction/
621 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:49:31.12 ID:kYloXoqBd.net] >>599 一番確実なのは製品版のAcrobatを使うことではないでしょうか
622 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:49:48.79 ID:U3ljW3xz0.net] >>598 この流れでもう二回書かれてるけどawaitしないとその間メッセージキュー処理できないでしょ あとTimer使えば済むロジックを自分で書かないの
623 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:55:33.22 ID:dvMZ7Shb0.net] >>601 私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか? 上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。
624 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:16:09.35 ID:UMSUoHVI0.net] >>595 後者はTask.Run()が不要だから、むしろタイプ量は減るよ。 await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } ); と while ( dt > DateTime.Now ) { await Task.Delay(500 ); }
625 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:39:48.15 ID:U3ljW3xz0.net] ん? Task建ててる部分見てなかった、俺のレスのは忘れて
626 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:40:17.09 ID:UMSUoHVI0.net] 後、細かいことを言うと、 Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、 Task.Delay()ならその間はThreadPoolのThreadが開放される。
627 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:47:07.48 ID:jhOjUKEBa.net] >>602 スリープするのはUIスレッドじゃないのでそれはありませんよw これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、 そうでない場合もある。 つまり、別に車輪を再発明してるんじゃありません。 質問者がどっちのケースかは分からない
628 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:54:59.91 ID:jhOjUKEBa.net] >>604 ああ、なるほど。 正直非同期メソッドって書きなれてないから目からうろこ
629 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 03:02:23.38 ID:zy9w8qc80.net] >>603 SDKは自由にダウンロードできるからドキュメント見て自分で判断しておくれ https://helpx.adobe.com/jp/acrobat/kb/2558.html
630 名前:デフォルトの名無しさん [2019/02/09(土) 07:11:19.34 ID:Bzu1ndzH0.net] 待つだけの処理で1スレッド消費しちゃうのは良くないな かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる ここはコルーチンしか無いでしょ!!コルーチン最高!!!!
631 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:16:35.24 ID:rkd3w/wq0.net] タスクスケジューラにしとけよ
632 名前:デフォルトの名無しさん [2019/02/09(土) 07:35:28.00 ID:Bzu1ndzH0.net] タスクスケジューラはC#自体の機能じゃないからな、漢は黙ってコルーチン!!!
633 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:42:48.42 ID:onf/I33CM.net] 私、待つわ〜何時までも待つわ〜 例え対象スレッドが落ちていても〜
634 名前:デフォルトの名無しさん [2019/02/09(土) 08:32:22.73 ID:6iVlgEPUr.net] >>594 それ非同期関係なくない?
635 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:45:27.49 ID:O6W3Dl2k0.net] >>583 kotlinはそっくりそのままと言えるものではなく 奇怪な何かになってる
636 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:47:26.04 ID:O6W3Dl2k0.net] >>614 次はWindowsが落ちることを想定しよう
637 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:10:00.80 ID:YnD8XTKW0.net] c++はc#の何倍難しいですか?
638 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:13:22.03 ID:onf/I33CM.net] C# → C++/MFC なら大して変わらないかも
639 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:13:26.70 ID:902JN4xl0.net] 256バイ
640 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:17:48.96 ID:k8PbCSORM.net] 言うほど難しくはない 同じものを作るために3倍程度の工数がかかるだけ
641 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:24:28.88 ID:YnD8XTKW0.net] 個人で使うものではない感じですか? openglを扱うためには裂けては通れないようですが
642 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:31:34.31 ID:k4TwxJVN0.net] >>621 opengl c# でググったらいろいろヒットするが DllImportがめんどくさいのはわかるが避けて通れない理由があるのか? C++でやらなきゃって思うのならC++のスレへどうぞ
643 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:35:32.77 ID:YnD8XTKW0.net] ラッパーのほうが情報すくなくて難しそうなので
644 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:39:46.24 ID:U3ljW3xz0.net] >>621 ,623 > 個人で使うものではない感じですか? 個人で使うのになんら障害はない > openglを扱うためには裂けては通れないようですが OpenTKとかあるし別に必須じゃない > ラッパーのほうが情報すくなくて難しそうなので じゃあC++で学習すれば?
645 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:41:56.63 ID:O6W3Dl2k0.net] このレベルでOpenCVに手を出して何ができるんだって感じもある チュートリアルを通してやるのがせいぜいか
646 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:15:17.08 ID:yiDYsHnZ0.net] >>625 OpenCVとOpenGLは別物だよ
647 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:25:47.28 ID:6TG0Gkwea.net] >>617 テンプレートの深みにはまらなければC++のほうが素朴で簡単
648 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:37:08.87 ID:PsW6cRYq0.net] この人3ヶ月前からこういう質問ばっかしてる 一体いつになったら手を動かすんだろう
649 名前:デフォルトの名無しさん [2019/02/09(土) 13:27:48.74 ID:Bzu1ndzH0.net] やっぱコルーチンだわ コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!
650 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:30:31.24 ID:8aikkfMy0.net] >>620 そんなかからん。せいぜい 2割り増し程度。 でも、ブラックボックスが少なくて何やってるのか分かりやすいので、 はまりにくいかも。 C#のasync, awaitなんて初心者が理解できるものではない。
651 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:37:30.48 ID:O6W3Dl2k0.net] >>626 ごめん 俺の目が悪かった
652 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 15:30:22.75 ID:zy9w8qc80.net] C#はクラスライブラリも簡単に逆アセンブルできるからブラックボックスは少ないよな
653 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 16:47:05.41 ID:dvMZ7Shb0.net] >>609 ありがとうございます。
654 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:52:17.77 ID:5t5ZiBxh0.net] WPF, Windows Form の二種類があったり、Xamarineを使うかどうかが あったり、C#も複雑極まりないんだね。GDI がセンスがない関数群だったので 嫌われたこと、MFCが汚かったこと、Direct3Dが汚かったこと、COMが 汚かったこと、ActiveX がさらに訳分からなかったこと、の再来を感じる。 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな ことをやるタイプ、以外にいくつもあって、さらに最後に async, await が Synax Suger になっているんだね。なんという複雑さ・・・。 また、スレッドを起こすのに 1MB もメモリが必要・・・・。 なんという無駄使い。
655 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:54:12.95 ID:5t5ZiBxh0.net] 結局、.Net Standard が破棄されて、.Net Core だけが残るといううわさを聞いた けど、やっぱり Xamarine が捨てられていくのかな。買収時点で最初から 予想されたことだけど。
656 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:59:09.93 ID:VPSQr41Ud.net] またC#嫌いのお前か
657 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:07:49.24 ID:HZrCyM150.net] >>634 > 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな > ことをやるタイプ、以外にいくつもあって 具体的には? いくつもあるなら2,3挙げてみてよ
658 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:07:00.86 ID:P1Q5YmOJ0.net] >>637 ↓ ここを読んでくれ www.atmarkit.co.jp/fdotnet/chushin/masterasync_01/masterasync_01_02.html 数え方にもよるが、恐らく6〜8種類くらいあると思う。
659 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:09:30.45 ID:P1Q5YmOJ0.net] 多分、 1. Thread 2. ThreadPool 3. Event-based 4. Async Programming Model 5. Reactive Extensions 6. Task-based 7. async/await の 7種類だと思う。もっとあるかも知れないけど。
660 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:09:35.84 ID:XpZrG1uz0.net] APM、EAP、TAPなんかを言ってるのかね? 単に時代の流れじゃないの レガシーをタスクにする方法もあるし、.NETはネイティブスレッドではなかろう 開始元へ差し戻しが多いからawaitがあるだけで結局Task推奨になってると思うけど 議論が活発なのは結構だが、ぽこぽこ増えていく言語
661 名前:バージョンを見てると不安は抱く [] [ここ壊れてます]
662 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:32:53.23 ID:c9rRoNSM0.net] 時代の流れだねぇ。 今ならTaskとasync/awaitだけ覚えておけば事足りる。 Rxも場合によってはあれば便利だけど。
663 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:46:35.13 ID:P1Q5YmOJ0.net] それは言い訳で、見通しが悪かったって事なんだ。
664 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:53:56.42 ID:Mw20IJUM0.net] まあXamarin用済みなのは確か
665 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:58:27.31 ID:AzzfBWDja.net] async/awaitの効率は最近は大幅に改善されつつあるよ ただし.NET Coreに限る
666 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:03:53.77 ID:P1Q5YmOJ0.net] 効率以前に、訳分からん。 設計した人が実は能力が足りないんだって。
667 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:05:47.39 ID:P1Q5YmOJ0.net] アメリカ人はなめ過ぎてる。 独占的地位を利用して。 こんなくそ設計しやがって。
668 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:12:55.80 ID:ys0otiK+0.net] (ワッチョイ 8261-VUEs) この人、年中非同期処理が理解できないと繰り返し言ってんな いい加減理解しろよw
669 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:25:57.34 ID:bwecUq1Z0.net] 良かったな 訳わからんものが他の言語にも波及したぞ ※非同期プログラミングの次回作にご期待ください
670 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:38:14.50 ID:P1Q5YmOJ0.net] C# は VB と似ており、C++ とは似ても似つかない。
671 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:38:53.56 ID:c9rRoNSM0.net] >>642 17年の歴史があって、技術的トレンドを比較的積極的に取り込んできてる言語に それを言うのは言いがかりというかお門違いだろうw
672 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 02:34:19.06 ID:98Upnegk0.net] >>647 そいつにとっては、ぼくの理解できないもの=設計が悪い、だからな。 自分がバカだとは認められないんだろう。
673 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 02:52:23.04 ID:LkwxzeRxd.net] >>635 破棄される?ソースは?
674 名前:デフォルトの名無しさん [2019/02/10(日) 08:46:39.23 ID:uz05qYWIr.net] c#にはあってVBにはないものってないんだよな .net CoreでもVB採用されてるし
675 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 08:54:49.60 ID:fHBGeROaM.net] for文の挙動が違うだろ
676 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:08:02.67 ID:YTe/5aEc0.net] >>651 スパゲッティーなアルゴリズムを作ってしまっただけなのに気付いてない。 理解できないのではなく、馬鹿馬鹿しくて腹が立つだけ。 頭のいい人は、もっと良い方法がすぐにひらめくから。
677 名前:デフォルトの名無しさん [2019/02/10(日) 09:09:03.29 ID:o5rWkmWO0.net] >>653 unsafe
678 名前:デフォルトの名無しさん [2019/02/10(日) 09:21:34.97 ID:0K2cdDeF0.net] >>655 君は「高卒の天才」ってやつかい?
679 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:24:33.66 ID:YTe/5aEc0.net] C# のこの書き方は、35年前の Microsofot の N88-BASIC の def fn にそっくり [C#] int f(int n) => n >= 1 ? n * f(n - 1) : 1; [N88-BASIC] DEF FN名前 [ ( 引数名 { , 引数名 } ) ] =式 10 DEF FNZEIKOMI(P)=P*1.08 20 INPUT "zeinuki kakaku";KAKAKU 30 PRINT "zeikomi kakaku";FNZEIKOMI(KAKAKU)
680 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:51:24.70 ID:Ah0fiaOg0.net] ま、作ったアプリではなくソースコードを自慢するようになったらプログラマは引退したほうが良い
681 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 12:59:28.51 ID:7jl+t3as0.net] キブハブとかいう謎の団体に監視されてるからソースのエレガントさにも気が抜けない時代
682 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:18:41.19 ID:YTe/5aEc0.net] アメリカって、バイナリだと信用されないんだろうか。 アメリカは悪い人だらけなので武器を持たなきゃならないのが、それが安全な日本にまで波及していて、 セキュリティーソフトのせいでPCの能力は結構落ちるし、自作プログラムが誤検出されて 風評被害は出るしでいやな時代になったな。
683 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:20:59.07 ID:YTe/5aEc0.net] アメリカじゃ、大手企業から以外はバイナリが信用できないから、 無料ソフトのバイナリが入手できない。それで日本まで生産性が下がって来た。 いつのまにか、そんな必要のない日本まで巻き添えになってる。 それに日本人は気づいてない。
684 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:24:11.85 ID:HlV4ZEIt0.net] 頭やべぇのが居るぞ
685 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:24:46.11 ID:O8DkeQeoM.net] バイナラ
686 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:04:14.11 ID:AojW1eCFa.net] 何作るか思い浮かばん こんなときどうすれば
687 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:11:09.31 ID:ys0otiK+0.net] >>665 寝たらいい
688 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:13:22.67 ID:T7WkpnKgM.net] >>665 持ってる技術に対して歩んできた人生がクソ過ぎてバランスが悪い
689 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:17:09.65 ID:0+1G/wKUa.net] >>659 ソースの綺麗さはプロダクトの品質、価値に大きな影響を与える 君はなにもわかってない
690 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:22:24.87 ID:T7WkpnKgM.net] >>668 具体的な数字あるんですか?
691 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:31:40.45 ID:0+1G/wKUa.net] >>669 ありますがどこの企業も社外秘でしょう あなたの会社のコードを計測してみてください 話はそれからです
692 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:36:01.60 ID:T7WkpnKgM.net] >>670 そうですか? じゃあ、有名なオープンソースとか参考にしてやってみますね
693 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:14:54.28 ID:98Upnegk0.net] >>670 ソースの綺麗さを計測する定量的な評価方法を示してくれ。話はそれからだ。
694 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:17:08.69 ID:0+1G/wKUa.net] >>672 ググれ コードメトリクスを測定する手段は無数にある
695 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:45:07.74 ID:VHz3VazZ0.net] >>672 品質=(売上-コスト)÷行数
696 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:17:02.13 ID:6Yt6QBhU0.net] ツリーを表示する部分はtreeviewですが、treeviewの中身を表示する領域はどのツールを使う運でしょうか エクスプローラのメイン画面のことですね
697 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:42:16.76 ID:96GWWqq3M.net] >>675 そんなものはない 何を表示したいかなんてアプリ次第だろ 要件に応じて自分で作るんだよ
698 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 19:41:33.15 ID:ys0otiK+0.net] >>675 エクスプローラのメイン側はリストビューだよ
699 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 05:09:40.45 ID:Q8pHabNH0.net] 回答有り難うございます。 wpfテンプレートを使っているのですが、リストビューというツールは存在しないようですが、wpfにありましたか?
700 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 05:15:04.04 ID:Q8pHabNH0.net] ありました ごめんなさい
701 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 08:30:23.01 ID:sPHRyGkO0.net] textBoxコントロールでスクロールバーが表示されている状態で スクロールバー上で右クリックするとスクロールバーのコンテキストメニューが出ますが richTextBoxコントロールだと出ません。textBoxでは出る標準の右クリックメニューも同様に出ません。 どうすればrichTextBoxで標準コンテキストメニューとスクロールバーのコンテキストメニューを出せるでしょうか
702 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 11:37:16.74 ID:XJjA7d5g0.net] サーバサイドで使えるword操作用ライブラリってありますか? ExcelにはPOIとかあるのですがwordは探しきれず
703 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 11:45:15.95 ID:uhV1eG5ea.net] Google Docsで作ってWordにエクスポートしたら
704 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 12:49:33.20 ID:MkFOBvt90.net] >>681 Apache POIはExcel専用じゃないけど? https://qiita.com/mine820/items/e1022ac51466bb34186d
705 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 20:34:36.03 ID:Q8pHabNH0.net] listviewの使い方について、超初心者向けに解説してるサイトを教えてください vs2017を使用しています いろんなサイトやyoutubeで調べてたんですが、わからないです
706 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 20:50:22.35 ID:Y0EVtjJ+0.net] >>684 ナンシークラッツ本を買うべし
707 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 21:09:13.65 ID:+GND3QEg0.net] >>684 知りたいのこの辺りじゃない? ListViewコントロールへ項目を追加するには? www.atmarkit.co.jp/ait/articles/0502/04/news121.html ListViewのアイテムがポイントで選択、シングルクリックでアクティブにできるようにする https://dobon.net/vb/dotnet/control/lvpointselection.html Drag drop ListView Item from one listView to another https://stackoverflow.com/questions/38162479/drag-drop-listview-item-from-one-listview-to-another
708 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:18:17.86 ID:tPbyrG7A0.net] Q8pHabNH0がやってるのは多分WPFだよ〜
709 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:29:40.86 ID:sHYekHyG0.net] いつも思う そんなクソみたいな動作しかしない コントロールなんてやめて いい感じに動作するもん自分で作ればいいのに
710 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:33:23.81 ID:TJZlmbA+0.net] WPFは最低でも標準でWinFormと同等のコントロール用意しておけよと
711 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:11:37.33 ID:VJfrEW+T0.net] >>688 いつも思う 初心者用スレで初心者向けではないアドバイスなんてやめて 適切なスレで持論を展開すればいいのに
712 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:22:15.30 ID:B1oV2gIZ0.net] >>690 それがそーでもねーと思うんだよね 使いにくいコントロールを客に納品できるレベルに持っていくって 割りと無理ゲーじゃね?
713 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:08:49.84 ID:0nHRi8Dw0.net] >>690 いつも思う バカをスルーできる耐性がいつになったら身に付くのかと
714 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:12:17.30 ID:VJfrEW+T0.net] >>691 標準コントロールで実現困難なことをそれで無理に実現しようとしてるならそのアドバイスでいいだろうが、 今回の質問者は(今のところの情報では)標識コントロールで不足している訳ではなく、ありものを使うことすらやっとのレベルなのだから、自分で作れというのは無茶な要求だろう。
715 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:12:52.20 ID:VJfrEW+T0.net] >>691 ではなく>>692 でした
716 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 05:53:58.40 ID:DAeR3Vqi0.net] そうです、wpfです これってwinformよりも良くないんでしょうか? 見た目が良くて新しいものというイメージなんですが
717 名前:デフォルトの名無しさん [2019/02/12(火) 05:58:34.55 ID:SvKCMiwAa.net] めくそはなくそ
718 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:07:05.14 ID:DAeR3Vqi0.net] var.blog.jp/archives/69202816.html どのテンプレートを選べばいいんでしょうか wpf使われているソフトはほぼないと書いてあります
719 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:33:52.77 ID:0tNvI9Ip0.net] WPFは専用スレがあるよ WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22 https://mevius.5ch.net/test/read.cgi/tech/1513175747/
720 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:43:57.01 ID:0tNvI9Ip0.net] さくっと作りたいならWinForm 見た目にこだわって、今後も続けていきたいならWPF まぁ今からやるならWPFだと思うよ。 DPIスケーリングとか今どきの地味でめんどくさい部分の対応はやってくれている。 WinFormはさくっと作れるけど、自分でUIの部品画像つくれないなら見た目は古臭くなるし、 UIとビジネスロジックの分離も大変。
721 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:50:44.92 ID:n9nKxlWwM.net] 一年で600レスしかつかない専用スレ
722 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:55:56.97 ID:wGJ5rzVe0.net] C#がニッチだからな プレイヤーはjavaと一桁違うんじゃね
723 名前:デフォルトの名無しさん [2019/02/12(火) 07:07:37.35 ID:IZHpfaFj0.net] 数倍は違っても桁は違わないんじゃないのかな
724 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 07:43:09.55 ID:HQcd2HqP0.net] 5chのWPFスレとSwingスレを比較すればええのか? ええのんか?
725 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 10:49:53.10 ID:dWGWBM0h0.net] C#で書いていると、急にLinuxみたいなのが流行りだした場合、手間が増える だろう。この業界は、今後どうなるか分からん。
726 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:03:40.30 ID:GttB/eDsd.net] >>704 そんなこと言ってたらどんな言語でもリスクあるだろwww
727 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:09:45.74 ID:LAva8DO10.net] C++だと大丈夫だろうよ。
728 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:11:43.96 ID:DAeR3Vqi0.net] >>699 速度も遅くて使い物にならないと効いたのですが、そんなこともないですか?
729 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:41:24.36 ID:VerJGrBEM.net] >>707 それ以前に、WPFは未完成のまま既にメンテナンスモード入りしたから新規での利用はお勧めできない MS自身がVSの開発に使うためだけにメンテされてるフレームワークだよ
730 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:44:21.97 ID:DAeR3Vqi0.net] >>708 そうなんですね、c#の場合、選択肢はwindowsフォームアプリケーションしかない感じですか? これはwin32といわれているものでしょうか?
731 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:22:47.98 ID:9UpkeXwQa.net] WPFの問題点は (1) 学習コストが高い (2) 即時モードの描画が使えない だと思うので、これらを気にしなきゃ、相対的に新しいWPFの方がいいんだろうけどね。 レイアウトやバインディングの柔軟性が魅力的なのは否定できない。 これは意見が分かれるけど、 (3) イベントハンドラだらけになってコードが読みづらいWindows Formの問題点の 解消を目指したはずなのに、結局かえってWPFのコードの方が分かりづらい これもWPFが好きになれない大きな理由
732 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:53:00.05 ID:IcQdq56o0.net] WPF敷居高いのは初めてづくしだからだろ。 データバインディングからレイアウトをxmlで書いて(デザイナーも使えるが)で、更にMVVMのお勉強。 だから、しんどい。
733 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:59:12.71 ID:IcQdq56o0.net] wpfでもmvvmとバインディング使わなくてもいけるけど、listviewの仮想化とか使えなくなったりするが、mvvmとかも強制見たいな風潮がwpfの敷居を上げてる
734 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:02:29.67 ID:DAeR3Vqi0.net] winformでやってみます
735 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:02:49.08 ID:IcQdq56o0.net] androidは最初標準でデータバインディングとかなく途中で登場してMVVMっぽく作れるようになったが、 こういう風に段階を踏んで1個ずつ学び安い環境があったから良かった。 その違いだな。
736 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:47:31.84 ID:BXjjeidx0.net] >>709 UWPってのもある
737 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:58:06.30 ID:FIdhys7p0.net] >>689 UWP「せやな」
738 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 15:41:39.27 ID:rOtwyWX5d.net] Xamarin.Forms+UWPならついでにiOSやAndroidにまあまあ対応できたりする
739 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 17:33:01.90 ID:DAeR3Vqi0.net] >>715 formでやってみます もうc++のほうがいいですか?
740 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 18:14:08.19 ID:3x+OYT1Q0.net] 好きにしろ
741 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:10:05.32 ID:B1oV2gIZ0.net] >>704 c#、linuxで動くらしいぞ
742 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:11:51.93 ID:B1oV2gIZ0.net] winformもlinuxで動くみたいなことも誰か言ってなかったっけ?
743 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:20:48.95 ID:a/nbvL/tM.net] WPFでしんどい
744 名前:のはMVVMという宗教。 自分で新しい宗派を名のる位のずうずうしさか他人の教義にひれ伏すか [] [ここ壊れてます]
745 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:21:39.94 ID:KFZGfstbM.net] ザマリンで鬱陶しいのは信者
746 名前: mailto:sage [2019/02/12(火) 22:02:44.11 ID:afakhEje0.net] >>715-716 UWP のいい教科書/チュートリアルはありませんか?
747 名前:デフォルトの名無しさん [2019/02/12(火) 23:28:53.73 ID:TGYKDn8Ur.net] UWPアプリなんて誰も使ってないのに
748 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:39:52.22 ID:HQcd2HqP0.net] >>724 o https://github.com/Microsoft/Windows-universal-samples o Windows Template Studioの吐いたひな形を眺める o ストアにあるXAML Control Gallery
749 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:48:41.39 ID:mBIHBqGr0.net] >>725 嘘をおっしゃい
750 名前:デフォルトの名無しさん [2019/02/13(水) 00:04:01.52 ID:sgtLrhrBr.net] >>727 いやマジでしょ
751 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:08:16.61 ID:C9BSnIId0.net] >>725 俺は使ってるが
752 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:26:20.99 ID:VGvE+KfY0.net] >>728 Windows10使ってる人は全員使ってるやろ
753 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 04:20:16.35 ID:9xiZOSOZ0.net] wpf使うとエディタ自体重くならないですかね
754 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:22:31.97 ID:9xiZOSOZ0.net] win form=win 32ということなんでしょうか また、これは見た目はきれいにできないんですか?
755 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:35:14.74 ID:9xiZOSOZ0.net] winformってデザイナー画面のズームできないんですか な
756 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:37:37.78 ID:hwjiROfk0.net] >>732 WinFormでファイラー作ると、XPのエクスプローラーもどき程度しか作れないのが問題だな 見た目のカスタマイズが困難だからね ただWin32のコンポーネントを直に使うように作れば速度は本物と遜色ない物ができる リストビューとか使わずにエクスプローラーの部品を引っ張ってくるなら
757 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:45:15.81 ID:9xiZOSOZ0.net] >>734 見た目まで自由に作る場合はC++のほうがいいのでしょうか? 面倒そうではありますが c++でもインターフェースは何らかのライブラリを使うと聞きますが
758 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:57:22.13 ID:hwjiROfk0.net] >>735 C++でもWinFormsでも頑張れば見た目を変更できないこともない ただ、素人が一人で片手間でやる作業量じゃすまないんだわな 簡単に見た目を変えたいのならWPFがお薦め
759 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 09:06:36.72 ID:9xiZOSOZ0.net] ↑わかりました
760 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 11:27:04.45 ID:9xiZOSOZ0.net] >>736 それなりに使いこなせるように慣れば見た目を変えるのは容易ですか?
761 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 11:44:42.10 ID:l4vsLjs90.net] スレチだけど、WPFはMahApps.Metroがあるからな。 メトロデザイン風なら楽できる
762 名前:デフォルトの名無しさん [2019/02/13(水) 11:49:24.81 ID:sgtLrhrBr.net] >>730 画像ビューワとか? ExcelとかWinFormで作られているじゃん
763 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:08:48.71 ID:ARXdU5axd.net] >>740 設定アプリ
764 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:17:19.46 ID:C9BSnIId0.net] >>740 電卓
765 名前:デフォルトの名無しさん [2019/02/13(水) 12:19:31.62 ID:sgtLrhrBr.net] >>741 >>742 そういうのはさ、Windows10に標準でインストールされてるやつだけど 自分で作ったUWPアプリなんか誰にも使われることはないよね そもそもアプリストアなんか見ることは一切ないし
766 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:24:36.18 ID:tFsdkf9td.net] >>743 ストア見てるよ Ubuntuとかダウンロードしたもん
767 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:26:05.04 ID:e0d6KWciM.net] ダウンロードをストアから行うことはあるが、ストアでアプリを探すことは一度もやったことないな
768 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:33:48.97 ID:EW0X8toeF.net] 当初のUWPアプリなんて誰も使ってないという主張からどんどん特定条件が増えていくなw
769 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:34:12.66 ID:2XDMMrj30.net] >>740 スタート画面
770 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:41:07.09 ID:ARXdU5axd.net] >>743 >>725
771 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 14:03:56.48 ID:jF7nIOB90.net] >>739 っMaterial Design In XAML Toolkit マテリアルデザイン風もあるよ MahApps.Metroとの連携も用意されてる
772 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 18:31:28.53 ID:OfMy+HAU0.net] 派遣先の組込上がりのPMがWinFormでタブレット対応アプリ作れと言ってくる せめてWPFと言ったんだけどオナニーエンジニアうぜーと言われた
773 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:00:57.32 ID:ixNjFQqZ0.net] 説得できないんなら諦めろ
774 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:09:55.36 ID:e0d6KWciM.net] >>750 勘違いするな お前の仕事はモノを完成させることではなく労働力の提供なんだから黙って従えばよい お前だって成果物責任を負う立場になれば多少なりとも保守的になるさ
775 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:02:03.05 ID:NZaXG+jY0.net] >>750 俺にもお前がオナニーエンジニアにしか見えないんだが。
776 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:19:25.70 ID:T+klQ57Ga.net] >>750 変な言い掛かりつけてる奴は恐らくWPFだけが 今時のタッチ操作をサポートしていることも知らないだけだから相手にすることない
777 名前:デフォルトの名無しさん [2019/02/13(水) 21:17:02.96 ID:sgtLrhrBr.net] 前も言ったけどさ、ガワはブラウザで作ればいいじゃん WinFormもWPFもUWPもいらん Windowsアプリだがブラウザで操作する ASP.Net Coreでもできそうだが
778 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:08:44.72 ID:kXEWJhMu0.net] web cad な OSSのlibってあるのけ?
779 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:33:58.03 ID:luVawDgcd.net] >>755 オナニー書き込みやめろ
780 名前:デフォルトの名無しさん [2019/02/14(木) 05:20:39.39 ID:MlsuSDTjr.net] エレクトロンみたいな感じでいいんだよ 裏側はc#、表側はhtml, css, js .Net CoreならMacでもLinuxでも動くし これが一番いい
781 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 07:46:22.81 ID:Dp0xuhxW0.net] ( ´_ゝ`)フーン 好きにすれば
782 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 08:16:35.34 ID:GFNptSHh0.net] >>758 エレクチオンみたいな感じ?
783 名前:デフォルトの名無しさん [2019/02/14(木) 11:28:10.10 ID:MlsuSDTjr.net] バカどもには理解できないらしい
784 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 11:37:55.91 ID:SFw402Pv0.net] ファイラを作成しているのですが、ツリービューでPC内のフォルダを検出する方法について、 どのあたりを調べたらいいか教えてください
785 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 12:34:57.27 ID:tlcLfILV0.net] >>762 SYSTEM.IO
786 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 15:12:27.60 ID:Q59BY7+Wp.net] >>760 こういうレスすごい好き どうしてエレクチオンしないんだろうな
787 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 16:05:20.61 ID:SFw402Pv0.net] >>763 ありがとぅ
788 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:27:11.25 ID:SFw402Pv0.net] ソフト上でファイルにアクセスして、フォルダの中身などを表示したいのですが、まず何のフォームを使えばいいんでしょうか?
789 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:28:26.38 ID:e1Z71hhf0.net] >>766 picturebox
790 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:37:17.42 ID:SFw402Pv0.net] ↑ありがとうございます 表示を切り替えたい場合などは、listviewなど別のものを使う感じですね
791 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:54:47.71 ID:KyyLfHej0.net] 質問があやふやで回答が無茶苦茶なの続いているけど遊んでいるのか?
792 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:19:13.61 ID:m8w/NK2F0.net] あ?ころころすっぞ
793 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:27:08.41 ID:4V+YrcT70.net] ワッチョイ変わったけど同一人物っぽいね ソフト完成するまでずっと質問してそう
794 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 23:37:18.13 ID:Dp0xuhxW0.net] >>771 そういうスレでしょ?
795 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 02:03:45.64 ID:olENi3qW0.net] ある要素の中で2番目に高い数値を選ぶエレガントなlinqを教えて下さい
796 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 03:00:48.77 ID:ehpwnyaM0.net] sortedData[1]
797 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 04:23:42.06 ID:lsxqATYQ0.net] Distinct().OrderBy().Skip(1) とか? 全部同じ値の可能性があるなら知らん。
798 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 04:28:01.15 ID:lsxqATYQ0.net] エレガントとは言えない上に間違ってたorz
799 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 05:03:20.06 ID:a5xYZsMx0.net] Distinct().OrderByDescending().ElementAt(1) でしょ
800 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 07:02:27.81 ID:olENi3qW0.net] >>774 その2番じぁねーw
801 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 07:03:18.02 ID:olENi3qW0.net] >>777 ありがとうございます。
802 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 09:07:12.92 ID:joZk3VJy0.net] >>777 だいたい良いと思うが、データが2個以上無いと落ちるよね
803 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 10:33:16.88 ID:QcXsKv+O0.net] 2番じゃ駄目なんですか
804 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 11:41:11.71 ID:a5xYZsMx0.net] >>780 そんなもん例外キャッチすればいいでしょ
805 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:42:08.68 ID:VCl1o3iCa.net] >>782 ArgumentException系をcatchするのは悪手だと思う .Distinct().OrderByDescending(x => x).Cast<int?>().ElementAtOrDefault(1) とするのはどうだろう
806 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:53:25.53 ID:Qph8FA2WM.net] >>780 そういう状態を想定するならそもそも2番目が無い時の要件書いてないやつが悪い
807 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:56:57.66 ID:dZvrqvyod.net] >>780 ちょっとしたQAにあらゆる異常系処理にまで対応したコードまで求めるのは違うと思う
808 名前:デフォルトの名無しさん [2019/02/15(金) 13:01:49.14 ID:tYLxs8Yjr.net] みんなLinkつこてるの?
809 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:02:20.42 ID:juddEHEPp.net] 二番目に高い要素を取得っちゅーてんのに二番目が無い場合に 例外じゃなく勝手に既定値を返す方がよほど悪手じゃね?
810 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:04:27.67 ID:Ayyf6Kdi0.net] c#で作られているソフトって何があるのですか
811 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:18:02.81 ID:VCl1o3iCa.net] >>787 強調し忘れてたから念の為書いておくと Null許容型にしているから「二番目に高い要素が0」の場合と「二番目が無い場合」は区別できる それを踏まえた上で指摘してくれているなら……Null許容型使ってたらnullチェックしてくれると信じてるんだがどうだろう
812 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:44:54.78 ID:juddEHEPp.net] >>789 正直そのへんは踏まえずケチつけたけど 結局エラー分岐が戻り値か例外かって話になるなら 質問者そっちのけでどちらがスマートか殴りっこしても不毛だなあ
813 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:22:07.61 ID:Ayyf6Kdi0.net] vs2017でただの波括弧で特定部分を囲うと、インデントされますが、これはどのような意味を持ちますか?
814 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:37:00.14 ID:l6xRE0dp0.net] 超かっこいい
815 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:54:08.50 ID:VXffwVEC0.net] >>791 ブロックという意味です
816 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:14:31.02 ID:Ayyf6Kdi0.net] >>793 if{} みたいな条件がない {} だけの状態でもエラーとはなりませんが、何の意味があるのですか? 見た目を整えるだけですか?
817 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:34:36.59 ID:QcXsKv+O0.net] >>788 nikon の現像ソフト
818 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:35:17.81 ID:T7xyRbUnM.net] >>794 一時変数を何度も使うときに便利
819 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:54:51.21 ID:Qph8FA2WM.net] >>794 C# ブロックスコープ でぐぐれ
820 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:57:50.87 ID:Ayyf6Kdi0.net] ↑ありがとう
821 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 19:10:43.29 ID:A45VNw280.net] >>794 スコープを制限するからその中で宣言したローカル変数は外
822 名前:ナ使えない たぶん、それ以外に違いはない [] [ここ壊れてます]
823 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 20:08:29.07 ID:Ayyf6Kdi0.net] c#のwinformのmenustripの背景というのは変更できないのでしょうか この辺はそれぞれのPCに依存してるのかなーと思います
824 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 20:12:53.72 ID:gfFuWLI70.net] >>800 BackgroundImageのプロパティに設定
825 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 21:35:27.37 ID:jCkiam8S0.net] >>792 俺の事か?
826 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 05:07:55.77 ID:d5pUUzr/0.net] >>801 ありがつぅ
827 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 05:57:51.57 ID:d5pUUzr/0.net] c#でスクリーンショット撮影するソフトは不可能ですか?
828 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 07:29:21.89 ID:+4z8MAVsd.net] いいえ
829 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:13:44.16 ID:I7KLi1I90.net] >>804 検索すればすぐわかる
830 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:55:58.09 ID:mmBt6tnL0.net] >>804 MessageBox.Show("PrintScreenボタンを押せろください");
831 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 16:07:58.46 ID:n2t8JUOl0.net] Cでは数値型変数を複数の場所から参照するためには、変数のポインタ得てそれを使いますが C#ではポインタ無いんで、数値フィールド持つクラスを作って そのインスタンスから参照するしか無いんですか?
832 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:01:04.63 ID:dfsqwbBrd.net] 別にポインタはあるぞ。 行儀わるいから、使うべきかよくかんがえたほうがいいだけ。
833 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:01:47.04 ID:mSWYdTC80.net] >>808 スカラー型なら直接読み書きすれば良いのでは無いかと思いますが…配列なら参照型です 変数参照を扱うなら強化されたrefやoutを使えます、またunsafeだとポインタも使えます TypedReferenceというのも有りますがコレを扱うための__makerefなどは些かアレなので… .NETには値参照用のSystem.Runtime.CompilerServices.StrongBox<T>などジェネリック既存型も有ります
834 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:09:27.87 ID:eqms90yHd.net] 定数参照的な話?
835 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:11:36.23 ID:PR5Tb5Rba.net] >>808 Cでもスコープ内の変数は普通に読み書き可能。 スコープ外の変数でもその値を引数として関数に渡すことができる ポインタが必用になるのは変数を書き換える汎用的な関数を書く場合だけ C#の場合、同じことはrefやout付きの引数で実現できる
836 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:20:05.45 ID:d5pUUzr/0.net] nn-hokuson.hatenablog.com/entry/2017/08/17/200918#%E3%83%9C%E3%83%BC%E3%83%AB%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B 個々のサンプル通りにゲームを作成中なのですが、paintイベントハンドラってなんでしょうか paintというイベントは何によって発生するのかよくわかりません
837 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:27:37.84 ID:NXeshUsvp.net] >>813 > paintイベントハンドラってなんでしょうか 描画をするためのハンドラです > paintというイベントは何によって発生するのかよくわかりません 描画をしたい時に発生します
838 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:31:08.38 ID:d5pUUzr/0.net] ↑描画とはどういう操作のことでしょうか? フォームがロードされた時点で実行されます
839 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:37:19.60 ID:NXeshUsvp.net] >>815 ゲームの場合は勝手に描画が実行され続けます
840 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 18:16:49.35 ID:d5pUUzr/0.net] ↑自動的にですか ありがとうございます
841 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:34:21.09 ID:Cn2cXppc0.net] using System; public class Hello{ public static void Main(){ // Your code here! private void myfunction(){ Console.WriteLine("jfo
842 名前:asd"); } myfunction(); } } paizaでC#を入力するとエラーが出るのですが、どこがおかしいですか? private voidの部分が予期されていないというエラーが出ますね https://paiza.io/ja [] [ここ壊れてます]
843 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:38:27.42 ID:51VRzV3m0.net] staticな関数から動的な関数を呼び出してるんじゃない?
844 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:59:41.60 ID:j6Gi9YSR0.net] ローカル関数をサポートしてないだけでしょ
845 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 13:00:14.76 ID:I+dbukVsp.net] >>818 private voidの部分がおかしいですね
846 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 14:31:14.74 ID:cAaLtQSp0.net] >>818 まずこういう質問はpaizaの問題でC#のスレでやられても混乱するからVisualStudioでの話以外はやめてくれ コード書けるサイトが間違っていないって保証が無い。実際動くコード転載してもエラーって何度も経験しているからな VisualStudioで書くのならターゲットフレームワークを.Net4.7以上にしてprivate void myfunction()からprivate外してvoid myfunction()で動く
847 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:38:09.76 ID:Agaj4T0x0.net] たすけて!これ何が違うの? どっちも普通に使えるよね? ちな初心者 @List<T> list = new List<T>(); AList<T> list;
848 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:55:04.91 ID:2ynU5zYy0.net] 後者は中身が無いからそのままじゃ使えない
849 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:04:55.99 ID:KqlDIF5Pa.net] >>823 1はlistという変数の定義と同時にList型のインスタンスで初期化している、普通に使える 2はlistという変数を定義しただけの状態 ローカル変数の場合は後で初期化する必要がある、未初期化のまま使おうとするとコンパイルエラー クラスや構造体のフィールドの場合は暗黙でnullで初期化される、「普通に使う」ためには後でList型インスタンスを代入してやる必要がある
850 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:07:18.00 ID:naWxhgEk0.net] >>823 > @List<T> list = new List<T>(); は List<T> list; list = new List<T>(); と同じ > AList<T> list; はlistの実体が設定されてないからそのままlist.Add(…)とかやると例外が発生する
851 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:07:30.92 ID:B/nvmulQd.net] >>822 .NETのバージョンなにか関係あるか?
852 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:12:13.37 ID:tKx1WgvG0.net] >>823 C++と違ってクラスは強制的に参照型で変数宣言がポインタと同等なのよ 宣言だけではコンストラクタはもちろんインスタンスも割り当てられない
853 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:26:45.23 ID:Cn2cXppc0.net] >>822 paiza だと挙動が少し違うようです このサイトはやめときます
854 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:35:39.94 ID:Cn2cXppc0.net] ちょっとコードを確認したいというときに、使えるツールありますか? わざわざプロジェクト作るほどではないときですね python のidleのようなものです
855 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:38:44.31 ID:Ox4HquXb0.net] >>830 C#インタラクティブ
856 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:41:30.40 ID:0sFVNd3o0.net] cscは標準で入っているでしょ
857 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:54:52.02 ID:B/nvmulQd.net] >>830 LINQPad
858 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:01:37.03 ID:/k3HmPSI0.net] csiだな
859 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:03:11.00 ID:owh3i+7dM.net] スクリプトみたいに対話型でできる?
860 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:18:26.04 ID:Cn2cXppc0.net] ↑ありがとうございました
861 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:21:23.19 ID:naWxhgEk0.net] >>830 notepad.exe + csc.exe
862 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:28:37.10 ID:Agaj4T0x0.net] >>825 >>826 >>828 NEWはしなきゃいけないのね 有難う御座います
863 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:29:26.69 ID:Cn2cXppc0.net] >>833 これいいっすね 初心者なのでしばらく練習します
864 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 20:45:16.60 ID:Cn2cXppc0.net] vs codeもちょっとしたコードの確認に使うものなんでしょうか?
865 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 21:29:49.15 ID:I+dbukVsp.net] >>840 使うひともいれば使わないひともいますね
866 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 01:50:55.38 ID:pxm+KTrW0.net] 入力項目が沢山ある画面で、変更を保存せず画面を閉じようとしたときは警告を出したいです。 何も変更せず画面を閉じる場合は警告を出さずに閉じたいです。 この場合の変更チェックは入力項目に紐づく変数1個1個をチェックする以外に、スマートな方法は無いでしょうか? 入力項目に紐づく変数はデータクラスとして用意しているので、画面開く直前にハッシュのようなものを計算し退避しておき、 画面を閉じる直前にハッシュを再計算し比較すれば行けると思うのですが、オブジェクトのハッシュを求めるのは GetHashCodeでいいのでしょうか?
867 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 01:58:21.05 ID:0Vx/m/dz0.net] ないね 上に1dot 下に1dot って動かされて終了したときは 出したくないんでしょ? 何か妥協点がない限り全部比較するしかないよ
868 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:13:28.99 ID:Y8U6L+e90.net] >>842 データクラスとして纏めてあるなら、GetProperties()やGetFilelds()で抽出した各変数を ループで比較すればそこそこスマートなんじゃない。
869 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:29:46.98 ID:GC8vaMYY0.net] 俺ならデータクラスにINotifyPropertyChangedを実装するかな
870 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:53:09.62 ID:+SQV8UeVa.net] >>842 直接の回答でなくてごめん。 そういうMSにありがちなUIはたぶん (1) 変更をキャンセル可能であること (2) OKボタンをクリックした時点で初めて変更が反映されること が要件になってるからそういう仕様になるんだと思うけど、こんな要件が必用ないなら 画面の入力項目の変更を変更があった時点でその都度対応するオブジェクトの プロパティーに反映させてしまえば、「変更を保存せず画面を閉じようとしたときは警告を出」す 必用自体がなくなる まあ一種の手抜きだけど、場合によっては許容される手抜きだと思う
871 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 03:23:01.21 ID:pxm+KTrW0.net] >>845 いいアイデアですね。 プロパティ1つ1つに if(beforeValue!=afterValue) OnPropertyChanged(); みたいな実装が必要なのが若干だるい気がしますが。 >>846 つまり変更した瞬間に即確定って意味でしょうか? 後出し情報で申し訳ないですが、最終保存先がDBで アプリにとって比較的重要な情報の更新をしようとしています。 なるべく意図しない変更を防ぎたいです。
872 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 08:27:54.30 ID:GC8vaMYY0.net] >>847 データクラスのベースクラスをPrism.MvvmのBindableBaseにするとまあまあタイプ量減らせたりするよ
873 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:29:03.32 ID:huM3ZKfN0.net] https://i.imgur.com/2rpwFqg.jpg vs codeを使っているのですが、どこから実行できるんでしょうか? 言語はc#で、マイクロソフトのc#のアドオンを入れました ctr shift pでrunというコマンド?が出てくるので、それをクリックしたのですが、outputには何も出ません また、ヴィジュアルスタジオの場合はイベントハンドラーがありますが、常に実行させるようなイベントというのはただのC#にあるんでしょうか?
874 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:34:39.00 ID:FChOt/Xad.net] >>849 チュートリアルくらいやれよ
875 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:06:26.29 ID:RBxZ7FEaM.net] >>849 ターミナルでdotnet runと打ち込んでEnterや
876 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:13:35.54 ID:vM1YVHVQd.net] >>842 そう言うの割とダルいから、データをクラスにまとめといて、開いた時点でシリアライズして文字列で持っちゃう。 保存時にシリアライズして文字列一致しなかったら、変更されてる
877 名前:ニ言うことにする。 一個ずつ比較したら改修で漏れるよ。 [] [ここ壊れてます]
878 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:41:30.31 ID:huM3ZKfN0.net] >>851 ありがとうございます そうやって実行するんですね visual studioよりむずいです ただ、Program.csという自動生成されたファイルが実行されます 同じフォルダに自分で作ったsample.csがあるんですが、こっちを実行させる設定はどこからするんでしょうか? パスを指定してからdotnet runしてもエラーになるます
879 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:42:32.67 ID:OjJXAwBNd.net] >>853 いやだからチュートリアルくらいやれって
880 名前:デフォルトの名無しさん [2019/02/18(月) 12:59:06.77 ID:pxm+KTrW0.net] >>852 それもいい考えですね。 メンバ変数に[DataMember]とアノテーションを つければいいだけですね
881 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 13:05:27.38 ID:99WFuefSa.net] まあ一度変更があった時点で実際には等価でも別物と見なす実装が一番簡単だねたぶん。 実際そういうソフト結構あるよね。 そういう手抜きが気に入らないなら素直にEquals実装するのが結局シンプルじゃないのかな。 フィールドが全部値型の構造体ならデフォルト実装で済むと思ったし ...と思って調べてみたけど、なんかドキュメントによって書いてるこが微妙に違うなw https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type ↑には「リフレクションを使用して、型のフィールドとプロパティをすべて調べます。」と書いてあるが https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2 ↑には単純にビットイメージの比較と書いてある となってる。どっちが正しいんだ?w
882 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 18:49:02.00 ID:L0NbuPbAa.net] >>856 > https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2 のRemarksには、thisとobjの全フィールドが参照型でなければbyte単位の比較、そうでなければリフレクションを使うとある https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2231-overload-operator-equals-on-overriding-valuetype-equals 他に知っているもので↑では、リフレクションを使うとだけある https://referencesource.microsoft.com/#mscorlib/system/valuetype.cs 少なくとも.NET Framework 4.7.2では、ビット比較だけしていそうなFastEqualsCheckを呼ぶパスが存在する そのパスを通るか判定しているCanCompareBits関数はexternなので詳細不明
883 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 19:16:27.32 ID:L0NbuPbAa.net] ごめん「他に知っているもの」に貼るURL間違えた https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1815-override-equals-and-operator-equals-on-value-types
884 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 11:05:06.64 ID:t+ZZI+Uh0.net] vs codeのproblemの欄なんですが、間違ったコードを入力しても自動で更新されないようです デバッグを実行しないとだめなようですが、リアルタイムにエラーを表示してくれる設定はできますか? 以前はできたんですが
885 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 12:03:57.65 ID:IsM0ebyqd.net] 日本語でよろしく
886 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 12:33:41.44 ID:efthhon4M.net] そいつは難しいproblemだな
887 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 17:38:20.55 ID:JJR46+B00.net] >>859 vs codeのことは専用スレで聞け、スレ違い Visual Studio Code / VSCode Part5 https://mevius.5ch.net/test/read.cgi/tech/1541649564/
888 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:41:44.24 ID:t+ZZI+Uh0.net] なぜmain関数の中に処理を書かないといけないのですか? そういうルールだからってことですか? pythonだとどこに書いてもいいと思うんですが
889 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:46:47.41 ID:+t+aP4snM.net] そういう設計思想だから
890 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:54:09.61 ID:zirjw7Cj0.net] main以外をエントリポイントにできるけどな win32apiからの慣習
891 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 21:39:52.76 ID:eXSGnhOj0.net] >>865 C#で出来るの? どうやって?
892 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 22:33:06.53 ID:MriKnXlj0.net] >>866 なくはない https://ufcpp.net/study/csharp/cheatsheet/apscripting/
893 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:09:59.10 ID:WG18KXuW0.net] 助けて!! Parallel.Forを使ってそれぞれで別の演算アプリを起動して 4スレッドで演算処理してるんだけど アプリ強制終了してもスレッド(演算アプリ)はずっと処理し続けてるの!お願い止まって!! 親スレッド(UIスレッド)が死んだら子スレッドも死ぬみたいなお作法ありますか? 演算アプリはSystem.Diagnostics.Process使って起動してます
894 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:46:34.63 ID:3QCW37aG0.net] Process.Kill()でしょ
895 名前:デフォルトの名無しさん [2019/02/20(水) 02:03:55.40 ID:/GvzZ744d.net] >>868 それはC#的にスレッドとは言わない。 別プロセスだ
896 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 07:56:23.82 ID:Jfh2EJBjr.net] 電源off
897 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 09:16:30.41 ID:JdxivbIi0.net] >>868 CancellationTokenSourceを使ってみれば?
898 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:01:28.63 ID:qtZmd9yJa.net] form1にsplit container をverticalで貼り付けて左右に2分割してその中にボタンとかコンポーネントいろいろ置いてて、 あとから上にmenu stlipを追加したくなってツールボックスからmenu stripコンポーネントをドラッグ&ドロップすると splitcontanerのpanel1かpanel2のどっちかにしか貼り付けられないのだけどform1にmenuStripを表示するようにするにはどう操作すればいいのでしょうか
899 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:10:46.41 ID:YXUL7WNb0.net] 一旦張り付けてから ドキュメントアウトライン表示させてForm直下に移動させる
900 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:31:00.95 ID:ThCTwK+Ha.net] >>873 前も書いたけど、 [ctrl] + [alt] + t
901 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:42:16.67 ID:qtZmd9yJa.net] >>874 ありがとうございます
902 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:43:52.95 ID:qtZmd9yJa.net] >>875 ありがとうございます 配置していたテキストボックスがめり込んでしまいましたがなんとか修正してみます
903 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:23:38.43 ID:A65FK9eD0.net] 目のかすみ >>872 >>869 神!トークン付けてスレッド実行して キャンセル時にスレッド内でIsCancellationRequestedで拾って Process.Kill()すればいいのか 行けそうな気がしてきた
904 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:51:17.47 ID:Nj5ihKJg0.net] それでいいのか アプリ強制終了っていうからタスクマネージャから落とす時のことを想像してた
905 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 13:02:04.01 ID:A65FK9eD0.net] >>879 それもあるよ!今はキャンセル機能ないから強制終了させて この問題発せしたんよ ちなみに強制終了の場合はなんか手法ある? 別プロセスもタスクマネージャーで落とすしかない?
906 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 13:15:26.35 ID:Nj5ihKJg0.net] 基本的にはそうじゃないかね ちょっと凝った風にするならプロセス間通信でハートビート送って応答なけりゃ自死するとかあるけど
907 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:20:57.98 ID:+4fiWh+W0.net] すみません、コルーチンの使い方について教えてください。 例えばRPGなどのゲームで、キャラクターAに話しかけると、数秒待って反応が返ってくるという処理をしたいと思っています。 まず、数秒待つというコルーチンを作り private IEnumerator waitforsecond(float sec) { yield return new WaitForSeconds(sec); } 次にAに話しかけた時の処理を作りました。 public void Sample(){ //50%の確率で無視される if(Probability.DetectFromPercent(50)){ MainText.text = “Aに話しかけてみた・・・”; StartCoroutine(waitforsecond(2)); MainText.text = "なんとAから無視された!”; //50%の確率で殴られる }else { MainText.text = “Aに話しかけてみた・・・”; StartCoroutine(waitforsecond(2)); MainText.text = "なんとAから蹴られた!”;
908 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:24:21.78 ID:+4fiWh+W0.net] これで、話しかけたあと2秒時待機して反応がある、という処理になるかと思ったのですが、うまく行きません。 あと登場キャラクターもA、B、C‥‥とたくさんいるのであれば、話しかけると数秒待って反応するという関数を作ってあげたほうがスッキリするのでしょうが、やり方がイマイチわかりません。
909 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:42:20.49 ID:VKoyYoRjM.net] >>883 非同期や
910 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:11:57.24 ID:+4fiWh+W0.net] >>884 非同期・・ググりました。 「非同期」とは重い処理があった場合は終わるのを待たないこと。とありますが、、
911 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:03:38.92 ID:+XWUccMjM.net] Wait前にthis.Refresh()って無意味だっけ
912 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:53:42.96 ID:5v/pkJgQa.net] >>882 何で待つのにイテレーターを使うのかちょっと意味がわかんないねw
913 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:08:47.12 ID:c4smrZlO0.net] yieldでコルーチンという一昔前の一発芸がUnityで幅を利かせているから仕方ないのねー
914 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:11:16.75 ID:969mh7640.net] 俺もあいまいな理解だから偉そうには言えないけど >>882 ここのサンプルが分かりやすいかも developer.wonderpla.net/entry/blog/engineer/Unity_Co-routine/ >>885 private IEnumerator waitforsecond(float sec) とpublic void Sample()が非同期(違う時間軸での動作)になるので待ち時間になっていない >>887 の言う通り待ち時間には他の物を使わないと
915 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:17:45.84 ID:mRRRBv2X0.net] >>878 その演算アプリがどういう物かわからんが そもそもそれ別プロセスじゃないとダメなのか?
916 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 22:25:20.57 ID:+4fiWh+W0.net] >>889 ありがとうございます。 他の物とは具体的にどんな関数を使えばいいのでしょうか?
917 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:14:15.44 ID:5v/pkJgQa.net] >>891 思ったより面倒臭い https://ideone.com/Sf85HN
918 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:22:50.38 ID:5v/pkJgQa.net] >>892 これ書いてて一つ疑問に思ったのが、 MessagingTask = MessagingTask.ContinueWith(t => job.Action()); これを以下のように、 MessagingTask.ContinueWith(t => job.Action()); こう変えると期待した動きにならない。 ContinueWithってキューになってて先に入ってるタスクの完了を待って次を実行すると思ったけど違うのか
919 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:42:43.30 ID:aABnGI350.net] >>893 重箱の隅…だが。 Task.Run(() => { })の代わりにTask.CompletedTaskってあるよ。 後、Task.Delay(Pause).Wait()ってThread.Sleep(Pause)で良いんでない。
920 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:44:55.38 ID:e6A24yU10.net] >>893 継続タスクが1つとは限らない。複数あったらパラって実行される。
921 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:48:25.54 ID:5v/pkJgQa.net] >>894 うん、知ってたけど今使ってるのがVS2015なのよ...
922 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:49:35.07 ID:5v/pkJgQa.net] >>895 やっぱり俺が誤解して理解してたんだなありがと
923 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 14:44:05.16 ID:3cOSTboLa.net] MenuStripコンポーネントでItemを選択した時にその左にチェックを入れるようにしてるのだけど 選択した時点でメニュー閉じちゃって若干不便なのだけど ひらいたままにする設定にはできないのでしょうか
924 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 19:07:18.92 ID:gzY/wSmba.net] >>898 ルートのアイテムの直下ならClickか何かで親のShowDropDown()を呼べば一応実現できるっぽい。 入れ子になってる場合は、 .... ToolStripMenuItem1.Click += (sender, e) => { RecursiveShowDropDown(((ToolStripMenuItem)sender)); }; .... void RecursiveShowDropDown(ToolStripMenuItem item) { if (item == null) return; var parent = item.OwnerItem as ToolStripMenuItem; RecursiveShowDropDown(parent); parent?.ShowDropDown(); } たぶんこれでいける。 でもエンターキーでクリックした場合の操作性に問題が残るけど
925 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 19:24:23.57 ID:gzY/wSmba.net] こっちの方がいいか EventHandler eh = (sender, e) => { Action<ToolStripMenuItem> a = null; a = item => { if (item == null) return; var parent = item.OwnerItem as ToolStripMenuItem; a(parent); parent?.ShowDropDown(); }; a((ToolStripMenuItem)sender); }; ToolStripMenuItem1.Click += eh;
926 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 03:15:52.41 ID:pRL7US30a.net] >>899 無事できました ありがとうございます!
927 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:47:42.69 ID:L3+XvQB40.net] 質問です 現在、以下のように一つの非同期処理(時間のかかるディスクの書き込み) を実行しています。 private async void button1_Click(object sender, EventArgs e) { await DoSomethingAsync(); MessageBox.Show("完了"); } これを実行中にUIを操作して、次の処理の準備ができたら(実行する内容はDoSomethingAsync) button1を押して予約し、実行中の処理が終わったら引き続き実行させたいです。(並列ではなく) また、「完了」は登録されたタスクが全て終わったときに出したいです。 どのように書くのが一般的なのでしょうか? 初回実行時にすべての実行すべきタスクがわかっている場合は そのタスクのリストを作ってWhenAllする みたいなのはググったら出てきたんですが ContinueWithを使うのかなと思ったのですが、書き方がわかりませんでした
928 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:58:25.65 ID:u2ta9zSf0.net] Queue<T>を使えば良いんじゃね
929 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 12:36:22.83 ID:cR8EPyISM.net] >>902 最後に追加したTaskを覚えておいてContinueWithで繋ぐとかできなくはないけど、 そんな変なハックをするくらいなら素直に別スレッド立てて順番にバックグラウンド実行したほうがいい Producer-Consumerでググれ
930 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 11:09:41.10 ID:a5srEHrc0.net] c#のフォームで、タイルマップエディタのようなものを作りたいのですが、どのような情報を調べたらいいでしょうか また、そのような目的に適したフォームはありますか? そもそもC#が適切なのかわからないのですが
931 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 11:41:19.60 ID:2iFL+VGx0.net] >>90 結局Unityになるんやろなあ
932 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 12:13:30.45 ID:kHS+5sOB0.net] VisualStudioでデバッグ実行した時だけプログラムがフリーズしてしまうのですがこういう時はどういった原因が考えられるでしょうか? WinFormを使用していてフォームが立ち上がったらバックグラウンドで色々するって感じの処理なのでどこかでUIスレッドをブロックしているのかとも思いましたがConfigureAwait(false)の設定し忘れは無さそうでした VisualStudioを通さずに直接実行した場合は正常に動作しています
933 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 13:05:26.46 ID:fW706uYI0.net] とりあえずフリーズした時に「すべて中断」して どこでブレイクされるか確認 ついでにスレッド一覧を見てみる
934 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 13:15:34.63 ID:O8+i9ARHp.net] >>908 それを試そうとしたのですが全て中断しても中断出来ない状況です 中断押すとVS自体もフリーズしてタスクマネージャーからプログラムを終了しないと復帰出来なくなります
935 名前:デフォルトの名無しさん [2019/02/25(月) 15:41:31.91 ID:stIKiSPsF.net] 最前面じゃなくて後ろ面にアクティブウィンドウがポップアップされてるんじゃね
936 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:11:52.07 ID:ERkCIkZda.net] >>902 単純にボタンをクリックした回数だけ非同期メソッドを実行したいだけなら これでいいような気が private bool mBusy = false; private int mRepeatCount = 0; private async void button1_Click(object sender, EventArgs e) { mRepeatCount += 1; if (mBusy) return; mBusy = true; for (int i = 0; i < mRepeatCount; i++) await DoSomethingAsync(); mBusy = false; mRepeatCount = 0; MessageBox.Show("全部終わった"); }
937 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:17:48.39 ID:61uBElrFd.net] >>907 俺はエディタでヒント表示させただけで落ちるけど。Blendなら使えてる。
938 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:14:33.14 ID:hTJo4mxi0.net] https://i.imgur.com/NCB8nLP.jpg c#をデバッグするとこのようなエラーが出るのですが、どこを改善すればいいかヒントをください
939 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:21:28.31 ID:byKZhMZS0.net] >>913 dllのパス
940 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:34:07.95 ID:hTJo4mxi0.net] ↑ありがとうございます .NET Core Launch (console) というデバッガを使っているので、 "program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll", という部分を修正するのだと思いますが、どう修正するんでしょうか? 実行したいプログラムを{workspaceFolder}/Program.csと指定してもエラーになります
941 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:53:17.80 ID:U5FDQ2yTd.net] >>915 いやだからcsじゃなくてdllだってば
942 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:54:10.15 ID:U5FDQ2yTd.net] ログにもちゃんと出てるはず
943 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:00:35.55 ID:H+xdnOpD0.net] >>915 プログラミングするなら英語は必須だから、「何だか分からないこと言ってる!」とか思わずにちゃんと読みな。
944 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:41:24.11 ID:hTJo4mxi0.net] >>916 c#なのにDLLなんですか? このDLLのパスは何をしてるんですか?
945 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:50:05.00 ID:UlQR9ttEM.net] 普通にVisualStudio(Codeじゃないやつ)ダウンロードして知識付けてから挑戦しろよ 邪魔だよ
946 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 09:40:46.12 ID:7RJrl9MrM.net] 小学校でプログラミング教育でも受けてろ
947 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 09:54:59.60 ID:s7Q5fSFO0.net] >>909 そうなるともう新しいプロジェクトに今のを段階的に移していってどこで再現するか確認するかなぁ
948 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:57:10.09 ID:s7Q5fSFO0.net] >>919 とりあえずエクスプローラなりコンソールなりvscodeとは別に開いて プロジェクトフォルダのbinフォルダの配下を確認 どこかにビルド結果のdllが作られてるから うちはいつの間にかPlatformって環境変数が定義されてたせいで HPDとかいうフォルダが1個挟まってたぞ
949 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:58:52.43 ID:RV1beKRS0.net] こっちへどうぞ Visual Studio Code / VSCode Part5 https://mevius.5ch.net/test/read.cgi/tech/1541649564/
950 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 11:47:10.27 ID:7Gbx8Ae00.net] >>922 ありがとうございます とりあえず特定のメソッドを呼ばなければ大丈夫ということがわかったのでデバッグモードでは呼ばないようにして対策することにしました
951 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 11:58:57.74 ID:hTJo4mxi0.net] >>923 デバッグできました 余計なフォルダが挟まっていました 指定してやらないといけないんですね ありがとうございました
952 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:16:54.99 ID:vuJi7+izd.net] どういたしまして
953 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:29:03.14 ID:CYrridvRd.net] >>923 それDELLやろ
954 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:29:38.62 ID:CYrridvRd.net] >>924 そっちはスレチ
955 名前:デフォルトの名無しさん [2019/02/28(木) 00:37:24.74 ID:weUa1N+o0.net] setterメソッドで文字列が8文字以下ならname変数に引数を代入する文を書きたいんですけど どのように書けばいいんでしょうか?
956 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 00:51:58.07 ID:ucEMLrR20.net] private string name; public void SetName( string name ) { if ( name.Length <= 8 ) { this.name = name; } }
957 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 00:55:51.76 ID:ucEMLrR20.net] セッターよりもプロパティで良い気がする private string name; public string Name { set { if ( value.Length <= 8 ) { this.name = value; } } get { return this.name; } }
958 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 01:05:38.31 ID:weUa1N+o0.net] >>931 ありがとうございますー lengthを使うとint型とstringをオペランドに比較が使えるんですね 覚えておきます
959 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 08:14:05.87 ID:3CdGs56rM.net] >>933 > lengthを使うとint型とstringをオペランドに比較が使えるんですね 言いたいことはなんとなくわかるけどほんとに理解してるのか不安になる文章だな
960 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 12:10:16.83 ID:2lomOid8M.net] 8文字越えた場合や 検証属性の話をと思ったけど自重
961 名前:デフォルトの名無しさん [2019/02/28(木) 19:23:03.02 ID:owSMuOWF0.net] Windows.Forms の質問です。 TextBox 数個と MenuStrip に サブメニューのない MenuItem を追加したFormで Altキーでメニューを選択すると、 カーソルキーの上下でTextBoxのフォーカスが移動するのですが どういった理由でしょうか?
962 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 20:29:09.92 ID:1IHH1hzPa.net] >>936 Menuに反応してるのでは?
963 名前:936 mailto:sage [2019/02/28(木) 20:50:40.99 ID:DAgKUWMjM.net] うーん ショートカットキーの設定ができるので ツールバーの代わりに使おうと思ったんですが 予想外のキモい動きで躊躇してます
964 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 21:20:30.71 ID:560qka060.net] ドロップダウンしないのは想定してないだろう
965 名前:デフォルトの名無しさん [2019/03/01(金) 12:58:28.41 ID:ozM8zBQ90.net] この本おすすめですか? https://www.amazon.co.jp/dp/4774187585
966 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 19:45:05.46 ID:MA7hbDcR0.net] JS hoge([[1,2,3], [4,5,6]]); C# hoge(new int[,] {{ 1,2,3 }, { 4,5,6 }}); javascriptみたいにnew付けないで渡せないですか? paramでは2次元がだめでした。
967 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 21:07:24.70 ID:tVNocw1h0.net] サイドバーについてなんですが、例えばgimpというソフトがあるのですが、両サイドにツールやレイヤーが表示されています このように領域を分けるコントロールを教えてください win form c#です これはもう1つフォームを追加してるんでしょうか?
968 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 21:59:18.22 ID:ORsij5/P0.net] >>942 フォームの枠の中に配置・移動させるのならVisual Studioでデザイナ画面+ツールボックスの「コンテナー」のカテゴリの好きなものを フォームの枠の外やはみ出して使いたいものには別のフォームを割り当て、というのが基本じゃないかな GimpはCだからどうやっているかは知らないけど
969 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 05:28:46.45 ID:QccNqZJQ0.net] 別フォーム使った場合でもドッギングなど可能ですか? だとすれば分けたほうが作業しやすそうですが
970 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 10:41:05.28 ID:29oPzrI/0.net] GTKでやればいいじゃない
971 名前:デフォルトの名無しさん [2019/03/02(土) 11:00:56.30 ID:+L4gK20KF.net] >>940 超初心者か池沼向け 普通の人はwebで充分
972 名前:デフォルトの名無しさん [2019/03/02(土) 11:02:23.80 ID:+L4gK20KF.net] GTKは糞
973 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:07:40.19 ID:QccNqZJQ0.net] >>945 win formではドッギングや分離はできないのですか? また、別フォームと同じフォームでやるのとではどちらが都合がよいでしょうか
974 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:11:23.26 ID:PVVyhIVEM.net] >>948 出来るよ。
975 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:12:34.80 ID:PVVyhIVEM.net] >>948 ttps://dobon.net/vb/dotnet/links/dockingwindow.html
976 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:22:59.87 ID:Flko+1Y10.net] 市販のinfragisticsのドッキングウインドウが楽チンだったわ
977 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 18:42:16.44 ID:QccNqZJQ0.net] Form1からForm2を呼び出すとき、こういう記述をしますが、変数の型がどうしてForm2なんでしょか?varじゃエラーです Form2 form2 = new Form2(); form2.Show();
978 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 19:06:17.17 ID:QSGa9wbhp.net] そのform2クラスは君が作ったんじゃないのか?
979 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 19:09:49.50 ID:euLZafKS0.net] 取り敢えずエラーの内容を読めよ
980 名前:デフォルトの名無しさん [2019/03/02(土) 23:01:13.05 ID:XIaahVa70.net] 学習のために、確保した変数がスタックかヒープかどっちにあるのか知りたいんだけどさあ 簡単にチェックする手段ってないんかな?
981 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:08:52.67 ID:20MtSIx6a.net] メモリダンプ系のツール使えばいいよ 昔の話だがメモリ上のオブジェクトグラフを可視化してGC絡みのバグをデバッグした事がある
982 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:10:49.78 ID:nONug4XP0.net] "変数が"ってことなら変数の型が参照型か値型か 要はコンパイルの時点で判断できる IntelliSenseでclassかstructを見れば良い話に思えるが
983 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:19:19.07 ID:20MtSIx6a.net] box
984 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:33:08.46 ID:D0+5Vwwl0.net] >>953 ワロタ
985 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 02:27:49.98 ID:6iGgKGSXa.net] >>957 それは違うと思うw
986 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 03:54:21.90 ID:uu9okAeO0.net] >>953 Form2というプロジェクトを作りましたが、これがクラスになるんですか? この変数型はどういう意味ですが
987 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 07:00:37.71 ID:cg06QXcyM.net] >>957 w
988 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 07:50:47.21 ID:+cu7OMqU0.net] >>961 一回チュートリアルなり 入門書とか入門サイトなりやってみろと
989 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:42:41.37 ID:uu9okAeO0.net] winformでノードエディタは作れますか
990 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:49:23.89 ID:+cu7OMqU0.net] >>964 いいからForm2わかったのかよ [] [ここ壊れてます]
992 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:57:36.29 ID:2YvY5qRC0.net] >>964 クラスがなんなのかわかっていないお前には無理 上にも同じ事書かれてるけどまず入門書を読め
993 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:55:03.51 ID:uu9okAeO0.net] ↑入門サイトで勉強してます
994 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 11:33:30.33 ID:lodoh91K0.net] >>967 もしかして、ろくに経験もなく基礎も理解しないまま作りたいものを作り始めて、わからないときだけサイトで情報拾ってどうにかなると思ってないか? ある程度基礎ができているか理解力のある奴ならそれでもいいが、君には無理だ。 ちゃんと金出して真っ当な入門書を買って、面倒がらずに順を追って基礎から身に付けてこい。
995 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:00:57.01 ID:fal7gHDn0.net] 質問した人は回答にフィードバックくらいしろよ 質問スレでフィードバックせずに次の質問って論外
996 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:07:11.30 ID:+cu7OMqU0.net] いいや そいつのクソレスなどいらん 入門サイトやら入門書を1ページでも前へ進めろ
997 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:48:10.30 ID:Nfj27eon0.net] そうだな。独習3版でも一回読み切る事をお勧めするよ
998 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 18:14:45.95 ID:7I/UY/410.net] >>964 ファイラー作るとか言ってた人だよね コピペ以外で何か作ることはできたの? 作れずに諦めて次できそうなもの見つけて質問するの繰り返しでしょ
999 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:49:50.24 ID:DRmEmwqA0.net] 君の作ったプロジェクトの内容なんて分からんよ。 プロジェクト内のソースを探せばForm2クラスを宣言してるんじゃないの? Visual Studioは色々自動生成して、色々隠蔽してるからオプジェクト指向が理解し難い。 一旦動いたら、全てのソースファイルをメモ帳で開いて動きを解析してみる。 全ては一度には理解できないから、オプジェクト指向の説明本を読む。 やっぱり理解できないけど、ソースを読み解くって繰り返すと段々理解できてくる。
1000 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:50:45.69 ID:DRmEmwqA0.net] アンカー忘れた。 >>961 さんへ
1001 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 19:07:44.29 ID:RIX3InQp0.net] WinXPのスタートメニューのように、ContextMenuStripのToolStripItemにDrag&Dropって出来ますか? ToolStripItemのAllowDropをTrueにしても、ToolStripItemのDragEnterイベントが発生しないのですが。 VC++2008を使用しているのですが、ToolStripItemのプロパティ窓にはAllowDropもDrag関連のイベントも 表示されていないので、コードで記述しているのですが、もともとサポートしていない?
1002 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 20:54:01.14 ID:+WeHVjLY0.net] >>975 試してないけどdocsには https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.toolstripmenuitem?view=netframework-4.7.2 DragDrop ユーザーが項目をドラッグし、マウス ボタンを離したとき (つまり、項目がドロップされたとき) に発生します。 (Inherited from ToolStripItem) https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.contextmenustrip?view=netframework-4.7.2 DragDrop ドラッグ アンド ドロップ操作が完了したときに発生します。 (Inherited from Control) ってなっているからContextMenuStripのは期待通り動作しそうだけどToolStripItemのは項目自体のものだから単独では無理かと どうしてもやるのならContextMenuStripのほう使ってMouseMoveか何かでカーソルと項目の位置確認しながらやるとか その前にContextMenuStripがFocusの移動とかで閉じないようにClosingのイベントの設定なども当然必要 もう一回書くけど試してないし試す気もないので責任も取らないw
1003 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 20:50:34.30 ID:nLVidvZ50.net] 来月からASP.Net初めて触るんだけど 何から始めればいいの? MVCとかそういう単語と理論とか??
1004 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:09:43.18 ID:oLv4eGw30.net] >>977 ASP.NETにもいろいろあるんだけど… とりあえずテンプレートをビルドして動かしてみるところから
1005 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:11:48.41 ID:1+PBsWw4M.net] >>977 君が業務ドカタなら、たぶん君がやることになるのはASP.NET MVCでもASP.NET CoreでもなくClassic ASP.NET(WebForms) Webの知識皆無でも最低限形だけでもWebアプリを作れるようにしたフレームワークで、 WinFormsでメモ帳モドキくらい作ったことがあれば楽勝だから何も心配いらない
1006 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:15:44.81 ID:oLv4eGw30.net] >>979 ASP.NET MVCなんじゃね? 知らんけど
1007 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:26:05.38 ID:1+PBsWw4M.net] >>980 MVCの意味も知らない子が投入されるような現場でASP.NET MVCなんか使ってるかねえ まあ物好きな前任者が一人で作ってたシステムだったりするとあるかもね
1008 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:26:41.18 ID:D2mtoqngM.net] 逃げる心配はしてもいいかも
1009 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:43:37.08 ID:xU8Jrq3Z0.net] >>981 前やった40画面くらいの小規模プロジェクトがMVCでしたわ メンバーのほとんどがjs?css?c#?LINQ?な素人で激アツだった
1010 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:52:08.74 ID:MehlFqwY0.net] Webは覚えることが多すぎて禿げちゃうから 学習コストが低いらしいBlazorに期待してる
1011 名前:デフォルトの名無しさん [2019/03/06(水) 23:01:29.39 ID:wF9IXRdCr.net] asp.net core使って開発したいがまだまだ実用レベルではないんだろうな そう思うと開発頓挫しそうで使えない
1012 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:15:31.66 ID:b1gJEqu2a.net] 普通に使えるよ 英語読めないジャップにとっては永遠に実用にはならないだろうけど
1013 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:19:16.57 ID:07omsi5cM.net] 〇〇Coreはバージョンアップで平気で互換性切ってくるから、受託開発では使っちゃいけない代物 ソースを手放さずいつでも自己責任で弄れる事業形態向け
1014 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:08:41.43 ID:tnYmqFtJ0.net] >>985 もう既に実運用してるけど そろそろ3年だしさすがにね
1015 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:09:12.20 ID:tnYmqFtJ0.net] >>987 おじいちゃんはずっとCOBOL使ってればいいと思うよ
1016 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:28:00.03 ID:rQAOToBLM.net] >>989 こればっかりは老害とかそういう話じゃなくて業界構造の問題だからね 米国のシステム開発は内製が主流であり、基本的に自己責任だから改修のハードルが低いの それに合わせてMSの開発者向けプロダクトも変化を許容する方向へ変わってきていて、 もはや日本のSIには全く適さないものになってしまってるんだよ
1017 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:59:57.04 ID:1eeIEHnS0.net] OSSとか向こうから来るもんは全部そうだね 人身売買なんかやってたら理解できない文化ばっかり
1018 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 05:24:03.06 ID:rQAOToBLM.net] OSSに対する考え方は顕著な例だね 受託開発においてOSSのライセンスを受ける主体は開発会社じゃなくてユーザー会社だから、 当然、開発会社が使用したOSSは全てユーザー会社に把握させてユーザー会社自身が承認しなければならない これは事業形態上完全に正当で必須なプロセスであり、時代遅れとかそういう問題ではない NuGetやNPMなどのパッケージマネージャで依存関係として勝手に入ってくるOSS全てに対してこのプロセスを適用するのは事実上不可能
1019 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 06:32:35.38 ID:6L3KEJfe0.net] 次スレが立ってないようなので立ててくる
1020 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 06:36:57.49 ID:6L3KEJfe0.net] 次スレ mevius.5ch.net/test/read.cgi/tech/1551908141/ msdnのリンクはdocsに変更しといた
1021 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 07:20:20.11 ID:Zl7f22uA0.net] >>986 日本に住んでるなら日本語使えや、英語なんて翻訳すりゃあいいんだよ。フランス人を見習え
1022 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 07:51:25.69 ID:KDtWvu+2a.net] >>995 英語出来ない言い訳ww
1023 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 08:33:12.38 ID:AIEkzJHxd.net] >>990 Googleと比べてみ
1024 名前:デフォルトの名無しさん [2019/03/07(木) 08:51:22.28 ID:p9S7AU5B0.net] インターネット創世記の頃は情報共有とか甘い言葉が飛び交ったが 最近ではやっぱスキルやノウハウといった知的財産情報は 対価を払って手に入れるべきだと思うようになった ネットでただで手に入れたいなら英語くらい読めよって話だな
1025 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:10:26.28 ID:0euQyoSb0.net] 1000
1026 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:10:41.65 ID:0euQyoSb0.net] 1000!
1027 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 81日 22時間 3分 34秒
1028 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています