[過去ログ] ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
862: (ワッチョイ 077b-Pt61) 2019/02/19(火)17:38 ID:JJR46+B00(1) AAS
>>859
vs codeのことは専用スレで聞け、スレ違い
Visual Studio Code / VSCode Part5
2chスレ:tech
863: (ワッチョイ bfef-l0e6) 2019/02/19(火)19:41 ID:t+ZZI+Uh0(2/2) AAS
なぜmain関数の中に処理を書かないといけないのですか?
そういうルールだからってことですか?
pythonだとどこに書いてもいいと思うんですが
864: (ブーイモ MMcb-A2tD) 2019/02/19(火)19:46 ID:+t+aP4snM(1) AAS
そういう設計思想だから
865
(1): (ワッチョイ bf7d-KRFs) 2019/02/19(火)19:54 ID:zirjw7Cj0(1) AAS
main以外をエントリポイントにできるけどな
win32apiからの慣習
866
(1): (ワッチョイ 5f2f-dPPD) 2019/02/19(火)21:39 ID:eXSGnhOj0(1) AAS
>>865
C#で出来るの?
どうやって?
867: (ワッチョイ 5fad-/Qxi) 2019/02/19(火)22:33 ID:MriKnXlj0(1) AAS
>>866
なくはない
外部リンク:ufcpp.net
868
(2): (ワッチョイ 7ff2-yQ/S) 2019/02/20(水)01:09 ID:WG18KXuW0(1) AAS
助けて!!
Parallel.Forを使ってそれぞれで別の演算アプリを起動して
4スレッドで演算処理してるんだけど
アプリ強制終了してもスレッド(演算アプリ)はずっと処理し続けてるの!お願い止まって!!

親スレッド(UIスレッド)が死んだら子スレッドも死ぬみたいなお作法ありますか?
演算アプリはSystem.Diagnostics.Process使って起動してます
869
(1): (ワッチョイ 5f47-0jsH) 2019/02/20(水)01:46 ID:3QCW37aG0(1) AAS
Process.Kill()でしょ
870: (スプッッ Sdff-lPFl) 2019/02/20(水)02:03 ID:/GvzZ744d(1) AAS
>>868
それはC#的にスレッドとは言わない。
別プロセスだ
871: (オッペケ Sr7b-mTlM) 2019/02/20(水)07:56 ID:Jfh2EJBjr(1) AAS
電源off
872
(1): (ワッチョイ a742-yQ/S) 2019/02/20(水)09:16 ID:JdxivbIi0(1) AAS
>>868
CancellationTokenSourceを使ってみれば?
873
(1): (アウアウエー Sa1f-cT+3) 2019/02/20(水)16:01 ID:qtZmd9yJa(1/3) AAS
form1にsplit container をverticalで貼り付けて左右に2分割してその中にボタンとかコンポーネントいろいろ置いてて、
あとから上にmenu stlipを追加したくなってツールボックスからmenu stripコンポーネントをドラッグ&ドロップすると
splitcontanerのpanel1かpanel2のどっちかにしか貼り付けられないのだけどform1にmenuStripを表示するようにするにはどう操作すればいいのでしょうか
874
(1): (ワッチョイ ff7c-yz29) 2019/02/20(水)16:10 ID:YXUL7WNb0(1) AAS
一旦張り付けてから
ドキュメントアウトライン表示させてForm直下に移動させる
875
(1): (アウアウエー Sa1f-x6Gg) 2019/02/20(水)16:31 ID:ThCTwK+Ha(1) AAS
>>873
前も書いたけど、
[ctrl] + [alt] + t
876: (アウアウエー Sa1f-cT+3) 2019/02/20(水)16:42 ID:qtZmd9yJa(2/3) AAS
>>874
ありがとうございます
877: (アウアウエー Sa1f-cT+3) 2019/02/20(水)16:43 ID:qtZmd9yJa(3/3) AAS
>>875
ありがとうございます

配置していたテキストボックスがめり込んでしまいましたがなんとか修正してみます
878
(1): (ワッチョイ 66f2-i3+Z) 2019/02/21(木)12:23 ID:A65FK9eD0(1/2) AAS
目のかすみ
>>872
>>869
神!トークン付けてスレッド実行して
キャンセル時にスレッド内でIsCancellationRequestedで拾って
Process.Kill()すればいいのか
行けそうな気がしてきた
879
(1): (ワッチョイ b67c-cX2z) 2019/02/21(木)12:51 ID:Nj5ihKJg0(1/2) AAS
それでいいのか
アプリ強制終了っていうからタスクマネージャから落とす時のことを想像してた
880: (ワッチョイ 66f2-i3+Z) 2019/02/21(木)13:02 ID:A65FK9eD0(2/2) AAS
>>879
それもあるよ!今はキャンセル機能ないから強制終了させて
この問題発せしたんよ
ちなみに強制終了の場合はなんか手法ある?
別プロセスもタスクマネージャーで落とすしかない?
881: (ワッチョイ b67c-cX2z) 2019/02/21(木)13:15 ID:Nj5ihKJg0(2/2) AAS
基本的にはそうじゃないかね
ちょっと凝った風にするならプロセス間通信でハートビート送って応答なけりゃ自死するとかあるけど
882
(2): (ワッチョイ b501-4fA7) 2019/02/21(木)16:20 ID:+4fiWh+W0(1/4) AAS
すみません、コルーチンの使い方について教えてください。
例えばRPGなどのゲームで、キャラクターAに話しかけると、数秒待って反応が返ってくるという処理をしたいと思っています。

まず、数秒待つというコルーチンを作り
private IEnumerator waitforsecond(float sec) {
yield return new WaitForSeconds(sec);
}

次にAに話しかけた時の処理を作りました。
省12
883
(1): (ワッチョイ b501-4fA7) 2019/02/21(木)16:24 ID:+4fiWh+W0(2/4) AAS
これで、話しかけたあと2秒時待機して反応がある、という処理になるかと思ったのですが、うまく行きません。

あと登場キャラクターもA、B、C‥‥とたくさんいるのであれば、話しかけると数秒待って反応するという関数を作ってあげたほうがスッキリするのでしょうが、やり方がイマイチわかりません。
884
(1): (ブーイモ MM0a-LvDS) 2019/02/21(木)16:42 ID:VKoyYoRjM(1) AAS
>>883
非同期や
885
(1): (ワッチョイ b501-4fA7) 2019/02/21(木)17:11 ID:+4fiWh+W0(3/4) AAS
>>884
非同期・・ググりました。
「非同期」とは重い処理があった場合は終わるのを待たないこと。とありますが、、
886: (アウアウクー MM7d-QeDo) 2019/02/21(木)19:03 ID:+XWUccMjM(1) AAS
Wait前にthis.Refresh()って無意味だっけ
887
(1): (アウアウエー Sa52-SfL3) 2019/02/21(木)19:53 ID:5v/pkJgQa(1/5) AAS
>>882
何で待つのにイテレーターを使うのかちょっと意味がわかんないねw
888: (ワッチョイ 790c-rusg) 2019/02/21(木)20:08 ID:c4smrZlO0(1) AAS
yieldでコルーチンという一昔前の一発芸がUnityで幅を利かせているから仕方ないのねー
889
(1): (ワッチョイ 667b-SpKW) 2019/02/21(木)20:11 ID:969mh7640(1) AAS
俺もあいまいな理解だから偉そうには言えないけど
>>882
ここのサンプルが分かりやすいかも
外部リンク:developer.wonderpla.net
>>885
private IEnumerator waitforsecond(float sec) とpublic void Sample()が非同期(違う時間軸での動作)になるので待ち時間になっていない
>>887の言う通り待ち時間には他の物を使わないと
890: (ワッチョイ 6a2f-oRCO) 2019/02/21(木)20:17 ID:mRRRBv2X0(1) AAS
>>878
その演算アプリがどういう物かわからんが
そもそもそれ別プロセスじゃないとダメなのか?
891
(1): (ワッチョイ b501-4fA7) 2019/02/21(木)22:25 ID:+4fiWh+W0(4/4) AAS
>>889
ありがとうございます。
他の物とは具体的にどんな関数を使えばいいのでしょうか?
892
(1): (アウアウエー Sa52-SfL3) 2019/02/21(木)23:14 ID:5v/pkJgQa(2/5) AAS
>>891
思ったより面倒臭い
外部リンク:ideone.com
893
(2): (アウアウエー Sa52-SfL3) 2019/02/21(木)23:22 ID:5v/pkJgQa(3/5) AAS
>>892
これ書いてて一つ疑問に思ったのが、
MessagingTask = MessagingTask.ContinueWith(t => job.Action());
これを以下のように、
MessagingTask.ContinueWith(t => job.Action());
こう変えると期待した動きにならない。
ContinueWithってキューになってて先に入ってるタスクの完了を待って次を実行すると思ったけど違うのか
894
(1): (ワッチョイ 3de7-fRYm) 2019/02/21(木)23:42 ID:aABnGI350(1) AAS
>>893
重箱の隅…だが。
Task.Run(() => { })の代わりにTask.CompletedTaskってあるよ。
後、Task.Delay(Pause).Wait()ってThread.Sleep(Pause)で良いんでない。
895
(1): (ワッチョイ a95f-cnIv) 2019/02/21(木)23:44 ID:e6A24yU10(1) AAS
>>893
継続タスクが1つとは限らない。複数あったらパラって実行される。
896: (アウアウエー Sa52-SfL3) 2019/02/21(木)23:48 ID:5v/pkJgQa(4/5) AAS
>>894
うん、知ってたけど今使ってるのがVS2015なのよ...
897: (アウアウエー Sa52-SfL3) 2019/02/21(木)23:49 ID:5v/pkJgQa(5/5) AAS
>>895
やっぱり俺が誤解して理解してたんだなありがと
898
(1): (アウアウエー Sa52-dS/9) 2019/02/23(土)14:44 ID:3cOSTboLa(1) AAS
MenuStripコンポーネントでItemを選択した時にその左にチェックを入れるようにしてるのだけど
選択した時点でメニュー閉じちゃって若干不便なのだけど
ひらいたままにする設定にはできないのでしょうか
899
(1): (アウアウエー Sa52-SfL3) 2019/02/23(土)19:07 ID:gzY/wSmba(1/2) AAS
>>898
ルートのアイテムの直下ならClickか何かで親のShowDropDown()を呼べば一応実現できるっぽい。
入れ子になってる場合は、

....

ToolStripMenuItem1.Click += (sender, e) =>
{
  RecursiveShowDropDown(((ToolStripMenuItem)sender));
省11
900: (アウアウエー Sa52-SfL3) 2019/02/23(土)19:24 ID:gzY/wSmba(2/2) AAS
AA省
901: (アウアウエー Sa52-dS/9) 2019/02/24(日)03:15 ID:pRL7US30a(1) AAS
>>899
無事できました
ありがとうございます!
902
(2): (ワッチョイ ada2-uPuZ) 2019/02/24(日)11:47 ID:L3+XvQB40(1) AAS
質問です
現在、以下のように一つの非同期処理(時間のかかるディスクの書き込み)
を実行しています。

private async void button1_Click(object sender, EventArgs e)
{
 await DoSomethingAsync();
 MessageBox.Show("完了");
省8
903: (ワッチョイ 662c-/qFZ) 2019/02/24(日)11:58 ID:u2ta9zSf0(1) AAS
Queue<T>を使えば良いんじゃね
904: (ドコグロ MM15-bAbS) 2019/02/24(日)12:36 ID:cR8EPyISM(1) AAS
>>902
最後に追加したTaskを覚えておいてContinueWithで繋ぐとかできなくはないけど、
そんな変なハックをするくらいなら素直に別スレッド立てて順番にバックグラウンド実行したほうがいい
Producer-Consumerでググれ
905: (ワッチョイ 9eef-upo5) 2019/02/25(月)11:09 ID:a5srEHrc0(1) AAS
c#のフォームで、タイルマップエディタのようなものを作りたいのですが、どのような情報を調べたらいいでしょうか
また、そのような目的に適したフォームはありますか?

そもそもC#が適切なのかわからないのですが
906: (ワッチョイ 66f2-rusg) 2019/02/25(月)11:41 ID:2iFL+VGx0(1) AAS
>>90結局Unityになるんやろなあ
907
(1): (ワッチョイ 7d01-b+8Y) 2019/02/25(月)12:13 ID:kHS+5sOB0(1) AAS
VisualStudioでデバッグ実行した時だけプログラムがフリーズしてしまうのですがこういう時はどういった原因が考えられるでしょうか?
WinFormを使用していてフォームが立ち上がったらバックグラウンドで色々するって感じの処理なのでどこかでUIスレッドをブロックしているのかとも思いましたがConfigureAwait(false)の設定し忘れは無さそうでした
VisualStudioを通さずに直接実行した場合は正常に動作しています
908
(1): (ワッチョイ b67c-cX2z) 2019/02/25(月)13:05 ID:fW706uYI0(1) AAS
とりあえずフリーズした時に「すべて中断」して
どこでブレイクされるか確認
ついでにスレッド一覧を見てみる
909
(1): (ササクッテロラ Spbd-b+8Y) 2019/02/25(月)13:15 ID:O8+i9ARHp(1) AAS
>>908
それを試そうとしたのですが全て中断しても中断出来ない状況です
中断押すとVS自体もフリーズしてタスクマネージャーからプログラムを終了しないと復帰出来なくなります
910: (ファミワイ FFc9-kEY9) 2019/02/25(月)15:41 ID:stIKiSPsF(1) AAS
最前面じゃなくて後ろ面にアクティブウィンドウがポップアップされてるんじゃね
911: (アウアウエー Sa52-SfL3) 2019/02/25(月)19:11 ID:ERkCIkZda(1) AAS
>>902
単純にボタンをクリックした回数だけ非同期メソッドを実行したいだけなら
これでいいような気が

private bool mBusy = false;
private int mRepeatCount = 0;

private async void button1_Click(object sender, EventArgs e)
{
省8
912: (スフッ Sd0a-7Wge) 2019/02/25(月)19:17 ID:61uBElrFd(1) AAS
>>907
俺はエディタでヒント表示させただけで落ちるけど。Blendなら使えてる。
913
(1): (ワッチョイ 9eef-upo5) 2019/02/26(火)06:14 ID:hTJo4mxi0(1/4) AAS
画像リンク[jpg]:i.imgur.com
c#をデバッグするとこのようなエラーが出るのですが、どこを改善すればいいかヒントをください
914: (ワッチョイ 6aad-5Ibu) 2019/02/26(火)06:21 ID:byKZhMZS0(1) AAS
>>913
dllのパス
915
(2): (ワッチョイ 9eef-upo5) 2019/02/26(火)07:34 ID:hTJo4mxi0(2/4) AAS
↑ありがとうございます
.NET Core Launch (console)
というデバッガを使っているので、
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
という部分を修正するのだと思いますが、どう修正するんでしょうか?
実行したいプログラムを{workspaceFolder}/Program.csと指定してもエラーになります
916
(1): (スッップ Sd0a-5Ibu) 2019/02/26(火)07:53 ID:U5FDQ2yTd(1/2) AAS
>>915
いやだからcsじゃなくてdllだってば
917: (スッップ Sd0a-5Ibu) 2019/02/26(火)07:54 ID:U5FDQ2yTd(2/2) AAS
ログにもちゃんと出てるはず
918: (ワッチョイ 4a52-ynlc) 2019/02/26(火)08:00 ID:H+xdnOpD0(1) AAS
>>915
プログラミングするなら英語は必須だから、「何だか分からないこと言ってる!」とか思わずにちゃんと読みな。
919
(1): (ワッチョイ 9eef-upo5) 2019/02/26(火)08:41 ID:hTJo4mxi0(3/4) AAS
>>916
c#なのにDLLなんですか?
このDLLのパスは何をしてるんですか?
920: (ドコグロ MM12-/na9) 2019/02/26(火)08:50 ID:UlQR9ttEM(1) AAS
普通にVisualStudio(Codeじゃないやつ)ダウンロードして知識付けてから挑戦しろよ
邪魔だよ
921: (ラクペッ MM65-6xHP) 2019/02/26(火)09:40 ID:7RJrl9MrM(1) AAS
小学校でプログラミング教育でも受けてろ
922
(1): (ワッチョイ b67c-cX2z) 2019/02/26(火)09:54 ID:s7Q5fSFO0(1/2) AAS
>>909
そうなるともう新しいプロジェクトに今のを段階的に移していってどこで再現するか確認するかなぁ
923
(2): (ワッチョイ b67c-cX2z) 2019/02/26(火)10:57 ID:s7Q5fSFO0(2/2) AAS
>>919
とりあえずエクスプローラなりコンソールなりvscodeとは別に開いて
プロジェクトフォルダのbinフォルダの配下を確認
どこかにビルド結果のdllが作られてるから

うちはいつの間にかPlatformって環境変数が定義されてたせいで
HPDとかいうフォルダが1個挟まってたぞ
924
(1): (ワッチョイ 66f2-rusg) 2019/02/26(火)10:58 ID:RV1beKRS0(1) AAS
こっちへどうぞ
Visual Studio Code / VSCode Part5
2chスレ:tech
925: (ワッチョイ 7d01-b+8Y) 2019/02/26(火)11:47 ID:7Gbx8Ae00(1) AAS
>>922
ありがとうございます
とりあえず特定のメソッドを呼ばなければ大丈夫ということがわかったのでデバッグモードでは呼ばないようにして対策することにしました
926: (ワッチョイ 9eef-upo5) 2019/02/26(火)11:58 ID:hTJo4mxi0(4/4) AAS
>>923
デバッグできました 余計なフォルダが挟まっていました
指定してやらないといけないんですね ありがとうございました
927: (スププ Sd0a-pWE8) 2019/02/26(火)12:16 ID:vuJi7+izd(1) AAS
どういたしまして
928: (スップ Sdea-5Ibu) 2019/02/26(火)12:29 ID:CYrridvRd(1/2) AAS
>>923
それDELLやろ
929: (スップ Sdea-5Ibu) 2019/02/26(火)12:29 ID:CYrridvRd(2/2) AAS
>>924
そっちはスレチ
930: (ワッチョイ 9fad-SKB1) 2019/02/28(木)00:37 ID:weUa1N+o0(1/2) AAS
setterメソッドで文字列が8文字以下ならname変数に引数を代入する文を書きたいんですけど
どのように書けばいいんでしょうか?
931
(1): (ワッチョイ d7e7-CeLW) 2019/02/28(木)00:51 ID:ucEMLrR20(1/2) AAS
private string name;
public void SetName( string name )
{
 if ( name.Length <= 8 )
 {
  this.name = name;
 }
省1
932: (ワッチョイ d7e7-CeLW) 2019/02/28(木)00:55 ID:ucEMLrR20(2/2) AAS
セッターよりもプロパティで良い気がする

private string name;
public string Name
{
 set
 {
  if ( value.Length <= 8 )
省9
933
(1): (ワッチョイ 9fad-SKB1) 2019/02/28(木)01:05 ID:weUa1N+o0(2/2) AAS
>>931
ありがとうございますー
lengthを使うとint型とstringをオペランドに比較が使えるんですね
覚えておきます
934: (ドコグロ MM6b-dMaL) 2019/02/28(木)08:14 ID:3CdGs56rM(1) AAS
>>933
> lengthを使うとint型とstringをオペランドに比較が使えるんですね
言いたいことはなんとなくわかるけどほんとに理解してるのか不安になる文章だな
935: (オイコラミネオ MMeb-MJ6Y) 2019/02/28(木)12:10 ID:2lomOid8M(1) AAS
8文字越えた場合や
検証属性の話をと思ったけど自重
936
(1): (ワッチョイ 37e5-i/5X) 2019/02/28(木)19:23 ID:owSMuOWF0(1) AAS
Windows.Forms の質問です。
TextBox 数個と MenuStrip に サブメニューのない MenuItem を追加したFormで
Altキーでメニューを選択すると、
カーソルキーの上下でTextBoxのフォーカスが移動するのですが
どういった理由でしょうか?
937: (アウアウウー Sa9b-Rc0K) 2019/02/28(木)20:29 ID:1IHH1hzPa(1) AAS
>>936
Menuに反応してるのでは?
938: 936 (ラクッペ MMcb-hSmr) 2019/02/28(木)20:50 ID:DAgKUWMjM(1) AAS
うーん
ショートカットキーの設定ができるので
ツールバーの代わりに使おうと思ったんですが
予想外のキモい動きで躊躇してます
939: (ワッチョイ ff2c-pqT0) 2019/02/28(木)21:20 ID:560qka060(1) AAS
ドロップダウンしないのは想定してないだろう
940
(1): (ワッチョイ 377c-vuRV) 2019/03/01(金)12:58 ID:ozM8zBQ90(1) AAS
この本おすすめですか?
外部リンク:www.amazon.co.jp
941: (ワッチョイ ff63-3oSp) 2019/03/01(金)19:45 ID:MA7hbDcR0(1) AAS
JS
hoge([[1,2,3], [4,5,6]]);

C#
hoge(new int[,] {{ 1,2,3 }, { 4,5,6 }});

javascriptみたいにnew付けないで渡せないですか?
paramでは2次元がだめでした。
942
(1): (ワッチョイ bfef-Q9lp) 2019/03/01(金)21:07 ID:tVNocw1h0(1) AAS
サイドバーについてなんですが、例えばgimpというソフトがあるのですが、両サイドにツールやレイヤーが表示されています
このように領域を分けるコントロールを教えてください
win form c#です

これはもう1つフォームを追加してるんでしょうか?
1-
あと 60 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s