- 1 名前:デフォルトの名無しさん (ワッチョイ f201-IwB9) mailto:sage [2022/11/25(金) 13:16:08.91 ID:HZEumDr50.net]
- !extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512 次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part156 https://mevius.5ch.net/test/read.cgi/tech/1663479569/ ■関連スレ 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
- 136 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:39:20.87 ID:lptjzTiX0.net]
- >>132
それはシステムではなく組織構造や契約の問題だからなんとも ベンダーにとってはスタックの更新は貴重な売上機会だし、不具合出したら責任負わされるから、やるからには大袈裟にしたい 一方で、客からすればそんなことは何の価値もない作業に見えるから、当然なるべく避けたいわけ
- 137 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 11:06:51.22 ID:FsWoaG/y0.net]
- それをシステムと言うんだ
一つ勉強になったな
- 138 名前:デフォルトの名無しさん (ワッチョイ c3da-hVcc) mailto:sage [2022/12/29(木) 11:21:32.29 ID:vRFAISe50.net]
- 現在の最新版(Current)は 7.0.1
長期サポート版(LTS)は 6.0.12 https://i.imgur.com/WzanYc9.png
- 139 名前:デフォルトの名無しさん (ワッチョイ bf65-T2CE) mailto:sage [2022/12/29(木) 11:26:43.85 ID:lptjzTiX0.net]
- >>135
周辺の人間活動までシステムに含めるのならその通りだが、だとすると君は「間違っているのは俺ではなく世界の方だ」と言っているようなものだ もはや主張としてなんら意味を持たない単なる厨二病的発言ではないか
- 140 名前:デフォルトの名無しさん (ラクッペペ MM97-k0TO) mailto:sage [2022/12/29(木) 11:54:44.25 ID:xuhhAGayM.net]
- https://dotnet.microsoft.com/ja-jp/download
- 141 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 12:03:29.41 ID:xOWUnGzja.net]
- >>137
単純に君の世界が他の人の世界より狭いとは思わんのかね?
- 142 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 16:21:08.98 ID:HWC94+Gl0.net]
- ぶっちゃけ今の.NET戦略は失敗してる
出た当時からほぼ完成されていたCOMを進化する方向になぜ行けなかったのか 政治的な問題なのか
- 143 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 16:39:34.35 ID:qCyL+8y1M.net]
- Googleの存在がなければCOMとActiveXが進化する方向性も僅かにあったかも知らんけど今更な話だな
- 144 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 18:33:53.34 ID:rmjwbbUN0.net]
- COMを使ったことあれば
> 出た当時からほぼ完成されていたCOM なんて戯言を言わなくなると思う...
- 145 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 10:20:04.38 ID:Gfrgu+Wn0.net]
- >>136
今更Currentかよ
- 146 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 23:37:47.65 ID:A8GWHO1q0.net]
- MVVMというものについてなのですが、ビューからではなくモデルでプロパティを書き換えた場合にもビューに伝達するようにしたい場合はビューのプロパティもPropertyChangedを実装しないといけないという
- 147 名前:認識であっていますでしょうか。 []
- [ここ壊れてます]
- 148 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 00:39:25.58 ID:5MDrbxjOM.net]
- いいえ
モデルがプロパティ書き換えたよと言う情報を登録先に投げるので何も変わりません
- 149 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 00:51:29.52 ID:e/1iR5vb0.net]
- モデルがプロパティを書き換えたよという状況がビュー側に投げられるようにするにはPropertyChangedを呼ばないといけない認識なのすが違いますか?
- 150 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 00:53:10.85 ID:e/1iR5vb0.net]
- すみません、、「ビューのプロパティもProertyChangedを~」と書いていましたがモデルのプロパティの間違いです。。
- 151 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 00:54:54.59 ID:e/1iR5vb0.net]
- ネット上のサンプルはモデルのプロパティがただのプロパティになっているものばかりで謎だったのですがやっぱりモデルもMVVM仕様に設計しないといけないんですよね。。
- 152 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 01:28:03.06 ID:5MDrbxjOM.net]
- それが最大のネック
- 153 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 01:36:45.23 ID:5MDrbxjOM.net]
- jsのMVVMフレームワークなどでは対象の変数をフレームワークが書き換えて
自動で通知するようになってる
- 154 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 01:51:36.44 ID:msOaXkh40.net]
- 黒魔術やな
- 155 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 01:54:15.78 ID:5MDrbxjOM.net]
- 言語レベルでプロパティに通知機構を入れてもいいはずだけどc#はそうしてない
今プロパティにinitアクセサ入れたけどbindアクセサを入れてもいいはず
- 156 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 10:26:27.48 ID:e/1iR5vb0.net]
- 良いサイトを発見した
https://ufcpp.net/study/csharp/misc/analyzer-generator/
- 157 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 10:55:37.88 ID:3lvoVtEt0.net]
- 誰でも知ってるサイトを今更紹介されても
- 158 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 11:28:07.18 ID:9sUFDNQ3a.net]
- 初心者用スレでドヤる老害w
- 159 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 11:57:09.95 ID:e/1iR5vb0.net]
- >>154
このサイトというよりこのページの間違い PropertyChangedを言語レベルで補助するつもりはなくてコード生成でやってもらう方針と書いてあったから参考になると思って。
- 160 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 11:58:47.34 ID:3lvoVtEt0.net]
- >>156
そこはみんなが参考にしてるサイトだからそこだけじゃなく隅々まで全部読むといいぞ
- 161 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 12:00:43.26 ID:e/1iR5vb0.net]
- みんな隅々まで読んでいてこのページも知ってたってことか
すまねえ…
- 162 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 12:15:07.10 ID:j5f8HZB4a.net]
- >用途が狭く、言語機能としては採用しにくい
プロパティの変更通知は言うほど用途が狭いかね? MVVMを推すくらいならそれくらい標準で実装してほしいものだが。
- 163 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 12:57:35.27 ID:5MDrbxjOM.net]
- 言語レベルでMVVMヘルパー実装しろと前から言われてるけど
実際は微妙な補助機能を数回追加し続けて便利になった便利になったと言い続けてる
- 164 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 13:13:30.89 ID:ps54Dm7d0.net]
- >>159
C# は GUI 使わないコンソールアプリを作ったりもするからそんな変な言語仕様を入れられても困る それでなくても最近ちょっとやりすぎなぐらい言語仕様膨らんでるし
- 165 名前:デフォルトの名無しさん (オイコラミネオ MMe3-/EFQ) mailto:sage [2023/01/01(日) 13:25:47.58 ID:5MDrbxjOM.net]
- 言語仕様がふくらみすぎてるのは舵取りする人間がそういう人に変わったからで
C#はかなり学習しにくいゴミ言語になりつつある 一方で本当に需要のあるmvvmヘルパー機能はライブラリなどに投げられて15年
- 166 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 14:50:57.14 ID:aOdp45l9a.net]
- そこは別にライブラリでいいだろ
そしたらVBもF#も使えるし
- 167 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 14:56:40.04 ID:Db/riRaQd.net]
- 今のC#のメインストリームは完全にWebに移ってるからね
Webではほとんどイベント使わないし、基本的にデータの流れが一方通行なのでプロパティの変更をモニタする必要がない
- 168 名前:デフォルトの名無しさん [2023/01/01(日) 15:51:38.76 ID:hQ/gnoFSa.net]
- ライブラリも別に便利じゃないというね
- 169 名前:デフォルトの名無しさん [2023/01/01(日) 15:53:22.87 ID:upITL37Ha.net]
- >今のC#のメインストリームは完全にWeb
MAUIはお遊びですか。
- 170 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 16:28:44.76 ID:v8lxumL50.net]
- >今のC#のメインストリームは完全にWebに移ってるからね
何年も前からそういうことを言う人を見かけるけど、それを裏付けるまともな統計を見たことがない。
- 171 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 17:04:38.71 ID:RDiXYdnpa.net]
- >>167
https://www.jetbrains.com/lp/devecosystem-2021/csharp/ 現実見ようよ
- 172 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 17:32:06.42 ID:v8lxumL50.net]
- JetBrainsのサーベイか。なるほどありがとう。
- 173 名前:.NET MAUI HighSchool [2023/01/03(火) 04:26:10.48 ID:KGK7R/p50.net]
- >>166
なわけなくね? Blazor MAUIとか知らんのか? あれWebアプリそっくりそのままモバイルアプリにできるすぐれものだぞ
- 174 名前:.NET MAUI HighSchool [2023/01/03(火) 04:28:36.61 ID:KGK7R/p50.net]
- まぁ最近の世界的な流行りがWeb化してるから仕方ないでしょ
俺は何でもかんでもWebアプリ化するのは嫌いだけどな Figmaとかもちゃんとしたデスクトップアプリで使いたいわ
- 175 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 05:36:35.63 ID:6MPz74YQ0.net]
- 専ブラ作ってるのってマウイ君?
- 176 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 07:55:08.78 ID:WKAtXrzF0.net]
- 言うほどWeb化してるか?
スマホ時代からはむしろWebアプリで良くね?ってレベルのものまで何でもかんでもネイティブアプリ化してるのがめちゃくちゃうざく感じるが
- 177 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 09:54:09.47 ID:DiXPGtkDd.net]
- Webアプリで良くね?ってレベルのものは実際開発者もそう考えていてWebブラウザを全面に貼り付けてあるだけのものが多く、技術的には完全にWebの一種
MAUI Blazorもまさにそうだね
- 178 名前:デフォルトの名無しさん [2023/01/03(火) 13:48:08.97 ID:KGK7R/p50.net]
- >>172
がんばってる WinUI3って<ContentPage.BindingContext>ってないんだな どうやってMVVMすればいいんだ?
- 179 名前:.NET MAUI HighSchool [2023/01/03(火) 13:49:50.55 ID:KGK7R/p50.net]
- >>173
スマホはそうかもだけどFigmaのようなそこそこスペックがいりそうなものまでWeb化してる気が、、、
- 180 名前:.NET MAUI HighSchool [2023/01/03(火) 13:51:48.97 ID:KGK7R/p50.net]
- >>174
MAUI BlazorはただのWebとはちょっと違うかな Blazorを介して直接スマホのネイティブAPI呼び出せるっていうスゲー利点がある ただこの機能を使わないなら別に普通のWebViewでも良いかなってのは思う。
- 181 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 14:07:52.60 ID:6MPz74YQ0.net]
- >>175
WinUI3はコンパイル時バインディングっていうのだけ用意されてるらしいよ
- 182 名前:デフォルトの名無しさん [2023/01/03(火) 18:41:34.03 ID:yYGSV1g60.net]
- ニュースアプリとかウェブで良いよな。
- 183 名前:.NET MAUI HighSchool [2023/01/03(火) 20:49:00.39 ID:KGK7R/p50.net]
- >>178
よくわからんけどWindowの中にPageを追加したらPage.DataContextでVVMのBindingできました
- 184 名前:.NET MAUI HighSchool [2023/01/03(火) 20:54:25.22 ID:KGK7R/p50.net]
- とりあえずスマホ用の5ch.netからスクレイピングした板一覧をツリー表示させることに成功した
https://github.com/VipperNanashi/5chBrowser ただ板取得はJsonのほうがいいみたいだからJsonから板を取得する方法を模索中
- 185 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 21:11:49.20 ID:WKAtXrzF0.net]
- 板一覧ってjsonで取れんの?
datのみだった記憶あるが
- 186 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 21:15:53.36 ID:WKAtXrzF0.net]
- ぱっと見たけどHttpClientはstatic readonlyで一本永続化したほうが良いよ
稀にしか使わないならまだしも5chブラウザってことならむしろメインオブジェクトだし
- 187 名前:.NET MAUI HighSchool [2023/01/03(火) 22:12:10.39 ID:KGK7R/p50.net]
- >>183
クラスってどう分ければいいんだろうか? 板一覧取得サービス、スレッド一覧取得サービス、スレッド取得サービスで分けようとしてたけど どうがいいんだろ?
- 188 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 00:43:08.29 ID:r5YTutFsa.net]
- Ruby on Rails では、データベースの各表の設計・関連ばかりやる
1対1、1対多、多対多など
- 189 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 02:21:56.42 ID:+C+yH2XZ0.net]
- HttpClientを含むネットワーク接続用のクラスを作成してマウイ君の言うところの各サービスクラスのコンストラクタに渡しておくとか?
- 190 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 11:27:50.76 ID:Ry3dqHi90.net]
- >>173
各社脱獄を目論んでいる なんでかっていうとgoogleやAppleの気分次第でアプリを修正しなくちゃいけなくて凄く面倒くさいから amazonはアプリ作るのやめたっぽい amazonでこうだから他はもっと面倒くさいと思われ うちも中小だけどあるとき ふっと動かなくなってるなんてことあって非常に面倒くさい もう現状でWEBコントロールにWEBページ貼り付けて強引にアプリっぽい挙動してるけど なんかもうWEBアプリにしちゃおうか? って話出てる
- 191 名前:デフォルトの名無しさん [2023/01/04(水) 15:19:20.75 ID:4AqXXBLo0.net]
- >>187
MAUI Blazorでいいんじゃね?それ?
- 192 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 23:29:03.48 ID:7N9i2DDEM.net]
- 専ブラか…
15年ぐらい前にWPFで作ってたな そのせいでWPFにいい思いを持てない MS死ねって思えた
- 193 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 00:08:37.28 ID:vn9u9eY2a.net]
- 機能をてんこ盛りにしてもガワがダサいと台無しになるんだよな
優秀なデザイナーおらんかね
- 194 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 02:16:02.09 ID:/ldjRQly0.net]
- >>190
フラットデザインならツッコまれない上に最古のieでも動くはず
- 195 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 17:24:19.12 ID:p6lP0uhc0.net]
- short i;
i = 0; // ok i = true ? 1 : 0; // コンパイルエラー(キャストが必要) 三項演算子で数値を返す場合って、int固定になってしまうのは言語仕様ということでしょうか?
- 196 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 17:32:00.71 ID:p6lP0uhc0.net]
- ぁぁ
上記の場合はコンパイルエラーにならないですね。 以下のようにするとエラーになります short i; bool hoge = true; i = 0; // ok i = true ? 1 : 0; // ok i = hoge ? 1 : 0; // コンパイルエラー(キャストが必要)
- 197 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 17:35:27.31 ID:/ldjRQly0.net]
- 演算子の評価順番が違うだけとかそんなことない?
- 198 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 17:47:32.82 ID:Eo475Zw70.net]
- 特に明示しない場合、整数リテラルはintになるからってだけなのでは?
- 199 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 18:35:00.85 ID:KPj6QU/BM.net]
- まず右辺の数字は整数リテラルと言うもの
変数に代入時は整数リテラルは型より大きすぎるなどしてない限り変数と同じ型とみなされる そうしないと不便だから 次に i = hoge ? 1 : 0; の右辺は式である 整数リテラルは代入じゃないときは暗黙的にint扱いになるので右辺の式の値の型はintになる これでキャストが必要 i = true ? 1 : 0; この右辺はコンパイル時に決定されてるので代入可能 short s = 7000000-6999999; これも代入可能なのと同じ感覚
- 200 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 19:27:18.86 ID:p6lP0uhc0.net]
- >>196
ありがとうございました。理解しました 確かに const bool hoge = true; i = hoge ? 1 : 0; とやってコンパイル時に決定されるようにするとエラーが無くなりました。 けど簡潔に書くための三項演算子なのに (short)(hoge ? 1 : 0); とかやると台無しですねぇ
- 201 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 19:54:52.08 ID:ZKzvhdM60.net]
- むしろ、あえてshortを使う理由の方が気になるな
- 202 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 23:18:41.14 ID:QBL7vIUt0.net]
- shortを表すリテラルのサフィックスがないのか
- 203 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 23:26:14.03 ID:O+NRT3S+0.net]
- >>196
> 整数リテラルは代入じゃないときは暗黙的にint扱いになるので右辺の式の値の型はintになる > これでキャストが必要 ほんとか? short s = b switch { true => 1, false => 2 }; はエラーにならんのだが...
- 204 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 23:27:37.63 ID:O+NRT3S+0.net]
- >>199
ない、あってもいいのにと思ったけどそもそもshortなんて滅多に使わんことに気づいたわw
- 205 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 01:05:36.20 ID:7HwChuQ+0.net]
- >>200
それ、varで定義したらintになってるし、右辺がintになるのは本当だな で、c#のコンパイラ、縮小変換で切り捨てがないことが確認ができたら、暗黙の縮小変換を許可するっぽいな。 ちゃんとした言語仕様確認しないと何とも言えんが おそらくコンパイル時に解決可能なことが前提条件じゃないかと推察するが
- 206 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 10:21:27.99 ID:xMgEyxw8r.net]
- >>198
組み込み機器相手にしているとよく使う
- 207 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 10:54:04.53 ID:Zk03eeCzM.net]
- 文字列の中の何文字目に日付があるかを調べたいのですが、
日付の書式としては「2023/01/05(木)」といった感じで固定なものの、 日付の数字は当然日によって違ってくるわけなのでContainsだとちょっとうまくいかないです いい方法はないでしょうか
- 208 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 11:05:52.93 ID:J1J3+QokM.net]
- 正規表現でググれ
- 209 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 12:19:31.93 ID:buYHqiH80.net]
- >>204
static int IndexOfDateString(string str) { const string kDateFormat = "yyyy/MM/dd(ddd)"; int dateLength = kDateFormat.Length - 2; int index = 0; while ((index = str.IndexOf(')', index) + 1) >= dateLength) { int iStart = index - dateLength; Console.Out.WriteLine(str.AsSpan(iStart, dateLength)); if (DateTime.TryParseExact(str.AsSpan(iStart, dateLength), kDateFormat, null, default, out var date)) return iStart; } return -1; }
- 210 名前:204 mailto:sage [2023/01/06(金) 16:14:10.99 ID:Zk03eeCzM.net]
- ありがとうございます
参考に(と言うかそのままなのかな?)させてもらいます
- 211 名前:デフォルトの名無しさん [2023/01/06(金) 16:14:19.23 ID:RU2dEBn00.net]
- WinフォームアプリでgroupBoxをタブみたいに切り替えて使おうと、
コントローラを切り替えるコードを書いたのですが、groupBoxを重ねて実行したら 全てのgroupBoxが一番下のgroupBoxの子になってるようで、思うように表示されませんでした。 groupBoxを、一番下のgroupBoxの子にしない方法はありますでしょうか?
- 212 名前:デフォルトの名無しさん (ワッチョイ bb5f-TwI4) mailto:sage [2023/01/06(金) 20:43:15.02 ID:LvtbIuXd0.net]
- >>208
・・・.Designer.cs を開くと、自動生成したコードが 一番下のgroupBox.Controls.Add(子のgroupBox) になってないかな? だとしたら、デザインモードから子のgroupBoxをフォームに貼り付けるとき、 フォーム直下じゃなく、一番下のgroupBoxに貼り付けてると思う 自分なら、Load のタイミングで、任意のgroupBox.Controls.Add(任意の孫コントロール) を明示的にコーディングする
- 213 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 21:39:44.23 ID:buYHqiH80.net]
- >>207
Console.Out.WriteLine(str.AsSpan(iStart, dateLength)); 確認用のコード消し忘れたからこれは消しといてOK
- 214 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 22:12:46.01 ID:0EW5INsGM.net]
- 専ブラでも作るのか?
- 215 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 22:16:48.35 ID:0EW5INsGM.net]
- >>200
switch式は左辺参照して型を決める特殊な仕様らしい int→shortに変えられる詳しい仕様は書かれていないので実装依存になるかも
- 216 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 22:48:27.26 ID:Zd/Zujyt0.net]
- >>212
Target typed conditional expression とか言うらしく C# 9.0 で仕様が変わったみたい ざっくり読んだけどいまいちよくわからん https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/target-typed-conditional-expression
- 217 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 23:11:40.08 ID:i+WCiV6p0.net]
- もう誰もついて行けないほどキモい言語になったな
- 218 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 23:46:18.49 ID:lAfbhCFR0.net]
- 20年間建て増し増改築をくり返してるから。。。
- 219 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 00:03:23.95 ID:14znWkOG0.net]
- まぁ、あっても使わなきゃいいだけなんじゃね
C++のような機能性とJavaのような読みやすさを両立してるってことで
- 220 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 01:49:54.46 ID:YilgzCe20.net]
- C#ってUnityのせい(おかげ?)で簡単みたいに言われている気がしなくもないけど
まともに使える人は案外少ない印象 そりゃC++とかよりは簡単だろうけど いきなりスラスラ組めるようになった奴はセンスあると思う
- 221 名前:デフォルトの名無しさん (ワッチョイ 99a7-DWwd) mailto:sage [2023/01/07(土) 10:59:31.87 ID:r7mle/Qh0.net]
- それはC#に限らずオブジェクト指向全般に言える話
最初は誰でも手続きぐちゃぐちゃプログラミングになるからな
- 222 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 22:36:09.82 ID:pHfLuIJC0.net]
- C#の言語仕様を拡張してどんどん便利にしても.NETが旧態依然のままでぜんぜん便利にならないから誰も.NETで開発しようなんて思わないんだよな
MSはいい加減.NETそのものやライブラリにお金をかけるべきだわ不便だから誰も使わなくてハウツーやナレッジも少ないからエコシステムが構築されずどんどんC#の人気が落ちてる JS(TS)やPythonが人気なのはスクリプトだからとか簡単だからとかじゃなくて便利で高機能なパッケージ(ライブラリ)が無料で腐るほどあって人気があるからハウツーやナレッジも豊富でエコシステムが構築されてものすごく良い循環してるからなわけよ とりあえずいい加減P/Invokeは廃止してMS自らがラッパー提供しろって話なんよなぜ未だにC#でGlobal HookなんかのOSのAPIにアクセスするのにP/Invokeが必要なのかそもそもこれがおかしいと思わんのかな P/InvokeなんてC/C++理解できんやつには使えるわけがないんだがMAUIとかBlazorとかフロントエンドばかり小手先の改良加えるだけでぜんぜんやる気ないだろそりゃAndroidアプリに頼るしかなくなるわな
- 223 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 01:34:28.04 ID:TcqU+QzpM.net]
- その認識は間違ってると思うが…
- 224 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 02:43:36.44 ID:FOdy7Dic0.net]
- またランタイムに相当するやつを別にインストールする必要があるのかってところが猛烈にダサいよね
巨大exeの配布とどっちが良いかみたいな時代と逆行した昔話を思い出すよ 結局昔のようにMS主導で強制されるまでは誰も積極的に使わないだろう
- 225 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 09:40:34.44 ID:TcqU+QzpM.net]
- C#は実際のアクティブユーザー数は少ない
プログラムが趣味ですと言ってる人の中でC#使ってる人の割合が少ないと言う感覚 更にガチ勢の割合が少ない 当初.netのライブラリが充実していた(GUI除く)ので一般人はOSSやサードパーティー製をなかなか使わない風土になってる それで開発が少ないしされてもすぐ放置される jsonライブラリも標準が出てしまった ユーザーはライブラリ開発しないで提供されるのを待つだけ ガチ勢が育たない jsは唯一のwebブラウザ向け言語なのに素では開発しづらいから便利なライブラリが開発され続けてる ライブラリのみでなくjs自体にトランスパイルされる言語が複数開発されてる 一方C#じゃなければ実現できないことはないから積極的に開発されない C#の人気が落ちてると感じるのは相対的に他の言語の魅力が上がってるから と言うより20年使ってたけどC#はホビーユースが中心にもかかわらずMS以外でそんなにC#は重要視されてた時代はない C#は基本的に想定した以外のAPIは放置されてる GlobalHookなどは馬鹿避けで馬鹿に触らせると問題が起こるので機能を提供してないものと思われる
- 226 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 09:47:03.48 ID:RamX2q3K0.net]
- ほらMAUI君のキチガイムーブのせいでこんなことになってる
- 227 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 09:48:03.50 ID:TcqU+QzpM.net]
- >>219
こいつがMAUI君なのか?
- 228 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 09:56:44.66 ID:QVI3ZNoXM.net]
- 騒ぎに便乗している愉快犯だろうが主張が滅茶苦茶
- 229 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 10:06:02.24 ID:T7l3+Pw00.net]
- ヤベぇ奴が2連発
- 230 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 10:09:17.22 ID:TcqU+QzpM.net]
- C#は外部ライブラリがあまり開発されてない
純正志向が強い js,Pythonなどは区別なく使われてる Rustは標準ライブラリも外部ライブラリ向けに実装部分を差し替えられるように提供されてたりする コミュニティ提供のrust入門書でも外部の乱数ライブラリを使ってる .netは純正主義
- 231 名前:デフォルトの名無しさん [2023/01/08(日) 10:32:30.16 ID:+xzWagUM0.net]
- >>227
たしかに.NETの標準ライブラリで何でも出来すぎてOSSが盛んにならないってのはあると思う ただサイシャープの河合社長だったり有用なOSSライブラリを作ってる人はかなりいる みんな知らないだけ
- 232 名前:デフォルトの名無しさん [2023/01/08(日) 10:34:46.44 ID:+xzWagUM0.net]
- まさか標準ライブラリの充実がOSSの足枷になってるとはね
たしかに言語仕様的にゴミカスなJSやPythonがこんだけOSSで流行ってるって言うのは割と関係あるな
- 233 名前:デフォルトの名無しさん [2023/01/08(日) 10:56:45.19 ID:cWCXtcgI0.net]
- 仕事で使うなら標準が充実してる環境の方がいい
- 234 名前:デフォルトの名無しさん [2023/01/08(日) 11:11:28.09 ID:+xzWagUM0.net]
- >>230
まぁバージョンが新しい古いとかで動かないとかかなりあるしね Node.jsなんてそんな感じのグチかなり聞くわ Sysmem.Text.JsonもNewtonsoft.Jsonのアプデ頻度が高いからしゃーなしに開発されたものらしい
- 235 名前:デフォルトの名無しさん (オイコラミネオ MM5d-DSRP) mailto:sage [2023/01/08(日) 14:49:48.54 ID:TcqU+QzpM.net]
- それに .net standardとかPLCとかの問題で非常にライブラリ開発がつらい時期があった
ふざけるなと思ってる人も多かったはず
- 236 名前:デフォルトの名無しさん [2023/01/08(日) 21:24:57.31 ID:vR0OTCC7d.net]
- Pythonなんてライブラリのバージョンや本体のバージョンで動かなくなるのでうんざりする
|

|