!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:1A90hyai0509デフォルトの名無しさん (ワッチョイ 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)のどっちが先になるか分からない
570デフォルトの名無しさん (ワッチョイ df79-7Nr3)
2022/05/06(金) 22:09:32.98ID:TUkwoEaL0 誤差が出るような値の比較は両辺を正規化しないとダメ
571デフォルトの名無しさん (アウアウウー Saab-nj6J)
2022/05/06(金) 22:23:04.14ID:8H68TfoTa >>569
昇順だと仮定して(1,2),(1,1)の順になる理由をあげてくれ
昇順だと仮定して(1,2),(1,1)の順になる理由をあげてくれ
572デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/05/06(金) 22:27:09.34ID:AMfb+Q8N0 前提が示されていない以上、別にそこまで考慮する必要なくね
丸めが必要なら、前処理しておけばいい
丸めが必要なら、前処理しておけばいい
573デフォルトの名無しさん (ワッチョイ 7fcf-hGrh)
2022/05/06(金) 22:35:58.25ID:NMYx4eAj0574デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 22:36:12.23ID:Pyn2b+Aza575デフォルトの名無しさん (アウアウウー Saab-nj6J)
2022/05/06(金) 22:39:13.08ID:9Z37knUna >>574
いきなり後出し条件出されて笑う
いきなり後出し条件出されて笑う
576デフォルトの名無しさん (ワッチョイ 872f-U5op)
2022/05/06(金) 22:45:04.84ID:YHAWRmCh0 つかLinqで
.OrderBy(p => p.X).ThenBy(p => p.Y)
で良いんじゃないか
.OrderBy(p => p.X).ThenBy(p => p.Y)
で良いんじゃないか
577デフォルトの名無しさん (ワッチョイ 872f-U5op)
2022/05/06(金) 22:54:52.86ID:YHAWRmCh0578デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 22:56:38.59ID:Pyn2b+Aza floatの話なんだから後出しでもなんでもなく当たり前じゃん。そのくらい察してくれよ
579デフォルトの名無しさん (アウアウウー Saab-nj6J)
2022/05/06(金) 23:10:14.04ID:/xoCkKVPa580デフォルトの名無しさん (ワッチョイ 7fbb-QBNI)
2022/05/06(金) 23:23:12.31ID:vot/okCP0 誤差だろうがなんだろうが厳密なソートなら==で充分だろ
質問者がどこまで考えてるかわかんねーのにお前らが推測でグダグダ言ってたって不毛なだけ
質問者がどこまで考えてるかわかんねーのにお前らが推測でグダグダ言ってたって不毛なだけ
581デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/05/06(金) 23:24:19.96ID:AMfb+Q8N0 ほんとそれ
582デフォルトの名無しさん (ワッチョイ 6a02-xR/W)
2022/05/07(土) 02:59:34.72ID:w70N7Moq0 ソートの話で炎上してるみたいだけどさ
そうっとしておいてやれよ
そうっとしておいてやれよ
583デフォルトの名無しさん (ワッチョイ 33ad-jtXU)
2022/05/07(土) 08:22:33.50ID:5zcnkXK50 差分が閾値内であればイコールでよくね?
584デフォルトの名無しさん (アウアウウー Sa1f-cwrN)
2022/05/07(土) 08:44:25.70ID:knFaNk5Ia >>583
それは要件次第だから判断できるのは質問者だけ
それは要件次第だから判断できるのは質問者だけ
585デフォルトの名無しさん (ワッチョイ becf-HkNE)
2022/05/07(土) 09:19:57.56ID:kBo/c16T0 >>583
そこに範囲を持たせてしまうと順序が逆転する可能性があるから正しいソートにならないだろ。
そこに範囲を持たせてしまうと順序が逆転する可能性があるから正しいソートにならないだろ。
586デフォルトの名無しさん (ワッチョイ 9f02-HkNE)
2022/05/07(土) 11:13:36.12ID:313oEtJ80 まーだやってんのか
質問者の聞いてるのはソートの仕方だけで、どういうデータを扱うかすら提示されてないんだから
そこに誤差ガー範囲ガーだの考慮する必要はない
質問者の聞いてるのはソートの仕方だけで、どういうデータを扱うかすら提示されてないんだから
そこに誤差ガー範囲ガーだの考慮する必要はない
587デフォルトの名無しさん (ワッチョイ 6a02-xR/W)
2022/05/07(土) 11:59:50.21ID:w70N7Moq0 ソートの話で炎上してるみたいだけどさ
そおっとしておいてやれよ
そおっとしておいてやれよ
588デフォルトの名無しさん (ワッチョイ 26bc-/AKQ)
2022/05/07(土) 12:41:21.52ID:JO0+xntF0 お。ちょっと改良したのか、そのダジャレ。w
589デフォルトの名無しさん (ワッチョイ 4ede-0BEs)
2022/05/07(土) 15:40:54.13ID:jfGefHE20590デフォルトの名無しさん (スップ Sd2a-uM1l)
2022/05/07(土) 18:18:59.39ID:yxSWV8Wsd591デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 00:36:52.25ID:19hEeZmX0 VisualStudio 2019の<Nullable>enable</Nullable> 環境で、変数のツールチップにString型の時だけ「ここではxxxはnullではありません」と表示されるんだけど
これって最新の2022では直っていたりしますか。
ttps://i.imgur.com/VK2tvtE.png
おかしいのはツールチップだけで、nullableの判定は問題ない感じ。
longとかDateTimeとか色々試したけど、String型だけで表示された。なんで。
これって最新の2022では直っていたりしますか。
ttps://i.imgur.com/VK2tvtE.png
おかしいのはツールチップだけで、nullableの判定は問題ない感じ。
longとかDateTimeとか色々試したけど、String型だけで表示された。なんで。
592デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 00:41:15.00ID:9MG0SRykM int?はnullにはならないから
593デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 01:02:19.98ID:19hEeZmX0 え、値型ってそういう事だったの と思って以下のコードで確認したら==null がtrueになっていました
int? a = null;
if(a == null) {
Debug.Print($"a is null"); // こっちになる
} else {
Debug.Print($"a=[{a}]");
}
int? がnullになっているように見えるのですが、もう少しアドバイスを頂けますでしょうか。
int? a = null;
if(a == null) {
Debug.Print($"a is null"); // こっちになる
} else {
Debug.Print($"a=[{a}]");
}
int? がnullになっているように見えるのですが、もう少しアドバイスを頂けますでしょうか。
594デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/08(日) 01:13:17.58ID:YmLuYmO0a よくそんな細かいところに気づいたな
vs2022(preview)でもツールチップ表示同じ
int?はnullになるよ。?ついてたらnull許容型だから入らなかったら困る
string? a = "nullでなく文字列";
string? t(string? v) => v;
var b = t(a);
var _ = b.GetType();
ついでにこんなのだとbは絶対にnullにならないけど緑の波線つく
その程度の一次的な解析しかしてない機能だから不具合を気にしたら負けだよ
vs2022(preview)でもツールチップ表示同じ
int?はnullになるよ。?ついてたらnull許容型だから入らなかったら困る
string? a = "nullでなく文字列";
string? t(string? v) => v;
var b = t(a);
var _ = b.GetType();
ついでにこんなのだとbは絶対にnullにならないけど緑の波線つく
その程度の一次的な解析しかしてない機能だから不具合を気にしたら負けだよ
595デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 01:34:49.43ID:19hEeZmX0 ありがとうございます。ツールチップだからそんなものか。
と、思ったらロジックでも不明点がありました。
以下のコードでIsIntがエラーになるのですが、これもそういうものなのでしょうか。
if文で非nullチェックをしても、型としてはint?だから IsInt(int v) は呼べない。という事は分かるのですが、
string?はifで非nullチェックをすると string 扱いになるので挙動が違うのですが、これもそういうものなのでしょうか。
void IsString(string v) { };
void IsInt(int v) { };
string? a = null;
if(a!=null){
IsString(a);
}
int? b = null;
if(b!=null){
IsInt(b); // 引数 1: は 'int?' から 'int' へ変換することはできません のエラーが出る。
}
↑両方通るか、両方エラーが出るならわかるけど 値型だけエラーが出る?
と、思ったらロジックでも不明点がありました。
以下のコードでIsIntがエラーになるのですが、これもそういうものなのでしょうか。
if文で非nullチェックをしても、型としてはint?だから IsInt(int v) は呼べない。という事は分かるのですが、
string?はifで非nullチェックをすると string 扱いになるので挙動が違うのですが、これもそういうものなのでしょうか。
void IsString(string v) { };
void IsInt(int v) { };
string? a = null;
if(a!=null){
IsString(a);
}
int? b = null;
if(b!=null){
IsInt(b); // 引数 1: は 'int?' から 'int' へ変換することはできません のエラーが出る。
}
↑両方通るか、両方エラーが出るならわかるけど 値型だけエラーが出る?
596デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 03:01:32.74ID:9MG0SRykM int?の正体はNullable<int>という値型
構造体はnullにはならない
まるでnullのように見せかけているだけ
int?x=null;
x.ToString();
これは一見するとヌルポだがnullじゃないのでこれは通る
nullにならない値型なのでいちいちこの場所ではnullになりませんとは言わない
x.GetType();
はヌルポになる
なぜか?
GetTypeの呼び出しはobjectへのbox化のあとに行われる
nullのように見えているだけのxはbox化されて本物のnullになる
GetTypeを呼んでるところだけ本物のnullになってるのでIDEは正確に警告を出す
構造体はnullにはならない
まるでnullのように見せかけているだけ
int?x=null;
x.ToString();
これは一見するとヌルポだがnullじゃないのでこれは通る
nullにならない値型なのでいちいちこの場所ではnullになりませんとは言わない
x.GetType();
はヌルポになる
なぜか?
GetTypeの呼び出しはobjectへのbox化のあとに行われる
nullのように見えているだけのxはbox化されて本物のnullになる
GetTypeを呼んでるところだけ本物のnullになってるのでIDEは正確に警告を出す
597デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 03:42:17.44ID:9MG0SRykM int?は値型なのでnullにはならない
なのでいくらnullチェックをしても状況が変わるわけがない
nullにならないint?のnullチェックをしたってそれはint?のままだ
Nullable<int>はNullable<int>のままだ
intからint?は暗黙に変換できる
int?からintは暗黙に変換できない
そういうことになっている
だからIsInt(x)は呼び出せない
8.0で追加された機能の名称にnull許容参照型って書いてあるだろう
Nullable<>は参照型ではなく値型だ
こいつは2.0から存在する
構文が似ているが別の体系の機能なのだ
なのでいくらnullチェックをしても状況が変わるわけがない
nullにならないint?のnullチェックをしたってそれはint?のままだ
Nullable<int>はNullable<int>のままだ
intからint?は暗黙に変換できる
int?からintは暗黙に変換できない
そういうことになっている
だからIsInt(x)は呼び出せない
8.0で追加された機能の名称にnull許容参照型って書いてあるだろう
Nullable<>は参照型ではなく値型だ
こいつは2.0から存在する
構文が似ているが別の体系の機能なのだ
598デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 04:04:06.14ID:19hEeZmX0 ありがとうございます。
599デフォルトの名無しさん (ワッチョイ 6a79-pMfC)
2022/05/08(日) 09:32:20.59ID:wSAz/RiZ0600デフォルトの名無しさん (オッペケ Sr33-TWCy)
2022/05/08(日) 09:37:05.34ID:BtCX9i6lr 日曜なのに頭使わせないでくれ
601デフォルトの名無しさん (ワッチョイ 6a02-xR/W)
2022/05/08(日) 09:38:55.11ID:nSqurBAP0 キーボードを頭で叩くのはあなたくらいのものですよ、ジョン
602デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 10:53:37.27ID:9MG0SRykM >>599
8.0から入ったのは参照型のnull許容
8.0から入ったのは参照型のnull許容
603デフォルトの名無しさん (ワッチョイ 9f5f-HNGk)
2022/05/08(日) 12:05:58.50ID:EI0IYkD90 int?(値型+?)は「null許容値型」で昔からあるもの
int?と書くとNullable<int>という、int型とは違う型になる
そしてNullable<int>は値型なのでnullは入らない
なので int? hoge = null; はhoge自体がnullになるわけじゃなくて hoge.HasValue = false という意味だし
if(a == null) は if(!a.HasValue) という意味になる
これは8.0でも変わってないよ
8.0から追加された<Nullable>enable</Nullable>環境で書けるような
string?(参照型+?)は「null許容参照型」になる
といってもstringとstring?は型としては全く同じもので、?付きは内部で「nullを入れてもOK」という注釈が付くところが新機能
(string? fuga = null; はfuga自体にnullが入る)
あと>>591 の件は確かにnull許容参照型(string?とか)とnull許容値型(int?とか)でツールチップの中身変わるねえ
Visual Studio 2022でも同じ表示になってる
上にあるようにint?自体はnullにならないからなんだろうけど…
int?のようなnull許容値型でもstring?と同じように
「ここではnullではありません / nullの可能性があります」のツールチップ出たほうが親切な気はするけど、現状の仕様かな
int?と書くとNullable<int>という、int型とは違う型になる
そしてNullable<int>は値型なのでnullは入らない
なので int? hoge = null; はhoge自体がnullになるわけじゃなくて hoge.HasValue = false という意味だし
if(a == null) は if(!a.HasValue) という意味になる
これは8.0でも変わってないよ
8.0から追加された<Nullable>enable</Nullable>環境で書けるような
string?(参照型+?)は「null許容参照型」になる
といってもstringとstring?は型としては全く同じもので、?付きは内部で「nullを入れてもOK」という注釈が付くところが新機能
(string? fuga = null; はfuga自体にnullが入る)
あと>>591 の件は確かにnull許容参照型(string?とか)とnull許容値型(int?とか)でツールチップの中身変わるねえ
Visual Studio 2022でも同じ表示になってる
上にあるようにint?自体はnullにならないからなんだろうけど…
int?のようなnull許容値型でもstring?と同じように
「ここではnullではありません / nullの可能性があります」のツールチップ出たほうが親切な気はするけど、現状の仕様かな
604デフォルトの名無しさん (ワッチョイ 6a79-pMfC)
2022/05/08(日) 17:27:05.38ID:wSAz/RiZ0605デフォルトの名無しさん (アウアウウー Sa1f-cwrN)
2022/05/08(日) 18:05:15.31ID:UPzKXd6Ja むしろNull非許容の参照型が追加されたと考えた方が良くね?
606デフォルトの名無しさん (ワッチョイ 6a79-hvpo)
2022/05/08(日) 21:58:40.09ID:v1Rjt/F60 どうでもいい機能たくさん付ける割には
理想の設計書
→理想のソースコード
が見えない
クソな単体テスト機能をIDEに実装したが
じゃあ
理想の設計書
→理想のソースコード
→理想の単体テスト
はどういう想定でオメーは
どの範囲をカバーするんだよ
ってのも見えない
各リリースで追加してる機能に
何の思想も感じない
ごった煮にした挙げ句
上記パラダイムに結論を出した
言語が出てきたら一瞬で消えそう
理想の設計書
→理想のソースコード
が見えない
クソな単体テスト機能をIDEに実装したが
じゃあ
理想の設計書
→理想のソースコード
→理想の単体テスト
はどういう想定でオメーは
どの範囲をカバーするんだよ
ってのも見えない
各リリースで追加してる機能に
何の思想も感じない
ごった煮にした挙げ句
上記パラダイムに結論を出した
言語が出てきたら一瞬で消えそう
607デフォルトの名無しさん (ワッチョイ 3ebb-0tmp)
2022/05/08(日) 23:47:37.01ID:3rY+TRy60 ないものねだり
608デフォルトの名無しさん (ワッチョイ 73d2-cV1q)
2022/05/08(日) 23:56:17.29ID:21iaPdPG0 Struct? → System.Nullable<Struct>
Class? → [System.Runtime.CompilerServices.NullableAttribute(2)] Class
のように完全な別物を同じような書き方で表現している
classのほうはnullチェックをしたかをコンパイラが追いかけるためだけの後付け機能だからstructとは若干挙動が違う
Class? → [System.Runtime.CompilerServices.NullableAttribute(2)] Class
のように完全な別物を同じような書き方で表現している
classのほうはnullチェックをしたかをコンパイラが追いかけるためだけの後付け機能だからstructとは若干挙動が違う
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★5 [七波羅探題★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 ★2 [煮卵★]
- 【悲報】インターネット(光回線)来年度以降値上げか [358382861]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- "メイドさん"が使う武器→ケンモメンの78%が一致に [856387292]
- 【高市速報】中国「このままだと日本が先制攻撃してくる」 [583597859]
- 【悲報】地銀や生保 長期金利急上昇で含み損が加速 [358382861]
- 日本企業「株主は口を出さず金だけ出せ!😡」←これ
