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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 17:40:19.48 ID:oKXVP34zM.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part95
mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part136
mevius.5ch.net/test/read.cgi/tech/1520057345/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

237 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 18:36:43.91 ID:Y4/R4Zt40.net]
>俺が1人で小規模な開発してるだけだから
>いまいちオブジェクト指向のメリットを感じる場面が少ないのかな
まあこれだな

>>213の言ってる事は、OOPの「思想」としては間違いなく正しい
但し、単独での小規模開発という状況を前提にするなら「現実的なメリット」は無いに等しい

238 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 18:37:15.31 ID:EO6K8yEq0.net]
>>228
うん。君のケースだとダメだね。それだと、クラスの内部状態JudgFlagが誰でも自由に書き換えられちゃう。
だから、まずは君は基本、>>221のようなC#とか言語関係ない一般的なカプセル化について勉強しよう。

で、君のケースだと自分で書いてるが
>・引数付きのコンストラクタを使って、フラグの状態をインスタンス化
>・そのフラグのプロパティはgetのみ設定
ってやるか、
getプロパティ書くの嫌なら>>216が書いたようにC#にはreadonlyフィールドというのがあるのでそれで代用できる。

239 名前:デフォルトの名無しさん [2018/04/25(水) 18:47:02.51 ID:yqUO4I2d0.net]
おまえら変数は公開しちゃだめだけど、プロパティやgetter/setterなら公開してもいいって思っとるやろw

240 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 18:48:12.94 ID:ClmIY1xNa.net]
>>232
どこの世界でも教条的(思い込みが激しいともいう)人はいるからねw

外部から取得/設定してもらう必要がある値をフィールドではなくプロパティにしたからって
ヒューマンエラーを減らす効果なんかないのは事実

ただ機能がより少ないフィールドをあえて使うことないでしょってだけの話

オブジェクトの公開するデータは必ずしもいつも変数に入っているわけではなく、
何らかの処理の結果を返す場合もあって、その場合はプロパティになるから、
だったら全部プロパティの方が統一感があるという考え方はあるかもしれない

241 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 18:49:19.77 ID:s99z6Kr1M.net]
>>234
嘘おしえるなよ

242 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 19:04:09.02 ID:lzwohvOS0.net]
まとめると
「1人で小規模なコード書いてるだけなら
public bool JudgFlag = true
を書き換えたらダメなことぐらい自明だから、フィールドに1行書いて終わりでいい
若干雑だけど楽」
って考え方と
「いや、自分で決めたルールを自分で忘れることもあるから
ちゃんとプロパティにして触れない様にすべき
多少面倒でもコストを払うメリットがある」
って考えの対立なのかな

get;set;とか全く意味がわからなかった頃の嫌なイメージのせいで
プロパティを書く事が、「面倒・難しい」って体が拒否反応しちゃうんだよね
自動プロパティとか実装されてる今の時代に
何言ってんだって笑われそうだけど

まあ、でも色々モヤモヤしてた所がスッキリしました
ありがとう

243 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 19:24:43.78 ID:q/XXvHKQd.net]
>>237
処理の結果を返すならメソッドにしろよ

244 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 20:11:47.21 ID:ClmIY1xNa.net]
>>240
具体例
https://msdn.microsoft.com/ja-jp/library/system.drawing.rectangle.right.aspx

245 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 20:30:49.45 ID:XWOG1WtT0.net]
フォーム間のデータ受け渡しのやり方について教えてください

プログラムを起動して、最初にForm1でパラメータなどを設定、次にForm2で設定した
パラメータを元にデータを編集したいとします
(Form1で編集済みのデータをForm2に表示する、でもいいです)

このときにデータを受け渡すのは、program.cs で Application.Run(new Form1()); と
呼び出す前に

1. Form2 のインスタンスを作っておいて、それを Form1 の引数として与えてやる
2. 必要なデータのインスタンスを Main() 内に用意しておいて、そのインスタンスを
 Form1 と Form2 のそれぞれに送る
3. どっちもダメで他の方法がある

のどれが良いのでしょうか。
Form1 の中で Form2 のインスタンスを作成して、Form2 に送るという方法も考えましたが、
そうすると Form1 が不要になったときに Dispose() すると Form2 も落ちてしまいます。



246 名前:デフォルトの名無しさん [2018/04/25(水) 20:44:39.30 ID:3+niHUT+0.net]
【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
rosie.5ch.net/test/read.cgi/liveplus/1524621704/l50

247 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 21:00:51.62 ID:q/XXvHKQd.net]
>>241
それは右座標を計算して返しただけであって処理を実行するのとは違う
面倒だからここ読んで
https://msdn.microsoft.com/ja-jp/library/ms229054(v=vs.100).aspx

248 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 21:06:28.54 ID:XHhjs7vi0.net]
>>242
Form2にプロパティを追加
Form1の該当メソッド内でForm2を宣言&インスタンス化してプロパティにパラメータをセット
Show(Dialog)メソッドで呼び出し

249 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 21:09:48.37 ID:ckNZ5jJB0.net]
メッセージキューを勉強中なんですが、
MSMQとMessageQueueクラスって何が違うんでしょうか?

250 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 21:17:11.34 ID:XWOG1WtT0.net]
>>245
ありがとうございます
この場合、もう二度と Form1 を使わないという状況であれば、Form2 の ShowDialog を
呼び出す前に this.Hide(); で隠しておいて、戻ってきたら this.Dispose(); でしょうか
Hide() だけで処理を抜けるコードを書き忘れて、いつまでもプログラムが残り続けるバグを
やったので、二度と戻ってこないフォームは Dispose() したいのです

251 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 21:18:56.58 ID:XWOG1WtT0.net]
今思ったのですが、そういう使い方だとむしろ Form2 を非表示で実行しておいて、
その中で Form1 を呼び出すべき?
で、Form1 を抜けたら this.Show(); とか

252 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 21:20:04.33 ID:ClmIY1xNa.net]
>>244
頭悪そうだけど、単にバッキングフィールドの値をそのまま返すのではないケースを
「何らかの処理の結果を返す」と言っている。

処理 = 高価な処理ではない。
重かろうが単なる足し算だろうが処理は処理だ

253 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 22:11:10.02 ID:jHFwiJ5Yd.net]
Applicationに共通のパラメータ持って、Form1とForm2で共有しちゃダメなんか

254 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 22:17:09.52 ID:fPsUNFh1a.net]
使い方次第じゃないかなとは思う
双方で同時に書き換えたりするならやめたほうがいい

それ以前にタダクソダサイと思う

255 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 22:41:48.50 ID:TqrgnB+10.net]
シングルトンの出番だ



256 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 23:10:10.54 ID:Kx9WW2Xx0.net]
>>217
これやろ

257 名前:デフォルトの名無しさん [2018/04/25(水) 23:38:15.43 ID:8cfef6Y0a.net]
もう親フォーム作れば?

258 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 14:36:05.39 ID:ooZK6FZP0.net]
自作ツールをソースコード付きで公開したいのですが、
パブリックドメインソフトにするのが最善ですか?

259 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 15:37:00.65 ID:s8t3AsxEM.net]
.netで簡単に実現できる機能(メールや圧縮、画像処理等)をネイティブCのアプリで利用したいです。VC++6.0の(C++ではなく)C言語で作るコンソールアプリでです。
C#で作っでdllを作って、C++のdllでそれをコールする関数を公開すれば実現可能ですが、もっといいやり方ないでしょうか?

260 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 15:39:07.13 ID:B934JXdmM.net]
>>255
今のOSSはMITライセンスでGithubに晒すのが主流

261 名前:デフォルトの名無しさん mailto:sage釣 [2018/04/26(木) 16:34:09.89 ID:+C2ovlRwM.net]
>>256
つ C++/CLI

262 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 17:05:43.31 ID:B934JXdmM.net]
>>256
別プロセスにする
Win10のアプリなら WinRT のコンポーネントにすれば言語をまたがって普通に使える

263 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 19:19:32.70 ID:leQJqI/Q0.net]
>>256
標準入出力のリダイレクト。
古典的でダサいけどね

264 名前:241 mailto:sage [2018/04/26(木) 20:39:08.13 ID:8i3JVbEw0.net]
皆様ありがとうございました
決まりきった定番の書き方はない、と理解すれば良さそうですね

自分で色々試してみます

265 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 21:03:55.12 ID:8i3JVbEw0.net]
今度はインデクサについて教えてください

https://ideone.com/TlRwJS

例として上記のようなコードを書いてみました
これで、インデクサを使って例えば anml["whale"] とすれば1が返ってくるような、
そういうものを作りたいと思います
(classified, lifeの各プロパティはユニークではなく、specificのみユニークとします)

本を紐解きながら書こうとしたのですが、animalsクラスの中ではリストになっていないので
書く場所はなさそうです。でもMainメソッドでは利用したい側なので、ここに実装することも
できない気がします。

多分インデクサの考え方そのものがわかっていません。どなたか教えていただけると
嬉しいです。



266 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 21:18:02.97 ID:i4ujFDqn0.net]
ListじゃなくてDictionaryを使えばOK

267 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 21:54:22.87 ID:IFgymZMf0.net]
anml.FindIndex(_ => _.specific == "whale")でよくね?

268 名前:デフォルトの名無しさん [2018/04/27(金) 03:52:18.55 ID:3sBZO5RI0.net]
インデクサてのは自作のクラスにつけるプロパティみたいなものだから、List<animals>を内蔵するクラス作って
public int this[string p]{
get{ /* ここに検索して結果を返すコード書く */ }
}
でおkなんじゃねか?知らんけど。

269 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 07:42:26.78 ID:vWqu6ayt0.net]
>>263
すいません、理解のレベルが低いので、具体的にどう実装すればよいのかわかりませんでした
var anml = new Dictionary<animals, string>;
としてディクショナリは実装できたとして、要素追加の際 Add メソッドをどう書くのか、理解が
追いついていないようです

>>264
この書き方で、求めている操作は実現できそうです
ラムダ式の理解が怪しいのは勉強するとして、毎回これを書くと面倒&間違えそうなのですが、
これは「十分に簡潔な書き方」なのか、それとも「メソッド等でさらに簡潔に書ける」のか、どちら
でしょうか。

>>265
この場合、各プロパティにアクセスする際は anml[i].specific とかではなくて anml(i, specific)等
メソッドを介してアクセスすることになるのでしょうか?

270 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 07:59:23.04 ID:Ek6IpJbsa.net]
>>265は良くないよ
インデクサはループ内で使用されることを想定しておかないといけない
毎回線形検索が走るのは非効率すぎる

271 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 08:18:37.17 ID:3sBZO5RI0.net]
番号が欲しいのかanimalsオブジェクトが欲しいのか

272 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 12:24:44.14 ID:/0qPzcyMr.net]
>>267
今回の用途では速度は重要でなく、またそもそも実現方法がわからなかったので、アルゴリズムはまだまだ先の話ですね

>>268
今回欲しいのは数字です

273 名前:デフォルトの名無しさん [2018/04/27(金) 23:13:48.06 ID:9YiDAi7f0.net]
Index番号が欲しいなら>>264で十分じゃないか?
見つからなかったとき例外吐くらしいから気をつけろい

274 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 23:15:15.73 ID:9YiDAi7f0.net]
まちがえた。例外じゃなくて-1だ。すんまそ。回線で首吊ってくる

275 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 01:50:07.49 ID:E8vnEfND0.net]
>>264
アンダーバーはやめとけ



276 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 01:50:20.46 ID:fiFvLr6Y0.net]
XAMLファイルからボタンを削除した場合、CSコードの方に呼び出されることのないコールバック関数の宣言が残ってしまます
こういうのを効率よく削除する方法ってないのでしょうか?

277 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 01:54:51.50 ID:E8vnEfND0.net]
>>273
WPF?

278 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 02:32:39.82 ID:fiFvLr6Y0.net]
>>274
Xamarin.Formsで使っています

279 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 07:22:01.22 ID:bL+b5OsrM.net]
>>273
XML解析とリフレクション

280 名前:デフォルトの名無しさん [2018/04/28(土) 12:46:33.34 ID:5pWODy2i0.net]
ここでいいのかわかりませんが、質問させてください。
C#でフレームワーク ASP.Net MVCで作っています。

テーブルのフォームをPOSTしたいのですが、
動的に作成した行をどのようにサーバー側で受け取ればよいのかわかりません。

<td>
<input class="form-control" id="no1" name="no2" type="text" value="" />
</td>
<td>
<input class="form-control" id="no2" name="no2" type="text" value="" />
</td>


このように、複数行があって、noの後ろの数値は、行を追加したら増えるように
javascriptで制御しています。

サーバー側の処理として、引数を
(string no1, string no2, ・・・)と列挙してすべて書けば、
POSTデータを受け取れることは確認済みです。

ただ、ユーザーの操作で行を何行追加するかもわからず、あらかじめ想定する
最大数の引数を列挙するのも現実的ではありません。
すべてのフォームデータを一挙に受け取って、
サーバー内部のロジックで処理する方法はないでしょうか。

281 名前:デフォルトの名無しさん [2018/04/28(土) 13:53:59.42 ID:Jn+S73+O0.net]
>>277
namaに添字をつければList<T>でバインディングできるはず
https://qiita.com/kazuhisam3/items/94542f6d7ccf3acca41c

282 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 14:50:29.57 ID:X/1aPQ6Ma.net]
どうせJavaScript書いてるんならJavaScript側でJSONの配列に纏めてからAJAXでポストするのもアリ

283 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 21:58:22.96 ID:4vnB69wL0.net]
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]

284 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 22:36:40.95 ID:vp8gWtwG0.net]
Entity FrameworkでDBへのselectとかのリトライしたい場合ってどのようにすべきでしょうか
一時的なエラーだったりしたらもう一回トライとかしたいのです
例外全キャッチするのも無駄なのかなぁと思いまして

285 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 23:02:28.71 ID:8LDPRSMfM.net]
普通のRDBなら一時的なエラーなんか滅多にないだろ
400でいいよそんなもん



286 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 23:05:27.66 ID:yGhXA9la0.net]
Azure相手だと普通にあるで

287 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 23:08:01.89 ID:E8vnEfND0.net]
>>281
DbExecutionStrategy

288 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 23:33:01.91 ID:vp8gWtwG0.net]
>>284
ありがとうございます
試してみます

289 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 20:34:09.03 ID:My7UiDyw0.net]
[[[ []]]]*[[ [][] ][] } } {} [[[

290 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 19:00:22.89 ID:As5kU4Fr0.net]
とりあえず、連休ぐらいゆっくりな
オマエラ

291 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 10:44:28.97 ID:9ar3mEaia.net]
連休は機械学習でずっと計算させる予定
人間は休む

292 名前:デフォルトの名無しさん mailto:sage釣 [2018/05/03(木) 13:02:24.11 ID:Nqnp2049M.net]
人間はILコードを覚えてハンドアセンブル出きるようになるべき

293 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 13:26:57.92 ID:YEWKmWCr0.net]
winformの左辺や上辺をドラッグするとフォームのサイズが変わらずにフォームが移動してしまいますが
サイズを変更するように設定するプロパティなどはありますでしょうか
コードを書く必要がありますか?

294 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 14:32:14.37 ID:hvfEvXXP0.net]
>>289
古い脳の感覚でいえば、IL なんてハードウェアの裏づけのない、空想上の約束にしか過ぎないので、覚える気が起きない
x86-64 でおなかいっぱい

295 名前:デフォルトの名無しさん mailto:sage釣 [2018/05/03(木) 14:41:33.60 ID:Nqnp2049M.net]
>>291
情報処理試験のCASLとかも?



296 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 14:46:31.58 ID:hvfEvXXP0.net]
>>292
CASL くらいはやったよ、8080、z

297 名前:80/6809/80x86/z8000/r3000、まだ若かったからどんどん覚えることができたんだ…
でも、もうおなかいっぱいだ…
[]
[ここ壊れてます]

298 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 14:47:30.87 ID:1IvMgmqBM.net]
次元が違うだろ
ILは高級なオブジェクト指向言語
そもそも機械語に似せることを意図されていない

299 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 14:51:41.82 ID:hvfEvXXP0.net]
>>294
ハードウェアマシン語とプログラム言語との間に、なぜ仮想マシンと仮想的な言語(IL/JVM)が採用されるようになったのか?そこが今でも判然としないのです…

300 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 15:42:16.53 ID:+UDEH62l0.net]
>>295
ドライバは何故存在するの?つってる様なもんだぞそれ

301 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 15:45:53.15 ID:hvfEvXXP0.net]
>>296
いえいえ、階層性を全否定するわけではありません
「仮想マシンと中間コード」の必要性を問うているのです…

302 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 16:06:28.64 ID:+UDEH62l0.net]
仮想マシンに焦点を絞るなら、ハードウェアの差異を吸収する為では
(.netはJavaVMほどあちこちに移植されてないというだけで)

ILに関して言えば、複数の言語(C#、VB.net、F#、他)を共通のフレームワーク上で動かせる様にする為

303 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 16:13:17.79 ID:ioUmuI6x0.net]
>>298
それならハードウェアや言語の統一を目指したほうが建設的なのでは?

304 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 16:19:16.65 ID:+UDEH62l0.net]
>>299
不可能だろう
収斂進化により表面上似た様な機能を搭載する事はあっても、内部構造は特許なり権利なり絡んで来るから同じに出来ないし
JavaScript+CSS3ですらブラウザベンダ間で足並み揃えられないのに、言語の統一なんて出来る訳が無い

305 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 16:37:31.89 ID:hvfEvXXP0.net]
現状、中間言語側でも少なくとも JVM/.net framework にわかれちゃっているからねえ…



306 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 18:59:07.03 ID:OyWVOyw+0.net]
>>301
LLVMの中間コードをご存知でない?

307 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:06:23.30 ID:hvfEvXXP0.net]
>>302
LLVM はコンパイラの中で完結しているのではないかな?

308 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:12:34.62 ID:R63QgqLH0.net]
?

309 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:15:49.37 ID:OyWVOyw+0.net]
>>303
コンパイラ開発者はとりあえずLLVM-IRに変換すればいいし最終段で機械語に変換するか直接実行するか他の言語のコードに変換するかは自由
というか最初と最後だけ作ればいいわけだから寧ろLLVM-IRが中心

310 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:22:47.84 ID:hvfEvXXP0.net]
>>305
うん、それはよくわかる
すべての「構造化」を全否定するわけではないんだよ

311 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:24:37.99 ID:R63QgqLH0.net]
すまん、途中から意味分からん

312 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:27:41.50 ID:kS9rU1V5a.net]
.netは仮想マシンなんかつかってないじゃん

313 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:42:37.77 ID:hvfEvXXP0.net]
>>308
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA_(%E5%85%B1%E9%80%9A%E8%A8%80%E8%AA%9E%E5%9F%BA%E7%9B%A4)
仮想マシン VES は定義されているようだ

314 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:45:56.40 ID:Vq5AVdhm0.net]
おい!初心者の内容じゃねーぞw

315 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 20:04:38.77 ID:kS9rU1V5a.net]
>>309
VESは最終段階のコンパイラだよ



316 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 20:12:05.92 ID:OyWVOyw+0.net]
JITコンパイルはVMとしては認めない派閥が存在することは認める

317 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 20:31:23.35 ID:GKu15pasa.net]
https://www.slideshare.net/ufcpp/ss-34533225
このスライドの67枚目の「良い例」のコードってこれで本当にいいの?

MSDNのParallel.Forの解説には
---

318 名前:
localFinally デリゲートはスレッドごとに 1 回呼び出され、各スレッドのローカル状態に対して最後の操作を行います。 このデリゲートは、同時に複数のスレッドで呼び出される可能性があります。したがって、共有変数へのアクセスを同期する必要があります。
---

と書いてあるから、countはアトミックに操作しないとまずい気がするんだけど
https://msdn.microsoft.com/ja-jp/library/dd783299(v=vs.100).aspx
[]
[ここ壊れてます]

319 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:13:05.22 ID:L6Rknns90.net]
>>313
MSDNの使用例にも
localState => Interlocked.Add(ref result, localState)
とあるしそれで正しいと思うよ

320 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:46:41.74 ID:GKu15pasa.net]
>>314
いやだから、MSDNのサンプル通りにするなら、>>313
localCount => count += localCount
は、

localCount => Interlocked.Add(ref count, localCount)
でないとまずいと思うんですが

321 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:48:43.65 ID:ygisZEFQM.net]
そうだねだからどうしたの
資料公開してる本人に言えばいいんじゃないの

322 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 22:02:53.69 ID:nzAwdXFB0.net]
大して変わんねーよ
そんなに処理分けたきゃ
別exeにしてキックしろよ
後はできるならOSがうまくやるし
OSがうまくできなかったらそりゃできないんだろうよw

323 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 22:05:27.65 ID:WY9OnNQR0.net]
どうした発作か

324 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 23:06:32.43 ID:L6Rknns90.net]
>>315
いや、>>313の言う通りと言ったつもりなんだが・・・ふらっと怖いな

325 名前:デフォルトの名無しさん [2018/05/03(木) 23:38:41.22 ID:aADwc6210.net]
おバカwebを鵜呑みにしない有望な>>313なんやからもう少し優しくレスしてやれよw



326 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 00:16:38.85 ID:Xm9CVOioa.net]
この例だとForよりAggregate使ったほうがいいな

327 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 00:37:22.14 ID:pvqh60Bra.net]
>>319
自分の日本語に疑問を持たない君の方が怖いよ

「これ(A)」でいいのか、Bじゃないのかって質問に「それ」で正しいと答えたら
質問した方は普通は正しいのは「これ」の方だと理解する

328 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 02:08:40.41 ID:DbHU5BaK0.net]
C♯でJavaScriptで生成されてるチャットサイトからコメントビューアを作りたいのですが、JavaScriptが生成したHTMLを取得するのに適したライブラリってどれでしょうか?
Formアプリで作る予定ですが
webBrowserコントロールが一番手軽でしょうか?

329 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 02:10:39.64 ID:DbHU5BaK0.net]
>>323
追記
使う.Net frameworkは4.6.1です
Nugetで公開されてるライブラリ等でも問題ありません

330 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 02:53:44.45 ID:JYHlDWX6M.net]
javascriptで生成といっても生成元になるデータを何処かでリクエストしてる筈
そっちを解析して直接的にHttpClientでgetしたほうがええよ

331 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 04:15:13.73 ID:DbHU5BaK0.net]
ありがとうございます
単純にセッションが必要っぽそうだったのでHttpClientでもいけそうです
使い方調べ直します

332 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 16:58:55.69 ID:wDfbuSiA0.net]
おバカwebと言えば↓みたいに日本語と英語で全く逆のことが書いてあったりする
基本的にwebに書いてあることは疑ってかかったほうが良さそうね

日本語
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/best-practices-strings#recommendations_for_string_usage
> 比較のために文字列を正規化する場合は、String.ToUpperInvariant メソッドではなく String.ToLowerInvariant メソッドを使用します。

英語
https://docs.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings#recommendations_for_string_usage
> Use the String.ToUpperInvariant method instead of the String.ToLowerInvariant method when you normalize strings for comparison.
(グーグル翻訳) 比較のために文字列を正規化するときは、String.ToLowerInvariantメソッドの代わりにString.ToUpperInvariantメソッドを使用します。

333 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 17:22:00.73 ID:0gwAiFk4d.net]
>>327
X:webに書いてあることは
○:日本語訳は

334 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 19:43:22.77 ID:RYlEGIXb0.net]
グラフィックの扱いについて教えてください

panelに複数の画像イメージを貼り付けたいと思います
(トランプのカードを任意の枚数置くような感じです)

WidthとHeightをpanelのサイズに合わせて、Bitmapオブジェクトを
作ってそこに必要な画像を貼り付けて、最後にPaintイベントでその
ビットマップを Graphics.DrawImage で表示すれば良さそうだ、という
認識です

問題はBitmapオブジェクトに画像を貼り付けることで、メソッドを
調べても、Bitmapオブジェクトの任意の場所に任意のイメージを
貼り付けるものはなさそうです
そもそも用意した画像は Image.FromFile で準備しているのですが、
Imageオブジェクトを貼り付けられるのは Graphics.DrawImage
メソッドになるので、そもそも Bitmap オブジェクトを用意すると
いう発想が間違っているような気もします

多分いろいろ間違って認識しているので、どこから考え直せばよいか
教えていただけると嬉しいです

335 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 19:54:32.04 ID:EvkA5vHv0.net]
>>329
ベースの画像のいくつかの任意の位置に画像を貼り付ける描画ならそれで間違っていないけど
https://msdn.microsoft.com/ja-jp/library/system.drawing.graphics.drawimage(v=vs.110).aspx
https://msdn.microsoft.com/ja-jp/library/558kfzex(v=vs.110).aspx
どこを勘違いして悩んでいるのかいまいちわからない
とりあえずBitmap オブジェクトはImageオブジェクトの一種
他にMetaFileとかあるから
そしてGraphics.DrawImageメソッドを使って貼り付けてもベースのBitmap オブジェクトはBitmap オブジェクトのまま



336 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 20:25:52.55 ID:RYlEGIXb0.net]
>>330
私の認識は、最終的に描画したいビットマップを用意して、それを Paint イベントで
描画するというものです
Panel1_Paint(object sender, PaintEventArgs e) {
e.Graphics.DrawImage(canvas, 0, 0);
}

で、上記の例で Bitmap canvas; とでもして用意したビットマップに、任意の画像を
貼り付ける方法を知りたいのです
例えば256x256ピクセルのサイズで用意したビットマップに、32x32ピクセルの
画像を3個位貼り付けた canvas を用意したいというものです

「そうではなくて、最終的に描画したいものはGraphicsオブジェクトで用意して、
Paintイベントで毎回描画するのだ」というのが正なのかもしれません
Panel1_Paint(省略) {
e.Graphics.DrawImage(image_1, image_1_x, image_1_y);
e.Graphics.DrawImage(image_2, image_2_x, image_2_y);
...
}
といった感じで

でもなんだか、毎回Paintイベントハンドラに描画処理を全部書くのは変な感じがして、
描画したい画像を用意するのと、実際に描画するのは別の処理ではないかと思っている
次第です

337 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 20:30:54.11 ID:Ad2tmUBO0.net]
描画したい画像を用意するのと、それを描画するのは当然別の処理だ。
でもアニメーションさせたいとか画像の変更を即座に描画に反映させたいとかなら、用意した足で再描画させるしかないだろ?






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

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

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