!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
2022/02/09(水) 23:13:39.45ID:1A90hyai0469デフォルトの名無しさん (オイコラミネオ MMe7-jTyu)
2022/04/14(木) 09:20:03.14ID:91yoHZnRM あれ、やっぱりだめだ。
textの内容によってはi2が16000以上の数字のまま無限ループになる。
どうして?
int i1;
int i2;
do
{
text = text.Replace("\n\n", "\n");
text = text.Replace(" ", " ");
i1 = text.IndexOf("\n\n");
i2 = text.IndexOf(" ");
} while (i1 != -1 || i2 != -1);
textの内容によってはi2が16000以上の数字のまま無限ループになる。
どうして?
int i1;
int i2;
do
{
text = text.Replace("\n\n", "\n");
text = text.Replace(" ", " ");
i1 = text.IndexOf("\n\n");
i2 = text.IndexOf(" ");
} while (i1 != -1 || i2 != -1);
470デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/14(木) 09:37:31.44ID:BtLi5peKa i2がってことはindexofの中のスペースがひとつなんじゃない?
indexofでやるのは中サーチしてで時間かかるから、length変化あるかのほうがいい
indexofでやるのは中サーチしてで時間かかるから、length変化あるかのほうがいい
471デフォルトの名無しさん (オイコラミネオ MMe7-jTyu)
2022/04/14(木) 09:56:41.76ID:91yoHZnRM charに変換すると\0になるからどうやらこれが「 」にヒットしてしまうらしい?
とりあえず棚上げして他の場所を弄る事にします。
とりあえず棚上げして他の場所を弄る事にします。
472デフォルトの名無しさん (スプッッ Sd22-WLRK)
2022/04/14(木) 10:24:14.77ID:6oGVEDEnd "\n\n\n"が生き残るからループは必須
なにが起こってるか知りたいならtext内容の16進ダンプをループ内で出力しなよ
VisualStudioのブレークポインタ貼るだけでもいいし
なにが起こってるか知りたいならtext内容の16進ダンプをループ内で出力しなよ
VisualStudioのブレークポインタ貼るだけでもいいし
473デフォルトの名無しさん (ブーイモ MM8e-wy5Z)
2022/04/14(木) 10:36:51.11ID:a0BRjs1jM RegexのReplaceを使うんだ
474デフォルトの名無しさん (ワッチョイ 627b-yfbP)
2022/04/14(木) 11:52:27.27ID:xhb3HQTe0 >>469
再現しないし>>471の理屈もわからないけどdo whileのその形じゃないとだめなの?
https://dotnetfiddle.net/wsvKwq
あと5chでは半角スペース連続は書き換えられるから別の文字をサンプルにするか>>1のコード書き込みサイトを利用してください
再現しないし>>471の理屈もわからないけどdo whileのその形じゃないとだめなの?
https://dotnetfiddle.net/wsvKwq
あと5chでは半角スペース連続は書き換えられるから別の文字をサンプルにするか>>1のコード書き込みサイトを利用してください
475デフォルトの名無しさん (ワッチョイ 1f79-xb3m)
2022/04/14(木) 17:17:56.63ID:cTxFb1rt0 >>466
> text = text.Replace(" ", " ");
> text.IndexOf(" ") != -1
ここの処理が意味わからん
改行と同じように半角スペース2個を1個にして条件を変更するのか
半角スペースそのものを別のものに変えたいのか
> text = text.Replace(" ", " ");
> text.IndexOf(" ") != -1
ここの処理が意味わからん
改行と同じように半角スペース2個を1個にして条件を変更するのか
半角スペースそのものを別のものに変えたいのか
476デフォルトの名無しさん (ワッチョイ 1f79-xb3m)
2022/04/14(木) 17:20:14.14ID:cTxFb1rt0477デフォルトの名無しさん (ワッチョイ 1f79-xb3m)
2022/04/14(木) 17:21:19.24ID:cTxFb1rt0478デフォルトの名無しさん (ワッチョイ df01-dH42)
2022/04/14(木) 19:24:45.24ID:4Ds/ildc0 早寝やな
479デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/15(金) 10:51:24.88ID:JgjbCGpna " " ←スペース2つ
" " ←スペース1つ
5chだからスペース消されるだけだろ
" " ←スペース1つ
5chだからスペース消されるだけだろ
480デフォルトの名無しさん (スップ Sd02-BqLz)
2022/04/15(金) 11:37:41.89ID:0ObfuMR0d 全専ブラならちゃんと見えてるよ
481デフォルトの名無しさん (ワッチョイ df01-iXSd)
2022/04/15(金) 12:11:08.68ID:O+SsNQ0P0 天使のブラもちゃんと見えてます(*^_^*)
482デフォルトの名無しさん (ワッチョイ e201-Uyzu)
2022/04/15(金) 13:37:19.25ID:1joR/OE70483デフォルトの名無しさん (アウアウウー Sabb-55Lb)
2022/04/15(金) 18:49:07.37ID:ZZd0jnz9a おまえら・・・GJ!
484デフォルトの名無しさん (ワッチョイ 1fbd-DvUi)
2022/04/17(日) 12:25:11.04ID:D0SaeSYI0 フォームアプリ作成が主体として、GW本でも読もうと思うんだけどおすすめの本ありますか?
485デフォルトの名無しさん (ワッチョイ 9779-skhS)
2022/04/17(日) 14:36:40.90ID:HNDmidds0 ない
486デフォルトの名無しさん (ワッチョイ 97ad-HCi4)
2022/04/17(日) 18:32:11.96ID:3icLqeK70 >>484
作りたいアプリを考えて実装しながら勉強が捗る
作りたいアプリを考えて実装しながら勉強が捗る
487デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 17:43:30.83ID:YFSVkBgS0 以下の例のように、プログラムに間違いがなければ絶対に到達しない箇所で例外を投げる場合、
どの例外(InvalidOperationException とか InvalidProgramException とか)を
選ぶべきか、正解のようなものはありますか?
また、特に正解がなければ、皆さんのならどうするかを教えていただけると嬉しいです。
どうぞよろしくお願いいたします。
public static string GuusuuKisuu(int x)
{
int y = x & 1; // y は 0 か 1 にしかならない…はず
switch (y)
{
case 0: return "偶数だよ";
case 1: return "奇数だよ";
default: throw new Exception("プログラムが間違ってるから直してね");
}
}
どの例外(InvalidOperationException とか InvalidProgramException とか)を
選ぶべきか、正解のようなものはありますか?
また、特に正解がなければ、皆さんのならどうするかを教えていただけると嬉しいです。
どうぞよろしくお願いいたします。
public static string GuusuuKisuu(int x)
{
int y = x & 1; // y は 0 か 1 にしかならない…はず
switch (y)
{
case 0: return "偶数だよ";
case 1: return "奇数だよ";
default: throw new Exception("プログラムが間違ってるから直してね");
}
}
488デフォルトの名無しさん (ワッチョイ 9fad-29Va)
2022/04/18(月) 18:33:00.77ID:U6PNIZM80 そもそも投げない
デバッグ目的なら例外じゃなくてその時点でメッセージボックス使って表示させるし
例外の場合、投げた例外メッセージが必ずしもユーザ(この場合はデバッグしている人)に届くとは限らないと思うし
デバッグ目的なら例外じゃなくてその時点でメッセージボックス使って表示させるし
例外の場合、投げた例外メッセージが必ずしもユーザ(この場合はデバッグしている人)に届くとは限らないと思うし
489デフォルトの名無しさん (ワッチョイ 3702-2+F3)
2022/04/18(月) 18:45:48.82ID:CqNrq1/C0 そもそもswitchの必要ある?三項演算子で十分では
490デフォルトの名無しさん (ワッチョイ 9fad-29Va)
2022/04/18(月) 18:52:43.38ID:U6PNIZM80 いやwそこは例と言っているから重要ではない気がするがw
例えが悪いってのはわかるけどさw
例えが悪いってのはわかるけどさw
491デフォルトの名無しさん (ワッチョイ 3702-2+F3)
2022/04/18(月) 19:06:40.53ID:CqNrq1/C0 絶対に到達しないって判りきってるなら、別にロジック入れんでいいんじゃないの?
その例だとdefaultを奇数だよにしてもええし
その例だとdefaultを奇数だよにしてもええし
492デフォルトの名無しさん (ワッチョイ ffbb-KI6G)
2022/04/18(月) 19:08:27.71ID:8tbUw4/P0 正解はわからんけど俺ならException継承してそれ専用のクラス作るな
ぶっちゃけ既存のほにゃらかExceptionは使い所合ってるかよく分からんもの多くて困ることあるし
ぶっちゃけ既存のほにゃらかExceptionは使い所合ってるかよく分からんもの多くて困ることあるし
493デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/18(月) 19:09:08.77ID:OZ/Iewlqa この二行だな
debug.assert(false);
throw new exception();
debug.assert(false);
throw new exception();
494デフォルトの名無しさん (ワッチョイ 7f2d-XhrW)
2022/04/18(月) 19:12:34.13ID:0xI2lblg0 >>491
もう少し質問者の意図を読もうよ…
もう少し質問者の意図を読もうよ…
495デフォルトの名無しさん (ワッチョイ 3702-2+F3)
2022/04/18(月) 19:14:17.23ID:CqNrq1/C0496デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/18(月) 19:26:38.17ID:OZ/Iewlqa www
497デフォルトの名無しさん (ブーイモ MMbb-3xp7)
2022/04/18(月) 19:31:17.73ID:QSalzxoDM >>495
おバカ自慢要らない
おバカ自慢要らない
498デフォルトの名無しさん (ワッチョイ 9fad-29Va)
2022/04/18(月) 19:56:03.00ID:U6PNIZM80 上の例のようにわかりきっているコードはまあそうなんだけど“例”と言うようにわかりやすく示しているに過ぎず
極論を言えば、自分で見返してみても何このカオスな複雑怪奇でスパゲッティなコードがあってfuncの戻り値(Result)が0〜10の偶数値のみのはずだけど
funcが呼び出すfunc1からfunc10のどこかに不具合があって負数や奇数、または11以上がResultに入ってしまう可能性を否定することができない場合
とか
極論を言えば、自分で見返してみても何このカオスな複雑怪奇でスパゲッティなコードがあってfuncの戻り値(Result)が0〜10の偶数値のみのはずだけど
funcが呼び出すfunc1からfunc10のどこかに不具合があって負数や奇数、または11以上がResultに入ってしまう可能性を否定することができない場合
とか
499デフォルトの名無しさん (ワッチョイ 9779-skhS)
2022/04/18(月) 20:04:03.76ID:TPGSz3ry0 funcXメソッドから呼ばれているメソッドはツリー状になっており
そのメソッド総数は2586個で
全部で12566個の例外を発生させうる
すごいでしょ?
そのメソッド総数は2586個で
全部で12566個の例外を発生させうる
すごいでしょ?
500デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:12:51.97ID:YFSVkBgS0 たくさんのアドバイスどうもありがとうございます。
あまり良い例が用意できず申し訳ありません。
あまり良い例が用意できず申し訳ありません。
501デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:14:01.34ID:YFSVkBgS0 申し訳ありません。続きを書き込みたいのですが、
「レスアンカーがおかしいです」と言うエラーが出てしまっています。
「レスアンカーがおかしいです」と言うエラーが出てしまっています。
502デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:15:04.45ID:YFSVkBgS0 488 様 489 様 491 様
確かにおっしゃり通りですね。
ただ、状況によってはやはり例外を投げたくなることもありまして、
それをどうやって説明しようかと考えていたところ 498 様がとてもわかり易く
まとめてくださったので、よければそちらを見ていただけると嬉しいです。
492 様
なるほど!
つまり、おそらく初めからこういう目的で用意されている例外はないだろうということですね。
最初は InvalidProgramException が丁度いいかと考えていたのですが、
詳しいクラスの説明を読むとどうやら別の目的で使われる例外のようですし、
おっしゃるとおり、自分でクラスを作るのが一番のような気がしてきました。
493 様
アドバイスどうもありがとうございます。これも良いアイディアだと感じました。
意味的には一行目だけで十分だけれど、
それだけではコンパイルが通らないから二行目も書こうということですよね。
NotNullIfNotNullAttribute ならぬ ThrowExceptionIfFalseAttribute みたいなものが
Debug.Assert に付けられていて二行目がなくてもコンパイルできたらいいのにな、
なんて妄想してしまいました。
確かにおっしゃり通りですね。
ただ、状況によってはやはり例外を投げたくなることもありまして、
それをどうやって説明しようかと考えていたところ 498 様がとてもわかり易く
まとめてくださったので、よければそちらを見ていただけると嬉しいです。
492 様
なるほど!
つまり、おそらく初めからこういう目的で用意されている例外はないだろうということですね。
最初は InvalidProgramException が丁度いいかと考えていたのですが、
詳しいクラスの説明を読むとどうやら別の目的で使われる例外のようですし、
おっしゃるとおり、自分でクラスを作るのが一番のような気がしてきました。
493 様
アドバイスどうもありがとうございます。これも良いアイディアだと感じました。
意味的には一行目だけで十分だけれど、
それだけではコンパイルが通らないから二行目も書こうということですよね。
NotNullIfNotNullAttribute ならぬ ThrowExceptionIfFalseAttribute みたいなものが
Debug.Assert に付けられていて二行目がなくてもコンパイルできたらいいのにな、
なんて妄想してしまいました。
503デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:16:06.96ID:YFSVkBgS0 エラーの原因がよくわからなかったので、
やむを得ずレスアンカーを使うのを諦めました。
読みにくくて申し訳ありません。
やむを得ずレスアンカーを使うのを諦めました。
読みにくくて申し訳ありません。
504デフォルトの名無しさん (ワッチョイ 9f01-0UVf)
2022/04/18(月) 20:25:50.85ID:wKhqv1yX0 まあこの手の話はあちらでも挙げられてて結局しっくりくる例外はないってことになってる
https://stackoverflow.com/questions/3313906/which-exception-should-i-throw-to-signal-an-internal-error-in-my-program
MS的には System.Diagnostics.Debug.Fail() 使えやってことなんだろうね
どうしても例外上げるなら自前でLogicErrorExceptionとかを作るのが良いと思う
https://stackoverflow.com/questions/3313906/which-exception-should-i-throw-to-signal-an-internal-error-in-my-program
MS的には System.Diagnostics.Debug.Fail() 使えやってことなんだろうね
どうしても例外上げるなら自前でLogicErrorExceptionとかを作るのが良いと思う
505デフォルトの名無しさん (ブーイモ MMcf-m76R)
2022/04/18(月) 20:28:51.38ID:0OwrwjlVM MS自身のコードだと、throw AssertUtil.Unreachable; みたいなのはよくあるよ
Unreachable はプロパティで、UnreachableException みたいなinternalなカスタム例外をnewして返してるだけ
Unreachable はプロパティで、UnreachableException みたいなinternalなカスタム例外をnewして返してるだけ
506505 (ブーイモ MMcf-m76R)
2022/04/18(月) 20:39:47.71ID:0OwrwjlVM507デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:39:52.66ID:YFSVkBgS0508デフォルトの名無しさん (ワッチョイ 9f01-0UVf)
2022/04/18(月) 21:02:38.51ID:wKhqv1yX0 >>501
「レスアンカーがおかしいです」は4つ以上のアンカーがあると出るみたい
> 488 様 489 様 491 様
みたいなのは
≫488-489,491
のように纏めたら1アンカーと解釈されたりするので工夫したらなんとかなることもあるよ
「レスアンカーがおかしいです」は4つ以上のアンカーがあると出るみたい
> 488 様 489 様 491 様
みたいなのは
≫488-489,491
のように纏めたら1アンカーと解釈されたりするので工夫したらなんとかなることもあるよ
509デフォルトの名無しさん (ワッチョイ b72c-+1fN)
2022/04/19(火) 18:37:13.18ID:eV3D0rVm0 >>484
ない、っちゅうか買う必要ないだろ
今の時代ググってしらべりゃC#はほとんど見つかる
俺がプログラム関係の本買ったのははるか昔Win95の時代にC++のMSDN本2冊合わせて厚さ10cmくらいあったような
それ以降1冊も買ってない
ない、っちゅうか買う必要ないだろ
今の時代ググってしらべりゃC#はほとんど見つかる
俺がプログラム関係の本買ったのははるか昔Win95の時代にC++のMSDN本2冊合わせて厚さ10cmくらいあったような
それ以降1冊も買ってない
510デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/19(火) 19:13:53.78ID:bNSjpDXdM 俺はこの類で絶対に到達しないdefaultに突入してくる不具合踏んだことあるわ。
ハードの電源ラインに特定の時間帯だけノイズはいってた。
ハードの電源ラインに特定の時間帯だけノイズはいってた。
511デフォルトの名無しさん (ワッチョイ b72f-mbkD)
2022/04/19(火) 19:51:58.01ID:x6ztzldE0512デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/19(火) 20:00:40.81ID:4CQfli8Qa 絶対の定義によるが、普通にあるよ
俺が遭遇したのだと電源電圧下がってUSB機器がリセットされる環境
USBもの使ってる途中で逝くものだから絶対に入らないとこに入った
俺が遭遇したのだと電源電圧下がってUSB機器がリセットされる環境
USBもの使ってる途中で逝くものだから絶対に入らないとこに入った
513デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/19(火) 20:20:45.87ID:RBfKVTUX0514デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/20(水) 08:48:13.52ID:UWj+wPguM >>511
俺もそう思ったんだけど、どうしてもわからなくて、現場に出張って異常データが生まれるまでずっと立たせてもらってて尻尾をつかんだんよ。
他の機械の動作音を「なんだこれうっせえ…」って思ったらデータ壊れてた。
で、UnreachableをAssertしたら発見できた感じ。
俺もそう思ったんだけど、どうしてもわからなくて、現場に出張って異常データが生まれるまでずっと立たせてもらってて尻尾をつかんだんよ。
他の機械の動作音を「なんだこれうっせえ…」って思ったらデータ壊れてた。
で、UnreachableをAssertしたら発見できた感じ。
515デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/20(水) 08:51:45.89ID:UWj+wPguM あいたみみきたたみちむあたたおあたまたたあまちたたたいたあいたあたたたつたなあたにとあああちきのつああああいあかおたあたあなまあおかたたたたあたななむさああ
516デフォルトの名無しさん (テテンテンテン MM8f-I9Qg)
2022/04/20(水) 12:24:18.74ID:A0C60PKcM 俺も別の機器近くにあると仕様書にないノイズ乗った想定外のデータ来てたとかあったな
517デフォルトの名無しさん (ワッチョイ 1701-Wyfp)
2022/04/20(水) 13:20:44.47ID:Ala17EyU0 ワッチョイ
518デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/20(水) 16:31:15.00ID:K/ev14k4M519デフォルトの名無しさん (アウアウウー Sa1b-0UVf)
2022/04/20(水) 20:25:58.97ID:acZiDRW+a 組込機器開発してたらUnreachableは(可能ならログ採って)リスタートとかするのが普通だと思ってたが…
変なデータで処理続けるとか怖すぎる
変なデータで処理続けるとか怖すぎる
520デフォルトの名無しさん (ワッチョイ ffda-JJ/y)
2022/04/20(水) 21:40:56.33ID:iFemtOat0 普通って何さ。
要件次第。仕様次第。
きめつけはいくない
要件次第。仕様次第。
きめつけはいくない
521デフォルトの名無しさん (ワッチョイ ffbb-KI6G)
2022/04/20(水) 22:34:36.17ID:ZQEWQpWd0 スレチ
522デフォルトの名無しさん (ワッチョイ 7c33-Lpup)
2022/04/23(土) 18:34:06.64ID:lLj6XJfK0 話変わるけど、犬を抱いて散歩してる人って何が目的なの?犬も迷惑だと思うんだけど。
523デフォルトの名無しさん (ワッチョイ 6e7c-K5LU)
2022/04/23(土) 18:47:05.69ID:BoqTj/OO0 >>509
Web にはゴミ情報も多いんで、ある程度まとまっている本は有用だと思うよ。
Web にはゴミ情報も多いんで、ある程度まとまっている本は有用だと思うよ。
524デフォルトの名無しさん (ワッチョイ 5e79-aRQM)
2022/04/23(土) 19:28:27.35ID:W31pcfVA0 >>522
小型犬は途中で疲れちゃって歩けなくなるので
小型犬は途中で疲れちゃって歩けなくなるので
525デフォルトの名無しさん (ワッチョイ 5e79-aRQM)
2022/04/23(土) 19:29:42.87ID:W31pcfVA0 ってここc#スレじゃん
アホかよ
アホかよ
526デフォルトの名無しさん (ワッチョイ 56bd-rbym)
2022/04/24(日) 14:39:09.56ID:sEyCiX8K0 >>401助けて下さい。考えては見たのですが沼にハマってます。
結果として重なってる矩形同士のアウトライン?外形線分の始点、終点座標にしてdxfにしたいんですが、2個の矩形の場合は2個比較しかないので出来ますが、複数ある場合の比較の仕方というかループの書き方が分かりません。再帰処理とか無限ループたるものになるんですかね?
矩形の斜めは存在しない左下0.0の点を基準に上と右に伸びる矩形のみで形成されたもので限定的なんですが...
結果として重なってる矩形同士のアウトライン?外形線分の始点、終点座標にしてdxfにしたいんですが、2個の矩形の場合は2個比較しかないので出来ますが、複数ある場合の比較の仕方というかループの書き方が分かりません。再帰処理とか無限ループたるものになるんですかね?
矩形の斜めは存在しない左下0.0の点を基準に上と右に伸びる矩形のみで形成されたもので限定的なんですが...
527デフォルトの名無しさん (アウアウウー Sab5-mHJH)
2022/04/24(日) 15:30:02.93ID:zr61OZd6a 全ての□を4本の線に分解して、線と線の交点を求めて交点があったら1本の線を2本に分解
これで多量の線ができるから、その中点に対して□の中に含まれるかをチェックして含まれるならその線は削除
これで多量の線ができるから、その中点に対して□の中に含まれるかをチェックして含まれるならその線は削除
528デフォルトの名無しさん (ワッチョイ 8cbb-z20x)
2022/04/24(日) 21:10:33.16ID:0gmsp4dS0 >>403でもアドバイスしたけど
その手の処理は主にゲームプログラミングで必須の基礎技術だから
「衝突判定 総当り」とかで検索すれば類似コード腐るほど出てくる
例えばこういうコード
var list = new List<int> { 1, 2, 3 };
for(int i = 0; i < list.Count; i++)
for(int j = i + 1; j < list.Count; j++)
Unko(list[i], list[j]); // なんか処理
その手の処理は主にゲームプログラミングで必須の基礎技術だから
「衝突判定 総当り」とかで検索すれば類似コード腐るほど出てくる
例えばこういうコード
var list = new List<int> { 1, 2, 3 };
for(int i = 0; i < list.Count; i++)
for(int j = i + 1; j < list.Count; j++)
Unko(list[i], list[j]); // なんか処理
529デフォルトの名無しさん (ワッチョイ 4603-jcnE)
2022/04/25(月) 23:12:35.22ID:VfVmzpJD0 ビット演算子と論理演算子は別物という認識だったのですが、オーバーロードについてはビット演算子(&、|)をオーバーロードすれば論理演算子(&&、||)も有効になるとのことでした
この2つは内部的には同じようなことをやっているんでしょうか?
この2つは内部的には同じようなことをやっているんでしょうか?
530デフォルトの名無しさん (スップ Sd02-pyRw)
2022/04/25(月) 23:29:40.07ID:tlwiDwdSd >>529
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#11133-user-defined-conditional-logical-operators
によると、
x && y は T.false(x) ? x : T.&(x, y) と等価
x || y は T.true(x) ? x : T.|(x, y) と等価
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#11133-user-defined-conditional-logical-operators
によると、
x && y は T.false(x) ? x : T.&(x, y) と等価
x || y は T.true(x) ? x : T.|(x, y) と等価
531デフォルトの名無しさん (ワッチョイ a27c-fLUy)
2022/04/25(月) 23:42:52.24ID:OY+KUV8t0 ビット演算子の意味が分かってないという事なのかw
そもそもオーバーロードする意味ある?
そもそもオーバーロードする意味ある?
532デフォルトの名無しさん (ワッチョイ 4603-jcnE)
2022/04/26(火) 00:24:31.37ID:A+s1IjyR0 どうもありがとうございました
ビット演算子の意味は分かっています
オーバーロードする意味があるかは分かりませんが、理屈を理解することは大切だと思っています
ビット演算子の意味は分かっています
オーバーロードする意味があるかは分かりませんが、理屈を理解することは大切だと思っています
533デフォルトの名無しさん (ワッチョイ 8ecf-IHZD)
2022/04/26(火) 08:00:34.53ID:CkL0lbov0 >オーバーロードについてはビット演算子(&、|)をオーバーロードすれば論理演算子(&&、||)も有効になるとのことでした
これ、どこの情報なんだろう
これ、どこの情報なんだろう
534デフォルトの名無しさん (ワッチョイ 762f-dMjb)
2022/04/26(火) 11:10:52.60ID:dBVLM5lb0 そもそも
c#的には(&、|)がビット演算子で、(&&、||)が論理演算子だって理解は正しいのか?
ビット演算と論理演算は別物だが、ビット演算を論理演算とみなせる理由とか理解してなさそう
c#的には(&、|)がビット演算子で、(&&、||)が論理演算子だって理解は正しいのか?
ビット演算と論理演算は別物だが、ビット演算を論理演算とみなせる理由とか理解してなさそう
535デフォルトの名無しさん (ブーイモ MM5e-pyRw)
2022/04/26(火) 11:29:37.47ID:c8R9vZaHM >>530の言語仕様だと、&や|は logical operator、&&や||は conditional logical operator となってるね
日本の書籍で条件論理演算子とか書いてるのはあまり見たことないけど、分かりやすくて正しい呼び方だと思う
日本の書籍で条件論理演算子とか書いてるのはあまり見たことないけど、分かりやすくて正しい呼び方だと思う
536デフォルトの名無しさん (ワッチョイ 762f-dMjb)
2022/04/26(火) 11:58:06.02ID:dBVLM5lb0 つまり、(&、|)は論理演算子だってことだな
ビット演算子の定義はどうなってるのか知らんが
&&とかはショートサーキット演算(子)とか呼ばれることが多い気がする
まあ意味的には条件とか言われるよりわかりやすい気はする
ビット演算子の定義はどうなってるのか知らんが
&&とかはショートサーキット演算(子)とか呼ばれることが多い気がする
まあ意味的には条件とか言われるよりわかりやすい気はする
537デフォルトの名無しさん (テテンテンテン MM34-8bcN)
2022/04/26(火) 12:13:33.97ID:r7o31+YnM まあdocs読めで終わる話だな
538デフォルトの名無しさん (アウアウウー Sab5-mHJH)
2022/04/26(火) 12:14:42.01ID:vaJn7zoFa &はビット演算に使えるからビット演算子でもあってるし、論理演算子でもあってる
&&はビット演算には使わないからビット演算子ではない。論理演算子ではある
&&はビット演算には使わないからビット演算子ではない。論理演算子ではある
539デフォルトの名無しさん (ワッチョイ ca35-JcJg)
2022/04/26(火) 12:53:41.13ID:0A8AZcPf0 翻訳の際の演算子の優先順位がネックだったりして、こういう事になってんのかね?
540デフォルトの名無しさん (ワッチョイ df36-E6ke)
2022/04/26(火) 20:24:55.48ID:SD1TZuYK0 >>530
知りませんでした。面白いですね。
仮に int.false(x) が x == 0, そして int.true(x) が x == -1 と定められていれば、
0 && ... や -1 || ... の ... の部分は評価されないということですよね?
つまり、T.true(x) と !T.false(x) が同じにはならないように
T.true と T.false を定めるのが適切なケースもある、と。
知りませんでした。面白いですね。
仮に int.false(x) が x == 0, そして int.true(x) が x == -1 と定められていれば、
0 && ... や -1 || ... の ... の部分は評価されないということですよね?
つまり、T.true(x) と !T.false(x) が同じにはならないように
T.true と T.false を定めるのが適切なケースもある、と。
541デフォルトの名無しさん (ワッチョイ 5fbd-VGkv)
2022/04/30(土) 15:55:10.51ID:m1dCzcg60 ラベル印刷機にむけて印刷したいです。
元はエクセルシートに文字を入れて印刷してるんですが手間なんでコードで直印刷出来たらと思います。
エクセル3行分程度のものですがどこか参考になるサイト等やあればお願いします。
元はエクセルシートに文字を入れて印刷してるんですが手間なんでコードで直印刷出来たらと思います。
エクセル3行分程度のものですがどこか参考になるサイト等やあればお願いします。
542デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/04/30(土) 16:10:28.65ID:0pJ/3NeQa543デフォルトの名無しさん (スッップ Sdff-0vCZ)
2022/04/30(土) 16:47:19.78ID:pnty395wd あるフォルダ配下の使用サイズを取得したいのですが、
C/C++でやる場合はFindFirstFile/Nextを使いますが、
C#でやる場合でpinvokeより良い方法がありましたら教えて下さい
C/C++でやる場合はFindFirstFile/Nextを使いますが、
C#でやる場合でpinvokeより良い方法がありましたら教えて下さい
544デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 16:52:12.05ID:QtDBeglS0 System.IO.Directory
545デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 16:55:40.01ID:QtDBeglS0 途中で送っちまった
System.IO.Directoryでファイル列挙して、FileInfoで個別にサイズ取ればいいと思う
System.IO.Directoryでファイル列挙して、FileInfoで個別にサイズ取ればいいと思う
546デフォルトの名無しさん (スッップ Sdff-0vCZ)
2022/04/30(土) 16:57:06.01ID:pnty395wd >>545
ありがとうございます。調べてみます。
ありがとうございます。調べてみます。
547デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 17:01:42.36ID:QtDBeglS0 System.IO.DirectoryInfo.GetFilesでFileInfoの配列取れるから、こっちの方がいいかもしれない
548デフォルトの名無しさん (ワッチョイ 7f7b-RBic)
2022/04/30(土) 17:01:51.55ID:UlkSGa+10549デフォルトの名無しさん (ワッチョイ ff2d-ae4c)
2022/04/30(土) 17:08:48.46ID:Rn5KMVQ50 System.IO.DirectoryInfo.GetFiles()/GetDirectories()は大量にファイルがある場合は時間がかかるから
.Net4以降で追加されたSystem.IO.DirectoryInfo.EnumerateFiles()/EnumerateDirectories()を推奨
.Net4以降で追加されたSystem.IO.DirectoryInfo.EnumerateFiles()/EnumerateDirectories()を推奨
550デフォルトの名無しさん (ワッチョイ ff2d-ae4c)
2022/04/30(土) 17:15:01.96ID:Rn5KMVQ50 語弊があるな
後者でもトータルで時間がかかるのは変わらないけど
1エントリ毎に処理が戻ってくるので中断出来たり使い勝手が良い
後者でもトータルで時間がかかるのは変わらないけど
1エントリ毎に処理が戻ってくるので中断出来たり使い勝手が良い
551デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 17:18:25.88ID:QtDBeglS0 知識がアップデートされてないので勉強になったわ
552デフォルトの名無しさん (ワッチョイ a7b3-eox6)
2022/04/30(土) 17:59:15.13ID:wYb1/zTY0 test
553デフォルトの名無しさん (ワッチョイ c7ad-6Jp9)
2022/05/01(日) 15:32:28.03ID:ixMLKEzz0 Rxの質問なんですが
var s = new Subject<int>();
s.OnNext(1);
s.OnCompleted();
s.OnNext(2);
s.Subscribe(
x => { Console.WriteLine($"{x} is recieved"); },
(Exception ex) => { Console.WriteLine($"{ex.Message}"); },
() => { Console.WriteLine($"done!"); }
);
としたときに、OnNext(1)もOnNext(2)も表示されないのはあとからSubscribeしたからと思ってるのですが
OnComplete時のメッセージが表示されるのはなぜなのでしょうか?
var s = new Subject<int>();
s.OnNext(1);
s.OnCompleted();
s.OnNext(2);
s.Subscribe(
x => { Console.WriteLine($"{x} is recieved"); },
(Exception ex) => { Console.WriteLine($"{ex.Message}"); },
() => { Console.WriteLine($"done!"); }
);
としたときに、OnNext(1)もOnNext(2)も表示されないのはあとからSubscribeしたからと思ってるのですが
OnComplete時のメッセージが表示されるのはなぜなのでしょうか?
554デフォルトの名無しさん (ワッチョイ e7da-JMFP)
2022/05/01(日) 15:36:19.91ID:94nN4BqC0 OnCompletedを呼んでるからだろ。
555デフォルトの名無しさん (ワッチョイ 872c-6Jp9)
2022/05/02(月) 07:06:11.56ID:UmbbW6hU0 Ruby でも、WIN32OLE, COM で、Office, iTunes, Illustrator や、WMI, WshShell を使えるみたい
def print_folder_size( folder_obj )
hr = "-" * 30
puts hr, File.expand_path( folder_obj.path ) # \ を、/ に変換する
puts "#{ folder_obj.name } : #{ folder_obj.size }"
end
require 'win32ole'
fso = WIN32OLE.new( 'Scripting.FileSystemObject' )
p WIN32OLE.codepage #=> 65001, UTF-8
folders = [ "C:/Users/Owner/Documents/abc",
"C:/Users/Owner/Documents/xyz" ]
folders.each do |folder|
folder_obj = fso.GetFolder( folder )
print_folder_size( folder_obj )
end
def print_folder_size( folder_obj )
hr = "-" * 30
puts hr, File.expand_path( folder_obj.path ) # \ を、/ に変換する
puts "#{ folder_obj.name } : #{ folder_obj.size }"
end
require 'win32ole'
fso = WIN32OLE.new( 'Scripting.FileSystemObject' )
p WIN32OLE.codepage #=> 65001, UTF-8
folders = [ "C:/Users/Owner/Documents/abc",
"C:/Users/Owner/Documents/xyz" ]
folders.each do |folder|
folder_obj = fso.GetFolder( folder )
print_folder_size( folder_obj )
end
556デフォルトの名無しさん (スップ Sd7f-TUas)
2022/05/02(月) 15:56:47.65ID:KyVl3u/Hd >>555
Ruby馬鹿は死ね
Ruby馬鹿は死ね
557デフォルトの名無しさん (ブーイモ MM8f-nYhx)
2022/05/02(月) 20:09:02.84ID:V0OGcW/iM PrintPreviewControlとPrintDocumentを使っているんだけど
PrintPreviewControlでプレビューされている結果をそのまま印刷できる事って出来ないのか?
PrintDocumentでの処理がプレビューと印刷でそれぞれ処理が走ってしまう…
PrintPreviewControlでプレビューされている結果をそのまま印刷できる事って出来ないのか?
PrintDocumentでの処理がプレビューと印刷でそれぞれ処理が走ってしまう…
558デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/02(月) 20:17:53.84ID:NkpvUQl1a 処理でbitmapを作って、そのbitmapだけを使ってプレビューや印刷?
559デフォルトの名無しさん (ブーイモ MM8f-nYhx)
2022/05/02(月) 20:48:24.52ID:nadSqlqnM 見たいな感じですね
print document内でGraphicsを使って座標を指定して
文字を書いたり線を引いたりしてます
print document内でGraphicsを使って座標を指定して
文字を書いたり線を引いたりしてます
560デフォルトの名無しさん (ワッチョイ df8b-Nh0L)
2022/05/04(水) 22:31:55.43ID:FIPACptZ0 DataGridViewでDataTableに割り当てていない時にも空行があるのですが
これなんとかならいないでしょうか?
DataSourceに指定したらレコードが表示される様にしたいです。
これなんとかならいないでしょうか?
DataSourceに指定したらレコードが表示される様にしたいです。
561デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/05/04(水) 23:17:30.75ID:7711bQHg0 AllowUserToAddRows=false にすれば出ないけど、そういう話ではなく?
562デフォルトの名無しさん (ワッチョイ df8b-Nh0L)
2022/05/05(木) 10:14:01.55ID:ShoXS+HP0 >>561
ありがとうございます!それでした!!
ありがとうございます!それでした!!
563デフォルトの名無しさん (ワッチョイ 67ac-c3mi)
2022/05/05(木) 11:42:19.70ID:hnbkSlrb0 いえいえ
564デフォルトの名無しさん (ワッチョイ 5fbd-p823)
2022/05/06(金) 18:21:26.56ID:WzpSzG4l0 visual Studioの無料版ダウンロードして遊んでるんですが、PointF[]の中に入ってるXの値とYの値をソートしたいんですが、Xをソートして次にYをソートしたいです。
565デフォルトの名無しさん (ラクッペペ MM8f-1Uqa)
2022/05/06(金) 18:25:06.51ID:/l3VuTiCM566デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 18:37:03.45ID:Pyn2b+Aza どうせX優先でソートしたいってことだろ。この程度理解してやれよ
Array.Sort(aa, (a, b) =>
{
if (a.X == b.X)
return a.Y - b.Y;
return a.X - b.X;
});
みたいな感じにすればいい。ただしfloatだからこのままだとエラーになる +1 -1 0 をreturnするように
Array.Sort(aa, (a, b) =>
{
if (a.X == b.X)
return a.Y - b.Y;
return a.X - b.X;
});
みたいな感じにすればいい。ただしfloatだからこのままだとエラーになる +1 -1 0 をreturnするように
567デフォルトの名無しさん (スッップ Sdff-LGrz)
2022/05/06(金) 21:18:01.61ID:TntjE3ffd PointFでそれはおかしいだろ
浮動小数点数同士を単純に==で比較するのは殆どの場合において誤り
浮動小数点数同士を単純に==で比較するのは殆どの場合において誤り
568デフォルトの名無しさん (ワッチョイ 7fcf-hGrh)
2022/05/06(金) 21:30:18.36ID:NMYx4eAj0 この場合は==で問題ないように思うが。
569デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 21:53:53.93ID:Pyn2b+Aza ==だと例えば座標(1,1)と(1,2)のどっちが先になるか分からない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- レーダー照射問題で日本のホットライン呼びかけに中国応じず…2023年3月に開設も機能せず [♪♪♪★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪★2
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- アメップ「ジャップ安すぎワロタ。飛行機代込でもフロリダより東京のディズニー行った方が安いまである」 [649381991]
- じゃあ何券だったら、日本人は満足したんだよ [452836546]
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- 『人生の成功』って何だと思う? [315293707]
