[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/24 23:11 / Filesize : 262 KB / Number-of Response : 1015
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part157



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

115 名前:ときはよくある []
[ここ壊れてます]

116 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 13:58:04.76 ID:adfqLiPC0.net]
0.001%が数人のわけないじゃん

117 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 14:03:29.19 ID:Sx0QargEM.net]
>>115
> 常識的に考えて使ってるのは0.001%もいない

国語力ないなお前は

118 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 14:22:55.52 ID:adfqLiPC0.net]
国語力ってのはある程度目安になる数字を出してから行ってくんないかなあ
少し数字を変えて80億人もいないとか言っても意味ないのはわかる?

119 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 15:09:50.05 ID:DxmYqBGj0.net]
そういえば電卓アプリって整数だけで、浮動小数点には対応して無いんだな
アップデートはよ!

120 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 15:33:29.47 ID:vcAICwg7M.net]
目ん玉と頭の中のアップデートが必要か?
普通に小数は扱えるし指数表現もおk
というか関数電卓の機能すらあるのになぜ整数だけだと思った?

121 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 16:40:36.91 ID:wPwgxApG0.net]
プログラマー計算機モードのこと?

122 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 16:52:53.39 ID:vcAICwg7M.net]
違う
三角関数や指数・対数計算などの時の計算モードのこと

123 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 17:16:59.28 ID:fcgTO/L50.net]
電卓はデカすぎ拡大機能はいらないから縮小させろ
クソデカボタンをマウスで押すとでも思ってんのかMSさんは



124 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 18:01:07.80 ID:Sx0QargEM.net]
>>122
サイズ変えられると思ったけど一定サイズ以下にはならんのね
確かに大きすぎると言われれば…

スレチがいつもまでも続いてごめんね…

125 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 01:37:50.91 ID:CkMUjB1Z0.net]
webformアプリ抱えてる会社とかこれからどうするのかな
リプレイスするにしてもほぼ再設計になるだろうし

126 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 01:52:43.43 ID:hXn490H8d.net]
どうするもクソも.NET Frameworkを使い続けるだけだよ
.NET Framework のサポートが終了するのが10年先か20年先かはともかく、その頃には既にCore系の.NETもレガシー扱いとなり新しい代替技術が出てきているはず
中途半端なステップを踏む必要はない

127 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 08:23:14.39 ID:lMHmGud10.net]
.netは .NET6すなわち2021年秋ではじめて
広範な人々が.NET Frameworkに変わるものとして提供する
ある程度安定したプラットフォームです、
ってなったばかり。

Core3系ではリプレイスにはなり得なかったし.NET5は
実験もしくはアーリー用といった扱いだったし。

新体制はまだ1年、マイクロソフトの特性から考えて
.net4がOSのプリインストールでなくなるのが最速で2031年あたり
3.5と同じようにnet4依存の実行ファイルの初回実行時に
自動インストールを問うような仕組みが外されるのは
2041年頃だろう。

128 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 08:45:18.11 ID:PenkwzkkM.net]
.NET6が安定と言われるのは.NET統合後最初の長期サポート版だからだよ
.NETは基本的に奇数バージョンがCurrentで登場後に偶数バージョンがLTSCでリリースされることになってる
新機能を早く使って試したいユーザーは毎回更新してもいいけど安定サポートを望むなら偶数バージョンを乗り継いでいく運用が推奨されてる

129 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 08:52:51.63 ID:WhR/7OthM.net]
Microsoftが「.NET 6」正式リリース .NETとして最初の長期サポート版
https://www.itmedia.co.jp/news/articles/2111/09/news097.html

130 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 09:29:46.53 ID:tI3f/ZOaM.net]
予定は予定

131 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 09:52:34.13 ID:vsTrl5VYa.net]
「アップデートに追従できないなら.NETランタイムのバージョンを固定して塩漬けにしろ。そのために完全なサイドバイサイドとSCDを実現した。」
が.NET5系の互換性に対する基本ポリシーなんで、バージョンが上がる際に.NET Framework よりも気軽に破壊的変更を入れてくるのは確実
Windowsのアップデートに影響されないから本来的には楽になるはずなんだけど、常にセキュリティパッチを当てているかをちゃんと監査してるようなとこではかなり厳しいだろうね

132 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:13:30.04 ID:TqrfwAhK0.net]
.NET6 のサポート期間は3年。
その期間の開始は去年で、

133 名前:Iわるのが24年。正式リリースはやっと今。

このサポート期間の短さゆえに .Net Framework4.8 (31年まで)を採用とか、実際にあった話なんけど、なんとかなんないかな。
[]
[ここ壊れてます]



134 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:19:25.53 ID:FsWoaG/y0.net]
そこまでバージョンアップを厭うシステムが間違ってるから見直せばいいと思うぞ
君らが必要としてる.NET Frameworkのサポートもバージョンアップという形でサポートするだけだから何も変わらん

135 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:37:53.61 ID:KOe6T0Hj0.net]
いや、できることが増えるならまだしも劣化版になんで苦労して移植せなアカンのかってね
結局win32apiで組んでおけばよかったねってのが
結論になっちゃってるダッサ
困る困らないじゃなくてダッサ

そういう裏切りを何度も受けてるこその現状
今の年寄りは平気でじゃあwin32apiでっていうぞ
ちょうどそういう世代だし
バージョンアップしなくていいLinuxで組むってのもやってる

会社で
会議を開いてメリットデメリットを比較のために並べるとどうしてもそういう方法が選択されてしまう
ビジネスだからメリットデメリットを並べてでた結論には逆らえない
なのでc++に戻ってるまである(Linuxでも使えるから)
上の人間はプログラマの都合なんて決定に混ぜない

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に変えられる詳しい仕様は書かれていないので実装依存になるかも






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<262KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef