「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
■コードを貼る場合は↓を使いましょう。
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#(初心者用) Part134
■ このスレッドは過去ログ倉庫に格納されています
2017/11/28(火) 21:30:48.55ID:7U+HR4FY
585デフォルトの名無しさん
2017/12/13(水) 23:21:05.54ID:+hxIYt9g こっちでうざい論争始められても困るし。
586デフォルトの名無しさん
2017/12/13(水) 23:23:03.58ID:vLvUNPwO EF Coreを使ってます
UpdateでWhereを指定するにはどうしたらいいでしょうか?
現在は以下のようになってます
ctx.Students.Update(student);
ctx.SaveChanges();
もしくは、行ロックのやり方を教えてください
レコードを更新する際に特定の条件下なら1度だけ更新をしたいです
UpdateでWhereを指定するにはどうしたらいいでしょうか?
現在は以下のようになってます
ctx.Students.Update(student);
ctx.SaveChanges();
もしくは、行ロックのやり方を教えてください
レコードを更新する際に特定の条件下なら1度だけ更新をしたいです
587デフォルトの名無しさん
2017/12/13(水) 23:31:04.98ID:celmGK9q588デフォルトの名無しさん
2017/12/13(水) 23:37:57.02ID:muTUiD7C WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
http://mevius.2ch.net/test/read.cgi/tech/1513175747/
http://mevius.2ch.net/test/read.cgi/tech/1513175747/
589デフォルトの名無しさん
2017/12/13(水) 23:39:24.47ID:uYugybSh >>550
こういったのプログラミングするときちゃんと書かれてる通りに作れって思う
仕様書の書き方がクソで勝手に直したくなるのは分かるけど
enum Hoge{最初から,失敗終了,成功終了}
private Hoge Func(A a,B b,Int changeCount){
bool 等しい a==b;
if(!等しい&&changeCount!=3)return Hoge.最初から;
else if(!等しい&&changeCount==3)return Hoge.失敗終了;
else if(等しい)return Hoge.成功終了;
throw new Exception("仕様書に書いてないけど?");
}
こういったのプログラミングするときちゃんと書かれてる通りに作れって思う
仕様書の書き方がクソで勝手に直したくなるのは分かるけど
enum Hoge{最初から,失敗終了,成功終了}
private Hoge Func(A a,B b,Int changeCount){
bool 等しい a==b;
if(!等しい&&changeCount!=3)return Hoge.最初から;
else if(!等しい&&changeCount==3)return Hoge.失敗終了;
else if(等しい)return Hoge.成功終了;
throw new Exception("仕様書に書いてないけど?");
}
590デフォルトの名無しさん
2017/12/13(水) 23:42:41.36ID:BxJ5qLxy >>586
.Where(条件)追加すればいいんじゃないか?
.Where(条件)追加すればいいんじゃないか?
591デフォルトの名無しさん
2017/12/14(木) 00:09:23.47ID:AbaQzWBd592デフォルトの名無しさん
2017/12/14(木) 06:07:27.62ID:tSpFRQdC593デフォルトの名無しさん
2017/12/14(木) 07:19:39.96ID:VVrew0Yx amazon死んでる
AWSも逝った?
AWSも逝った?
594デフォルトの名無しさん
2017/12/14(木) 08:04:04.61ID:5Zp71Sbj おまえらなんでアジュール使わないの?
595デフォルトの名無しさん
2017/12/14(木) 08:28:56.13ID:VVrew0Yx596デフォルトの名無しさん
2017/12/14(木) 08:51:15.38ID:kupDQT+K アジュールってクラウド鯖環境なだけだが
597デフォルトの名無しさん
2017/12/14(木) 08:58:02.26ID:AMqoei3b AWSの方が便利ですし
598デフォルトの名無しさん
2017/12/14(木) 09:33:13.26ID:h0pJUyRR >>596
嘘は良くない
嘘は良くない
599デフォルトの名無しさん
2017/12/14(木) 09:33:48.37ID:6p67cfA3 アジュールAWSとVPSの違いは?
600デフォルトの名無しさん
2017/12/14(木) 09:40:54.01ID:+GHlkdpq try catchってどこで囲うのが基本?
メソッドの中身全部かなと思うんだけど
メソッドの中身全部かなと思うんだけど
601デフォルトの名無しさん
2017/12/14(木) 09:54:01.28ID:exEWR3q2602デフォルトの名無しさん
2017/12/14(木) 10:26:35.89ID:4QS0W6Tf ???
603デフォルトの名無しさん
2017/12/14(木) 10:38:03.42ID:T38l1dnq できるだけ狭く
604デフォルトの名無しさん
2017/12/14(木) 11:00:13.42ID:VYyAdkca605デフォルトの名無しさん
2017/12/14(木) 12:14:15.12ID:E4k7gbUw どこに書いてもいいけど
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう
606デフォルトの名無しさん
2017/12/14(木) 12:19:44.66ID:yn4+AjAE >>605
だって、このメソッドで落ちると困るじゃん例外とも言う
だって、このメソッドで落ちると困るじゃん例外とも言う
607デフォルトの名無しさん
2017/12/14(木) 12:33:59.88ID:PpIxqW4X608デフォルトの名無しさん
2017/12/14(木) 12:52:43.26ID:h0pJUyRR609デフォルトの名無しさん
2017/12/14(木) 13:34:33.61ID:6p67cfA3 >>608
語るなら理由も書いてくれ
語るなら理由も書いてくれ
610デフォルトの名無しさん
2017/12/14(木) 13:37:11.31ID:exEWR3q2611デフォルトの名無しさん
2017/12/14(木) 14:07:14.43ID:h0pJUyRR612デフォルトの名無しさん
2017/12/14(木) 14:13:12.44ID:yn4+AjAE >>610
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ
613デフォルトの名無しさん
2017/12/14(木) 15:27:07.73ID:exEWR3q2614デフォルトの名無しさん
2017/12/14(木) 15:39:34.55ID:yn4+AjAE >>613
自分で書いてない所にあるんだよ。
自分で書いてない所にあるんだよ。
615デフォルトの名無しさん
2017/12/14(木) 17:00:13.09ID:exEWR3q2 >>614
ないっす
ないっす
616デフォルトの名無しさん
2017/12/14(木) 17:32:02.14ID:us8b95/8 何のスレだよここ
617デフォルトの名無しさん
2017/12/14(木) 18:09:08.31ID:oUWqnTgP IO系とかエラーが発生する可能性のある一帯だけ囲んで、こんなとこじゃエラー出ないよね?
ってとこは囲わないかな
万一そういう所でエラー発生したら、そのエラー箇所を特定しやすいように
売り物のソフトだと、好ましくないやり方かもしんないけどな
ってとこは囲わないかな
万一そういう所でエラー発生したら、そのエラー箇所を特定しやすいように
売り物のソフトだと、好ましくないやり方かもしんないけどな
618デフォルトの名無しさん
2017/12/14(木) 20:49:00.77ID:COokNIga 復旧可能かつ復旧を試みる事が要件で明示されてればそこでキャッチする
それ以外は基本的に全てキャッチしてはならない
グローバル例外ハンドラに任せてログ出力やユーザー通知を行う
それ以外は基本的に全てキャッチしてはならない
グローバル例外ハンドラに任せてログ出力やユーザー通知を行う
619デフォルトの名無しさん
2017/12/14(木) 20:51:54.39ID:COokNIga リソースの解放は原則IDisposableとusingで行うこと(try finallyは使わない)
620デフォルトの名無しさん
2017/12/14(木) 22:00:38.77ID:7SAvsilk >>619
usingはtry finallyに展開されるという・・・
usingはtry finallyに展開されるという・・・
621デフォルトの名無しさん
2017/12/14(木) 22:01:50.75ID:NV/46Hd7 >>620
自分で書いてミスるのを防ぐため
自分で書いてミスるのを防ぐため
622デフォルトの名無しさん
2017/12/14(木) 22:42:27.89ID:83z5th3I なんで?
Finallyあると開放されないん?
Finallyあると開放されないん?
623デフォルトの名無しさん
2017/12/14(木) 22:52:02.96ID:6p67cfA3624デフォルトの名無しさん
2017/12/14(木) 22:58:02.78ID:6p67cfA3625デフォルトの名無しさん
2017/12/15(金) 02:32:16.25ID:6xqAElZe 1234.5678 => 1,234.5678
1234.56 => 1,234.56
123.456 => 123.456
というように、
数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか?
1234.56 => 1,234.56
123.456 => 123.456
というように、
数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか?
626デフォルトの名無しさん
2017/12/15(金) 02:43:42.30ID:OGT2pKSi >>625
複合書式指定
https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx
でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない
複合書式指定
https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx
でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない
627デフォルトの名無しさん
2017/12/15(金) 02:45:25.60ID:6xqAElZe >>626
C#ってわざわざ面倒臭いことしないといけないんですね・・・
C#ってわざわざ面倒臭いことしないといけないんですね・・・
628デフォルトの名無しさん
2017/12/15(金) 02:53:08.52ID:OGT2pKSi629デフォルトの名無しさん
2017/12/15(金) 03:21:16.28ID:IbhaoRnF630デフォルトの名無しさん
2017/12/15(金) 09:01:04.44ID:BaW7Km5G631デフォルトの名無しさん
2017/12/15(金) 09:05:36.73ID:BaW7Km5G Console.WriteLine("{0:#,0} ", 数値);
こんだけな
こんだけな
632デフォルトの名無しさん
2017/12/15(金) 09:14:42.49ID:BaW7Km5G それかコレな
Console.WriteLine("{0:N}", 数値);
Console.WriteLine("{0:N}", 数値);
633デフォルトの名無しさん
2017/12/15(金) 12:48:50.32ID:6xqAElZe634デフォルトの名無しさん
2017/12/15(金) 13:08:51.68ID:BaW7Km5G ググる知能もない低脳に説教されちゃったよ..(^^;
635デフォルトの名無しさん
2017/12/15(金) 14:03:20.57ID:s/91E6Oz 一度でもやってからしゃべってんだろうかこのアホ ID:6xqAElZe は
636デフォルトの名無しさん
2017/12/15(金) 16:15:56.95ID:M7F98+kf VB.netのクラスの中身の大半をC#に移動したいんだが、Partialしたらいいだろか?
637デフォルトの名無しさん
2017/12/15(金) 16:32:35.38ID:aCy2oimY vb.netのコードをc#に一発変換してくれるツールがあった気がする
638デフォルトの名無しさん
2017/12/15(金) 16:42:28.20ID:M7F98+kf Formは無理じゃない。 コードは変換できるのを見たことがある。なのでコード部とか
ライブラリクラスをC#にしようと思う。
ライブラリクラスをC#にしようと思う。
639デフォルトの名無しさん
2017/12/15(金) 17:10:02.32ID:aCy2oimY >>638
https://dobon.net/vb/dotnet/links/convertcs2vb.html
sharpdevelopとかいうのでできた気がすんだよ
ちょっとやってみてよ
試す価値はあるでしょ?
ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ
https://dobon.net/vb/dotnet/links/convertcs2vb.html
sharpdevelopとかいうのでできた気がすんだよ
ちょっとやってみてよ
試す価値はあるでしょ?
ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ
640デフォルトの名無しさん
2017/12/15(金) 17:28:02.50ID:M7F98+kf >>639
ありがとう。やってみてまた報告するよ。
ありがとう。やってみてまた報告するよ。
641デフォルトの名無しさん
2017/12/15(金) 17:51:54.84ID:m9RnQpi/ プロジェクト分ければVBとC#共存できるんだから
循環参照が必要じゃないなら無理に変換することもないんじゃないかと
循環参照が必要じゃないなら無理に変換することもないんじゃないかと
642デフォルトの名無しさん
2017/12/15(金) 18:41:41.68ID:Rbo0n5z7 >>641
VBerがそんな綺麗なコード書くわけ無いでしょ
VBerがそんな綺麗なコード書くわけ無いでしょ
643デフォルトの名無しさん
2017/12/15(金) 18:43:49.15ID:M7F98+kf 心が綺麗だとコードも綺麗。
644デフォルトの名無しさん
2017/12/15(金) 18:47:39.84ID:Sbz3X1/O VisualBasicがなかったら
ファイルをゴミ箱入れたいとき困るじゃないですか
ファイルをゴミ箱入れたいとき困るじゃないですか
646デフォルトの名無しさん
2017/12/15(金) 21:11:29.58ID:Hv9P7iJ4647デフォルトの名無しさん
2017/12/15(金) 21:29:12.26ID:GAdh6qIc >>645
はいキチガイ
はいキチガイ
648デフォルトの名無しさん
2017/12/15(金) 21:30:37.92ID:wB/Paoxt >>644
Microsoft.VisualBasic.dllだけあればいいよ
Microsoft.VisualBasic.dllだけあればいいよ
649デフォルトの名無しさん
2017/12/15(金) 22:02:04.42ID:JZUrtsL7 >>625
Console.WriteLine("{0:#,#.##########}", 1234.5678);
Console.WriteLine("{0:#,#.##########}", 1234.5678);
650デフォルトの名無しさん
2017/12/15(金) 23:04:45.15ID:ZiMYN4DZ651デフォルトの名無しさん
2017/12/16(土) 08:46:52.59ID:2xEHZCIG vb formからc# formへctl-aで全選択してコピペできるよ。
ちゃんと言語の変換をしてくれる。
ちゃんと言語の変換をしてくれる。
652デフォルトの名無しさん
2017/12/16(土) 09:10:07.48ID:HogLmiIR デザインは変換できる?
653デフォルトの名無しさん
2017/12/16(土) 09:54:00.60ID:ghluEyaB あれぇ?
なんかボタンで一発変換だった記憶があるんだけど?
なんかボタンで一発変換だった記憶があるんだけど?
654デフォルトの名無しさん
2017/12/16(土) 10:37:27.38ID:HogLmiIR クラスAでクラスBをインスタンス化する
クラスCでクラスBのメソッドを実行する。
クラスAでクラスBをインスタンス化する。クラスCでクラスBのメソッドを実行する。
クラスAのインスタンス名は未定の時に、clsCからB.bm()を呼び出す方法?
こういう時にどうすればいい? なんかスマートにできる方法はない?
public class clsA
{
public clsB B = new clsB;
public clsC C = new clsC(B);
}
public class clsB
{
public void bm()
{
}
}
public class clsC
{
clsB B;
private clsC(clsB bb)
{
B = bb;
}
private void doc()
{
B.bm();
}
} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
クラスCでクラスBのメソッドを実行する。
クラスAでクラスBをインスタンス化する。クラスCでクラスBのメソッドを実行する。
クラスAのインスタンス名は未定の時に、clsCからB.bm()を呼び出す方法?
こういう時にどうすればいい? なんかスマートにできる方法はない?
public class clsA
{
public clsB B = new clsB;
public clsC C = new clsC(B);
}
public class clsB
{
public void bm()
{
}
}
public class clsC
{
clsB B;
private clsC(clsB bb)
{
B = bb;
}
private void doc()
{
B.bm();
}
} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
655デフォルトの名無しさん
2017/12/16(土) 10:52:11.94ID:2xEHZCIG >>653
それって vb6 ⇒ vb.net じゃないの?
それって vb6 ⇒ vb.net じゃないの?
656デフォルトの名無しさん
2017/12/16(土) 10:54:04.95ID:VgVQwchc657デフォルトの名無しさん
2017/12/16(土) 10:56:52.96ID:ghluEyaB まあ、最悪ベタで組めばいいじゃん
658デフォルトの名無しさん
2017/12/16(土) 11:55:33.53ID:8tD9WB4W 関数をreturn する直前で実行したい処理があるのですが、
try catch finallyを使うとできますが、finally
だけ使いたいのですが、そう言うのは無いですか?
try catch finallyを使うとできますが、finally
だけ使いたいのですが、そう言うのは無いですか?
659デフォルトの名無しさん
2017/12/16(土) 12:03:55.12ID:8r44i3VV ないですね
660デフォルトの名無しさん
2017/12/16(土) 12:07:33.63ID:EDRAYm5f >>658
複数のreturnの前の同一処理ならreturnの代わりにgotoでその処理へ飛ばせばいいだろ
複数のreturnの前の同一処理ならreturnの代わりにgotoでその処理へ飛ばせばいいだろ
661デフォルトの名無しさん
2017/12/16(土) 12:08:12.20ID:VgVQwchc try { return; } finally { } でいいだろ
662デフォルトの名無しさん
2017/12/16(土) 12:08:20.45ID:2xEHZCIG >>658
try, finallyだけもあるけど
try, finallyだけもあるけど
663デフォルトの名無しさん
2017/12/16(土) 12:14:22.30ID:oPhsj9qx >>658
finallyだけじゃどこを抜けたらか分からないよ、ちゃんとそれぞれ有ります
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/try-finally
finallyだけじゃどこを抜けたらか分からないよ、ちゃんとそれぞれ有ります
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/try-finally
664デフォルトの名無しさん
2017/12/16(土) 12:51:36.41ID:8tD9WB4W665デフォルトの名無しさん
2017/12/16(土) 16:35:16.86ID:gJhjPx+L C#初心者の頃(いまもかわらんけど)、一番悩んだのは
インターフェースが分からない。
何がわからないかというと、インタフェースって、自分で一から定義するような
ことが書かれていたが、既存のプログラムで使用しているインタフェースって
何かやってる。
何か定義しないと何もやらないはずなのに・・・・・めちゃ気持ち悪いしわからない。
システムで処理を記述したものも、インターフェースとそのまま呼んでいるから、
わけわからなくてさ〜。
なんだ、処理が記述されているものがあるのねと、理解するのにひと月かかったアホ出した。
まあ今も変わらんんけど。
インターフェースが分からない。
何がわからないかというと、インタフェースって、自分で一から定義するような
ことが書かれていたが、既存のプログラムで使用しているインタフェースって
何かやってる。
何か定義しないと何もやらないはずなのに・・・・・めちゃ気持ち悪いしわからない。
システムで処理を記述したものも、インターフェースとそのまま呼んでいるから、
わけわからなくてさ〜。
なんだ、処理が記述されているものがあるのねと、理解するのにひと月かかったアホ出した。
まあ今も変わらんんけど。
666デフォルトの名無しさん
2017/12/16(土) 16:39:09.26ID:ghluEyaB 設計書も書かないくせに
インターフェース定義するやつがこれまたわからん
馬鹿だろお前
って素で聞いてしまった
インターフェース定義するやつがこれまたわからん
馬鹿だろお前
って素で聞いてしまった
667デフォルトの名無しさん
2017/12/16(土) 16:42:29.58ID:6gulH/Qw インターフェースを機械とか現実の何かで例えたらなんですか?
668デフォルトの名無しさん
2017/12/16(土) 16:45:05.86ID:ghluEyaB 強いて言えば型
100Vコンセントって型=インターフェース
100Vコンセントって型=インターフェース
669デフォルトの名無しさん
2017/12/16(土) 16:53:14.91ID:DOHaPC3l backgroundWorkerにおいて、ある関数を実行していて
その関数内である条件になった時にbackgroundWorkerを停止したいのですが
何か簡単な方法はないでしょうか?
backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に
プログラムが組みたいのです。
その関数内である条件になった時にbackgroundWorkerを停止したいのですが
何か簡単な方法はないでしょうか?
backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に
プログラムが組みたいのです。
670デフォルトの名無しさん
2017/12/16(土) 16:56:31.41ID:ghluEyaB671デフォルトの名無しさん
2017/12/16(土) 16:59:30.93ID:Ul/CFAof >>669
マイクロソフトの方針でできなくなってます
マイクロソフトの方針でできなくなってます
672デフォルトの名無しさん
2017/12/16(土) 17:03:29.56ID:ghluEyaB 普通に無限ループ抜ければええんちゃうのん?
673デフォルトの名無しさん
2017/12/16(土) 17:05:51.65ID:DOHaPC3l backgroundWorker内でAという関数を無限ループ実行していて
Aの中ではB、Cという関数が続けて実行されていて
Bである条件(エラー)になった時、ここで全ての動きを停止したいです。
現在はエラーが発生してそのままBと処理が続いていって死にはしませんが意図しない動きをしている感じです
戻り値と条件分岐で場合分けしていけばいいのかなとも思いましたが関数が大量にあり複雑で何か簡単な手段はないものかとお聞きしてみました
Aの中ではB、Cという関数が続けて実行されていて
Bである条件(エラー)になった時、ここで全ての動きを停止したいです。
現在はエラーが発生してそのままBと処理が続いていって死にはしませんが意図しない動きをしている感じです
戻り値と条件分岐で場合分けしていけばいいのかなとも思いましたが関数が大量にあり複雑で何か簡単な手段はないものかとお聞きしてみました
674デフォルトの名無しさん
2017/12/16(土) 17:06:41.02ID:na0PR4/Y >>669
https://dobon.net/vb/dotnet/programing/progressdialogbw.html
CancelAsync()でだめな理由があるの?
関数の中でエラー検出できないとかじゃないよね
https://dobon.net/vb/dotnet/programing/progressdialogbw.html
CancelAsync()でだめな理由があるの?
関数の中でエラー検出できないとかじゃないよね
675デフォルトの名無しさん
2017/12/16(土) 17:13:01.57ID:DOHaPC3l >>674
キャンセルボタンは一応ついていまして
Aの実行後にボタンが押されていればCancelAsync()を使っています
AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです
キャンセルボタンは一応ついていまして
Aの実行後にボタンが押されていればCancelAsync()を使っています
AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです
676デフォルトの名無しさん
2017/12/16(土) 17:14:42.73ID:na0PR4/Y677デフォルトの名無しさん
2017/12/16(土) 17:19:57.99ID:DOHaPC3l >>676
そんな気もします…
そんな気もします…
678デフォルトの名無しさん
2017/12/16(土) 17:31:29.65ID:na0PR4/Y >>677
同じような質問でTaskの場合
https://stackoverflow.com/questions/4359910/is-it-possible-to-abort-a-task-like-aborting-a-thread-thread-abort-method
Henk Holtermanさんは「そういうことを(安全に)したいのならその部分を別アプリにしろ」と言っている
同じような質問でTaskの場合
https://stackoverflow.com/questions/4359910/is-it-possible-to-abort-a-task-like-aborting-a-thread-thread-abort-method
Henk Holtermanさんは「そういうことを(安全に)したいのならその部分を別アプリにしろ」と言っている
679デフォルトの名無しさん
2017/12/16(土) 17:41:39.84ID:qA7A9B95 >>678
それ、スレッドでタスクのようにキャンセルしたいって話だぞ。
それ、スレッドでタスクのようにキャンセルしたいって話だぞ。
680デフォルトの名無しさん
2017/12/16(土) 17:48:31.95ID:ghluEyaB 普通にstaticのフラグ作って強引に無限ループ抜けちゃうのは?
681デフォルトの名無しさん
2017/12/16(土) 17:50:37.53ID:oGvDk6LW >>675
まず「止める」って発想がおかしい。
各メソッドが「止まる」ように設計しなきゃ。
各メソッドの引数に処理がキャンセルされたかどうかを返すFunc<bool>を追加して
void A(Func<bool> canceled) {...}
呼び出すときに
A(() => backgroundWorker1.CancellationPending);
とかすればいいんじゃないか
まず「止める」って発想がおかしい。
各メソッドが「止まる」ように設計しなきゃ。
各メソッドの引数に処理がキャンセルされたかどうかを返すFunc<bool>を追加して
void A(Func<bool> canceled) {...}
呼び出すときに
A(() => backgroundWorker1.CancellationPending);
とかすればいいんじゃないか
682デフォルトの名無しさん
2017/12/16(土) 17:52:34.38ID:qA7A9B95 >>673
Bでエラーが発生したら例外投げて、backgroundWorker.DoWork内のループでその例外を補足してe.Cancel=trueにするようにすれば。
Bでエラーが発生したら例外投げて、backgroundWorker.DoWork内のループでその例外を補足してe.Cancel=trueにするようにすれば。
683デフォルトの名無しさん
2017/12/16(土) 17:58:55.94ID:qA7A9B95684デフォルトの名無しさん
2017/12/16(土) 18:12:53.74ID:DOHaPC3l685デフォルトの名無しさん
2017/12/16(土) 18:22:29.26ID:cphXnYZp >>666
何言ってんだこいつ?
何言ってんだこいつ?
■ このスレッドは過去ログ倉庫に格納されています
