C#, C♯, C#相談室 Part97at TECH
C#, C♯, C#相談室 Part97 - 暇つぶし2ch100:デフォルトの名無しさん
23/01/15 22:56:10.93 AxXMsEIz0.net
そのREST APIをどうやって呼び出してるのか知らんけど
真っ当なサーバならContent-Typeにcharset設定してて
一般的なライブラリなら文字列として読み取るときにcharset参照して適切に文字列型に変換してくれる
から特にプログラマが考えることはない
これらの前提が崩れてるなら文字列として読み取るんじゃなくてバイト配列として読み取って
System.Text.Encodingクラスを使ってバイト配列をstringに変換する必要がある
この場合変換先の符号化形式を考える必要はなくてShift_JISをstringに変換することだけ考えればいい
もしライブラリの都合でstringとして受け取ることしかできなくて
かつその時点で文字化けが出るようなら
それはもうどうしようもないので使うライブラリを変える必要がある

101:デフォルトの名無しさん
23/01/15 23:38:57.01 r5uLxMWea.net
sjis/CP932 とか、何十年前の話w
sjisのサイトも、5ch だけだろw

102:デフォルトの名無しさん
23/01/16 00:18:41.42 sUZCnaKRM.net
古の生き残りのサイトもsjis
chromeが文字コード判定ミスしてても今は手動で文字コードは変えられない

103:デフォルトの名無しさん
23/01/16 01:06:54.26 Iz2auSAp0.net
>>100
なるほど
助かります!

104:デフォルトの名無しさん
23/01/17 01:05:55.75 BTJjkb3Ra.net
手動で文字コードを変更できる、Chrome の拡張機能は無いの?

105:デフォルトの名無しさん (スップ Sdea-dnaz)
23/01/17 18:23:06.75 EvOewZJzd.net
ブックマークレットのレベルで出来そう
知らんけど

106:デフォルトの名無しさん
23/01/17 19:13:35.87 reGY8TLTa.net
charsetのタグいれればええんかね

107:デフォルトの名無しさん
23/01/17 19:17:51.92 3iw8L5pXa.net
x-sjisとかの指定もあったからな

108:デフォルトの名無しさん
23/01/18 12:59:30.83 KNmhbmwea.net
>>104
たくさんあるが

109:デフォルトの名無しさん (ワッチョイ cd35-5Koo)
23/01/18 20:59:57.78 5annSIeD0.net
たくさんあるのかよ
一個でいいやろ

110:デフォルトの名無しさん (ワッチョイ 211d-+AQV)
23/01/18 21:51:34.28 oIAAyMph0.net
win32APiのChangeDisplaySettingsExをC#から呼び出して、
モニタのポジションを変更してるんだけど、
変更直後にScreenのBoundsから値をとっても値が変化しない・・・
アプリ再起動するとちゃんと変わってる。
ディスプレイの設定ってレジストリに保存してるから、もしかして
アプリ再起動しないとScreenクラスのBounds反映されない?
アプリ再起動せずになんとかする方法ないですかね?

111:デフォルトの名無しさん (ワッチョイ 06bb-fEm4)
23/01/18 22:07:32.78 jVn9UUXQ0.net
自分でバンズ計算すりゃいいじゃない
知らんけど

112:デフォルトの名無しさん (ワッチョイ 954f-wtyD)
23/01/18 22:14:35.47 /+rmiMsB0.net
Screenオブジェクトフィールドに保存してたりする?
毎回Screen.AllScreensとか.PrimaryScreenとかから取得すればどう?
ところでSystemEvents.DisplaySettingsChangedイベントは発生してる?

113:デフォルトの名無しさん (ドコグロ MM4e-ha7Y)
23/01/19 07:38:17.94 K9HYHkiWM.net
2つのクラスを1つのクラスに合体させて使いたいんだけど、どうやるのがスマートですか?
多重継承ができたら良かったんですが…

114:デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
23/01/19 09:03:14.21 Hct/UdRpp.net
合体?
またなんで、改悪臭しかしないわ

115:デフォルトの名無しさん (ワッチョイ 4149-kID6)
23/01/19 09:25:09.63 LXNiK0p/0.net
そういうのは大体気の迷いだから、落ち着いて全体から考え直せば

116:デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
23/01/19 09:44:42.78 Hct/UdRpp.net
むしろ機能単位で分解するのが健全な方向なのに
違う機能を似たものだから合体とかわりと誤った方向に行く人かな?

117:デフォルトの名無しさん (ワッチョイ caad-vAbj)
23/01/19 09:56:12.01 zVWBDbvx0.net
ライオンクラスと山羊クラスと蛇クラスを一つにしたいんです

118:デフォルトの名無しさん (ワッチョイ 0507-EebW)
23/01/19 10:01:07.14 yp2D21uT0.net
>>117
つトレイト

119:デフォルトの名無しさん (ブーイモ MM2e-laSj)
23/01/19 10:51:30.57 Iv2veF3WM.net
>>113
コンパイル時に型チェックしたいなら既存の型をインターフェースで定義し直して呼び出し側も修正
でもこういう変更が必要な状況はほとんどないのでコンポジションで移譲するケースなんじゃないかな

>>117
トレイトでもインターフェースでも同じだよ

120:デフォルトの名無しさん (ワッチョイ 0507-EebW)
23/01/19 11:01:05.91 yp2D21uT0.net
>>114
BindableBaseと他のクラスを両方継承したい場面はいくつかあるな
ソースコードジェネレータは中々いい

121:デフォルトの名無しさん (ワッチョイ 0507-EebW)
23/01/19 11:01:57.47 yp2D21uT0.net
>>119
トレイトはフィールドを持てるから同じではないけど言いたいことはわかる

122:デフォルトの名無しさん (ワッチョイ 06bb-JXbu)
23/01/19 11:31:03.31 kysdIh6r0.net
質問内容はクラスをまとめたいってことなので、ずれちゃう話にはなるけどさあ
(フレームワーク等を使う場面を除いて)初心者中級者のうちにクラスを継承をしようと思ったら設計段階でおかしいので、正解はどうするべきなのかを聞いた方がいいんじゃないのかな

123:デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
23/01/19 12:04:02.54 WELAMOcMp.net
クラスインスタンスを取り込めばいいのに
なんで継承にこだわる?

124:デフォルトの名無しさん (ドコグロ MM21-ha7Y)
23/01/19 12:21:58.33 tEHmCOQcM.net
やりたいことは
いくつかのプロパティを持つデータを格納するだけのクラスAがある
クラスAにバインド用のプロパティをいくつか追加したクラスBを作って、それのリストをDataViewにバインドしたい

AとBのすべてのプロパティを書いたクラスCを作ればできるけど、なんとかして少ないコードで実現したいです

125:デフォルトの名無しさん (アウアウウー Sa91-EebW)
23/01/19 12:45:40.56 H7hm+dDpa.net
Aをバインドできるよう書き直せばいいんじゃね

126:デフォルトの名無しさん (オッペケ Sr6d-2lig)
23/01/19 12:52:06.93 8nS1/G/Mr.net
>クラスAにバインド用のプロパティをいくつか追加したクラスB
>AとBのすべてのプロパティを書いたクラスC
なんかおかしくない?

127:デフォルトの名無しさん
23/01/19 16:09:46.95 h7ydINbB0.net
Aを継承してバインド用のプロパティを追加したBを作って
List<B>を持つCを作ってそのList<B>をバインドすればいいんじゃないの

128:デフォルトの名無しさん (ドコグロ MM21-ha7Y)
23/01/19 17:30:22.46 tEHmCOQcM.net
>>127
それで出来るんですが、バインド用のプロパティが沢山あったときに毎回書くのが面倒で、どうにかして効率化できないか考えてます

129:デフォルトの名無しさん (オイコラミネオ MMe5-7DGa)
23/01/19 18:00:00.70 pNQOSNx5M.net
ここですら見かけない超クソ黒魔法もあるけど全くお勧めしない

普通にコンポジションで書くのが正解じゃないかな
アンマネージドなものをラップするのと変わらない
手書きでも自作コードジェネレータでもどうぞ

130:デフォルトの名無しさん (オイコラミネオ MMe5-7DGa)
23/01/19 18:06:50.46 pNQOSNx5M.net
黒魔術な…

131:デフォルトの名無しさん
23/01/19 19:44:59.20 cZ+iShes0.net
やりたい事は理解できる
構造体を合体させるにあたりフィールドで保持すれば良いというのはその通りなんだがアクセス手段が冗長になるのは嫌っていうワガママな気分によくなる
C++のように素直に構造体継承や多重継承認めてくれって思う事は頻繁にある

132:デフォルトの名無しさん
23/01/19 21:19:14.97 z427r+xYp.net
プロパティにしてバケツリレーw

133:デフォルトの名無しさん
23/01/19 22:05:29.65 wlAvkW/br.net
>>128
バインド用のプロパティってクラスAのもつフィールドを参照するの?

134:デフォルトの名無しさん
23/01/20 01:42:18.00 Jpp0Ng/yM.net
>>133
しない前提です。
データソースクラスにバインド用のプロパティも含めれば実現できるけど、クラス設計として微妙なんだよな

135:デフォルトの名無しさん
23/01/20 12:05:04.93 rWqtsOF60.net
>>134
>>125が正解な気がするが、
そもそもバインド用のプロパティってどういうものを想定してるんだ?
よくあるINotifyPropertyChanged自動実装したいとかそんな話か?

136:デフォルトの名無しさん
23/01/20 20:51:09.38 jJGC4T1tr.net
つまるところ、M(クラスA)とVM(クラスB)を煩雑にならないように扱いたいって話かね
この辺は詳しくないけどいろいろプラクティスがあるんじゃない?

137:デフォルトの名無しさん
23/01/21 11:56:14.92 cGrVppR7M.net
C#だとあまり楽な方法はない

138:デフォルトの名無しさん
23/01/21 12:36:53.78 rZUyyxKK0.net
そんなアホなことしたがるやつがそもそもいないからな
することが多ければすぐに楽な構文が作られるのがC#

139:デフォルトの名無しさん
23/01/21 16:52:35.79 H5hcEaoi0.net
C#は基本的に
・static寄せ集めユーティリティのクラス
・必要な画面フォームのクラス
・メインプログラムのクラス
この3つ以外要らないのだよ
意識高い系が説くMやらVに振り回されてはいけないのだよ
変な抽象化は問題をややこしくするだけだと学ぼう

140:デフォルトの名無しさん
23/01/21 18:17:20.63 rZUyyxKK0.net
スタティックおじさんきたな

141:デフォルトの名無しさん
23/01/21 22:54:03.42 XQUa+q2yM.net
>>135
そうですね
INotifyPropertyChangedとかINotifyDataErrorInfoを実装しておきたい感じです

142:デフォルトの名無しさん
23/01/22 10:06:15.27 rqWd8pMR0.net
探せば大抵のものはあるのに、自分で作る意味とは?
アートとか、そういう方面しか残ってないような感じがするのですが(´・ω・`)

143:デフォルトの名無しさん
23/01/22 11:19:49.43 cs1e2wyOa.net
帳面で効率が悪けりゃソフト使えばいいし効率の良いソフトがみつからなけりゃ作るより他にないだろ

144:デフォルトの名無しさん
23/01/22 11:27:13.17 cs1e2wyOa.net
>>141
ただのViewModelじゃねーか
フレームワーク使え

145:デフォルトの名無しさん
23/01/22 12:53:40.50 8KSe/b5e0.net
最近MVVMのほうが楽じゃね?って思ってきた
楽しいし

146:デフォルトの名無しさん
23/01/22 12:54:24.84 8KSe/b5e0.net
これもすべてソースジェネレーターのおかげかもしれん
さすがC#

147:デフォルトの名無しさん (スッププ Sd1f-OsG9)
23/01/22 17:03:04.26 jvNfJ0Pqd.net
>>139
うちがWindowsの業務クライアントアプリ系を委託してるソフトハウスがまさにこんな感じだわ
イベントハンドラからSQL投げてる
ただしstaticユーティリティクラスではなく共通の神フォームクラスがあって、全てのフォームがそれを継承する形
まあレベル低すぎて開発もクソ遅いから、負債自体はそれほど量が多くないのは救いかな

148:デフォルトの名無しさん (ワッチョイ e379-TshA)
23/01/22 18:32:18.54 xRK/d49A0.net
>共通の神フォームクラスがあって、全てのフォームがそれを継承する形
こういうのよくないな
神クラスのメンテナが異動だかで居なくなだけで誰も保守できない砂上の楼閣アンチパターンに嵌るね

149:デフォルトの名無しさん
23/01/22 21:31:04.53 ADzURpxfM.net
>>139
実質Cプログラムだな

150:デフォルトの名無しさん (ワッチョイ bfbd-Jpma)
23/01/23 02:49:47.88 0XgI/UQT0.net
>>149
前に作ったC#のプログラムがまさにそんな感じで、
その後MVVMしてみた。
そして最近作ったCのプログラムが構造体でオブジェクト指向プログラミングしてる。

151:デフォルトの名無しさん (ワッチョイ 5310-Jpma)
23/01/23 08:17:46.60 3Vu8SA8M0.net
>>148
その言い方だと基底クラスと派生クラスに分かれているもの全部が当てはまるように聞こえてしまうが

152:デフォルトの名無しさん (ワッチョイ 8307-ycfm)
23/01/23 08:19:09.55 YKh4Yexo0.net
>>151
神クラスを知らんのか

153:デフォルトの名無しさん (ワッチョイ 5310-Jpma)
23/01/23 08:29:28.69 3Vu8SA8M0.net
規模じゃなくてメンテナの有無を問題にしていたからだよ

154:デフォルトの名無しさん (ワッチョイ 8307-ycfm)
23/01/23 08:46:40.58 YKh4Yexo0.net
規模が小さければメンテナが交代しても負担は少ない

155:デフォルトの名無しさん
23/01/23 09:08:08.58 qV3QzySmp.net
ライブラリなんて当時のセット使うに決まってるじゃん

156:デフォルトの名無しさん
23/01/23 09:26:39.82 t2EpFVl6a.net
顧客のOSがバージョンアップするのにいつまでも使えるわけねーだろ

157:デフォルトの名無しさん
23/01/23 09:29:38.64 KYv3x0sqM.net
>>156
使えなくなる理由が分からない
ブラウザの話?

158:デフォルトの名無しさん
23/01/23 09:34:41.96 t2EpFVl6a.net
わからないは草

159:デフォルトの名無しさん (ササクッテロラ Spc7-H1Sa)
23/01/23 10:09:44.77 2/794eE6p.net
>>156
そんなんちゃんと契約書にOSのバージョン指定しとかない会社が悪い
OSバージョンアップされたら何起こるか分からないんだから
最悪作り直しだってあるし、そんなん瑕疵理由にされたらたまらないだろ

160:デフォルトの名無しさん (ワッチョイ 8307-ycfm)
23/01/23 10:10:26.60 YKh4Yexo0.net
指定したバージョンで使えなけりゃ作り直すしかねーだろ

161:デフォルトの名無しさん (ワッチョイ 0379-6+E+)
23/01/23 20:40:31.82 N1CH+niL0.net
>>152
神クラス悪くないよな
すべてのグローバル変数がちゃんと集結してるなら
リークはここさえ調べればいいし

162:デフォルトの名無しさん
23/01/23 21:22:23.16 3Vu8SA8M0.net
本当にヤバい神クラスというのは担当者が1人じゃなく複数人でメンテしていて、
しかも誰一人として全貌を把握していないという。。。

163:デフォルトの名無しさん (オッペケ Src7-j0by)
23/01/24 07:57:54.50 qtsatPEhr.net
まあ1人で保守できてて数が把握できるレベルならな。。

164:デフォルトの名無しさん (ワッチョイ d31d-QR4B)
23/01/24 10:27:18.73 yL08sSgL0.net
ディスプレイ設定の
マルチディスプレイの
複製表示するだとか拡張表示するだとかの設定を
プログラムで取得できますか?

165:デフォルトの名無しさん (ワッチョイ 6f4b-iswg)
23/01/24 16:12:45.07 88+gyU910.net
そりゃ出来るだろ。
取得するAPIが用意されているかどうかは知らんけど。

166:デフォルトの名無しさん
23/01/24 16:25:23.27 WrVsgKSa0.net
>>164
WMIでググって見ると良いかも。

167:デフォルトの名無しさん (オイコラミネオ MM07-88l+)
23/01/24 17:43:09.31 hrk0Jab5M.net
>>164
.Netのフレームワーク抜きにして

基本的にwindowsの情報はwin32 apiかwinRtかで取得できる
楽かどうかは不明だけど両方ともC#ではアクセスできる

それ以外にレジストリの情報だけと言う場合もあるけど

168:デフォルトの名無しさん
23/01/24 18:08:58.39 hrk0Jab5M.net
思い出というかうろ覚えレベルだけど
昔はwinformsの方でAPIがあって複数画面の情報は取れた
WPFにはAPIが用意されてなかったのでwinformsを参照して情報を取ってた

169:デフォルトの名無しさん
23/01/25 10:31:48.06 1QUndYzE0.net
>>166
WMIの存在知っていて、Monitor〇〇は見てみたんですけど、モニタごとの
情報は取得できるけどマルチディスプレイの設定は見当たらないんですよね。
>>167
win32apiも見たんですが、やはりモニタごとの設定は取得できるんですが、
マルチディスプレイの設定みたいなのが見当たらなかったです。

170:デフォルトの名無しさん
23/01/25 11:29:49.38 YgKVEuEk0.net
>>169
答えはわからなかったが、これを見る限りレジストリに保存していそう
URLリンク(answers.microsoft.com)

171:デフォルトの名無しさん (ワッチョイ cf10-nezH)
23/01/25 11:37:43.88 HF2K9cvb0.net
>>169
上の人が書いているけど、レジストリっぽいですね。

DisplaySwitch.exeによる切り替えは結構ヒットするんだけど、情報取得はみつけられなかった。

WindowsAPIだと、

SetDisplayConfig
QueryDisplayConfig

あたりがそれっぽいのかも?
詳しい人の回答を期待w

172:デフォルトの名無しさん
23/01/25 12:37:42.36 SKrgZEWi0.net
マルチディスプレイの設定って具体的に何よ
最終的に何の項目の値が欲しいのよ
コンパネや設定アプリのこの項目ですとかそういうの書きなさいよ

173:デフォルトの名無しさん
23/01/25 13:43:55.80 g3U6xxzNd.net
マルチディスプレイの項目の
表示画面を拡張するや、表示画面を複製するが何になってるか取得したいって最初に書いたんだけどな…

174:デフォルトの名無しさん
23/01/25 14:06:15.04 VgR3j9B70.net
C言語から入った人間なのでexeファイル=機械語と思いこんでたけど違うんですね……
中間言語?CLR?いやC#もexeファイル作成されるじゃんどういうこっちゃと思ってました
えーっとC#のexeファイルは中間言語で出来てるって理解であってます?つまりexeだけど.net入ってないPCじゃ実行できないってことですよね?

175:デフォルトの名無しさん
23/01/25 14:08:37.83 6qMSPLxFF.net
ならその画面出してキャプチャして画像解析でもすりゃええやん

176:デフォルトの名無しさん
23/01/25 16:47:40.06 lfyXBnaV0.net
>>174
C言語から入ったからじゃない
お前が無知なだけ

177:デフォルトの名無しさん
23/01/25 17:31:10.31 VgR3j9B70.net
>>174ですが解決しました。失礼しました。

178:デフォルトの名無しさん
23/01/25 19:26:40.13 FCKUBvCH0.net
>>176
建設的でなく情報を提供することもない価値のない書き込みをありがとう
でもそういうのやめにしないか?

179:デフォルトの名無しさん
23/01/25 19:28:12.41 BZf8jlam0.net
C言語関係ないので間違ってはないな

180:デフォルトの名無しさん
23/01/26 02:21:06.17 ZFMbSjAA0.net
むしろcから入ったほうが、ほかのいわゆる高級言語から入るより詳しくなりそうな気がするんだがな

181:デフォルトの名無しさん
23/01/26 05:08:09.80 v0vT4MdvM.net
C言語プログラムではexeファイル作成しても実行環境のランタイム周りでエラー吐くと即実行時エラーで停止するからな

182:デフォルトの名無しさん
23/01/26 15:37:19.08 O3LYxWam0.net
プログラミン好きじゃないけど、稼ぐ手段と考えたら上達しないんですかね?
ていうか、うまく出来もしないのに好きでいることなんて出来るでしょうか
成果が出て好きになるのでは?

183:デフォルトの名無しさん
23/01/26 15:40:51.40 r9XE4FBU0.net
好きとか 嫌いとか最初に言い出したのは誰なのかしら

184:デフォルトの名無しさん
23/01/26 16:46:19.96 O3LYxWam0.net
分からん
好きなことで生きていくみたいな
他人と比べて明らかに下手でも好きでいられるのだろうか

185:デフォルトの名無しさん
23/01/26 18:41:23.01 SJYXMXJT0.net
>>182
スレ違いどころか板違い
低能すぎるからハロワ行け

186:デフォルトの名無しさん
23/01/26 19:37:48.38 GkI+YKE10.net
スレチ警察ご苦労

187:デフォルトの名無しさん
23/01/27 01:10:49.54 unSIwQ1w0.net
駆け抜けてゆく 私のメモリ外♪

188:デフォルトの名無しさん
23/01/27 18:21:50.28 01PH/qCE0.net
ここで聞いていいのかわからんけど
WinUI3
Windows App SDK
MAUI
こいつら並行して存在してるみたいだけど関係性ってどうなってんの?
UWPはディスコンになったって理解でいいの?

189:デフォルトの名無しさん
23/01/27 21:43:33.88 unSIwQ1w0.net
多分Microsoftも分かってない

190:デフォルトの名無しさん
23/01/27 21:49:53.26 P0p3cJ8l0.net
本当はMSも新しいものにシフトしたいけどWin32は捨てられないし
レガシー無視ならWindowsである必要が無くなるからなぁ
なんやかんやでwebの技術でアプリは作れる時代だし
XAMLなんかはそろそろ辞めた方が良い気がするんだよなぁw

191:デフォルトの名無しさん
23/01/27 22:49:09.08 Ze4DWSK5M.net
>>188
それ全部層が別なんだ
以下俺の理解
まず下に行くほど上位層になる
様々な状況を無視して強引にフォルダにしてみると
c:\MAUI\Windows App SDK\WinUI3
・WinUI3
windows用の新しいGUIライブラリ
C++で書かれててc++にもXAMLの恩恵が前より受けられるらしいのだが魔術に近いコードを書かされるゴミ
目新しさだけで近づくと絶望感しか感じられない残念なプロダクト

・Windows App SDK
windows上で現在色んな技術 win32 winrt winUI3 などがごちゃごちゃにあって
それを統一的には無理だけどアクセスできるレベルに合体させようと言う残念な仕組みのゴミ
この世にドラゴンボールのフュージョンはないと思い知らされる凄いプロダクト

・MAUI
マルチプラットフォームでiPhone,android,windowsなどいろんなシステムを横断して最大公約数的に使う仕組み
本来は開発工数が下がるはずなのだが個々のシステムをかなり理解していないと何もできないゴミ
各プラットフォームでの学習+MAUIの学習と言う学習時間フルコースプロダクト
ある意味超人オリンピック

192:デフォルトの名無しさん
23/01/27 23:00:16.44 Ze4DWSK5M.net
MSのFAQから意訳
UWPで開発で満足してる人は焦ってWindows App SDKに移行する必要はない

193:デフォルトの名無しさん
23/01/27 23:02:56.90 kMLtWNPM0.net
>>191
ゴミしかなくね?

194:デフォルトの名無しさん
23/01/27 23:08:34.74 Ze4DWSK5M.net
MSは基本的にwindowsアプリ開発のベースをUWPで見てる節がある
それ以外の人にもUWP並みの恩恵をと言うのがWindows App SDK

195:デフォルトの名無しさん
23/01/27 23:54:16.49 Fhi2vLV20.net
MSもElectron使ってるし、実際ゴミしかないので
WPF以降はもうWebベースに移ったほうがいいかなって思ってる

196:デフォルトの名無しさん
23/01/27 23:55:50.76 Fhi2vLV20.net
Webベースっていうと語弊があるな、ブラウザベースか

197:.NET MAUI HighSchool
23/01/28 07:46:47.27 Akv+btg40.net
>>195
ElectronってVScodeだけじゃね?
OfficeとかWinUI3っぽいしVSもC#じゃんね?
UnityもUI部分の画面はC#みたいだぞ

198:デフォルトの名無しさん
23/01/28 08:32:44.81 TqWhMxhs0.net
Teams

199:デフォルトの名無しさん (ワッチョイ e301-s91j)
23/01/28 09:48:55.24 p3y/mDFs0.net
>>191
ありがとう

そりゃいつまで経ってもWinFormsが無くならんわけだわ
なんなら一番成功してるまである

200:デフォルトの名無しさん (ワッチョイ 364a-ozkd)
23/01/28 10:37:15.32 ggMIOAKX0.net
高dpiで画面が崩れるのどうにかしてほしい

201:デフォルトの名無しさん (ワッチョイ 8335-6BSU)
23/01/28 10:42:06.46 qgiHv5Wf0.net
ズームしてるからやろ?

202:デフォルトの名無しさん
23/01/28 10:42:44.43 p3y/mDFs0.net
>>200
VS2022でなんか対策入ってなかったっけ?

203:.NET MAUI HighSchool
23/01/28 11:23:23.91 Akv+btg40.net
>>202
.NET7じゃね?

204:デフォルトの名無しさん
23/01/28 16:16:56.07 qgiHv5Wf0.net
XAMLやバインディングは難解すぎる

205:デフォルトの名無しさん
23/01/28 16:21:44.03 SSo2rJoBd.net
>>198
Desktop版Teams糞すぎでweb版使うよね

206:デフォルトの名無しさん
23/01/28 16:31:49.12 qgiHv5Wf0.net
XAMLとロジックを分離することでデザインだけに特化したプロフェッショナルに任せられるとかいうけどそんなことしてるところあるのかね

207:デフォルトの名無しさん
23/01/28 16:33:29.41 qgiHv5Wf0.net
C#を知らずに書けるのか

208:デフォルトの名無しさん
23/01/28 16:34:51.45 zBTU9IJ/0.net
XAMLに文句言ってる人もべつになにかもっと良い代替案があるわけでもないんだろ?
jsonかyamlかあるいはまたなにか独自仕様でも作るか。

209:デフォルトの名無しさん
23/01/28 18:27:49.87 DKSWYQK4a.net
Windowsデスクトップアプリの次のスタンダードはWebView2に決定してるよ
C#とも何の問題もなく連携できるから、もう何も心配することはない
ただHTML/CSSだけできればよい

210:デフォルトの名無しさん
23/01/28 18:34:56.52 x9KLfrKP0.net
WinFormsだけを強化/ブラッシュアップして行くだけでいいのに
今現在Microsoftが決定してることは全部間違った方向

211:.NET MAUI HighSchool
23/01/28 18:37:51.27 Akv+btg40.net
>>207
正直余裕

212:.NET MAUI HighSchool
23/01/28 18:39:12.56 Akv+btg40.net
HTML,CSS,JavaScriptほど密結合の強い組み合わせないと思うけどな
WinFormもそうか

213:デフォルトの名無しさん
23/01/28 18:51:54.18 DKSWYQK4a.net
>>206
現実には無いね
Web開発ではHTML/CSSですら自分で書けるデザイナーは稀であり、デザイナーはお絵描きするだけでHTML/CSSはエンジニアが書くのが普通だ
ましてやC#エンジニアしかまず目にしないXAMLを扱えるデザイナーなんて存在しない

214:デフォルトの名無しさん
23/01/28 19:08:33.35 acHVjvs20.net
>>208
JavaFXと言う屍なら

215:デフォルトの名無しさん
23/01/28 21:22:31.10 0L7E+iYP0.net
xamlはさくっと簡易なgui作る程度なら便利ではあるがxamlだけだとboolの反転すらできないから結局コード書くことになるんでbindingクソ喰らえってなる

216:デフォルトの名無しさん
23/01/28 21:27:00.01 p3y/mDFs0.net
XAMLでも何でもいいから
ひとつこれと決めてしっかり枯れるまで面倒見てほしい

217:デフォルトの名無しさん
23/01/28 22:47:24.30 Q8ohQpbl0.net
XAMLはもう枯れてるのでは?

218:デフォルトの名無しさん
23/01/28 23:00:10.63 acHVjvs20.net
x:Bindだとコンバーターは普通のスタティックメソッドでコンパイル時に型チェックしてくれるから大分良くなってるんだけどね

219:デフォルトの名無しさん (ワッチョイ 8379-jh2e)
23/01/29 01:16:07.51 R24XfIrD0.net
>>209
>Windowsデスクトップアプリの次のスタンダードはWebView2に決定してるよ
もう2ひねりぐらいしないとコレ常用は厳しいなあと思う
HTAの再発明の上に実行環境がフォルダ掘ったりで劣化しとるのにスタンダードになるとは到底思えない
外人にも概ね評判悪いみたいだし

220:デフォルトの名無しさん
23/01/29 09:49:06.93 fP4u16yma.net
>>208
xamlなんて使わないで、C#でUIを簡単に定義できるようにすればいい
覚えることも減るし、コードとの親和性も良くなる

221:デフォルトの名無しさん
23/01/29 10:28:03.21 tvJJpmA20.net
>>206
扱えるデザイナとそもそもツールがないような?

222:デフォルトの名無しさん
23/01/29 11:42:03.87 57gL/0v0a.net
>>220
WPFはXAML使わずC#だけで書けるからそれが良けりゃ自分でライブラリ作れよ

223:デフォルトの名無しさん (ワッチョイ 1a42-+rQD)
23/01/29 12:02:19.28 1KUwXnGJ0.net
>>220
MauiにMVUってコードでUI記述できるやつあるけど使いやすいか?
URLリンク(qiita.com)

224:デフォルトの名無しさん (ワッチョイ a702-fO7+)
23/01/29 12:12:03.57 Bt1+Pj/S0.net
flutterっぽいな

225:デフォルトの名無しさん
23/01/29 13:15:24.15 R8JESUlY0.net
>>223
今flutter取り組んでるけど、
単なるデザイン処理がコード中に占める割合が高くて
めちゃ読みにくて慣れんわ

226:デフォルトの名無しさん
23/01/29 13:27:12.72 8bst+jr10.net
GUI黎明期は間違いなくコードでUI記述してたわけで
先人がこれはあかんと否定してきたものを今更リベンジさせる必要があるんだろうか

227:.NET MAUI HighSchool
23/01/29 13:50:59.81 i3THky500.net
今WinUI3で5chブラウザ作ってるんだがレスのアンカーだのハイパーリンクだと画像のリンクだのを抜き出す処理を考えてるんだがどうしたものか迷ってる
当然その書かれた位置にそのボタンやリンク貼り付けなきゃいけないんだがアンカーやリンクとその他記事は同じ行にはない(<br>で区切られてる)と仮定して<br>でSplitかけて行ごとでRegexとかを行おうと思ってるけどこの方法あってるか?

228:デフォルトの名無しさん
23/01/29 13:55:11.83 8bst+jr10.net
>>227
自前でパーサー書くよりもその手のスクレイピングライブラリは数多あるからそれ使った方が早いと思う

229:デフォルトの名無しさん (アウアウウー Sa47-6BSU)
23/01/29 15:11:11.20 Srs41jrSa.net
行で区切る意味がわからん
普通に置換しろよ

230:デフォルトの名無しさん
23/01/29 15:15:12.51 Inli+tITa.net
WebViewならこれでlinkClickedにjsで独自処理書くなりそこからC#呼び出しするなり
<a xxx="~" href="~" yyy="~" >○○○</a>

<span class="link" data-info="ここに情報を入れる" onclick="linkClicked(this.getAttribute('data-info'))"
>〇〇○</span>

231:デフォルトの名無しさん
23/01/29 15:18:44.23 9PfpQq5Na.net
正規表現もこんな感じので充分やろ
<a.+?href="(.+?)".+?>(.+?)</a>

232:デフォルトの名無しさん
23/01/29 15:19:58.32 I1Pjf1q2a.net
+じゃなくて*か

233:.NET MAUI HighSchool
23/01/29 16:56:28.41 i3THky500.net
>>229
置換だとコントロールが作れない(ハイパーリンクコントロールなどがそれぞれ必要)

234:.NET MAUI HighSchool
23/01/29 17:00:22.89 i3THky500.net
WebViewでいけたらいきかったけどMVVMのBingingができんかった…(要素名.NativeToString(HTML))なんだけどXAMLにそれがなかったわ…orz

235:デフォルトの名無しさん
23/01/29 17:28:42.21 pHVlG+oVd.net
ソフト板の専用スレの連中は役に立たんのか?

236:デフォルトの名無しさん
23/01/29 18:01:46.16 1KUwXnGJ0.net
>>234
1.ビヘイビアを作る
2.ユーザーコントロールにWebViewのっけて依存関係プロパティーを設置してVMからコントロール
3.サービスを作ってVでWebViewのっけてからVMにインジェクションする
このどれかが普通かな?

237:.NET MAUI HighSchool
23/01/29 19:07:46.52 i3THky500.net
>>236
なるほどサンクス2が簡単そうかなぁ

238:デフォルトの名無しさん
23/01/29 19:21:55.55 XFhpsu3B6.net
初歩的な質問だと思うが書き込み失礼
win32APIでArduinoとシリアル通信をするコードを書いてる
static void Main(string[] args)
{
SerialPort serialPort;
serialPort = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
serialPort.Open();
while (true)
{
var pt = GetCursorPosition();
Console.WriteLine($"X:{pt.X} Y:{pt.Y}");
if ((pt.X > 500) && (pt.X < 1000) && (pt.Y > 300) && (pt.Y < 600)) {
serialPort.Write($"X:{pt.X} Y:{pt.Y}");
}
else
{
}
Thread.Sleep(100);
Console.Clear();
}
serialPort.Close();
}
Mainの部分がこんな感じなんだが、if文の中にマウスカーソル位置の範囲指定をしていて、カーソルがその範囲に入るとシリアル通信が始まってArduinoに接続したモータが動く(ここまではできた)
でも指定範囲を出るとそのモータが初期位置に戻るコードがうまく書けない。C#側でシリアル通信を中断して初期の段階に戻すような方法ある?elseの中に何書けばいいかわからない。

239:デフォルトの名無しさん (ワッチョイ 8379-jh2e)
23/01/29 19:50:03.63 R24XfIrD0.net
>>238
else
{
serialPort.Write(初期位置);
}
で何か問題あるのかな?
初期位置が何を示すのか知らんけど、シリアルはフロー制御なしなら基本垂れ流しになるから、
開始とか中断の概念は持たない
else節で100ms毎に初期位置座標を送り続けるのが嫌なら送信フラグでも持って送ったか判定すればいいのでは

240:デフォルトの名無しさん
23/01/29 20:04:34.68 qu76jy1yd.net
シリアル通信ってただのbyte列のやり取りでしかなく、中断とかの概念は存在しない。
Arduino側はreadlineかscanfかやってるだけでしょ?
この場合はifのtrue側で$"set:{},{}"、false側で$"default:"を送るのがいいんじゃない?
「初期の段階に戻す」とやらが何をするのかは知らんが、C#側が黙ってたらArduinoは何もできない

241:デフォルトの名無しさん
23/01/29 20:11:58.96 XFhpsu3B6.net
>>240
Arduino側はSerial.availableで信号読み取ってる
それがいけないのか
初期の段階に戻すのは、(Arduino側でサーボモータの初期位置を0度にしてるから)指定範囲を出るとサーボモータが0度戻るようにしたい。(つまり信号が送られる前の状態に戻したい)
でもあんまりArduinoの話すると板違いって発狂するだろ

242:デフォルトの名無しさん
23/01/29 20:31:37.77 R24XfIrD0.net
サーボモーター云々の話なら座標以外に「初期の段階に戻す」のシリアル命令をarduino側で定義すればいいだけなのでは

243:デフォルトの名無しさん
23/01/29 20:58:08.63 h+Z7+/+00.net
>>241
C#というよりプログラミングの初歩的な設計の話だから怒られんだろ
板違いってのはそういうことな
>>239が大体答え言ってるじゃん

244:デフォルトの名無しさん (ワッチョイ 8379-jh2e)
23/01/30 03:54:10.75 Yr+dar0w0.net
電電板にArduinoスレがあるの知らないかもしれないから一応リンクを。サーボやArduino自体の使い方とかはそっちで
Arduino初心者熱烈大歓迎質問スレ part36
スレリンク(denki板)

245:デフォルトの名無しさん
23/01/30 11:22:46.40 SqjDQYar0.net
>>243
ツンツンしてんな~
相談室なんだからいいだろ

246:デフォルトの名無しさん
23/01/30 19:52:43.52 afDHhw4l0.net
パソコンのWebから秀丸の文書を開きたいのです。例えば、C:\\Data\\sample.txtというファイル
で、URLスキームというのを見つけました。
URLリンク(qiita.com)
ここでレジストリにHidemaruを設定したら、秀丸を起動はできました
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\XXX]
@="URL:Hidemaru Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\Hidemaru\shell\open\command]
@="\"C:\\Program Files (x86)\\Hidemaru\\Hidemaru.exe\" \"%1\""
ですが、%1 のところですが、ブラウザから呼ぶときに
Hidemaru:C:\\Data\\sample.txt
としても、Hidemaru:C:\\Data\\sample.txt というフルパスが秀丸に与えられて頭のHidemaru:が邪魔になります
なので、このスキーム部を削除するために、ここではC#を使って加工しているのですが、このC#はどこにどう配置したらいいのでしょうか
私はC++等のプログラムはできますが、C#とかは初めてです
このC#はクライエントのhtmlファイルに<script></script>とかに入れてつくるのでしょうか。やってみたのですがうまく動きません
どうしたらいいでしょうか?
クライエントは、簡単に
<!DOCTYPE html>
<html>
<head>
<title>テスト</title>
</head>
<body>
<a href="Hidemaru:C:\\Data\\sample.txt">sample.txtへのリンク</a>
</body>
</html>
としました

247:デフォルトの名無しさん
23/01/30 20:11:57.30 q0Wux2Rd0.net
なんか勘違いしてるっぽいな
URLスキームで、hidemaru.exeではなくて自作のexeに関連付けて、
自作のexeでmainに引数として渡されてきたURLを加工して
hidemaru.exeを改めて起動するって話だよ
C#でないとできないことではないし、C++に慣れてるならそれでCreateProcessすればいいんじゃない?

248:デフォルトの名無しさん
23/01/30 21:34:40.15 afDHhw4l0.net
ああ、そういうことかあ、2段階踏まないとダメなのね
自作の簡単なC言語のHello!みたいのを作ってその引数に
http:---が入ってきてそれを加工して秀丸を起動しないといけないってこと?
htmlファイルだけで直接起動は出来ないのね

249:デフォルトの名無しさん
23/01/31 00:29:45.17 hLRYDq4/M.net
確かURLスキームはセキュリティホールになるから世界中で使われなくなってきたはずなんだけど
今更なんで使うんだ?

250:デフォルトの名無しさん
23/01/31 03:14:23.94 8roNDUlQd.net
馬鹿だから

251:デフォルトの名無しさん (アウアウウー Sa47-DSsr)
23/01/31 05:00:45.55 JnYo5yDia.net
もし、ブラウザのHTML から、ローカルPC 内にアクセスできたら、
世界中のパソコンが乗っ取られているはずw

ローカルPC内で起動しているサーバーを通さないと、アクセスできないはず

Ruby on Rails などのLinux ウェブ系をやっていない、
Windows の香具師は、平気で恐ろしい事を考える

252:デフォルトの名無しさん
23/01/31 07:03:33.59 eeFPm4F70.net
>>246, 248
カスタムURLスキームでそういうことをする場合は、わざわざC#で作らずとも、一旦WindowsビルトインのWSH(JScript)で中継してパラメータをサニタイズするといいよ(レジストリ登録(*)さえ済ませておけばどこでも動く)
(*)下記のようにwscript.exeに対して「パラメータをサニタイズ+それを任意のプログラムに渡して起動するJScriptのパス」と「パラメータ」を渡す
C:\Windows\System32\wscript.exe "C:\script.js" "%1"

253:デフォルトの名無しさん
23/01/31 09:08:38.25 31HE1wSM0.net
>>252
ありがとう。AHKで作りました。ローカルで使うのでセキュリティとかは大丈夫です

254:デフォルトの名無しさん
23/02/02 10:26:07.11 yh09g2+40.net
>>227
適当なパーサライブラリでASTに変換
ASTからParagraph(Microsoft.UI.Xaml.Document)を構築
RichTextBlockのBlocksにParagraphを追加

255:デフォルトの名無しさん
23/02/02 21:06:57.50 pqzuUQeLM.net
いい加減MAUI君に構うのはやめろよ
全然C#固有の問題じゃないし…
winforms,WPF,ストアアプリ、UWPで専ブラ作ってたけど
そういうところも含めて自分で考えて実装するのが醍醐味じゃないのかなあ?
考えてもわからないなら過去にオープンソースで開発されたものがたくさんあるんだからそれを見て見るとかやりようがあるんじゃないかと

256:デフォルトの名無しさん
23/02/09 16:28:46.38 Zlo87tEd0.net
URLリンク(www.publickey1.jp)

257:デフォルトの名無しさん
23/03/07 21:33:28.99 eLRrbAoH0.net
C#の妙技はイベントにあり

258:デフォルトの名無しさん
23/03/08 21:11:06.25 +FGbWqvad.net
C#でつくったアプリをMSRemoteApp化したら、Cursorを変更しても反映されないの?

259:デフォルトの名無しさん
23/03/11 12:56:48.21 nD1lGm6ya.net
皆さんnintって使ってますか?
他とやり取りすることなく、メソッド内で完結するただの変数として使う場合、とりあえずintを使いますよね
でも今後64, 128ビット幅が主流になったときを考えれば、nintって書いといた方がいいですよね?(そんな時代がくるかはともかく)
少なくともコンパイルされた時点でnintはintと同等かそれよりも効率がいいと(個人的に)思うんですが、でも誰もnintなんて使っていません
32ビット(何なら8でも)以上あれば問題ない、というケースでnintを使わない場合というのは、単にintの方が慣れてるからだけなんでしょうか?

260:デフォルトの名無しさん
23/03/11 13:18:11.95 EyA4I9HNd.net
nintとnuintはIntPtrとUIntPtrの別名なので、ポインタ(かポインタオフセット)にしか使わない
つまりはプラットフォーム依存であることの明示なので、
他のint型との相互作用(大量に出てくるだろうね)を考えるだけでかなりの脳のリソース持ってかれる

261:デフォルトの名無しさん
23/03/11 14:01:42.70 M3BsWLaP0.net
全部でBigIntegerを使っとけば間違いないよ

262:デフォルトの名無しさん
23/03/11 14:13:05.01 DhHi6Ld4r.net
結局既存のメソッドを呼び出したりするときにintにキャストしなきゃいけなくなるんでしょ
ごくわずかに数字演算のパフォーマンスが改善したところで毎回キャストするコストのほうが余計にかかりそう

263:デフォルトの名無しさん
23/03/11 14:19:17.92 M3BsWLaP0.net
画面の実座標がいまだにshortで足りる範囲とは思わなかったなあ
人間はそれほど目に頼っていないということなのか

264:デフォルトの名無しさん
23/03/11 15:13:14.67 2pmAPF6nM.net
何言ってんだコイツ

265:デフォルトの名無しさん
23/03/11 15:15:24.57 DTxKl55ja.net
shortって32767だろ
そんな解像度要るわけないじゃん

266:デフォルトの名無しさん
23/03/11 15:21:17.18 0sr4dQ+W0.net
8Kディスプレイで4画面を横に並べればってとこか
当面要らんな

267:デフォルトの名無しさん (ワッチョイ 7102-S+nL)
23/03/11 16:42:12.30 WGybrWtY0.net
>>262
どうせマシン語になって同じレジスタに入る分にはコストは変わらん
浮動小数点→整数とかならコスト掛かるけど

268:デフォルトの名無しさん
23/03/11 17:38:46.83 vi8/lqqRM.net
>>259
普通の人は使わない
C++やwindowsのAPIやwinprocやDLLみたいのとやり取りする人間にだけ必要な機能で自分には非常にありがたい

269:デフォルトの名無しさん
23/03/11 17:41:39.39 vi8/lqqRM.net
今時点でC#内で完結する内容でnint使う局面はないと言える

270:デフォルトの名無しさん
23/03/12 09:59:16.38 WhaHkT9k0.net
速度よりも動きが変わっちゃう方が問題

271:デフォルトの名無しさん
23/03/16 22:30:13.17 XMsdgbaMM.net
データベースの列名に合わせて、クラスのフィールド名を日本語で表そうと思います。
しかし、インテリセンスで頭文字でフィールドの候補を選択する便利さはアルファベットのフィールド名に劣るので、合わせ技で次のようにフィールド名を定めようと思います。
public string BookName__書籍名;
アルファベットだとより複雑な意味を持つ名称でニュアンスがつかみにくいので、このように合せ技を、使おうと思うのですがどうでしょうか。

272:デフォルトの名無しさん
23/03/16 22:37:25.26 coFKYGG/0.net
どうでしょうかって知らんがな
上司に聞け

273:デフォルトの名無しさん
23/03/16 23:30:46.22 nNGsntyCM.net
>>271
>public string BookName__書籍名;
これだと英語名その対訳の組み合わせを間違えないように覚えてないとだめなのでメンテナンスコストがあがるだけな気がする
データディクショナリを整備したりインテリセンスのmigemo対応を頑張ってみるといいんじゃまいか?

274:デフォルトの名無しさん
23/03/17 00:11:50.11 I7yGzGSd0.net
この日本語力だとコード品質も心配になる

275:デフォルトの名無しさん
23/03/17 00:52:09.32 5jT41ER00.net
>>273
たしかに。
日本語名称だけにしておこうかと思います。
ドット打って、一覧から素直に候補を選びたいと思いました。

276:デフォルトの名無しさん
23/03/17 00:54:00.54 5jT41ER00.net
>>272
そういう上司いません。いるけど、専門外。

277:デフォルトの名無しさん
23/03/17 08:02:55.94 5m2XUDK70.net
変数名に日本語使われてるの見ると、ここの開発者ゴミだなってなる

278:デフォルトの名無しさん
23/03/17 12:27:39.16 qBIjuKdn0.net
世の中にはいろんな人がいて、様々なケースがあることを想像できない世間知らず

279:デフォルトの名無しさん
23/03/17 12:44:03.16 H2liKR380.net
普通はフィールドを単独の変数として扱わずにテーブル毎のクラスを作って管理する
DapperやEntityFrameworkなどのORMでは強制的にそうさせられる
これを機にORMへステップアップしてみるのも面白いと思うよ

280:デフォルトの名無しさん
23/03/17 16:32:19.54 Xu7B9KVM0.net
クラスのフィールド名って最初に書いてる

281:デフォルトの名無しさん
23/03/17 16:34:27.72 m9SyQiz8a.net
そもそもフィールドをpublicにしてはいけない

282:デフォルトの名無しさん
23/03/17 17:23:57.35 iuC25oyk0.net
え?

283:デフォルトの名無しさん
23/03/17 17:26:38.74 0nIn5dFop.net
めんどくさいだろpublicでいいよ

284:デフォルトの名無しさん
23/03/17 17:33:20.91 calEMDbx0.net
自分一人で作って自分一人で使うのなら好きにすればいいんじゃね?

285:デフォルトの名無しさん
23/03/17 17:34:38.14 BZ7G7tLCM.net
フィールドをpublicにしてるWPFは?

286:デフォルトの名無しさん
23/03/17 17:36:00.83 MAARUdz9M.net
>>279
ストアドプロシジャ主体の昔からのシステムなので、おっしゃるようなコードファーストの考え方と噛み合わないところがあります。
いまは、ストアドプロシジャを作成することなく、コードファーストでデータベースへの指示はEFに任せるのかなぁ。

287:デフォルトの名無しさん
23/03/17 18:21:24.41 5m2XUDK70.net
URLリンク(learn.microsoft.com)
> 通常、フィールドは、プライベートまたは保護されたアクセシビリティを持つ変数に対してのみ使用します。

288:デフォルトの名無しさん
23/03/17 19:03:38.15 BZ7G7tLCM.net
>>287
通常は通常でしかないよ~
選択は自由
C#でプロパティを使いだしたのはget;set;自動実装で簡単になってからでそれまでは結構public fieldは使われてた
一番困るのは何でプロパティを使うべきなのか全員を納得させられる答えがない
WPFもUnityもフィールドをpublicにして使ってる
そこを突っついてプロパティにしろって言うのは違うだろと

289:デフォルトの名無しさん
23/03/17 20:24:18.39 5m2XUDK70.net
別にお前を納得させるつもりはないからどうでもいいよ
プロパティを使うべき理由なんて調べればいくらでも出てくる

290:デフォルトの名無しさん
23/03/17 20:32:49.25 BZ7G7tLCM.net
悪党のようなかっこええ捨て台詞痛み入ります!
こいつらしっかり考えたこともないし実際に使ってこなかったから言葉が弱いんだよな
誰も説得できないか弱さ

291:デフォルトの名無しさん
23/03/17 20:36:26.95 5m2XUDK70.net
教えてくださいお願いしますという態度ならともかく、そもそも話を聞く気が無さそうな奴に
無駄なレスバする気はないよ

292:デフォルトの名無しさん
23/03/17 21:00:27.77 irjN28+Dd.net
ノリノリでレスバしてますやん

293:デフォルトの名無しさん
23/03/17 21:17:05.47 BZ7G7tLCM.net
> 教えてくださいお願いします
馬鹿なんwwwwwww

294:デフォルトの名無しさん
23/03/17 21:18:19.46 BZ7G7tLCM.net
脳みそ空っぽでこれまでのC#の流れも知らず考えたこともない園児に教えを乞うやつはおらんw

295:デフォルトの名無しさん
23/03/18 03:30:36.17 fK7nmr8d0.net
今日も俺の勝ちだな

296:デフォルトの名無しさん
23/03/27 00:34:18.07 CcvtVsNT0.net
>>292


297:デフォルトの名無しさん
23/03/27 07:19:15.71 jIqJMMmT0.net
経験の少ないアホを納得させようというのはこんな風にたいてい徒労に終わる
フィールドを直接公開しないというのはオブジェクト指向の最も基本的なデザインパターンだが破りたきゃ勝手に破ってなぜ開発が難しくなったのか理解できず右往左往してりゃいいさ

298:デフォルトの名無しさん
23/03/27 09:11:42.72 LJBvMHRtM.net
抽象化を理解してないんだろう

299:デフォルトの名無しさん (ササクッテロラ Spf1-cFlm)
23/03/27 09:39:45.84 SNc8vC84p.net
隠蔽は失敗だったってみんな言ってるよ

300:デフォルトの名無しさん
23/03/27 10:48:24.00 jtLNmc6A0.net
unsafeみたいに強制ギブスつきでいいから非公開メンバにアクセスさせてほしいよな
リフレクションはさすがにダルすぎる

301:デフォルトの名無しさん
23/03/27 10:51:33.97 UhSbFhq6a.net
隠蔽したものに触ろうというのがそもそも間違い

302:デフォルトの名無しさん
23/03/27 11:28:30.92 4auoO0fAp.net
隠蔽先に美味しいものが沢山あるだがw

303:デフォルトの名無しさん
23/03/27 11:28:53.05 UhSbFhq6a.net
あさはか

304:デフォルトの名無しさん
23/03/27 11:46:13.73 SicRvVGw0.net
受け渡しの際になんの処理もしないんだったら直公開でええやん
なんかしたいときに一段かませばいいだけのこと

305:デフォルトの名無しさん (オイコラミネオ MM49-uluY)
23/03/27 17:03:35.68 yhvlQQOzM.net
>>297
いやいや
経験が少ないのはお前の方だろw
頭がガッチガチのゆとり人間だなと

> フィールドを直接公開しないというのはオブジェクト指向の最も基本的なデザインパターン
前にも書いたけどWPFもunityもpublicフィールドを使ってるよ
get setがpublicでフレームワークから要求されてないのにプロパティ使う意味なんてただの一貫性の問題だろう

c++のオブジェクト指向でもgetter/setter使ってる人間はほぼいない
でっかいOSSでもそんな使い方なんてしてない
何が何でもプロパティじゃなければいけない理由などないから使いやすい使い方をしてる

プロパティは実際に使い勝手が悪いので過去はあまり使われてなかった
自動実装で簡単に実装できるようになってから利用が進んだ
最初は自動実装もなくgetとsetのアクセス制限も別にできず意味不明だった

何より行数が不必要に消費されてコードの見通しが悪くなるゴミだった

306:デフォルトの名無しさん (アウアウウー Saa5-C7iR)
23/03/27 17:51:39.08 gC9awdqwa.net
書けば書くほどあさはかなのがわかるだけ

307:デフォルトの名無しさん
23/03/27 18:24:15.49 yhvlQQOzM.net
>>306
>>290

308:デフォルトの名無しさん
23/03/27 20:52:28.58 aN1DSR/9p.net
公開するものはpublic宣言、公開しないものにはprivate宣言
だからプロパティ何それ美味しいの?
って感じ

309:デフォルトの名無しさん
23/03/28 00:33:14.14 YDJV1nTC0.net
>>305
>何より行数が不必要に消費されてコードの見通しが悪くなるゴミだった
おっとJavaの悪口はそこまでだ

310:デフォルトの名無しさん (ワッチョイ c679-1XQV)
23/03/30 09:03:39.15 No035PWN0.net
プログラミン覚えられない
コツコツやるしかないよな

311:デフォルトの名無しさん (ワッチョイ 4d42-3uzD)
23/03/30 09:36:15.92 JRSIRLo00.net
>>309
C#が登場した当時はjavaとの比較で簡潔に書けるパターンが多くて感動したものだったな
プロパティーとかイベントとか

312:デフォルトの名無しさん (アウアウウー Saa5-C7iR)
23/03/30 12:35:15.47 VoLaXCIOa.net
フィールド公開するやつはプロパティの自動実装の意味すらわかってなさそう

313:デフォルトの名無しさん (ワッチョイ c679-1XQV)
23/03/30 15:16:30.07 No035PWN0.net
不等号ってたまにわからんくなる
不等号のどっちが大きいのか

time < 0
これでtimeが0を下回ったら、という意味になるよね
言語化の問題かな?うまく日本語にする方法ないかな

314:デフォルトの名無しさん (ワッチョイ ed33-hiv+)
23/03/30 15:25:41.12 x1Dq0GAt0.net
さすがに不等号が分からないとか言われると小学生からやり直せと言わざるを得ない

315:デフォルトの名無しさん (ワッチョイ 064b-IXX1)
23/03/30 15:40:05.75 V2UDEW3E0.net
左が基準。

316:デフォルトの名無しさん (アウアウウー Saa5-JPxZ)
23/03/30 16:25:37.22 op3q7K0Wa.net
0 > time
とか書かれてると腹立つが

317:デフォルトの名無しさん (ワッチョイ c679-1XQV)
23/03/30 16:33:28.12 No035PWN0.net
>>315
基準とは?
変更される値がtimeです

318:デフォルトの名無しさん (ワッチョイ d232-/phF)
23/03/30 16:43:38.01 lPrU8lpE0.net
大なり小なりの基準か、あるいはヨーダ記法は邪道か
オーバーロードとか左辺値・右辺値とか
最適化など色々問題があったっけね

319:デフォルトの名無しさん (アウアウウー Saa5-C7iR)
23/03/30 17:04:44.87 F0wEmCvia.net
>>317
記号見りゃどっちが大きいかなんて一目瞭然だと思うが
a<bでaの方が大きいと思う理由がよくわからん
ガリバートンネルには大きい口と小さい口があるが大きい人が入るのはどっちだ?

320:デフォルトの名無しさん (スップ Sdc2-I21X)
23/03/30 17:40:58.48 TCmRdoupd.net
powershellは$null比較の時、
左辺に$nullを書かないと思わぬ事故死する
C#とか普通の言語でかつ特に理由が無ければ、
左辺に比較対象、右辺にリテラル等の被比較値を書くのが一般的だろうね

321:デフォルトの名無しさん (ワッチョイ f5bb-Azxu)
23/03/30 17:41:31.12 99fPqKZf0.net
どっちかだけでよくね?って時々思う

322:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 18:53:38.63 2vbF8I0qM.net
40歳以上で勉強してもプログラムがわからないなら諦めたほうがいいと思うわ
あおりでなんでもなくコーディング自体が楽しくないなら時間を掛けるだけ無駄かと


それよりも
a >= b

a.以上(b) とでもメソッド掛ける
自分はかねてより複雑になりがちな条件判断は可能な限りメソッドにしたほうがいいと思ってるし
そう書いてる
範囲判定なんかメソッドにしてることも多い
日本語じゃないけどね…

323:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 19:00:14.79 2vbF8I0qM.net
以上と書いたは便宜的なもので実際は概念に合わせて書いてる

A>=Bは結局何なのかでメソッド名も変わり概念の抽象化ができる

A.は優秀(B)だとして数学の点数なら多い方が優秀
ゴルフのスコアなら低い方が優秀

そういうのを何度も書くなら< > なんてあちこちで書かなければいい

324:デフォルトの名無しさん (ワッチョイ c679-1XQV)
23/03/30 19:17:30.19 No035PWN0.net
>>319
その状態になったら、っていう条件式なんすね

325:デフォルトの名無しさん (アウアウウー Saa5-C7iR)
23/03/30 19:24:55.32 75d8b1lNa.net
>>324
同じことだろw
a<bの状態になったら真になる条件式はa<bに決まってるじゃん

326:デフォルトの名無しさん (ラクッペペ MM26-/W4P)
23/03/30 19:42:07.99 N4swSUwXM.net
> の読み方が大なりなのか小なりなのかが分からん!
って話じゃなくて?

327:デフォルトの名無しさん (ワッチョイ c679-1XQV)
23/03/30 20:17:04.21 No035PWN0.net
>>322
楽しくはないけど、嫌いでもないならそれは好きなのでは?

328:デフォルトの名無しさん (オッペケ Srf1-T1iO)
23/03/30 20:28:59.18 7FqJmDq/r.net
その子はちょっとアレな子だから真に受けない方がいいよ

329:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 20:30:40.05 2vbF8I0qM.net
>>327
40年前に入門したときはプログラムが好きで好きでたまらなかった

330:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 20:43:22.83 2vbF8I0qM.net
自分はdelphiからの移行組なんだ

21年前にC#に触れたときも面白くてたまらなかった
発売が待ち遠しかった
出てからもわからないところもあったけど毎日入門書を読んでた
本当に面白かった

空き時間に繰り返し何度も何度も読んでた
人それぞれなんだろうけど楽しくも嫌でもないって不思議だなと

331:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 20:46:16.57 2vbF8I0qM.net
最初に触れたのは22年前か
翌年C#が発売された
間違えてC++のパッケージ持ってって途中で気が付いた

332:デフォルトの名無しさん (ワッチョイ 02de-Z3T1)
23/03/30 21:33:45.06 Js/+Wk190.net
台所のシングルレバーの水栓、レバーの左側に赤、右側に青が書かれてる

お湯を出そうとレバを左側に持っていくと、真正面に青色が来るから冷水出るのかとと思って戻す
以後繰り返し

333:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 21:56:37.76 2vbF8I0qM.net
21年前はwebにもほとんど情報がなかった
目の前に大平原が広がってたようなその実暗闇だったような

情報はほぼ雑誌やわずかに発行されてた本からのみで同士もいない

ジェネリックがないC#1.0は地獄で実質2.0からが本番

ファイルの読み書きも簡単に出来ず苦労した
1.1までFileクラスなかったんだよな
2.0でFile.ReadAllTextが実装された

そういえば.net framewarkにどんな機能があるのかすら事前にわからなかった
MSなのでDirectXやサウンド機能やmidiAPIぐらい入れてくるだろうと思ってたけどなんもなし
delphiのコンポーネントセットと似た様なコントロール群だったので何とかなったけど何をしろと言うような状況だった

お世辞にも他人に勧められるような言語じゃなかった
状況が変わったのは2008年ぐらいかなあと

334:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 22:24:54.49 2vbF8I0qM.net
自分のC#の情報はCマガジンからでググったら目次が出て来た

2001年1月号
特集 C#
特集 Waveletの新アルゴリズム

なので実際は2000年の12月に出会ってる

335:デフォルトの名無しさん (ワッチョイ 713a-/W4P)
23/03/30 22:31:47.86 GQCpEY+j0.net
VisualStudioって当時おいくら万円しました?

336:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 22:48:08.99 2vbF8I0qM.net
>>335
自分はC#のみのパッケージだったけど1万5000円~18000円ぐらいだった気がする
非常に安い印象
ほぼ毎年delphiとBorland C++のアップグレードパッケージにお布施するより安い

徒歩圏内に家電量販店があるけど自動車に乗って買いに行った
帰ってきてインストールするまでが一番楽しかった
インストール中マニュアルだか見て思ってたのと違うと気が付いた

VS2005からstandardのアップグレードパッケージ?買ったけどその時は高かったとしか覚えていない

337:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 22:56:13.24 2vbF8I0qM.net
昔は言語は3万以上してたような思い出
大学の友達はなんも知らんから授業で使うFORTRANを買った
9万円ぐらいだと聞いたw

みんなで買うならC買えよって言ったら教えてくれたらよかったのにと激怒された

338:デフォルトの名無しさん (ラクッペペ MM26-R9+A)
23/03/30 23:10:10.52 DgcinTdpM.net
確か当時で年間20~30万くらいのサブスク製品が5万くらいでアップグレードできた覚えがある
数年後にはチーム開発向け機能強化で年間200万くらいまで値上がりしたので個人では手が出せない製品になってしまった
新規価格と違って更新価格はそこまで高くはないけど…

339:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 23:14:09.30 2vbF8I0qM.net
正直なところC#は実際2010年ぐらいでも全然日陰言語だった
ずっとふわふわしてた
まず実社会で使ってる人間に出会わない
メインで使ってても変わり者としか見られないしメリットは何なのか聞かれまくった

いつ頃メジャーになったのかもわからない

340:デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
23/03/30 23:28:35.77 2vbF8I0qM.net
自分はCマガでC#に出会ったけどその後廃刊になってるんだよな
唯一あった言語雑誌が死亡してマイナー言語なんて一般人は触れる機会もないし
メジャーになる前はどうやってみんなであったんだろ?

341:デフォルトの名無しさん (ワッチョイ d2bd-uluY)
23/03/30 23:44:21.47 1ZDwYyUr0.net
C MAGAZINEのバックナンバーがKindleで1冊110円、1ポイント還元で買える。
一部の号は99円、1ポイント還元。
全部か分からないけどKindle Unlimitedでも読める。

342:デフォルトの名無しさん (ワッチョイ 4d42-3uzD)
23/03/31 00:07:13.86 jOaHfoqM0.net
>>338
2002のサブスクリプションが3万ちょっとぐらいで大安売りだった記憶
2008などBlendの付録でVSスタンダードがついてきて2万以下だった

343:デフォルトの名無しさん (オッペケ Srf1-T1iO)
23/03/31 00:28:25.94 tZM7csWar.net
唐突に長文連投自分語りが始まって何事かと思った

ヤバいな

344:デフォルトの名無しさん (ワッチョイ c6da-XzVq)
23/03/31 02:06:27.03 vkd6Fmu90.net
2005年ころの記事
URLリンク(atmarkit.itmedia.co.jp)

345:デフォルトの名無しさん (オッペケ Srf1-3uzD)
23/03/31 07:32:32.52 cQ6sy02ur.net
この自分語り長文の オイコラミネオ MM49-3uzD って
別のスレで++C++が気に入らなくて難癖付けてた人じゃね?

思ったよりおっさんというか中高年の世代なんだな

346:デフォルトの名無しさん (スッップ Sd62-M8+T)
23/03/31 13:47:23.91 7x1sg1mkd.net
おめでとう!未確認飛行アンチは未確認飛行アンチ自分語り長文おじさんに進化した!

未確認飛行に対する負の感情も長い期間かけて煮詰めてきたんだろう

347:デフォルトの名無しさん
23/04/04 12:31:06.77 GpqpiwCm0.net
本当にみんなReactiveUIとかでMVVMでアプリ作ってるのだろうか。
いまだにポトペタでイベントハンドラ書いてたから、この前はじめてリアクティブプログラミング知って浦島太郎なんだが、、、

348:デフォルトの名無しさん (ワッチョイ 5fe5-9P2W)
23/04/05 09:00:28.96 PNvz4EJs0.net
>>345
正解

349:デフォルトの名無しさん (ワッチョイ a75f-3rmh)
23/04/15 08:39:33.67 XM/mG1qA0.net
下記のコードでBIOSの情報を取得しようとすると例外が発生しました。

try
{
ManagementObjectSearcher s = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS");
foreach (ManagementObject q in s.Get())
{
serial = GetSerialNo(q["SerialNumber"] as string);
break;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}


例外:
System.Management.ManagementException: 無効なクラスです
場所 System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
場所 System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()

どうすれば取得できるようになるでしょうか。

350:デフォルトの名無しさん (オイコラミネオ MM5b-sFbk)
23/04/15 10:26:03.34 qKpGu0dKM.net
メッセージの通りだとクラス指定された対象が存在してないんだろ

今回の件はどうかわからないけど

そういう系のは取れる奴と取れない奴がある
運が良ければハードが対応してて取れることがあるレベルのもの

351:デフォルトの名無しさん (ワッチョイ a75f-GP2t)
23/04/15 11:26:04.37 XM/mG1qA0.net
ハードの問題ということですね
であればプログラムでは解決できないか

352:デフォルトの名無しさん (オイコラミネオ MM5b-sFbk)
23/04/15 11:33:42.20 qKpGu0dKM.net
何が欲しいのかはわからないけど他の手段があるかもしれないからググりまくるしかない

353:デフォルトの名無しさん (ワッチョイ 5f79-uE6i)
23/04/15 11:54:26.93 iq3ZlEDB0.net
そこでエラーは一般ユーザーで実行してたりで権限が無いとかかな
いったんpowershellのコマンドで期待する情報が出てくるか確認してみて
Get-CimInstance -ClassName Win32_BIOS | select *

354:デフォルトの名無しさん (ワッチョイ a75f-GP2t)
23/04/15 12:24:37.10 XM/mG1qA0.net
ユーザーのパソコンで発生しているので今すぐにはできないですが
確認してみます

355:デフォルトの名無しさん (ワッチョイ dfbd-baic)
23/04/15 12:44:53.19 +nozxCLK0.net
やったことないので知らないけど、管理者に昇格して実行してる?

356:デフォルトの名無しさん (オイコラミネオ MM5b-sFbk)
23/04/15 13:06:25.89 qKpGu0dKM.net
それだと権限エラー出てくるよね?

357:デフォルトの名無しさん
23/04/15 13:41:19.97 j+1WZq2Ha.net
漏れのPC のPowerShell では、以下は取得できる
$Win32_BIOS = Get-WmiObject Win32_BIOS
$Win32_Processor = Get-WmiObject Win32_Processor
$Win32_ComputerSystem = Get-WmiObject Win32_ComputerSystem
$Win32_ComputerSystemProduct = Get-WmiObject Win32_ComputerSystemProduct
$Win32_OperatingSystem = Get-WmiObject Win32_OperatingSystem

358:デフォルトの名無しさん
23/04/15 13:54:30.06 qKpGu0dKM.net
winformsで普通に実行してObjectは取れてる
もしかしてGetSerialNoの中身がおかしいのかもなあ

359:デフォルトの名無しさん
23/04/15 14:04:25.58 qKpGu0dKM.net
権限付与しなくてもSerialNumberは取れてる
取るだけならコード上は何も問題なさそうだけど

360:デフォルトの名無しさん
23/04/15 14:06:41.88 qKpGu0dKM.net
UWPにはSystem.Managementってないよね
仮想環境で実行してるって話じゃないよね
linuxで実行してるとかもないよね?

361:デフォルトの名無しさん (ワッチョイ 072d-iKPJ)
23/04/16 01:59:22.48 vEmeYhBU0.net
知恵袋(削除済み?)やらMSやらあちこちで聞いてるな

362:デフォルトの名無しさん (ワッチョイ caad-pY4I)
23/05/23 19:19:12.93 8LrZ0+ox0.net
susie plugin の呼び出しで、.spi 側の HANDLE *pHBInfo を out IntPtr pHBInfo でマーシャリングしたときに、
pHBInfo に直接返るのと、pHBInfo = Marshal.ReadIntPtr(pHBInfo) しないと取得できないプラグインがあるのはなんで?
マーシャリングにバグでもあるの?

363:デフォルトの名無しさん
23/05/23 21:42:32.85 N5YYf8uj0.net
脳にバグを飼ってる可能性も考慮
アンマネージドなC/C++で仮組みして意図通りC#にpinvokeできてるか確認しなよ

364:デフォルトの名無しさん
23/05/23 22:54:06.82 ZEkn3nOT0.net
>>362
プラグインがLocalAllocをLMEM_FIXEDかLMEM_MOVEABLEでやったかの違いと予想
Marshal.ReadIntPtrじゃなくてLocalLockしないとだめじゃね?

365:デフォルトの名無しさん
23/05/23 23:38:29.47 N5YYf8uj0.net
なるほど手元に20年前のソースがあるがHBInfo HBm共にLocalLockして生ポを得てるな
使い終わったら元のハンドルをLocalUnlockでFALSE(0)が返るまで呼び出してLocalFreeで開放しとる
プラグイン側がLocalAllocしたハンドルもしくは生ポを返す仕様だから何が起きてるのか判り難かろう

366:362
23/05/24 12:07:18.61 g/GCJKfM0.net
>>363-365
無事実装できた
thx愛してる

367:デフォルトの名無しさん (ワッチョイ 064b-A5UL)
23/05/25 20:21:17.15 nXz8gKZ10.net
Macしか持ってないんですが
Visual Studio入れてC#で
ウインドウズ用のアプリって開発できないのです?

ビルドしてウインドウズパソコンに
デスクトップアプリを配布したいんですが
無理ですか?

368:デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
23/05/25 20:57:21.60 3+7hiXICp.net
>>367
出来たとして、100%互換か怪しいから
不具合出たり対応が面倒になるくらいなら
最初からWindowsで作れば良い

369:デフォルトの名無しさん (ワッチョイ 6f02-FIIW)
23/05/25 21:00:03.51 bhCTlW5B0.net
URLリンク(dev.classmethod.jp)
MAUIで出来るんじゃね、試してないから知らんけど

370:デフォルトの名無しさん (ワッチョイ 6f02-FIIW)
23/05/25 21:06:32.71 bhCTlW5B0.net
ちなみに出しておいてなんだけど、情報が少なすぎてかなり茨の道だとは思う

371:デフォルトの名無しさん (ワッチョイ d307-oJoQ)
23/05/25 21:13:07.94 8YBMC98J0.net
仮想マシン使えばいいじゃん

372:デフォルトの名無しさん (ワッチョイ 064b-A5UL)
23/05/25 21:29:44.23 nXz8gKZ10.net
早速のレスありがとうございます

C#じゃないとダメだってわけじゃないんですが
子供の学習用デスクトップアプリつくるのには
VisualStudioが楽で綺麗に作れますよね?
学校で配られてるタブレットPCで動かしたいんですわ

Scratchで作ってたけど、画像がいっぱいになるとすっごく思いし
中身見られるしってので開発環境探してました

ウインドウズPC購入か、仮想マシンですか、、、
考えます

373:デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
23/05/25 21:36:27.09 VIA7OmJjp.net
javascriptとか使ってwebアプリで作れば?

374:デフォルトの名無しさん (ワッチョイ 7a2d-FIIW)
23/05/25 21:42:02.72 RgPRQW4i0.net
Macを買った自分を恨んでください

375:デフォルトの名無しさん (ワッチョイ 064b-A5UL)
23/05/25 21:48:24.70 nXz8gKZ10.net
ありがとう
ウェブアプリとか難しそうですね
情報集めてみます

376:デフォルトの名無しさん (ブーイモ MM86-F7IQ)
23/05/25 22:33:11.01 y/g7SJeAM.net
>>372
そのタブレットがARMなのかIntelなのかとかも一応気にした方がいいかも

377:デフォルトの名無しさん
23/05/25 23:51:38.82 8mbdG19r0.net
いやまずそのタブレットのOS確認しろ

378:デフォルトの名無しさん
23/05/26 00:01:08.77 CD6Q2dXa0.net
TrueType と OpenType フォントを判別する方法はないのだろうか

379:デフォルトの名無しさん
23/05/26 10:33:06.68 kol25jaP0.net
本来は1回しか実行されないはずのメソッドが、何かの条件を満たすと複数回実行されてしまいます。
呼び出し階層を辿ろうにも、呼び出し元が数十か所あり、その呼び出し元も別の多くの場所から呼び出されている為、辿るのが困難な状況です。
また、各呼び出し階層内でのループや分岐・メソッド呼び出し時の引数も多い為、絶望的な感じです。
こういう場合はどうやって原因を特定すればいいのでしょうか?

380:デフォルトの名無しさん
23/05/26 10:41:26.90 0Cl+beDwp.net
>>379
コールスタック見ろよw

381:デフォルトの名無しさん (ワッチョイ 4f54-C1+R)
23/05/26 10:44:43.31 kol25jaP0.net
>>380
すみません。
外部ライブラリとか実行用の周辺機器が揃ってない為、実行出来る環境がないのです。
なので、報告受けて、Visual Studio の Code Lens・呼び出し階層表示だけ見てなんとかしようとしてます。

382:デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
23/05/26 10:48:20.08 0Cl+beDwp.net
>>381
再現出来なきゃ無理って言う

383:デフォルトの名無しさん
23/05/26 11:25:23.48 NguYPBNpa.net
>>381
呼び出し階層が表示できるならそこ調べりゃいいじゃん

384:デフォルトの名無しさん
23/05/26 11:31:15.19 4fbr4rJzr.net
調査困難な状況を説明してログを仕込ませてもらうしかないな
あと、GUIアプリならコントロールが想定外にイベント発火してる可能性を一応疑った方がいい

385:デフォルトの名無しさん
23/05/26 11:33:38.02 Yj1I9V8pM.net
>>379
複数回呼ばれた時に例外出してるならスタックトレース見ればすぐ分かる
例外出してないなら出すようにコードを修正する
どっちもできないならあとは発生タイミングとアプリケーションのログから推測して再現させるとかかな
確証を得たいならコードを修正するのが手っ取り早い

386:デフォルトの名無しさん
23/05/26 11:33:49.22 A9A3Khm00.net
>>381
メソッドが実行された時にコールスタック情報をログファイルに記録するようにすれば

387:381
23/05/26 11:44:37.68 kol25jaP0.net
みなさん、ありがとうございます。
まずはコールスタック記録するようにしてみたいと思います。

388:デフォルトの名無しさん
23/05/26 11:47:57.12 EAz1JgTma.net
呼び出し階層表示が見られるって自分で言ったのに今からコールスタック表示するのかよ

389:デフォルトの名無しさん
23/05/26 12:11:24.31 ByS9qpAjr.net
静的な呼び出し階層と実行時のコールスタックを混同してるのか

390:デフォルトの名無しさん
23/05/26 12:59:28.06 Lr0/MEevM.net
辿れないほど呼び出し元が多岐に渡るメソッドをどうやって1回しか呼ばれないよう担保しようとしてたのか気になる
同時実行制御の問題なのかな

391:デフォルトの名無しさん
23/05/31 20:45:10.15 wpC6Wz7i0.net
>>372
自分のMac売って第8世代i5の中古ノートPC2台買うたらええで
自分と子供用にな

392:デフォルトの名無しさん
23/06/02 09:01:04.14 UoQXoRm00.net
自分の開発マシンにして、愛機
と言うかこれしか持ってないんです
2008年 8月20日 発売
ThinkPad R500 2714A17

393:デフォルトの名無しさん
23/06/02 10:35:55.17 nATDsc5Cp.net
Windows11入らないと開発は無理じゃね?

394:デフォルトの名無しさん
23/06/02 11:37:39.80 O3osMa/RM.net
2008年は古過ぎだろw
今のWindowsまともに動かんやろ

395:デフォルトの名無しさん
23/06/02 14:28:17.64 W9SSjnAC0.net
仕事ならまともなの買えよ、趣味ならしらん

396:デフォルトの名無しさん
23/06/03 04:06:47.54 6VapLOok0.net
Win11のシェアなんかゴミみたいなもんだし
問題ないわ

397:デフォルトの名無しさん
23/06/03 04:18:20.61 zjVUfDj/0.net
OSはWIndows10でも良いけど、快適に開発するならPCはWindows11を入れられる位のスペックが欲しい

398:デフォルトの名無しさん (ワッチョイ 095f-Pnx0)
23/06/03 10:10:11.97 6VapLOok0.net
スマホと同じペースで1年の寿命しかないMacよりはいい

399:デフォルトの名無しさん
23/06/03 13:51:37.27 Jxi0rVr50.net
まあMacは信者専用機だから・・・
オフィスワークから開発、創作活動、ゲーム、動画視聴までWindowsで高品質なのが揃うようになって20年近く経ってるのに一般人はMacを使う意味ない

400:デフォルトの名無しさん
23/06/03 13:55:35.12 fIp4SJhKa.net
何年前だったかプラスチックの炊飯器みたいなのを「マックはデザインがかっこいい」と言って信者が騒いでたのを見て「こいつら救いようがねぇな」と思った記憶がある

401:デフォルトの名無しさん (ワッチョイ 998e-MzG0)
23/06/03 14:30:51.53 yvyNdg4t0.net
>>398
何でそんな嘘しか付けないんだ?

402:デフォルトの名無しさん
23/06/03 15:55:00.80 rK6+RSnX.net
別に使いたい用途で使えるならデザインで選んでもいいのでは、と俺は思うけどね。

403:デフォルトの名無しさん (スップ Sd02-AZ1w)
23/06/03 20:10:03.02 tfvEjAOrd.net
貧乏人はApple製品を憎んで嘘で貶めようとします

404:デフォルトの名無しさん (ワッチョイ 857c-DP0P)
23/06/03 23:10:09.26 WTknR1Dk0.net
そういう話じゃ無い

マックに100万使うならWindowsマシンに100万使った方がスペック良いよねって話

405:デフォルトの名無しさん
23/06/03 23:41:19.13 zjvddD610.net
>>404
百万のWindowsPCなんて無駄だろ

406:デフォルトの名無しさん (スッップ Sda2-MzG0)
23/06/04 00:18:11.16 l3kFxeTNd.net
嘘を指摘されると今度はごまかし始める
貧乏人は大変だね

407:デフォルトの名無しさん
23/06/04 01:59:33.36 Ne2w4kfV0.net
c#なら素直にWindows機でいいんじゃね
そこに会社の規定とか制限があるのならしらん

408:デフォルトの名無しさん
23/06/04 07:09:03.35 rt4nzg3U0.net
何の話かと思ったら開発PCか
>>392
そのPCでWindowsだから重いって思うんだろ?
Linux入れりゃ良いじゃん
それかWindowsでも開発ツール入れなきゃ良い
azure上に仮想マシンやらDevBoxで良いじゃん
Codespaceで良いじゃん
俺なんて家でも会社でもiPadでブラウザでCodespaceだぞ
重いPC持ち歩く必要も無い
タブレットだけ持ってりゃ仕事出来る

409:デフォルトの名無しさん
23/06/04 09:46:49.84 /SPLhkOjM.net
codespacesって意外と安くないよな
何か安くなる秘法でもあるのか?

410:デフォルトの名無しさん
23/06/04 09:50:11.48 rt4nzg3U0.net
会社が払うから何も気にしないな

411:デフォルトの名無しさん
23/06/12 20:19:48.13 rYc4uFtU0.net
ブレイクポイントって関数単位で止めるものなんでしょうか
関数の途中で止めたりすると駄目なんですかね
スタックフレームなんちゃらと怒られます
func myFunction()
{
print("hoge1")
print("hoge2")#ここで止めちゃ駄目?
}

412:デフォルトの名無しさん
23/06/12 20:33:13.56 D2dY6sW0p.net
>>411
別の問題だな
リリースビルドしてるとか

413:デフォルトの名無しさん
23/06/12 22:32:43.81 JVK9XTZta.net
>>411
それ以前にコンパイルできないわそれ

414:デフォルトの名無しさん
23/06/13 00:06:29.80 ZoVPLz7U0.net
>>411
スレ間違ってない?

415:デフォルトの名無しさん
23/06/13 01:25:38.96 Ngpf92I00.net
馬鹿は開発環境が何かさえ書かない
そもそもC#なのか?

416:デフォルトの名無しさん
23/06/13 06:36:47.93 23FHN5gH0.net
ブレイクポイントって度のタイミングで使うもんなのかなと一般的な考え方として、、、、

417:デフォルトの名無しさん
23/06/13 07:17:41.88 PEee/u2aa.net
一般的に関数内で止められないわけねーだろ
お前のコードが一般的とはかけ離れてるからどこまで本当のことを言ってるかすらわからん

418:デフォルトの名無しさん
23/06/13 07:50:20.39 7cH+aIJF0.net
関数内で普通に止められるぞ
むしろ止められないデバッガって何w

419:デフォルトの名無しさん (ワッチョイ a9e5-2rqm)
23/06/13 08:03:31.21 quW67CPd0.net
どう見てもC#のコードじゃないの草

420:デフォルトの名無しさん
23/06/13 09:38:02.47 LoFiW7w1p.net
swift?

421:デフォルトの名無しさん
23/06/13 12:52:41.23 ByE5E7iJd.net
>>416
馬鹿はここが何のスレか読めるか?

422:デフォルトの名無しさん
23/06/13 13:51:49.09 6MoTat1ja.net
聞くスレも間違ってるけどエラーメッセージを読まないでなんちゃらで怒られましたで済ますのが一番だめ
大事なのはそのなんちゃらだし
怒るわけないよね
怒られてもないのに怒られたピエンって泣きつくやつは何やってもだめ

423:デフォルトの名無しさん (アウアウウー Sadd-g1CP)
23/06/15 10:27:38.65 dLjlwX4ma.net
最近は指導しただけで逆恨み銃殺まであるんだな怖い怖い

424:デフォルトの名無しさん (ササクッテロラ Sp05-mItu)
23/06/15 10:29:36.05 QLsEMtXZp.net
>>423
足元撃ってやろうとしただけだってさ
乱射したらリコイルしたって

425:デフォルトの名無しさん (ワッチョイ e95f-J4Wt)
23/06/15 10:43:41.82 0xESq9/k0.net
進次郎増殖中

426:デフォルトの名無しさん (アウアウウー Sadd-8W7i)
23/06/15 10:49:34.74 Aj29e5Wsa.net
指導する人もいなくなるし迷子の子供を保護する人もいなくなる(下心のあるおっさんを除く)

427:デフォルトの名無しさん (ワッチョイ 017c-1yE0)
23/06/15 11:01:25.48 K21ZmTmd0.net
指導って要らなくね
このスレ的に言えばプログラム言語の研修とかだってWebサイト見りゃ良いじゃん
その上で修了試験的なのして合格なら業務投入で良いじゃん

428:デフォルトの名無しさん (アウアウウー Sadd-8W7i)
23/06/15 11:22:48.48 Aj29e5Wsa.net
土方ならな

429:デフォルトの名無しさん (ワッチョイ 017c-1yE0)
23/06/15 12:12:53.37 K21ZmTmd0.net
土方とか関係無いやん
寧ろ優秀な奴ほど下手に指導するより書籍とか与えておけば良いって事もある
更に言えば自分で独習してきて勝手に技術習得してるのが優秀な奴じゃん
教えられて無いので出来ませんはかなりの無能な部類

430:デフォルトの名無しさん (オッペケ Sr05-jUq8)
23/06/15 13:10:51.30 cS8cnqSfr.net
竹田くんみたいなのが量産されそう

431:デフォルトの名無しさん (アウアウウー Sacd-f5CE)
23/06/23 19:31:10.81 UVD4nU+ma.net
URLリンク(www.itmedia.co.jp)
C#とJavaの評価が低くておじさんは悲しい

432:デフォルトの名無しさん (ワッチョイ 515f-XIuK)
23/06/23 19:59:55.85 x9WCMNc20.net
>>431
Notepad++の人気が根強いね

433:デフォルトの名無しさん (ワッチョイ a22d-jTIA)
23/06/23 20:45:14.09 8BsfVNdT0.net
>>431
c#は使ったことがない人(期待)と実際に使ったことがある人(賞賛)の乖離が大きいのな
実際に使ったことがある人の評価は悪くない
食わず嫌い良くないw

434:デフォルトの名無しさん (ワッチョイ d98e-kLz7)
23/06/23 20:46:57.75 fxt+MPHJ0.net
Rubyが終わっていて笑った

435:デフォルトの名無しさん (ワッチョイ 6502-C6j3)
23/06/23 21:22:08.63 wybW+H5I0.net
つーか上位ほぼスクリプト言語だな
C#健闘してる方じゃね

436:デフォルトの名無しさん (ワッチョイ 515f-C6j3)
23/06/23 22:02:02.60 EeYfvpOc0.net
ワイの超糞コードもgithubに上げればすっきりリファクタリングしてもらえるだろうか

437:デフォルトの名無しさん (アウアウウー Sacd-Tk+b)
23/06/23 22:38:35.50 G7lzLQj+a.net
>>436
超有用アプリならな

438:デフォルトの名無しさん (ワッチョイ 8dba-OLuX)
23/06/24 05:52:03.90 FvsXVYD90.net
今更だけど、.NETのLTSが三年って短すぎと思うのは俺だけ?
三年経ったらVisualStudioを買い替えて、新しいバージョンの.NETにマイグレーションしてテストして…ってそんな金誰が出してくれるんだ?

439:デフォルトの名無しさん (ワッチョイ 9d7c-NHR/)
23/06/24 07:13:32.76 e/OWmdk60.net
今のシステムは3年持たないから別に短いとも思わない
俺の会社のシステムは年4回の更新がルールになってる
テストは自動化だから追加機能のない時は1日で終わる
VSはサブスクだしvscodeでも良い

440:デフォルトの名無しさん (ワッチョイ 8dba-OLuX)
23/06/24 08:24:13.30 FvsXVYD90.net
>>439
三年持たないシステムってどういうシステム?
うちはコテコテの業務システムなので下手すると10年以上使う…

441:デフォルトの名無しさん (ワッチョイ 9d7c-NHR/)
23/06/24 09:10:16.70 e/OWmdk60.net
セキュリティやら何やらで3年以上も持つシステムってのは世の中には1つも無いぞ
10年以上使うことは出来てもそれって年々増加するリスクを抱えて使ってるだけ
俺が言ってるのはリスクを基準以下に抑えた安全なシステムは3年が限界って意味

442:デフォルトの名無しさん (ワッチョイ 9d49-F8yx)
23/06/24 09:19:27.28 fqjmYFK70.net
よほど古い体質じゃない限り、
今はCIとか自動化でFWとかのバージョンアップ含めて対応してくのが望ましいよね
持たないというか、「LTSきれるから対応する」という旧来の対応じゃなくて
継続的に最新を検証しながら順次当てていく運用がされてると思う
DBとかインフラ周りは事情変わるし、そっちに引っ張られることもあると思うけどね
体制を変えるのも企業としてカロリー高いし、中小ユーザ企業は置いてけぼりになってるかもね

443:デフォルトの名無しさん (ワッチョイ 4bbb-wJdI)
23/06/24 09:20:49.88 8BwFeyDY0.net
>>440
Web系は軒並み寿命が短くなってる
システム的な側面もあるし、使用する言語そのもののサポート期間が短くなってるって理由もあると思う
業務系だとあまり感じないと思うけどかなり深刻よ
phpとかActive support2年、Security fixes onlyな期間いれても3年だぜ

444:デフォルトの名無しさん (スプッッ Sd03-eK8M)
23/06/24 09:27:17.07 Qrp9SB+9d.net
スタンドアロンのマシンを工場に入れて稼働させるなら平気で10年使うとかあるんじゃない?
それなら別にサポート切れてもかまわんけど
問題はシステムそのままでネットワークに繋ぐけど更新するつもりがないようなケース。
既に動いてるソフトに追加で金(手間とかメンテ)かけたくない人たちはいるんだよ。

445:デフォルトの名無しさん (ワッチョイ 9d7c-NHR/)
23/06/24 09:42:16.38 e/OWmdk60.net
別に金掛けないなら良いんじゃね
動かなくなった時とか問題が起きてもサポート対象外で知ったこっちゃ無い
リスクの説明をしてそれでもリスク許容するって判断したならそれまででしょ
責任者は自分が下した責任を取るだけじゃん

446:デフォルトの名無しさん (ワッチョイ ad02-F8yx)
23/06/24 09:42:45.76 Ne+ocOnc0.net
大掛かりな業務システムだと製造自体で年超えるから、三年はまあ短すぎだわな

447:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/24 09:48:33.39 LJ+05Jz7a.net
三年経つ前に上位互換が出るのに何を困ってるんだ

448:デフォルトの名無しさん (ワッチョイ 9d49-F8yx)
23/06/24 09:52:27.28 fqjmYFK70.net
そんな大掛かりで特定のバージョンに繊細に依存するようなナイーブな業務システムを、ターゲットに入れてないんやろ

449:デフォルトの名無しさん (アウアウウー Sa69-OLuX)
23/06/24 10:09:17.87 ftOLWUwva.net
逆に.NET4系はなんであんなに長くサポートされるんだろう

450:デフォルトの名無しさん (オイコラミネオ MM31-F8yx)
23/06/24 10:32:24.72 0M7dS181M.net
一つの製品に時間を掛けると完成度は高くなる
今はそれをやらないで次々製品を出している
そのほうがメリットがあると考えてるから

451:デフォルトの名無しさん (ワッチョイ ad02-F8yx)
23/06/24 11:12:26.40 Ne+ocOnc0.net
それが出来ない分野ってのはあるんだよ
全てが同じように作ればいい訳ではない

452:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/24 11:58:36.68 M+vyHTL9a.net
>>449
コンセプトがWindowsの新しいAPIでWindowsの一部だから
新しい.NETはマルチプラットホームなのでどんどん新しくしないとOSに取り残される

453:デフォルトの名無しさん (アウアウウー Sa69-OLuX)
23/06/24 12:17:48.33 xi03mIO7a.net
Javaもそんな感じだよね…
うちみたいな昔ながらのSIerはついていけずに潰れるな…

454:デフォルトの名無しさん (オイコラミネオ MM31-F8yx)
23/06/24 12:34:32.06 0M7dS181M.net
.net coreはOSの一部じゃないから放置しても良いってことか
その割には3.1とか頻繁にWUかかるよな
何がそんなにダメなのか知らんけど

455:デフォルトの名無しさん (アウアウウー Sa69-bte+)
23/06/24 14:05:07.43 PIVgHtxEa.net
. NET Core は Windows、Linux、および macOS で動作します。
. NET Framework は Windows で動作します
だから、Linux が頻繁にupdate されるからかも

456:デフォルトの名無しさん (オッペケ Sr81-F8yx)
23/06/24 14:22:04.26 XM0MR1xzr.net
ん?
NETFrameworkもNETCore3.1/6も毎月定例でWindowsUpdateが来てるかと思ってたんだが、違うの?

457:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/24 14:28:46.29 M+vyHTL9a.net
>>456
そのアップデートが行われる期間が三年じゃ短いんじゃないかという話をしてるんだよ
frameworkの方はwindows付属なのでosのサポート期間と同じ長さになる

458:デフォルトの名無しさん (オッペケ Sr81-F8yx)
23/06/24 15:52:52.15 XM0MR1xzr.net
あ、>>456の疑問は>454に対してで
Coreのアップデート期間が短いなんて話への興味もないしサポート期間が短いという認識もおれは持ってない

459:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/24 15:56:12.83 M+vyHTL9a.net
話を変えるときには「ところで」とか言った方がいいぞ

460:デフォルトの名無しさん (ワッチョイ d52a-OLuX)
23/06/24 16:00:59.80 3NRUJc/l0.net
2008年にリリースされた.NET Framework 3.5SP1はまだサポートされてるんだよな...

461:デフォルトの名無しさん (オッペケ Sr81-F8yx)
23/06/24 16:01:33.74 XM0MR1xzr.net
え、ごめんよくわからない
このスレの流れで誰がどのレスでどう話を変えたの?
具体的にどのレスに「ところで」とかつけるべきなの?

462:デフォルトの名無しさん (ワッチョイ 23ad-L/cR)
23/06/24 19:44:52.86 nsaxU9To0.net
漢和及第

463:デフォルトの名無しさん (ワッチョイ 853a-EChz)
23/06/24 22:17:19.98 875mwHlZ0.net
>>445
リスクを説明したらFrameworkで作ってくれと言われるから
言われないようにサポート伸ばしてくれって話だろ

464:デフォルトの名無しさん (オイコラミネオ MM31-F8yx)
23/06/24 23:48:28.18 0M7dS181M.net
変な話になってるな

.NET Core 3.1のサポートは2022年12月13日で終了

しかし
OSの一部でもないのにWUが頻繁だなと言うこと

465:デフォルトの名無しさん (ワッチョイ 955f-dY7E)
23/06/25 00:29:58.39 V4eFoXc90.net
そういえば、Powershell 5.1 は .NET Framework 4.5(1年ほど前にサポート期限切れ)ベースなんだっけ?

466:デフォルトの名無しさん (ワッチョイ c5ac-nNi0)
23/06/25 00:51:28.16 /3B8vXhI0.net
どうでもいいけどここは.NETスレなの?

467:デフォルトの名無しさん (ワッチョイ 1bda-OfpS)
23/06/25 08:32:09.29 2v/o3liJ0.net
URLリンク(dotnet.microsoft.com)
URLリンク(dotnet.microsoft.com)

468:デフォルトの名無しさん (アウアウウー Sa69-6wIa)
23/06/25 09:31:39.01 Pbv9OTEga.net
ただでさえ過疎ってる板に.NETスレを建てろと…

469:デフォルトの名無しさん (スプッッ Sd03-+QuN)
23/06/26 08:54:25.45 r2qj24yMd.net
C#=.NET
やし・・・

470:デフォルトの名無しさん (テテンテンテン MM4b-6wIa)
23/06/26 09:11:37.26 BCuqrZMcM.net
VBはもう終わってるし、F#はさすがにマイナーだからな

471:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 09:51:35.07 yWmO1o4aa.net
F#なかなか始まらんな
C#がどんどん関数言語化していくから結局C#でいいやとなる

472:デフォルトの名無しさん (ワッチョイ d5e5-F8yx)
23/06/26 11:20:47.72 lp02RsUd0.net
F#が始まるとかありえるん?

473:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 11:46:00.16 yWmO1o4aa.net
今は各言語で使われてるasync/awaitもF#から始まったものだしLINQもF#のseqが源流っぽいし読みやすくて面白い熱狂的なファンのいる言語ではある
パターンマッチングや型推論もF#には劣るけどC#でできるようになったしF#ならではという部分がどんどん無くなってるんだよね

474:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 11:48:47.71 6bPwUIFfp.net
非同期がわかりにくくなった元凶かw
あんなんコロコロ都合で変える様なもんじゃ無いんだよ
最初から計画して作るものなんだから
極端な話、別の記述で独自させて書くくらいで丁度いい

475:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 11:54:40.07 yWmO1o4aa.net
非同期がわかりにくいと言ってるやつはスレッドプログラミングしたことないだろ

476:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 13:14:43.61 6bPwUIFfp.net
>>475
だからスレッドプログラミングするなら
これはスレッドですと明示すれば良いのであって
ゴニョゴニョ都合でawait/asyncを継ぎ足すなって言ってる

477:デフォルトの名無しさん (ワッチョイ 8dba-6wIa)
23/06/26 13:26:22.95 xa7FGeCo0.net
そんなこと俺たちに言われても…

478:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 13:57:22.25 AbxEqbtsa.net
async/awaitすらわからんやつにはスレッドはわからんぞ
あれでどれだけ簡単になったと思ってる
文句言うなら一度やってみてから言え

479:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 13:59:26.99 6bPwUIFfp.net
>>478
簡単になった=無駄に乱用してわけわからんくなってる

480:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 14:01:01.10 AbxEqbtsa.net
慣れろ
今時非同期は必須だ

481:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 14:06:16.36 6bPwUIFfp.net
タスク間通信を簡単に記述出来るだけで良かったのに

482:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 14:09:10.59 AbxEqbtsa.net
>>481
そういうのをスパゲティと言うんだよ
基本がなってないのにそんな大口叩いてたのかよ
素人さんの想像なんか知らんがな

483:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 14:11:51.42 6bPwUIFfp.net
>>482
同期待ちよりはマシだぞw

484:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 14:36:29.88 AbxEqbtsa.net
>>483
スレッドでもミューテックスとかで待つぞ

485:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 14:48:55.41 6bPwUIFfp.net
>>484
そう言う設計ならそれで良いだろ
無闇やたらにawait/asyncするよりマシ

486:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 15:34:19.13 AbxEqbtsa.net
プログラミングしたことないなら無理してここに書き込むなよマジで

487:デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
23/06/26 17:02:06.93 6bPwUIFfp.net
バリバリ現役なんだが、だからこそ無闇やたらの同期待ちが目に余ってしかたないんだ

488:デフォルトの名無しさん (ワッチョイ 7507-b/Kr)
23/06/26 17:24:13.02 rofd44ra0.net


489:デフォルトの名無しさん (ワッチョイ b579-7pYU)
23/06/26 17:47:57.08 xvrwDUzc0.net
async/awaitって、待ちが発生しないから
代替処理はmutexとかじゃなく
親スレッドに完了通知を投げるような実装をイメージしてた
素人の考えだけど

490:デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
23/06/26 18:03:45.93 dzJ0G1qca.net
>>489
同一スレッドでも複数のタスクが行えるのがasync/awaitのいいところ
JSなんてシングルスレッドだからね
スレッドなら待つのにはmutexやsleepを使ってデッドロックした時にはもつれた紐を解くような作業をしてたのをawaitでできるのはとても便利

491:デフォルトの名無しさん (スプッッ Sd03-eK8M)
23/06/26 21:11:57.84 aG57g/0Md.net
awaitはC#コンパイラによって即returnに展開されるぞ
Taskの終了時にawaitしたとこまで一気にジャンプする

関数の制御構造を変えるので「async」のマーカーが必要だったり返り値がTask or Task<T>になる制限がつく

Taskの完了とかを管理するのはThreadPool。
(乱暴に言えば)言語側が用意しておいたスレッドのうち、
手が空いたスレッドが手当たり次第にタスクを実行する


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch