[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part154 http://mevius.5ch.net/test/read.cgi/tech/1644416019/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
594: デフォルトの名無しさん (アウアウウー Sa1f-e+q+) [sage] 2022/05/08(日) 01:13:17.58 ID:YmLuYmO0a よくそんな細かいところに気づいたな vs2022(preview)でもツールチップ表示同じ int?はnullになるよ。?ついてたらnull許容型だから入らなかったら困る string? a = "nullでなく文字列"; string? t(string? v) => v; var b = t(a); var _ = b.GetType(); ついでにこんなのだとbは絶対にnullにならないけど緑の波線つく その程度の一次的な解析しかしてない機能だから不具合を気にしたら負けだよ http://mevius.5ch.net/test/read.cgi/
tech/1644416019/594
595: デフォルトの名無しさん (ワッチョイ dabd-pKa3) [sage] 2022/05/08(日) 01:34:49.43 ID: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' へ変換することはできません のエラーが出る。 } ↑両方通るか、両方エラーが出るならわかるけど 値型だけエラーが出る? http://mevius.5ch.net/test/read.cgi/tech/1644416019/595
596: デフォルトの名無しさん (オイコラミネオ MM9b-1CQB) [sage] 2022/05/08(日) 03:01:32.74 ID: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は正確に警告を出す http://mevius.5ch.net/test/read.cgi/tech/1644416019/596
597: デフォルトの名無しさん (オイコラミネオ MM9b-1CQB) [sage] 2022/05/08(日) 03:42:17.44 ID:9MG0SRykM int?は値型なのでnullにはならない なのでいくらnullチェックをしても状況が変わるわけがない nullにならないint?のnullチェックをしたってそれはint?のままだ Nullable<int>はNullable<int>のままだ intからint?は暗黙に変換できる int?からintは暗黙に変換できない そういうことになっている だからIsInt(x)は呼び出せない 8.0で追加された機能の名称にnull許容参照型って書いてあるだろう Nullable<>は参照型ではなく値型だ
こいつは2.0から存在する 構文が似ているが別の体系の機能なのだ http://mevius.5ch.net/test/read.cgi/tech/1644416019/597
598: デフォルトの名無しさん (ワッチョイ dabd-pKa3) [sage] 2022/05/08(日) 04:04:06.14 ID:19hEeZmX0 ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/598
599: デフォルトの名無しさん (ワッチョイ 6a79-pMfC) [sage] 2022/05/08(日) 09:32:20.59 ID:wSAz/RiZ0 >>596 >int?の正体はNullable<int>という値型 >>597 >8.0で追加された機能の名称にnull許容参照型って書いてあるだろう >Nullable<>は参照型ではなく値型だ >こいつは2.0から存在する >構文が似ているが別の体系の機能なのだ 混乱してきた int?の正体はNullable<int>という値型でNullable<>は2.0から存在するが 8.0のint?は参照型で別の体系の機能なのだ??? http://mevius.5ch.net/test/rea
d.cgi/tech/1644416019/599
600: デフォルトの名無しさん (オッペケ Sr33-TWCy) [sage] 2022/05/08(日) 09:37:05.34 ID:BtCX9i6lr 日曜なのに頭使わせないでくれ http://mevius.5ch.net/test/read.cgi/tech/1644416019/600
601: デフォルトの名無しさん (ワッチョイ 6a02-xR/W) [sage] 2022/05/08(日) 09:38:55.11 ID:nSqurBAP0 キーボードを頭で叩くのはあなたくらいのものですよ、ジョン http://mevius.5ch.net/test/read.cgi/tech/1644416019/601
602: デフォルトの名無しさん (オイコラミネオ MM9b-1CQB) [sage] 2022/05/08(日) 10:53:37.27 ID:9MG0SRykM >>599 8.0から入ったのは参照型のnull許容 http://mevius.5ch.net/test/read.cgi/tech/1644416019/602
603: デフォルトの名無しさん (ワッチョイ 9f5f-HNGk) [sage] 2022/05/08(日) 12:05:58.50 ID: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>環境で書けるような s
tring?(参照型+?)は「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の
可能性があります」のツールチップ出たほうが親切な気はするけど、現状の仕様かな http://mevius.5ch.net/test/read.cgi/tech/1644416019/603
604: デフォルトの名無しさん (ワッチョイ 6a79-pMfC) [sage] 2022/05/08(日) 17:27:05.38 ID:wSAz/RiZ0 >>602-603 要するに元々ある微妙な機能の仲間に8.0で新規に参照型が加わりましたってことね 解説ありがとう http://mevius.5ch.net/test/read.cgi/tech/1644416019/604
605: デフォルトの名無しさん (アウアウウー Sa1f-cwrN) [sage] 2022/05/08(日) 18:05:15.31 ID:UPzKXd6Ja むしろNull非許容の参照型が追加されたと考えた方が良くね? http://mevius.5ch.net/test/read.cgi/tech/1644416019/605
606: デフォルトの名無しさん (ワッチョイ 6a79-hvpo) [sage] 2022/05/08(日) 21:58:40.09 ID:v1Rjt/F60 どうでもいい機能たくさん付ける割には 理想の設計書 →理想のソースコード が見えない クソな単体テスト機能をIDEに実装したが じゃあ 理想の設計書 →理想のソースコード →理想の単体テスト はどういう想定でオメーは どの範囲をカバーするんだよ ってのも見えない 各リリースで追加してる機能に 何の思想も感じない ごった煮にした挙げ句 上記パラダイムに結論を出した 言語が出てきたら一瞬で消えそう http://mevius.5ch.net/test/read.cg
i/tech/1644416019/606
607: デフォルトの名無しさん (ワッチョイ 3ebb-0tmp) [sage] 2022/05/08(日) 23:47:37.01 ID:3rY+TRy60 ないものねだり http://mevius.5ch.net/test/read.cgi/tech/1644416019/607
608: デフォルトの名無しさん (ワッチョイ 73d2-cV1q) [] 2022/05/08(日) 23:56:17.29 ID:21iaPdPG0 Struct? → System.Nullable<Struct> Class? → [System.Runtime.CompilerServices.NullableAttribute(2)] Class のように完全な別物を同じような書き方で表現している classのほうはnullチェックをしたかをコンパイラが追いかけるためだけの後付け機能だからstructとは若干挙動が違う http://mevius.5ch.net/test/read.cgi/tech/1644416019/608
609: デフォルトの名無しさん (オイコラミネオ MM9b-PvPk) [sage] 2022/05/09(月) 23:37:03.36 ID:R3P7osGRM どんどんシンタックスシュガー系の機能が増えてイミフになっていく http://mevius.5ch.net/test/read.cgi/tech/1644416019/609
610: デフォルトの名無しさん (ワッチョイ 6a79-hvpo) [sage] 2022/05/10(火) 01:41:06.09 ID:DufV+Aa+0 検索かけてもググれない機能が増えていく一方だな http://mevius.5ch.net/test/read.cgi/tech/1644416019/610
611: デフォルトの名無しさん (ワッチョイ 6a79-hvpo) [sage] 2022/05/10(火) 01:44:43.79 ID:DufV+Aa+0 1つの処理に複数の表現方法がありすぎるのもクソ化に拍車をかけている http://mevius.5ch.net/test/read.cgi/tech/1644416019/611
612: デフォルトの名無しさん (オイコラミネオ MM9b-1CQB) [sage] 2022/05/10(火) 02:40:13.83 ID:eFgarx/HM まあでもTypeScriptよりだいぶマシだよ http://mevius.5ch.net/test/read.cgi/tech/1644416019/612
613: デフォルトの名無しさん (オイコラミネオ MM9b-PvPk) [sage] 2022/05/10(火) 22:19:58.08 ID:1A7PmF6XM と思うだろ? 今ライブラリに対してとてつもないことが進行中だよ http://mevius.5ch.net/test/read.cgi/tech/1644416019/613
614: デフォルトの名無しさん (オイコラミネオ MM9b-1CQB) [sage] 2022/05/10(火) 22:29:09.92 ID:e+qIs2vlM 気になるね 具体的に教えて http://mevius.5ch.net/test/read.cgi/tech/1644416019/614
615: デフォルトの名無しさん (ワッチョイ 3ebb-0tmp) [sage] 2022/05/10(火) 23:02:26.59 ID:A0speGA90 kwsk http://mevius.5ch.net/test/read.cgi/tech/1644416019/615
616: デフォルトの名無しさん (ワッチョイ 7e33-SYw5) [sage] 2022/05/10(火) 23:24:53.56 ID:Qwl7JHFX0 var middle = array[1..^1]; なんて使ってる人いるのか? http://mevius.5ch.net/test/read.cgi/tech/1644416019/616
617: デフォルトの名無しさん (ワッチョイ 2301-efkZ) [] 2022/05/11(水) 02:40:00.42 ID:mFmc3Ge/0 GetPixel/SetPixelが1万倍速くなるみたいなライブラリの変更をお願いします vsyncを簡単に待てるとか、キャプチャデバイスから簡単に画像取れるとかもください http://mevius.5ch.net/test/read.cgi/tech/1644416019/617
618: デフォルトの名無しさん (オッペケ Sr33-TWCy) [sage] 2022/05/11(水) 10:14:45.90 ID:sDHFf5J4r c++でやってください http://mevius.5ch.net/test/read.cgi/tech/1644416019/618
619: デフォルトの名無しさん (ワッチョイ 7e68-YKh1) [] 2022/05/11(水) 10:22:15.42 ID:dGpPRwJ20 >>617 描画周り強化なら、monogameはどう? http://mevius.5ch.net/test/read.cgi/tech/1644416019/619
620: デフォルトの名無しさん (ワッチョイ 7e68-YKh1) [] 2022/05/11(水) 10:23:05.23 ID:dGpPRwJ20 キャプチャーデバイスには対応して無いだろうけど。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/620
621: デフォルトの名無しさん (テテンテンテン MMe6-j2Xi) [sage] 2022/05/11(水) 12:18:59.28 ID:hFfrzzscM Unityでよいのでは http://mevius.5ch.net/test/read.cgi/tech/1644416019/621
622: デフォルトの名無しさん (ワッチョイ eb59-WSJ3) [sage] 2022/05/15(日) 18:48:30.98 ID:i4qpjDO10 ガウス分布のグラフ作成が上手くいかない。 http://mevius.5ch.net/test/read.cgi/tech/1644416019/622
623: デフォルトの名無しさん (ワッチョイ eb02-lIli) [sage] 2022/05/15(日) 18:59:10.68 ID:TrHVwgsx0 そっかー http://mevius.5ch.net/test/read.cgi/tech/1644416019/623
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 379 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s