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


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

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



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

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

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part138
https://mevius.5ch.net/test/read.cgi/tech/1528194762/
■コードを貼る場合は↓を使いましょう。
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/

331 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 17:43:15.60 ID:dU0KocTd.net]
>>314
盛大に勘違いしてそうだけど、C#のデストラクタは
そのクラスのインスタンスを利用するプログラマがDisposeを呼ぶコードを
書き忘れた(つまりバグ)場合のフェイルセーフ以上の意味は通常はないっすよ
つまりIDisposableを実装しないなら普通はファイナライザも必要ない

ファイナライザは何か不思議な力でリークを解決してくれるマジックじゃありませんw


初心者がごちゃごちゃ頭の中でくだらないこと考えても意味ないよ
どうせそんなの盛大に間違ってるw

そんな暇があったら理解できなくても少しでもドキュメントを読んだ方がいい

332 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 18:08:24.51 ID:eNdvG/21.net]
SqlConnectionクラスでDB操作するのですが、ACID特性の担保は設計でやるのでしょうか?SqlConnectionとDBMSが隠蔽してくれるのでしょうか?

複数ユーザー利用時のトランザクションのロックとか自力実装する必要があるのかなと思い

333 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 20:55:02.11 ID:k+Te8Uzr.net]
>>310
毎回テキストボックスをクリアして反映するの?
それとも差分を抽出してその部文だけ表示を変更するの?

334 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 21:12:25.67 ID:ZwfzJAPn.net]
>>316
CLRProfiler使ってちゃんとリークオブジェクトがないか確認してみるといいよ

335 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 21:47:14.81 ID:7EVWbyOU.net]
>>319
ACIDはあくまで利用者から見たシステムの性質
一般的なRDBにはACIDを実現するために必要な機能が備わっているが、それを使ってACIDなシステムを作るのはお前自身だ
アトミックなトランザクションを使ったからってお前のアプリのリクエスト処理が勝手にアトミックになる訳じゃないぞ

336 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 22:28:21.69 ID:Is8FvumJ.net]
>>320
テキストボックスはでかい文字列扱うと遅いから
高性能なの作るなら独自コントロール

337 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 22:34:45.87 ID:Is8FvumJ.net]
>>314
c#は空きメモリに余裕がある時は積極的にメモリの回収をしないから、一見リークしてるように見える。
IDisposeの使い方は単純で、使い終わったら自分でDispose()メソッドを呼ぶだけ。
Dispose()を呼び出し忘れた時のためにデストラクタからも呼ぶように書くけど。

338 名前:デフォルトの名無しさん [2018/08/31(金) 22:52:13.57 ID:iUPXUGud.net]
>>323
本格的なテキストエディタを作るなら
どうしても独自コントロールになるよな

テキストボックスじゃデカいファイルだと無理がある

339 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 23:52:12.65 ID:ETlCxkfg.net]
C#のデストラクタはおまじない程度の効果と聞いた



340 名前:デフォルトの名無しさん [2018/09/01(土) 01:29:15.12 ID:ZVoFY83K.net]
デストラーデっていつ発動するんだっけ?

341 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 09:40:22.35 ID:PbkphExB.net]
デストラクタはいつ動くかわからないから使い勝手がわるい

342 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 10:07:42.55 ID:aEdJ57k5.net]
そもそも処理が重いので可能なら使わない方が良い

343 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 12:17:11.69 ID:1Fa0uhaD.net]
>>323
横から失礼。まったくの素人質問で申し訳ないのですけど
独自コントロールのテキストボックスってKeyDown命令を検知したりして
必要な処理を一つ一つ作っていくんですか?

慣れてきたら挑んでみたいけれど何をどこから調べればいいのかわからないので
そのあたりの仕組みやヒントが学べそうなサイトや教本ってあります……?

344 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 12:21:41.75 ID:+BAvd4bn.net]
>>330
初心者の範疇じゃない
さらに言えば中級者の範疇でもない

c# avalon editorでググればいい

単体でエディタを自作するのは愚かなこと
Visual Studio Codeなどの拡張機能を作るのが正しい

345 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 12:26:00.33 ID:HRxiLrgz.net]
オープンソースのコードエディタのソースを見れば参考になるかもね
言語は違うけどVSCodeやEclipseなど

346 名前:デフォルトの名無しさん [2018/09/01(土) 12:28:04.00 ID:RGySrVo/.net]
メモリ解放の部分だけC++で作成して呼び出せないの?
どう呼び出してメモリのどの部分をどう開放させれるのかとか一切しらんけど

347 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 12:31:07.58 ID:nKX/MoF5.net]
>>333
C++で.Netをオーバーライドとかなかなか無い発想だね

348 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 12:40:19.46 ID:HRxiLrgz.net]
>>333
Roslynをフォークして自作してみてはどうだろう
未だにこうやって.NET(というかGC)のメモリ管理に不満を言う人が居なくならないということは
決定的なメモリ管理にはある程度の需要が確実にあるということ
そういう人たちのヒーローになれるかもしれない
それでパフォーマンスや生産性が上がると本当に実証されればMicrosoftからもアプローチがあるかも

349 名前:デフォルトの名無しさん [2018/09/01(土) 12:48:05.08 ID:c3Y0wsEI.net]
>>330
超簡単に言うとWindowsならAPIのテキスト描画関係の
関数を使ってキーイベントを拾ってとかやっていく
Win32APIでググれば参考になるサイトがいくつも出てくる

言うのは簡単だがやるのはもの凄く大変だけどね

>>331
勉強にはなるけどね
その通り中級者の範疇でもないから、かなり実力を付けとかないといけないな



350 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 13:06:24.02 ID:1Fa0uhaD.net]
>>331
ありがとうございます! 初心者の範疇ではないとは薄々……!
テキストエディタ特化のライブラリがあるんですね、先人は偉大だ……
最終的には自分で使う用に物書き方面に特化した文章エディタを作りたいので先は長いです
avalonエディタに触れてみながら参考になる部分はないか色々探ってみます!

>>332
確かにC#で作られたものじゃなくても仕組みの理解に繋がりそうではありますね!
基礎の基礎は終えた今なら少しは中身を探れるかもしれないので
探して覗いてみます、ありがとう!

>>336
なるほど、ググりながらよく分からないままに使っていた
User32.Dllまわりの正

351 名前:フがそれなんですね……!?
ありがとうございます、勉強になります! 探ってみます!
色々できるようになりたい!
[]
[ここ壊れてます]

352 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 13:14:14.49 ID:+st2vgph.net]
gcがある言語ならgcにお任せするもんでは?

353 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 13:53:17.71 ID:c3Y0wsEI.net]
>>337
Gdi32.dllもな

354 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 14:09:16.29 ID:P+AKCe3z.net]
>>338
一応GCも自前管理もできる言語もあるらしいし
主流にはなってないみたいだから大多数は特に望んでないのだろうけど

355 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 14:32:33.00 ID:aEdJ57k5.net]
ゲーム用途とかのリアルタイム処理向けGCに入れ替えできたら面白そう

356 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 14:39:09.32 ID:mjuKggTp.net]
ゲームはそもそもリソース使用量決まってるんだからプレイ中にGC動いたりはしないよ
シーン切り替えと一緒に動かす程度だよ

357 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 17:48:39.66 ID:CnyU+b4T.net]
LinuxのMono Developの使い方のついて、ここで聞いてもいいかな?

358 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 17:57:37.75 ID:lAVUzhE8.net]
>>343
時代遅れのものは使わずVScode使って該当スレへ行ってください

359 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 13:14:32.35 ID:oOf4f4g2.net]
>>343
さすがに今時そんな廃棄物は使うなとしか言えない
LinuxならRider買うかVSCodeで我慢しなさい



360 名前:デフォルトの名無しさん [2018/09/03(月) 17:03:56.62 ID:dGDVASpD.net]
websoketで大量データ受信しながら他の処理を非同期で遅延なく処理するには、別プロジェクトで共有メモリアクセスがいいか、単純に別スレッドでInvokeするのはどちらがいいでしょうか?
というより、王道な設計パティーンを教えて下さい。

361 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 17:27:25.38 ID:vcilZH89.net]
>共有メモリアクセス

こういう発想がどこから出てくるのか?

362 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 17:29:17.86 ID:QhFCG6IW.net]
>>346
王道な形はwebブラウザ

363 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 17:41:54.34 ID:ttVcJTrG.net]
VSCode でも使っている、Electron とか

364 名前:デフォルトの名無しさん [2018/09/03(月) 18:08:25.48 ID:dGDVASpD.net]
>>347
だめですか?

365 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 18:13:45.54 ID:9RGmKGyN.net]
>>350
だめとかの前に具体的な形考えたうえで書いている?

366 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 18:17:15.88 ID:oOf4f4g2.net]
受け取った大量データを他の処理で使いたいってことか?
使うのが受け取りが完了してからでいいんだったら普通にファイルに書けばいい

367 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 18:24:29.32 ID:vcilZH89.net]
>>350
共有メモリを使うと言うことは別のプロセスと通信すると言うことだね
わざわざリソースを食う共有メモリを使って処理速度を遅くして何がしたいんだ?

368 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 19:07:52.86 ID:EUoYWljm.net]
前スレでシリアルポートの使い方を聞いた質問者か?
相変わらずズレた考え方してんな

369 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 19:29:03.44 ID:vcilZH89.net]
普通はプロセスごとにメモリが分離しててどちらかがおかしくなっても他に影響しないように作られてる

それを無理やりOSを使って通信してるのが共有メモリで実際は共有してない



370 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 19:33:07.93 ID:ACnp/Uoo.net]
別プロセスする必要なしと言えばいいのに
なんてひねくれた奴らだ

371 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 19:42:32.34 ID:NR0nQ5XR.net]
>>356
ファイル連携で済むくらいにすっぱりと綺麗に分けられるなら分けるべき
共有メモリが必要になるような密な連携が必要なら本末転倒

372 名前:デフォルトの名無しさん [2018/09/03(月) 19:49:50.99 ID:lS5Tq6xt.net]
何が本で何が末やら全くわからん件

373 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 19:54:16.82 ID:NR0nQ5XR.net]
本: 目的の達成
末: プロセスの分割
本末転倒: プロセスの分割により目的の達成が逆に遠のいている状況

374 名前:デフォルトの名無しさん [2018/09/03(月) 19:58:46.45 ID:lS5Tq6xt.net]
>>359
共有メモリが必要なら必要な事をしとるだけで遠のいとらんやろ
何を言いたいんやおまえは? []
[ここ壊れてます]

376 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 20:06:23.97 ID:BfF9DJB1.net]
答える気がないことだけは分かった。
じゃーなゴミクズども。
家族や先生以外とコミュニケーション取ろうとしてんじゃねえよ池沼クサレガイジが。

377 名前:デフォルトの名無しさん [2018/09/03(月) 20:21:12.20 ID:lS5Tq6xt.net]
答える気がないのではなく答える能力がないのだという事だけは知っておいて欲しい
決して悪気があるのではない、むしろ彼らは答える気に満ち溢れているのだ

378 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 21:06:49.10 ID:ttVcJTrG.net]
普通は、共有メモリなんて考えない。
何が目的なのか、わからない

A | B | C

パイプなんて、これで処理完了する。
共有メモリもクソもない

メモリなんて、OS が勝手に共有しているだろ

379 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 21:13:29.70 ID:vevNEWn4.net]
普通にやるならtaskでcontinuewithするとか?



380 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 21:16:04.89 ID:C1+EoShM.net]
>>361>>362
ファイルにしろとかみんな答えているだろ
処理内容もわからないし処理するもののフォーマットや大きさが決まっているのかもわからない
そんな内容で細かく的確に導けって無理だから
ここ質問者だけでなく回答者もみんな初心者が来るスレだよ

381 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 21:59:51.88 ID:YJr4EDHr.net]
>>346
スレッドセーフなキュー(BlockingCollectionとか)を用意して、
受信してキューにデータを入れるタスクと、タスクからデータを取り出して処理するタスクに分ける。

382 名前:デフォルトの名無しさん mailto:sage [2018/09/03(月) 22:12:38.21 ID:NrThtKWO.net]
MQ使えよ。標準機能にあるぜよ

383 名前:デフォルトの名無しさん [2018/09/04(火) 05:57:09.73 ID:u5J3mHSN.net]
同期・非同期通信のサンプルを探しているのですが、知識がないので、サンプルの善し悪しが分かりません。

実際に動かしてみてこれは良さそうだと思ったんですが、もっといいサンプルはありますか?
https://docs.microsoft.com/ja-jp/dotnet/framework/network-programming/socket-code-examples

384 名前:デフォルトの名無しさん mailto:sage [2018/09/04(火) 13:00:56.54 ID:JkSql3w1.net]
JavaScript, jQuery などの非同期処理は、Deferred、ES2015ではPromise

他に、ES2015のGenerator、Async/Await

385 名前:デフォルトの名無しさん mailto:sage [2018/09/04(火) 17:47:51.73 ID:B4hp9gin.net]
>>217
未確認飛行は自分は最初きつかった
本当に最初は1週間で学べるc#が助かった

386 名前:デフォルトの名無しさん mailto:sage [2018/09/04(火) 18:23:01.71 ID:xdg0c65C.net]
>>369
スレタイ読めないのかな

387 名前:デフォルトの名無しさん mailto:sage [2018/09/04(火) 18:59:47.33 ID:2N5HXzo8.net]
Rubyガイジだろ
優しくしなさい

388 名前:デフォルトの名無しさん mailto:sage [2018/09/04(火) 20:02:49.34 ID:KXm2oNE8.net]
>>368
昔ながらの非同期処理としては鉄板だけど、async/await使うならこことかかなあ
https://qiita.com/tadokoro/items/76085061c38de3d021c0

389 名前:デフォルトの名無しさん mailto:sage [2018/09/04(火) 23:30:43.13 ID:MLAZDoHF.net]
ライブラリ関係って聞いても大丈夫ですか?
ウィンドウをタブ化したくてDockPanelSuiteを導入したのですけれど、
DockStyleをFloatとDocumentしか使わないのですが
ウィンドウをFloatの状態からDockPanelのどこにドラッグアンドドロップしても
DockPanelに収納できるような設定はありませんか?
今の状態だとタブ一覧の上に持って行かないと反応してくれなくて…

スレチだったらすみません



390 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 07:03:56.71 ID:VaHR8CA9.net]
>>273
ExcelDataReader ででエクセルを読み取るのをググって調べてるんですが、英語で書かれててよく分かりません。
シート1のセルA1の値を読み取るサンプルコードを教えて下さい。

391 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 0 ]
[ここ壊れてます]

392 名前:8:44:06.60 ID:faIDkIPM.net mailto: 英語で書かれててよくわかりませんって、パワーワードだよな。
よくいるけど。
[]
[ここ壊れてます]

393 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 08:52:00.83 ID:Utg8HVgU.net]
今はMSも日本語翻訳に昔ほどのリソースを割かなくなっていて、英語が読めないとMSDNもまともに読めない時代になってる
英語読む気ないならやめた方がいい

394 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 08:54:04.24 ID:t8SDBZY6.net]
docsじゃなくて?

395 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 09:04:06.00 ID:jUbmg1Bj.net]
ExcelDataReaderで検索したら使ってみたってページすぐ見つかるじゃん

396 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 09:42:29.44 ID:ldiBrb1r.net]
ChromeつーかGoogle翻訳が最近賢いから
英語読むこともかなり減ってきたわ

397 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 09:46:07.75 ID:QYx0ZVvn.net]
>>380
ところがMSDNになると話は別
まったく逆の意味に翻訳されることもある
というか多すぎる

英文見ると一発でおかしいとわかるけど

398 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 09:57:13.79 ID:6xDXCsXb.net]
MSDNの機械翻訳ってなんであれほどまでにアレなのか
昔よりひどい気がする(気のせい)

399 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 10:25:50.71 ID:weayVUk8.net]
昨今のAIだかdeel learningだかのブーム。ハードウェアは何倍とか進んでるけど、ソフトウェア的には、全然、世の中便利になったと実感わかない。



400 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 11:29:06.83 ID:oU3nYC4L.net]
>>382
機械翻訳の質は確実に向上している
向上した分だけ人力修正の工数を削減しているのだ

401 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 11:45:07.64 ID:ldiBrb1r.net]
逆の翻訳って
この前の炎上してたやつとかな

MSDNの機械翻訳は昔から酷いな

402 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 11:47:04.41 ID:SyDlVyYO.net]
>>384
なわけないでしょw
人力使った修正なんか昔もやってないからww

プログラマの端くれならAIブームなんてバズワードだって最初から分かれよ
機械翻訳の質なんか工場する訳がない
機会は文脈を理解できない、というのが問題の根本なんだが、それを解決する理論なんか何も見つかってないんだから

403 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 11:54:12.12 ID:NmNBYqq+.net]
>>386
MSDNのドキュメントが機械翻訳ベースで人間が校正してたのは有名な話だぞ
今は「英語で読む」スイッチが付いて、英語に抵抗がない人にとっては使いやすくなったね

404 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 12:33:12.01 ID:8BhrS90z.net]
日本語だと漢字の熟語とかで書いてることが一目でなんとなくわかるけど英語でも慣れればそうなるの?

405 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 12:38:10.26 ID:mBdcezsc.net]
まずスレタイ読めるようになろうな

406 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 12:38:46.31 ID:o1PiTYm1.net]
google翻訳やMSの翻訳は複数の文がコンマでつながれてる文とか壊滅的に訳がおかしい
係り受けや接続もおかしい

407 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 12:39:54.11 ID:vNhhiwgZ.net]
自治厨クッサ w
そういうのいいから

408 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 15:52:59.11 ID:p4jLi+A7.net]
>>386
んー?でもよくある文章と似たようなワードが出てくるようなときは
かなりの確率で概ね使う構文が一致すんじゃねーの?

409 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 17:37:26.80 ID:/mbhrlqw.net]
まだ夏休み中の子供たちが書き込んでいるのか。いつ終わるのかな



410 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 20:45:00.94 ID:6xDXCsXb.net]
お前の幸薄い人生の方が先に終わる

411 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 03:47:19.07 ID:zXYr6cPt.net]
>>383
ムーアの法則がのびのびになっているのに今更何を言ってるの?

412 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 08:03:45.96 ID:8wNQzUcB.net]
>>395
CPUはのびてないけどGPUのテンソルコアは何倍とか急激

413 名前:延びてるのも知らないの? []
[ここ壊れてます]

414 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 08:26:21.75 ID:8wNQzUcB.net]
汎用コアでやってたものを専用コア使い出したり、推論?は単精度じゃなくて半精度で十分だったりでここ数年どんどん最適化進んで急激に延びてんだよ
だから余裕でムーアの法則以上に性能上がってるわ

(たぶん)

415 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 10:11:31.20 ID:BzRDAIRM.net]
上がってないよ
ムーアの法則が成立したのはもう10年以上前のPentiumIIIの頃まで

GPUGPUなんてマルチコア化と同じ苦し紛れに過ぎず本質的なものじゃない

416 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 11:21:20.12 ID:hEScr/Qj.net]
FPGAとかもあるぞ
だがスレ違い

417 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 11:24:39.92 ID:7j2SToAT.net]
マイニングだって汎用CPUで演算してたものを専用のFPGAとかASICにすりゃマイニング性能は爆上がりだろ。
ビデオエンコードだって専用HWで爆速(品質は知らね)

上がってない?って何が上がってないの?

単コア辺りに性能で比較してるんじゃねぇわ
文脈をちゃんと捉えたほうがいい。

418 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 11:43:27.49 ID:BzRDAIRM.net]
実にアホな議論だ

計算機は汎用であることに意味がある。
専用ハードなら〜なんて話は、たとえが古いが画像処理専用チップを持ってるファミコンの
ゲームだけ見て、ファミコンの方がPCより高性能だというのと同じ倒錯

419 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 11:57:46.78 ID:7j2SToAT.net]
もとから汎用演算の性能の話なんてしてねぇのに読解力ないやつが話に混じろうとして荒れるパターンってやつですね

たかが数レスのやり取りを勘違いするなんて相当読解力ないんですね。



420 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 12:15:05.22 ID:Yg5/0qIe.net]
今さらwpfで作る理由ない?
そもそもwpfで作られたアプリが見当たらないし

421 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 12:18:30.13 ID:81SkF9sN.net]
知らないだけ

422 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 12:18:36.33 ID:Mg/mQaA6.net]
>>403
GUIにこだわりがあるとかUWPにいずれ移植したいとかなら
業務で使っているとかはあまり聞かないから趣味の世界っぽい

423 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 12:41:04.75 ID:2OVIK4Yi.net]
>>403
知らないだけ

424 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 12:42:53.94 ID:FeLrEgsW.net]
>>403
>>405
VisualStudioやNuGetPackageExplorer見たことない人たち?

425 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 13:08:44.64 ID:/FACCQq3.net]
>>407
ところがVSのInstallerはWPFからElectronにリプレースされたんだよなあ
MS的にはできるだけVSCodeとリソースを共有したいだろうから、次期バージョンではほぼ確実にVSのワークスペース内にElectron入れてくるよ

426 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 13:55:14.55 ID:DFj+i+04.net]
>>408
そこに深い意味があるとは思えないw

昔のExpressのインストールディスクの起動画面もHTAだった気がしたけど、
あれだってHTAであることに特別意味があったわけじゃなかろう

427 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 16:14:10.25 ID:Yg5/0qIe.net]
>>405
MSも捨ててるしねえ
UWPも誰も使ってなくない?

>>406
教えて

428 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 18:42:49.75 ID:vsw29ZWk.net]
有名どころだとSourceTreeだな、むしろこれはいまだにElectronとかにしない理由がわからん(GitHub for Windowsはそうなった)
他は知らん

MSもVS,Blendは別とするとWinDbg Previewで使ってるくらいじゃね?

野良アプリはちょくちょく見るけどキリがないので割愛

429 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 20:12:45.37 ID:RXSnHqjc.net]
WPFはWindows10のスケーリングに対応しているのかね?
Winformで作ったらWin1



430 名前:0スケーリングな人からボロクソに叩かれたからリベンジしたい []
[ここ壊れてます]

431 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 20:14:49.96 ID:vwxBR5u1.net]
Windows7で作っていたWinformのアプリがたくさんあったけどWin10にしてスケーリングで問題出たものは一つもないな

432 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:15:20.65 ID:vsw29ZWk.net]
>>413
4.6.2以降ならmanifest宣言すればPer Monitor DPIもWPF内でやってくれる

https://github.com/Microsoft/WPF-Samples/tree/master/PerMonitorDPI
ここのDeveloper Guideを参照

WinformsはSystemAwareの範疇でも見ても中途半端に対応していたせいで
Win32生でやるよりHiDPIで崩れてるアプリが多い気がするなw

433 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 23:08:09.49 ID:fUpyP9r6.net]
>>412
WPFは仮想DPIなので元々何もしなくてもスケーリング対応(System DPI aware)
※Per Monitor DPIでは無い
4.6.2以降はmanifestで宣言すればPer Monitor DPIも対応
4.6.2未満もapp.configで宣言すればPer Monitor DPI対応するらしいけど、確認はしてない

434 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 23:14:44.26 ID:DFj+i+04.net]
でもPer Monitor DPI自体がポンコツで使い物にならんからなあw
活用してる人がどれだけいるか

435 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 23:54:26.00 ID:ZAMf2Fva.net]
他のアプリケーションの持ってるDataGridViewをゴリゴリ弄りたいんだけど何かいい方法ないでしょうか。
持ってるプロパティやデータも読みたい。
しこしこSendMessageするのは現実的ではないと思いまして。

436 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 00:07:44.07 ID:edPtcLES.net]
流行りのRPA使えば

437 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 22:13:02.02 ID:UPnWNaJM.net]
RPAは自動化処理としては不完全
SendMessageしこしこした方が確実なのは言うまでもない

438 名前:デフォルトの名無しさん mailto:sage [2018/09/07(金) 23:15:50.54 ID:JDDOE++X.net]
ほとんどのプロセサに共通して言えるのは
整数演算性能はどうでもいい扱いになってることだな

439 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 18:37:21.78 ID:P2ummhES.net]
エクセルを『ClosedXML』で読み込んで、A2からセルを順に下に見ていってセルが空まで繰り返すって、どの繰り返し文が理想ですか?



440 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 18:43:33.91 ID:FyKgo8MI.net]
>>421
while(true){}

空行が100行続いたら抜ける的な

441 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 01:32:47.82 ID:Jsw/KSGz.net]
private void AAA()
{
var list = new List<Myclass>();
var numberList = new List<int>()
{
1, 2, 3, 4
};

Myclass mc = new Myclass()
{
Nunber = 0,
};

int i = 0;

foreach (var n in numberList)
{
if(n == 1){
mc.Nunber = 1;
list.Add(mc);
Console.WriteLine("1={0} ", list[i].Nunber);
}

else if (n == 2) {
mc.Nunber = 2;
list.Add(mc);
Console.WriteLine("2={0} ", list[i].Nunber);
}


つづく

442 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 01:33:12.59 ID:Jsw/KSGz.net]
else if (n == 3) {
mc.Nunber = 3;
list.Add(mc);
Console.WriteLine("3={0} ", list[i].Nunber);
i += 1;
}
}

foreach (Myclass n in list)
{
Console.WriteLine("res= {0} ", n.Nunber);
}
}
}

public class Myclass
{
public int Nunber { get; set; } = 0;
}

443 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 01:35:58.68 ID:Jsw/KSGz.net]
上記を実行すると

1=1
2=2
3=3
res= 3
res= 3
res= 3

となります
list.Add(mc) でlisの要素の最後に追加しているのに
res ではすべての要素が"3" になっています
なぜなんでしょう?

444 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 01:41:58.64 ID:4pnQI32t.net]
mc一個しか作ってないからだろ

445 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 01:58:50.78 ID:u3SYaGhq.net]
list={ mc ,mc ,mc}になっているんだよな
ループ中でインスタンス毎回作らないと

446 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 06:41:51.42 ID:k9vEXAki.net]
c#と言うかプログラミングの勉強始めたばかりなのですが、例外とエラーコードの違いがよくわかりません

447 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 07:45:28.87 ID:ndgOlWH8.net]
使い分けるものではないから違いを気にする必要はない
エラーコードはどうしても必要な特別な場合を除きC#では使わない
人によっては業務エラーは戻り値を使うべきだとか色々な主張があるが、今はまず標準的な方法を学ぶ段階であり、そのような意見は無視せよ

448 名前:デフォルトの名無しさん [2018/09/10(月) 09:34:21.75 ID:uDZUf97M.net]
全部Expect型で解決してるわ

449 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 10:07:06.77 ID:WqnqKse5.net]
期待すんな



450 名前:423 mailto:sage [2018/09/10(月) 11:43:05.11 ID:Jsw/KSGz.net]
>>426-427
なるほど!よく考えればそうですね
ありがとうございました

451 名前:デフォルトの名無しさん [2018/09/10(月) 13:13:32.38 ID:aMpMOsPb.net]
コントロールの名前を小文字で始めると「名前指定の規則違反です」と出るけど
デバッグは通ります
何か問題出ますかね?
あとCamel形式になじめず変数の命名する時
単語の連結にアンダーバー入れたい衝動がハンパ無い
一人で完結するなら問題ないだろうけど
チームでやるようになると嫌がられるのかなあ?
まあ無いだろうけど

452 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 14:25:56.49 ID:j74hNM/I.net]
>>433
デバッグ通るなら問題ないでしょ
コーディングスタイルの設定を変えればそういう警告は出なくなるんじゃないかな

チームでやるならチームのスタイルに合わせる、簡単なことじゃん
チームのみんなを納得させられるほどの合理的な理屈があるなら説得してみればいい

453 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 16:32:06.78 ID:YgCo9XUL.net]
名付け方式がPascalだろうがCamelだろうが小文字アンダーバーだろうがぶっちゃけ通ればいいよ
チームで嫌がられたらその時合わせ方を考えればいい

454 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 17:35:00.22 ID:ed5IUta3.net]
>>433
その手の表記法は余程不合理な物でない限り慣れの問題
少なくとも俺は1週間で慣れる

>単語の連結にアンダーバー入れたい衝動がハンパ無い
これはむしろアンダーバーを入れる表記法の方が冗長で不合理なので、
一旦キャメルやパスカルに慣れた後では間違いなく逆の感覚を抱くようになるw
掛けてもいいよ

455 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 18:05:47.60 ID:JmcP0T+k.net]
じゃあ俺のスーツを

456 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 18:07:33.75 ID:hb3Qyg+S.net]
俺は靴下

457 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 18:40:22.87 ID:lrNRw7rP.net]
web屋、というかPHPerはsnake caseじゃなきゃヤダ!派がやっぱ多いよね

458 名前:デフォルトの名無しさん [2018/09/10(月) 18:55:37.19 ID:DjrEsgmz.net]
そかあ・・慣れねぇ・・・

ところで「小文字で始めると規則違反って警告が出る」って話だけど
よくよく観察したら
VSがデフォで自動命名したのでも警告出るんだけど・・・・なんで?
例えば
private void button1_Click() の button1_Clickとか・・・

459 名前:デフォルトの名無しさん [2018/09/10(月) 19:07:39.58 ID:okAQrHmq.net]
日本語メンバは邪道?



460 名前:デフォルトの名無しさん [2018/09/10(月) 19:16:20.74 ID:BcdHqxqC.net]
アンダーバーを入れない理w
バカ怖るべしwww

461 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 19:17:08.96 ID:7Twb5yy4.net]
>>436
単語の間に空白を入れると視認性が高まるという研究結果があるらしい
それを信じるなら、空白ではないがセパレーターが間に入るスネークケースとケバブケースは理にかなってるはずだ
何はともあれまずは実験してみるべきだろう

462 名前:デフォルトの名無しさん [2018/09/10(月) 20:53:55.15 ID:DjrEsgmz.net]
>>440
自己レス
オプションのコーディングスタイルの
「フィールド以外のメンバー」がパスカルになってたから
これを削除したら出なくなったわ
キャメルにしたかったけど選択肢に無かったから削除にした
よく分からないけどこれで良いんだろうか?www

463 名前:428 mailto:sage [2018/09/10(月) 21:01:52.45 ID:ZrUglARC.net]
わかりました。とりあえず例外の使い方を勉強します。

464 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:27:12.53 ID:j74hNM/I.net]
キャメルでもパスカルでもスネークでもケバブでもどれでもいいと思うけどな
コーディングスタイルにこだわる理由が分からん

見やすさならスネークとケバブだとは思う。理由は英語自体がスペースで区切る方式だから
と言いながら個人開発では慣れたキャメルやパスカルだけどさ
あ、個人サイトのURLはスネークケースだわ

465 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:29:11.62 ID:j74hNM/I.net]
>>444
いいんです
コーディングスタイル設定に基づいた単なる警告だから

466 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:47:33.87 ID:98dDshqq.net]
コンボボックスやテキストボックスを引数にしたい場合って、object?control?

467 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:51:04.49 ID:BpMg5Aug.net]
>>448
デザイナのソース見ればわかる。そのままComboBoxとTextBox
それ以外なら何に使いたい引数なのか言わないと分からない

468 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:56:41.48 ID:98dDshqq.net]
入力のエラーチェックでカンマが入ってるかどうかチェックするのに引数で持ってきたい場合はどうすれば?
まぁコンボボックスは入力するところではないんですけど...

469 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:59:41.61 ID:BpMg5Aug.net]
>>450
それは入力したテキストだけを参照したらいいのでは?



470 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 23:13:48.33 ID:j74hNM/I.net]
>>450
カンマが入ってるかどうかチェックする値を引数にすればいいのでは?

471 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 23:31:45.25 ID:JmcP0T+k.net]
普通コンボボックスごと渡したりしないよな

472 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 00:38:00.63 ID:fWYCS2WK.net]
見知らぬ人が作ったVBを勉強がてらC♯変換しててVBがそうなってたもので. ..
テキストを渡してやることにします。

473 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 01:07:46.00 ID:R24CyBtF.net]
横槍だがそれにつけるメソッド名どんなのにすればいいの?
参考に教えて

GetStringDeleteComma()
とか?

474 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 01:09:08.78 ID:pVzZZpUQ.net]
デリートコンマでよくね

475 名前:デフォルトの名無しさん [2018/09/11(火) 01:09:51.19 ID:HX9tNh9Z.net]
>>450
カンマなど余計な文字数とってやるって手もある

476 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 09:24:30.87 ID:3oMSZQth.net]
見知らぬ奴のソースは踏襲しないほうがいい

477 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 12:37:34.88 ID:LDsiYPvK.net]
>>453
例えば、エクセルを読み込んでその各列の値をそれぞれ複数のコンボボックスに入れる時はどうしたらいいですか?
追加部分を別クラスに書いて、引数はフォーム、列のカラム、コンボボックスなど渡してやったりするのは駄目な書き方?

478 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:17:21.96 ID:glgNbbLv.net]
>>455
「カンマが入ってるかどうかチェックする」「テキストを渡してやることにします」だから

bool CheckComma(string checkText)
とかじゃね?

479 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:22:18.04 ID:ik07SMEJ.net]
HasComma



480 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:27:52.11 ID:glgNbbLv.net]
>>461
MSのコーディングスタイルに準拠するならそれだな

481 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:47:02.45 ID:OkaM0mAN.net]
>>453
場合による

482 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 13:48:11.63 ID:SNgh1+C8.net]
>>460
それだとカンマが含まれてる場合にtrueとfalseのどっちが返ってくるか判断できんやろ

483 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 14:33:59.50 ID:bYPr0L5F.net]
ほんじゃカンマ以外が入っていたらどーすんのってなるから数値以外削除して返せばいい

って思ったけどどういう関数名にするんだ?

484 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 14:36:57.03 ID:928ZQD1C.net]
?w

485 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 14:51:12.92 ID:glgNbbLv.net]
>>464
そう言われればそうだな。そこら辺の配慮を忘れてたわ

やっぱHasCommaが最適解か
メソッド名だけで返り値が分かるしな

486 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 15:00:09.50 ID:Arul2OBN.net]
hasも英語として不自然なのでcontainsを使ってw
もっと言うなら、StringのメソッドにContainsが既にあるので
わざわざカンマを含むかどうかを検査する専用メソッドに存在意義があるとは俺には思えん

487 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 16:42:24.04 ID:AGybRa2Z.net]
データグリッドビューを別フォームに渡して
コンストラクタで受け取ります

このとき元のデータグリッドビューと切り離す琺瑯教えてください

複製したいです
この時データセットやデータテーブルは駄目です

488 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 16:45:15.78 ID:AGybRa2Z.net]
琺瑯→方法

489 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 16:47:43.89 ID:ylc2S0TC.net]
DataGridViewじゃなくてDataSource受け渡しでDataSourceをコピーじゃダメなの?



490 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 16:49:08.34 ID:GlOIz1sj.net]
同じRowとColumnの数の新しいDataGridViewを作り、それぞれのValueを書き込んでください

491 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 16:57:15.28 ID:TAVTHaAT.net]
新しくnewしたDataGridViewに手作業で必要なプロパティ設定していく
ColumnsとRowsはforeachしてそれぞれCloneしたのをAddする
イベント類はまあどうでもいいか

492 名前:デフォルトの名無しさん [2018/09/11(火) 17:00:09.28 ID:qpgjCo1u.net]
継承したフォームにデータセット渡す

493 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 17:27:08.25 ID:Arul2OBN.net]
>>469
何言ってるのかさっぱり分からんけどこういうこと?

〜 Form1 〜
Controls.Remove(dataGridView1);
var form2 = new Form2(dataGridView1);
form2.Show();

〜 Form2 〜
public Form2(DataGridView dgv)
{
  InitializeComponent();
  Controls.Add(dgv);
}


494 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 17:33:47.77 ID:Arul2OBN.net]
移動元でControls.Remove不要みたいだね
こんなの必要になったことがないからやったこともなかった

495 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 18:15:11.25 ID:K2tTWTaM.net]
XMLに書き出して新しく作ったFormにロードするのが一番シンプル

496 名前:デフォルトの名無しさん [2018/09/11(火) 19:28:23.64 ID:FmRL3j/P.net]
俺も気になるわこれ
DataGridViewでCloneできればいいのに

画面上のソート順を保つためDataGridViewごと他フォームに渡したりする
でも元フォームでデータ変更されると渡したDataGridViewも変わるから
それが嫌だったことある

そん時は元フォームで1行ずつ先頭から呼んで別のDataSet作ったけど

497 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 02:22:23.95 ID:vTtqi/en.net]
素人だからデータの保持や別データとのやりとりはListでやっといて
更新される度に毎回DataBindings初期化していちいち読み込んでるわ
動くから……いいかなって……

498 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 13:02:32.22 ID:Jn68slr9.net]
データグリッドビューでやるのは無理なんですね…
一行ずつ新しいデータテーブルに読み込んで複製します
ありがとうございました

499 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 13:22:31.80 ID:Nj/C/MXJ.net]
そうじゃなくて、だからそもそも何言ってるのか誰も理解できないんだってw
まともな日本語書けと

他人に通じるまともな文章に書き直したら答えが返ってくる問題かもしれんよw



500 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 14:36:44.55 ID:Jn68slr9.net]
フォームのデータグリッドビューを
別フォームのクラスに渡してコンストラクタで受け取るんです
DataGridView dgv = srcDvg;

そうすると元フォームのデータグリッドビューを変更すると譲渡先のdgvも変更されちゃうんです
コレを止めたいです
元を変更してもdgvは渡されたときの状態を保つ方法が知りたいです

なお、この時データセットやデータテーブルを使用せず
データグリッドビューのままやる方法はありませんかと言う質問です 👀
Rock54: Caution(BBR-MD5:13

501 名前:41adc37120578f18dba9451e6c8c3b) []
[ここ壊れてます]

502 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 14:37:39.66 ID:Jn68slr9.net]
なんでRocketや…

503 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 14:47:38.46 ID:SYobtT/Z.net]
参照元の状態を反映するのはC#の仕様なんだから新しいインスタンス作って
何らかの形で中身コピーする必要があるのはどのクラスでも一緒(Bitmapとかも)

504 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 16:52:38.09 ID:9GvVVUqs.net]
面倒くさいことはしたくないって思考だな

505 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 16:59:40.03 ID:fIpfvqUu.net]
面倒くさいことを楽にしようというのがソフトウェアだからな

506 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 17:04:10.32 ID:Jn68slr9.net]
ありがとうございます
大人しく作り直します

507 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 17:25:49.83 ID:MyqFbSbG.net]
初心者用なのに初心者に厳しい自称プロさんたち

508 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 17:37:25.30 ID:JkfDtodY.net]
>>488
ここに来るのはみんな初心者
スレタイ読めないのか?

509 名前:デフォルトの名無しさん [2018/09/12(水) 18:45:38.51 ID:6MfZXYju.net]
>>478
継承しろや!



510 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 22:45:44.44 ID:JSQG/Jue.net]
linq
リンキューですか?
ラインクですか?

511 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 22:59:50.57 ID:HCZYwh62.net]
リンクじゃないのか?
俺はアクセントがわからない

512 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 01:12:43.13 ID:xXJqEk25.net]
リンクだと思ってた

513 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 03:37:55.81 ID:4tq0ggVx.net]
>>490
したない

514 名前:デフォルトの名無しさん [2018/09/13(木) 05:03:38.49 ID:wmIVPXZe.net]
byte a;
byte b;
byte c = a + b;
だと型が合わないとエラーが出る
左辺をint cにするか、右辺を(byte)(a + b)にする必要があるんだな
なんで型が合わないのか分からず一日ドツボにはまった
入門レベルの参考書には載ってないし
でもバイト型とバイト型を演算したら答えはイント型に変わるって
根本的におかしくね?

515 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 05:09:18.59 ID:1YFyErS3.net]
why?

516 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 06:06:29.57 ID:4tq0ggVx.net]
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/byte#conversions

517 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 08:17:24.20 ID:IoXWiQ4j.net]
>>491
リンクだとlinkって感じなので心の中ではリンクゥって言ってる

518 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 08:18:16.41 ID:Ts60fXh8.net]
>>495
CPUはそういうもん
小さな型でもいったんCPUに応じた処理しやすい自然なサイズに変換してから演算する
32/64bit CPUと呼ばれる所以だ
もちろんbyte同士なら演算後に勝手にbyteにキャストする仕様もありうるけど、
そんなことをしてもせっかく255を超えてもオーバーフローせずに表現できてるものを
わざわざ余計な処理入れて切り捨てるなんて無駄でしかないからCPUの仕様に合わせている

519 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 08:44:11.24 ID:eHHJ6hTJ.net]
>>491
https://www.microsoft.com/ja-jp/mic/seminar/programing_linq.aspx
>統合的なデータの問い合わせを実現したテクノロジ LINQ (リンク)



520 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10:09:10.44 ID:7r2vSdtk.net]
LINQ職人の方に聞きたいのですが

var 元 = new[] {
  new {Index = 0, Value = "あ"},
  new {Index = 1, Value = "い"},
  new {Index = 3, Value = "う"}
};

みたいな羅列があって、こいつを平凡な string[] に変換したいです。

[0] → "あ"
[1] → "い"
[2] → null
[3] → "う"

LINQ 1発でバシって出来ませんか?


521 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10:15:23.01 ID:vxp+pG1B.net]
普通にはできません

522 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10:49:45.94 ID:uKwFSQ+m.net]
LINQ 外部結合
ぐらいでググったらそれらしいのあるが、やめとけ。

523 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10: ]
[ここ壊れてます]

524 名前:55:31.20 ID:n/Ia9Ufb.net mailto: さくっとできる []
[ここ壊れてます]

525 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10:59:56.20 ID:n/Ia9Ufb.net]
rangeとzipな

526 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 12:50:08.04 ID:gBmhWXZp.net]
>>495
今まで気づかなかったけど、C#もintに揃えるCの手抜き実装を踏襲してるんだなw
これはシンプルに「大きい方の型に揃える」ルールにして欲しかったね

527 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 15:34:46.60 ID:B76L2xUy.net]
>>501

var 元 = new[]
{
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};

var array = Enumerable.Range(0, 4).Select(index => 元.Where(moto => moto.Index == index).FirstOrDefault()?.Value).ToArray();

528 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 15:38:33.86 ID:TO6ro8xf.net]
ちなみにFirstOrDefaultはFunc<T, bool>を引数に取れるからWhereはなくていいよ

529 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 16:23:35.73 ID:B76L2xUy.net]
>>508の指摘にそって改良

var 元 = new[]
{
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};

var array = Enumerable.Range(0, 4)
.Select(index => 元.FirstOrDefault(moto => moto.Index == index)?.Value)
.ToArray();



530 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 16:34:26.33 ID:n/Ia9Ufb.net]
zipで一行

531 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 16:48:55.75 ID:Mtznb6SP.net]
>>510
コードで示して

532 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 16:51:19.42 ID:n/Ia9Ufb.net]
コードは甘え

533 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 16:52:36.00 ID:Mtznb6SP.net]
>>512
じゃあ>>509も1行で済んでるからそっちでいいや

534 名前:デフォルトの名無しさん [2018/09/13(木) 17:34:16.92 ID:fde6nCOF.net]
cscやmscが吐き出す実行ファイルについて教えてほしいのですが、これはOSや実行環境に依存せず実行できるのですか?
WindowsPC上で実行ファイルを作成し、それをRaspberry Pi等にコピーしてmono上で動くのかが知りたいです

535 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 17:40:54.40 ID:O9n8eAiW.net]
>>514
依存する
monoの方にどこまでサポートするか書いてないか

536 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 19:29:30.60 ID:nU06fVx/.net]
Tostaring();
Set focus();
とかの()の意味を教えてください。

537 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 19:30:56.20 ID:84N5Yvll.net]
>>516
引数が存在しないことを示す

538 名前:デフォルトの名無しさん [2018/09/13(木) 20:13:42.27 ID:tX4xVeil.net]
言葉も出ない、ということ

539 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 21:21:45.27 ID:RirS5RMp.net]
>>516
演算子だって考えるのが素直でしょう
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/invocation-operator

デリゲートの後ろに引数リストを囲った()を付けるとメソッドが呼び出される



540 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 21:24:09.90 ID:RirS5RMp.net]
しかし、Tostaringてw
ドラマか何かの主演俳優にするメソッドがw

541 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 21:25:43.52 ID:YrOTDcXS.net]
スターリンがどうかしたって?

542 名前:デフォルトの名無しさん [2018/09/13(木) 21:26:14.24 ID:6Z3XXp4U.net]
はからずもS式の合理性を再認識させられる初秋の夜であった

543 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 22:00:27.97 ID:tu9+IsVI.net]
>>501
Enumerable.Range(0, 4)
.GroupJoin(元, m => m, i => i.Index,
(m, i) => i.FirstOrDefault()?.Value)
.ToArray()
長いね…

544 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 22:14:47.62 ID:JHngkFny.net]
元.Aggregate(new string[4], (a, x) => { a[x.Index] = x.Value; return a;});

545 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 22:17:18.10 ID:z+6RPAPe.net]
おお

546 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 22:21:08.27 ID:u61xW8CT.net]
>>510
Zipじゃ
i=2 : null
は無理でしょ

547 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 22:31:31.75 ID:z+6RPAPe.net]
3項塩山市をつかう

548 名前:デフォルトの名無しさん [2018/09/14(金) 07:23:37.25 ID:dEKf7JQJ.net]
>>1のスレ趣旨にあるように、
超初心者でも、気軽に入り込めるスレに、して欲しいです。

549 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 07:53:12.59 ID:zwGydTBu.net]
LINQのメソッドこねくり回しているのは超初心者には厳しいかな?



550 名前:デフォルトの名無しさん [2018/09/14(金) 08:02:41.43 ID:ixgSdYSb.net]
おまえも超初心者やんw
そうゆうとこやあかんのはw

551 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 09:26:00.50 ID:6Xa6OuyO.net]
Aggregate優勝

552 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 09:48:38.96 ID:YVc6B226.net]
Aggregateのパターンを実際使うとすると配列代入時のインデックス範囲チェックが必要で結局長くなるんだよな

553 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 10:20:53.65 ID:VsV8E9sx.net]
業務システム開発でLinqと三項演算子だけでほとんど処理を書いていたら 応用情報技術者試験のアルゴリズム問題でカウンタを持つようなfor文が全然読めなくなってしまいました

やはり開発においてLinqは有害なのでしょうか?

554 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 10:40:20.21 ID:74Ijv3/g.net]
>>533
貴方の脳の品質の問題をLINQの問題にしないでください

555 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 12:17:21.38 ID:uKNqObYo.net]
まあ脳の病気だわな

556 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 10:29:16.94 ID:xmiaTl3L.net]
C#7のローカル関数って、一つのメソッドからしか呼ばれないなら良いと思うんだが、ユニットテストはどうなるんだろ?

557 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 11:18:16.17 ID:luWyo1Kp.net]
>>536
ユニットテストはやる人などによってやり方はそれぞれだろう

558 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 11:19:27.99 ID:PMHdQMes.net]
privateメンバのユニットテストをしようとするのはそもそも誤り
壊れやすいテストは結果的にメンテされなくなり意味を為さなくなる

559 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 12:21:00.32 ID:hseJLl5H.net]
>>538
これ
publicなメンバーを通してテストすること



560 名前:デフォルトの名無しさん [2018/09/15(土) 20:38:11.28 ID:elLmwu/2.net]
LinQの中身がfor文って本当ですか?

561 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 20:39:51.17 ID:xmiaTl3L.net]
>>537-539
納得しました、サンクス

562 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:16:49.41 ID:vc2YYDHO.net]
>>540
ソースを読めば分かる

https://referencesource.microsoft.com/#System.Core/System/Linq/Enumerable.cs

563 名前:デフォルトの名無しさん [2018/09/15(土) 21:24:11.06 ID:8rxpHkWL.net]
for文の中身がgotoて本当ですか?

564 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:29:31.15 ID:Fr67tYwB.net]
コンパイル結果見ればわかる

565 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:48:21.87 ID:iPPDwx/Y.net]
列挙子とforeachの組み合わせってforよりおそい?

566 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:51:19.05 ID:VeSVHeu2.net]
数%の処理速度の違いを気にするくらいならその都度試してみればいいんじゃないかな

567 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:53:24.60 ID:iPPDwx/Y.net]
いや、なんでLINQ遅いって言われてるのかなっておもって

568 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:56:28.37 ID:88GvsHdE.net]
遅いと言えば遅いよ
余計な手数が増えてるから

気になるなら後からでも書き換えればいいだけ

569 名前:デフォルトの名無しさん [2018/09/15(土) 21:57:40.02 ID:8rxpHkWL.net]
>>547
それはリンキューさんの遅さとゆうより
有り合わせのアルゴリズムの組み合わせで勝負するか
はたまた最適化したアルゴリズムをシコシコ組み立てるか
の違いが大きいのや



570 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 21:58:32.54 ID:iPPDwx/Y.net]
その程度の差なんですね
よほど大きなオーバーヘッドでもあるのかと思ってた

571 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 22:09:29.85 ID:j1sHLBNC.net]
MSIL勉強したいのですが、参考になるサイトを教えてもらいませんか?

572 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 22:14:24.26 ID:nm6j3SBT.net]
MSDN

573 名前:デフォルトの名無しさん [2018/09/15(土) 23:09:21.09 ID:elLmwu/2.net]
>>542
やべえ
これを読む能力がない・・・

574 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 23:53:24.63 ID:iPPDwx/Y.net]
linqの中身はforeachで列挙子を回してる
それは
while(次の要素を取得するメソッド){
要素に対する処理のメソッド
}
に展開される

詳しくないから適当だけど

575 名前:デフォルトの名無しさん [2018/09/16(日) 01:03:15.10 ID:uYUceUNT.net]
アセンブラでもやってろよ

576 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 01:04:46.36 ID:ANojdriP.net]
がっつりパフォーマ

577 名前:ンスのチューニングしたことあるわけじゃないけど
unityの毎フレーム行われるような処理で使わない限りlinqの速度が問題になることはないんじゃないか?
[]
[ここ壊れてます]

578 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 06:05:13.06 ID:75aeC/cD.net]
プログラムによる
プロファイラで分析しろ
ボトルネックの分析前に100倍遅いのとか1000倍遅いとか言っても何の意味もねえから

579 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 08:07:06.87 ID:HxZqM27H.net]
ゲームで描画以外の処理が問題になることは少ない



580 名前:デフォルトの名無しさん [2018/09/16(日) 08:29:55.59 ID:AZs5fz+o.net]
アプリケーションのプロパティの中にある[設定]という項目で
Properties.Settings.Default.xxxでint型配列の変数を保存したいのですが
できませんでしょうか?
前回使ったパラメータ群を配列で保存して
次回に読み込んで再現したいのですが
別の方法でもいいのですが参考になる解説ページでもあれば教えてください

581 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 09:04:23.29 ID:psXGYTXF.net]
>>559
「,」でjoinして文字列で保存、取り出すときに「,」でsplitとかどうだろ?

582 名前:デフォルトの名無しさん [2018/09/16(日) 09:25:05.54 ID:2ksH8VYk.net]
>>560
まあこれが横道だよね
てか、今ならjsonで保存か

583 名前:デフォルトの名無しさん [2018/09/16(日) 09:42:20.10 ID:AZs5fz+o.net]
>>560
なるほど!配列を分解して文字列型にするのか!
それなら私の低スキルでもなんとかできそうです
ありがとうございました!

584 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 10:07:09.66 ID:aJAMOBK/.net]
例えばアプリケーション終了時に画面のサイズと位置を保存して
次回起動時に設定をロードするとしたら
なにで保存しますか?XML?INI?JSON?

585 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 11:04:54.55 ID:rvnq8hQD.net]
>>563
「どこに保存するか」を気にしないならすぐ上に出ているProperties.SettingsのSystem.Drawing.Pointで保存したら
MSの推奨なんだから

586 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 11:12:58.81 ID:txQA20Wu.net]
昔からあるVSの定型Tipsだけど
この上から目線な感じは
もっと高度な議論を吹っ掛けてるんじゃね?
くわばらくわばら

587 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 11:25:39.54 ID:gTaOdbFs.net]
>>563
俺はXMLで実行ファイルと同じ場所に保存してる

588 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 12:37:43.94 ID:ksMt/4i/.net]
>>566
実行ファイルと同じ場所は書き込み権限がなかったりするからMS的にはApplication.UserAppDataPathで得られる場所などを推奨

589 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 12:48:14.51 ID:LixUwGN0.net]
>>559
IDEでプロパティの型を選ぶところの中には配列ってなかったっけ



590 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:06:53.35 ID:16Y59QgZ.net]
場所や形式はなんでもいいけど
読み書きクラスを上手くカプセル化しないと後で変更効かなくなって泣くのでそっちのほうが重要

591 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:19:04.65 ID:p+qyV3Lh.net]
いや、場所や形式は重要だよ

592 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:23:10.99 ID:aJAMOBK/.net]
>>564
へーありがとう御座います
調べてみます

593 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:32:26.33 ID:16Y59QgZ.net]
>>570
重要になるのは後で
開発中はたいして重要じゃないし正解も定かではない

594 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:59:51.99 ID:hCxE0E+A.net]
>>566
実行ファイルのパスってProgramFilesのとこかな?
あのフォルダーって監視入ってるから、データアクセスでも色々遅くなるかも

595 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 14:01:52.05 ID:w97F4Kz1.net]
どこに保存するかはかなり致命的な問題になるから
今から

596 名前:学んでおいて損はないよ []
[ここ壊れてます]

597 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 14:10:32.40 ID:uf7cGEex.net]
>>573
ProgramFilesがなんで出てくるかもわからないし設定ファイルのデータアクセスのスピードが問題になるのはおかしい

598 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 14:17:56.47 ID:gTaOdbFs.net]
>>567
知ってる。でも自作のポータブルアプリだからそうしてる
インストールするようなもんはC#ではまだ作ったことないわ

>>573
違う。ポータブルアプリだからユーザーが置いた場所
USBのフォルダとかマイドキュメントとか

599 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 14:41:31.05 ID:gTaOdbFs.net]
>>569
同意。C#はXMLについては簡単にカプセル化できるのがいい
JSONも簡単なんだっけか?、使ったことないから分からんわ



600 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 14:41:58.58 ID:ksMt/4i/.net]
UACが出来てからディレクトリの書き込み制限が厳しくなってるから意識する事は大切ですね
>>574

601 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:10:33.14 ID:PDDwZiUq.net]
>>559
ここにかいてるやん
https://stackoverflow.com/questions/1766610/how-to-store-int-array-in-application-settings

602 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:10:39.97 ID:8jdJAOdP.net]
書き込み制限するだけならまだマシなんだが
勝手にリダイレクトしやがったりするからなぁ
それも同じOSでもUAC設定だけでしたりしなかったり

603 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:15:37.35 ID:SnNXv25N.net]
>>578
違う
どこにどんな形式で置くかを柔軟に変更できることが重要
これをおろそかにして最初から場所や形式を決めつけると後で致命的な問題が発生した時に困る

604 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:41:28.41 ID:5YLu0Ky3.net]
いやいや保存場所は最初から重視しないとだめだよ
あとで罠にはまるよ

605 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:50:02.93 ID:SnNXv25N.net]
>>582
情報が出揃ってない序盤で決定するのはNG
根拠の薄い判断に盲目的に従って進めるよりはわからないものはわからないと認識した上で進めるほうが良い
最初は良いインターフェイスを決定することに注力する
開発が進むと徐々に客が(隠していた|失念していた)情報を出してくるのでそうなってから検討すればよい
それまでは暫定で簡単な実装を置いておく

606 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:57:02.81 ID:AeuhPaJN.net]
よくわからないけど設定ファイルを柔軟にする必要はないよ

607 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:59:35.75 ID:AeuhPaJN.net]
実装方法を知りたい人にインターフェイス云々から始める人は無視

608 名前:デフォルトの名無しさん [2018/09/16(日) 20:03:32.45 ID:oQtqL1qV.net]
どの初心者スレでも明後日のレスしてドヤりたがっとるプロさんおるねw

609 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:14:16.80 ID:AeuhPaJN.net]
いいや
プロ的にもありえないだろ



610 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:31:15.27 ID:Ka1tFSGh.net]
具体例示さず「〜しなきゃいけない」とかいうのは「妄想お疲れ」って返しておけばいいよ

611 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:59:15.70 ID:AeuhPaJN.net]
今後は全部の質問にインターフェイスの決定に注力しろって答えたらいいんだな

612 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:19:05.23 ID:Ka1tFSGh.net]
>>589
批判をずるずる引っ張るのはやめてくれ

613 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:46:31.24 ID:SnNXv25N.net]
雑魚しかおらんかったか
初心者スレだからしゃあないか

614 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:47:28.61 ID:PDDwZiUq.net]
また余計なことを

615 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 23:49:26.08 ID:EHluPWph.net]
Buggy C# Code: The 10 Most Common Mistakes in C# Programming

https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make

俺はあまり共感できないな…

616 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 00:28:42.00 ID:+YOQSfB9.net]
>>593
何が?

617 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 00:43:15.18 ID:48O793oJ.net]
英語読める人ホント羨ましい
リリース当日にリファレンス把握できちゃうわけでしょ

618 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 00:43:43.99 ID:tnCTTc8C.net]
>>591
お前が一番の雑魚

619 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 05:59:26.92 ID:/N0hOtdj.net]
>>593
1~2番目はまあそうだねと思ったけど
3番目がくだらなかったから読むのやめた



620 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 08:16:13.80 ID:bk1Atddi.net]
>>595
今からでも遅くないぜ。

621 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:20:21.31 ID:SR+usNFF.net]
対象文字列 "<xx><yy><xx>111</xx></yy></xx><xx>222</xx><xx>333</xx>"
があるとき、
xxの中を取り出す正規表現はどうしたらいいのでしょう?
ただし、xxが閉じる前にyyがあるときはそのxxは無視という条件付きです

例えば正規表現を @"<xx>.*?[^(</yy>)]</xx>" にすると
実行結果
 <xx><yy><xx>111</xx>  ←</yy></xx>が欠ける
 <xx>222</xx>
 <xx>333</xx>

欲しい結果は
 <xx><yy><xx>111</xx></yy></xx>
 <xx>222</xx>
 <xx>333</xx>


622 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:25:17.63 ID:3TgxIbp4.net]
内容はみてないけど
正規表現では検出できないパターンがある
それにあたるのかと

623 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:32:42.98 ID:rJA1qwMQ.net]
XMLとして要素抜き出したほうが確実じゃね

624 名前:デフォルトの名無しさん [2018/09/17(月) 11:38:46.01 ID:dj7qSZnZ.net]
オレだったらどうでもいいしょうもないこと考えたくないから
普通にxerces使う

625 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:40:49.96 ID:3TgxIbp4.net]
質問からはxmlなのhtmlなのかすら確定できない

626 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:42:17.99 ID:3TgxIbp4.net]
正規表現は括弧やタグの対応は苦手
中に再帰的構造があるものは苦手
その構造が特殊になるとさらに苦手

627 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:45:20.52 ID:SR+usNFF.net]
xmlだけど同じデータ格納するのに色々なフォーマットがあるごちゃついたのだから
文字列として処理したいんです。正規表現使わずに力技で読むかなぁw

すみません。>>599の対象文字列がミス

対象文字列 "<xx><xx><yy>111</yy></xx></xx><xx>222</xx><xx>333</xx>";
試した正規表現 @"<xx>.*?[^(</yy>)]</xx>"

結果
 <xx><xx><yy>111</yy></xx></xx><xx>222</xx>
 <xx>333</xx>

欲しい結果
 <xx><xx><yy>111</yy></xx></xx>
 <xx>222</xx>
 <xx>333</xx>

628 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 11:45:52.85 ID:SBpxj18K.net]
とりあえずこっちへ行け

Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
mevius.5ch.net/test/read.cgi/tech/1489511075/

629 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 12:02:14.11 ID:SR+usNFF.net]
C#の正規表現だからこっちにしたんだけど、あっちに引っ越します



630 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 13:08:19.32 ID:x9rlqJR2.net]
したんだけどぉ

631 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 14:34:45.72 ID:IzAnQMU8.net]
XMLや正規表現を考えるよりもデータ構造がどうなっても対応できるようにインターフェイスを考えるべきだろ

632 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 16:03:32.30 ID:KWfY0Z4o.net]
>>609
正解

633 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 01:24:04.08 ID:4ympWGJc.net]
>>1
ぶっちゃけた話、C#って2030年まで生き残りますかね?

634 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 01:39:12.39 ID:eM+9yNEO.net]
生き残ってる定義による
cobolなんてもう60歳だけど必要とされてる場面が無いわけじゃない

635 名前:デフォルトの名無しさん [2018/09/18(火) 02:11:14.63 ID:6Xg+Nv26.net]
>>611
進化続けてるし、余裕であると思う。

636 名前:デフォルトの名無しさん [2018/09/18(火) 02:21:27.54 ID:Ito09mAU.net]
そんでC++みたいにバージョンが制定年になると
正直機能的には3.0くらいであまり困らんのだけどね
簡潔に書けるとかはあるけど
ライブラリだけ拡充してくれれば

637 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 05:59:52.79 ID:GWyG2DaA.net]
await無しで非同期処理書きたくないな

638 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 08:10:13.67 ID:gblGntZ1.net]
LINQがないと死ねる
というかLINQがないとC#のアドバンテージを全く感じない言語になってしまう
それとawaitもそうだけど、C#はJavaに対してコンカレントプログラミングの能力に
まだまだ欠けていると思う
Javaの強みはjava.util.concurrentにあると思う

639 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 08:19:55.28 ID:O8EaoTgS.net]
java.util.concurrentってほとんど.NETにも同じのあるぞ
Javaのあの〇〇Queueとかクッソ使いづらい並列フロー制御系に対応するのはTPL Dataflowがある



640 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 08:39:24.89 ID:PTaE8gsW.net]
>>616
メソッドにした方が2回目同じ処理するときにいいよ

641 名前:デフォルトの名無しさん [2018/09/18(火) 09:03:15.68 ID:X6vi7zjN.net]
python如きには負けんよ

642 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 10:06:07.53 ID:ml+9R6/h.net]
負けてるんだよなあ

643 名前:デフォルトの名無しさん [2018/09/18(火) 10:10:26.45 ID:JkFBL6IZ.net]
結局Windowsアプリケーションにしか使われてなくて
VBの代わりくらいのポジションなんですかね・・・

644 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 10:24:42.25 ID:Z0oFh/rY.net]
>>617
そんなんどこにあったっけ?
実際java.util.concurrentパッケージの充実度は凄いぞ

645 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 10:52:42.36 ID:9AO9WU5h.net]
UnityとかTypeScriptとか、色々と使われているでしょ

646 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 10:58:02.59 ID:PTaE8gsW.net]
>>620
連想配列分負けてる気がするね
c#には付けないで欲しかったけど
ちょっと前に付いた?

647 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 11:04:50.17 ID:9sIU0wgT.net]
>>624
大昔(2.0)からある
System.Collections.Generic.Dictionary<TKey,TValue>
でなくて?

648 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 12:05:26.41 ID:ONx2VSk9.net]
>>621
iOSやAndroidアプリにも使われてますよ

649 名前:デフォルトの名無しさん [2018/09/18(火) 12:54:57.79 ID:/G1owK98.net]
C#でカードゲーム作るため
テキストファイルに保存した
一行分をカードデータにしたいのですが

行指定はどうやるのでしょうか



650 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 12:59:13.48 ID:2NhqeWSI.net]
1行ごとにList<string>に入れる

651 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 13:34:02.44 ID:Z0oFh/rY.net]
jsonか何かにしたほうが楽だと思うけど…

652 名前:デフォルトの名無しさん [2018/09/18(火) 13:39:50.95 ID:X6vi7zjN.net]
.Net4.0までの環境で、Task.Runが使えないのですが
Task.Factory.StartNewを使う場合、戻り値を処理するContinueWithに該当する書き方はあるのでしょうか?

653 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 14:06:00.86 ID:OtLk5TCg.net]
>>622
System.Threading
System.Threading.Tasks
System.Threading.Tasks.Channels
System.Threading.Tasks.DataFlow
System.Collections.Concurrent
ちゃんとこの辺りを見よう

654 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 14:25:25.74 ID:G1Vdk7ct.net]
>>630
Task<T>を作るのが.Runだろうが.Factory.StartNewだろうが
その後の記述は特に変わらないけど

655 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 14:29:51.48 ID:OtLk5TCg.net]
最近の.NETってMS製の公式な標準ライブラリですら平気でNuGetだけで提供されるようになったけど
ビルドにインターネットからのダウンロードが必要なのはギョウムワールドだと問題になるところが多そう
ジャパニーズドカタは氏ねってことかな

656 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 14:38:44.61 ID:XSFiXPPc.net]
>>625
タプルと合わせないと似たような機能にならない気がする

657 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 14:50:46.95 ID:VPT0VaYi.net]
ぎょうむわーるどなんてなおさら最近の開発環境とは縁がないのでへーきへーき

658 名前:デフォルトの名無しさん [2018/09/18(火) 15:15:36.23 ID:X6vi7zjN.net]
async await使わせてくれー

659 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 15:31:00.86 ID:ml+9R6/h.net]
>>633
世界平和に繋がって最高だね



660 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 15:39:57.73 ID:XSFiXPPc.net]
>>636
気軽に使うと問答無用でバグ票切られる機能だろそれ

まず待ちたいならタイムアウトを設定しないと
そもそも何がどんな状態で終了することを想定している?
リトライはいらない?
お前は何もしなくてよかったの?
自分の次の動作は待ってるタスクの結果次第だから待ってたのに何も受け取ってるように見えないけど?

ってぐらいは考慮してないとだいたいバグってる

661 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 20:45:48.05 ID:PujpLEtU.net]
>>621
Google Cloud Platform Japan Blog
ポノス株式会社の導入事例: eスポーツ対応の対戦型ゲームを Compute Engine ベースで構築、レイテンシーの比較で最大 2 倍の差が採用の決め手
https://cloudplatform-jp.googleblog.com/2018/08/ponos-esports-compute-engine.html

> 特長的なのは、バトルサーバーで、アプリケーションが C# で書かれています。
>「Windows 上で C# を動かすのではなく、.NET Core を使って CentOS の上で C# を動かすという珍しい構成になっています。」

662 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 22:17:49.42 ID:xEaDxwfq.net]
>>633
ローカルのリポジトリ立てればいいやん

663 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 22:40:10.00 ID:mQbB6K+e.net]
Javaと比べるとビルドから実行時までサクサク動くから気持ちいい

664 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 01:24:11.00 ID:4W6jsUF3.net]
uiスレッドって1個だけ?
datagridviewのデータソースにdatatable突っ込んで何十万件も表示させてます
高速化する方法ないですか?

665 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 06:12:31.75 ID:JwM3WN1L.net]
その設計が間違ってる
何十万件も一度に表示www

666 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:06:04.74 ID:4W6jsUF3.net]
それが一億とかのときもあるんです

667 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:12:17.74 ID:SZbHS6KX.net]
Form1.csに書くコードに対し、これは別クラスに書いとけってコードは例えばどんなものですか?

668 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:25:39.24 ID:eYANVd+E.net]
動作にフォームのインスタンスが要らないもの

669 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:26:54.31 ID:eYANVd+E.net]
>>644
頭から改良した方がいい
皮肉じゃない
真面目に言ってるぞ



670 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 08:45:08.99 ID:KwEqagqF.net]
そこまで行くと高速化よりも
コルーチンで徐々に表示したりしてuiスレッドを止めないようにしたほうがいい
どう考えても設計見直したほうがいいけど

671 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 09:10:17.79 ID:wQAi5nmu.net]
>>644
1億を一度に欲しいの?
1億のレコードを画面に表示すんのか?

672 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 10:10:10.94 ID:CHaa5XJ7.net]
>>644
日付の期間指定を無制限にしてるなら、最大90日にするとか

673 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 10:12:39.12 ID:buYyvBpb.net]
DataGridViewってクッソ重いのと、DataTableとDataSetとDataViewもあるし、そもそもその先にはデータベースもあるわけで
DataGridViewとデータベースだけでいいんじゃね?って思うことがよくある

674 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 10:18:16.90 ID:y7jhKYXL.net]
webで作ったら普通に一億件表示しようなんて思わないよね
どうしてdatagridviewだとそのまま突っ込むのか

675 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 11:04:13.47 ID:9VikJa+v.net]
Webも最近はページングが廃れてきて遅延読み込みが増えてる
ついに時代がVB厨に追いついた

676 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 11:22:39.36 ID:Ei/RIVZy.net]
それも程度問題

数千件ならそれでいい(というかそうしなかったのはただの技術側の都合であって
ユーザーの利便性を追求してたわけじゃない)けど、件数が千万のオーダーになれば
話は別に決まってるよ

677 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 13:53:52.66 ID:1pViUBUC.net]
DataGridViewは面倒でも仮想モードでやらないとデータ増えると加速度的に遅くなる

678 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 15:20:13.47 ID:buYyvBpb.net]
仮想モードってなんだっけ?
単に列追加時は描画止めて、追加終わったら表示するやつ?

679 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 17:12:21.14 ID:ayfJChiE.net]
画面内にいないやつはそもそもUIに載せないやつじゃない?



680 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:06:07.56 ID:wQAi5nmu.net]
スレが異なるかもしれんけど、SQLの結果を分割して取れなかったっけ?

681 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:52:56.59 ID:fl19i0BJ.net]
SQLのページングやね

682 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 03:55:03.13 ID:v2140bTt.net]
すいませんC#を始めてみようと思うんですが
基礎からしっかり学ぶC#の教科書か独習C# 新版どっち買うか迷ってます
全く0からの学習の場合どちらが適してると思いますか?又これよりいい本があれば是非教えてほしいです
よろしくお願い致します。

683 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 03:57:43.51 ID:ZeDJ2vHp.net]
他の言語を少しでも知ってたら独習c#やね

684 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 04:16:44.52 ID:v2140bTt.net]
>>661
ありがとうございます
スッキリわかるjava入門と苦しんで覚えるC言語を読んだことがある程度です。ロベールのCきつくてクラスのとこ詰んだ状態です
少し知ってたら"に当てはまりそうですか?後C#独習って山田って人が書いた新版とハーバートって人が書いたやつの2つありますが
どちらも一緒ですかね、

685 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 04:21:46.90 ID:ZeDJ2vHp.net]
>>662
JavaとCに理解あれば余裕ですよ
ハーバートの方が評価高いけど古いです
c#は進化が目まぐるしく2年経つと大きく変わるので新版をオススメします

686 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 06:18:13.84 ID:v2140bTt.net]
>>663
どっちも薄い入門書なので理解があるかはちょっと自信ないですが……大丈夫かなぁ
C#は比較的新しい言語みたいですがそんなに内容に違いあるんですか
分かりました。新しい方取り敢えず買ってみます。ありがとうございます。

687 名前:デフォルトの名無しさん [2018/09/20(木) 07:16:44.73 ID:lp8Y5Sjf.net]
>>664
独習を進める。新しい技は使われていないが、これだけ基礎を抑えた本は少ない。逆に独習にあるような基礎を抜かして最新技術だけ学ぶと高確率でコピペプログラマーになる。

688 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 08:28:38.09 ID:OZxd0eW0.net]
1. Ruby, Python, JavaScript などの動的言語
2. Java, Kotlin, C# などの静的言語
3. C/C++ などのポインタのある言語

この順番で、勉強する。
例えれば、123 は、小中高大学の順番

君は小学生だから「たのしいRuby 第5版、2016」始めた方がよい。
まず動的言語で、プログラミング・オブジェクト指向を、かなり固めた方がよい

レベル1から、10, 20, 30と進める人は、考え方を自分のものにしていってる。
30から勉強を始めても、進歩しない。
だから、レベル20に落とす。
それでも難しかったら、10に落とす

つまり、伸びる人は、自分のレベルを知っているから、それに勉強のレベルを合わせる。
逆に伸びない人は、自分のレベルに関係なく、C++ などにこだわる

自分を馬鹿だと認めた人の方が、プライド

689 名前:が低いから、
低いレベルから勉強するから、結局は伸びる!

一番ダメな人は、プライド・理想が高くて、方向転換せず、現実的に成果がない人!
この手の人は、どこへ行っても嫌われる。
口では大きい事を言うけど、一定期間で、成果が出せない人

こだわりとかじゃなくて、勉強とは上達する道筋を探すもの!
C++ 一つの勉強時間よりも、動的言語3つを軽くこなせる!
しかも理解力が飛躍的に上がる

これが上達する道筋。勉強のコツ
[]
[ここ壊れてます]



690 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 09:12:10.06 ID:4jxtU7uW.net]
入門ならideががっつりコード補完してくれる静的言語の方がよくない?

691 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 09:20:26.88 ID:5eDdLMhs.net]
>>666は書籍の宣伝のために開発されたAIボットだから相手にしちゃダメ

692 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 09:21:01.85 ID:OZxd0eW0.net]
C# は、共変性・反変性とか、概念が難しい

まだ、Ruby のダックタイピングとか、オープンクラスの方がマシ

693 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 09:30:56.78 ID:SE3y3kP3.net]
ここにもRubyキチガイが

694 名前:デフォルトの名無しさん [2018/09/20(木) 09:36:06.18 ID:lp8Y5Sjf.net]
>>666
C#もポインタ使えるよ

695 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 09:41:50.01 ID:kFoauySG.net]
ガイジに触るなよお前素人か

696 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 09:51:05.51 ID:fnf4DFpj.net]
たのしいRubyはもう古いし楽しくない
パーフェクトRubyのほうがマシ

697 名前:デフォルトの名無しさん [2018/09/20(木) 12:27:04.89 ID:lp8Y5Sjf.net]
>>672
すんません

698 名前:デフォルトの名無しさん [2018/09/20(木) 15:07:08.67 ID:7FqSQ4ZO.net]
次世代言語スレから追い出されてこんなところで自演してたのかアンチ君
Pythonのステマを封じられたぐらいで発狂しすぎだろ

699 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 16:29:05.65 ID:qiFS9yA6.net]
そのスレ見てないからよくわからんけど他のスレにまできて粘着してるのかよ w
ごちゃんこええ



700 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 16:54:21.75 ID:D2y+HKaB.net]
>>660
C#に入門するだけなら高い本を買わなくてもWeb上の入門記事で十分。
(本には本でどこでも読めるメリットはあるけど、今時のプログラミングの本は
だいたい分厚くてどこでも読みたいサイズじゃない)

プログラミングに入門する言語としてC#が最適かどうかは微妙。
C#は上級者にはとっつきやすいよく出来た言語だけど、何せ覚えることが多過ぎる

701 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 17:53:22.89 ID:KIaLDywn.net]
代案ださんと

702 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 19:03:15.03 ID:fnf4DFpj.net]
図書館でc#の本を借りてこればいい
で良さそうなのがあったら本屋で買う

703 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 19:26:38.71 ID:CgrjUHeB.net]
初めてのC#でいいだろ

704 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 19:28:26.04 ID:iJVr7ybn.net]
ハーバート・シルト氏は独習C++でも名高い、これを超える書籍はまだ生まれていない

705 名前:デフォルトの名無しさん [2018/09/20(木) 19:34:07.37 ID:DBWB48iV.net]
>>681
でもそれ読んだ結果のおまえな訳やろ?
信憑性ないわー

706 名前:デフォルトの名無しさん [2018/09/20(木) 20:26:13.94 ID:rVGxs5dI.net]
独習読むなら3版だよな!

707 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 20:31:13.21 ID:WCWCO/OJ.net]
C#でDBプログラミングを勉強するのにおススメの資料を教えて下さい。
接続/切断/クエリ送信などの処理をする際に、鉄板といえる手続きがどんなものなのか分かりません。

708 名前:デフォルトの名無しさん [2018/09/20(木) 20:35:41.42 ID:WlS4D6o/.net]
>>684
https://docs.microsoft.com/ja-jp/ef/core/index

709 名前:デフォルトの名無しさん [2018/09/20(木) 21:31:37.32 ID:IHzBiPD0.net]
C#でDB扱うならネットで検索した方が早い



710 名前:デフォルトの名無しさん [2018/09/20(木) 21:35:22.37 ID:DBWB48iV.net]
嘘つくな絶対普通にDBつこた方が速いわ

711 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 21:37:16.90 ID:gGegNzBj.net]
>>687
おまえは何を言っているんだ

712 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 21:38:48.49 ID:h4Dr8zIJ.net]
ワロタ

713 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 21:52:09.03 ID:xtibJYVp.net]
efはsql出来ない人が使うものってことですか?

714 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 22:04:35.37 ID:1gZefLOg.net]
クラウドのdbにしてもgoogle関連の超速dbには勝てないんだよなぁ

715 名前:デフォルトの名無しさん [2018/09/20(木) 22:07:31.56 ID:8NN5YAN4.net]
>>684
書籍でいうとまとめて書いてあるのは
10年前のこれくらいしかないが
https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-MS-ADO-NET2-0-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E5%85%AC%E5%BC%8F%E8%A7%A3%E8%AA%AC%E6%9B%B8/dp/4891005491
詳しすぎるので「接続/切断/クエリ送信」くらいなら
ネット検索で十分(基本変わってないので)

使えるならDapper使うのがおすすめ
Entity Frameworkはもうちょっと理解が進んでからかな

716 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 23:46:48.16 ID:BBvoO4H7.net]
>>690
efはsql知っている人が楽するためのものなので、
sqlやRDBを知らないと訳わからんと思う

717 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 01:51:23.59 ID:e4o674sK.net]
ef知ったらもうsql書きたくなくなるぞ

718 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 05:22:27.48 ID:IsynsslI.net]
そしてEFが発行するSQLみて手書きしたくなる

719 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 05:49:36.03 ID:ibfXzeqr.net]
速度的にはEFもSQLセルフ発行も同じ?
SQLだと複雑な抽出も出来るし一長一短け?



720 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 07:30:51.31 ID:mrJQQAUt.net]
一長一短
efのSQLが嫌ならそこだけ直接発行にもできるから使い分けられる
efの生産性はぱねぇけどね

721 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 13:30:57.74 ID:IsynsslI.net]
SQLはサーバ側のオプティマイズがあるから、単純に発行した内容だけでは比べられんが
今のところまだEFよりちゃんとSQLできる人間が書いた方がマシなSQLになる印象

だからって、速度的には全て自分でSQL書けって言うほどひどくはない
簡単な選択程度なら誤差の範囲
普通はEF任せで、問題のあるとこだけ自分でSQLチューニングすれば良い

722 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:05:43.62 ID:xQShnEjp.net]
EFはオブジェクト指向というかリポジトリパターンを前提にした設計なんだよな
ドメイン側をキッチリ設計して複雑なSQLはそもそも必要ないってとこまで持っていけないとうまくハマらない

723 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:36:02.24 ID:ibfXzeqr.net]
>>699
理解した
noSQLみたいな設計が必要なのか

724 名前:デフォルトの名無しさん [2018/09/21(金) 20:46:33.71 ID:fCjKI+bL.net]
すみません質問なんですが
WPFってプログラム部分はC#で
GUI部分がXAMLということらしいですが
ということは
アプリとしてC#でできることはWPFでも当然できて
GUIはC#のフォームアプリより更に柔軟に凝ったことができる
という認識でよいでしょうか?
C#ではできてもWPFでは難しいってことはありますか?
漠然とした質問ですみません

725 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:56:54.12 ID:d21LRhSC.net]
>>701
WindowsFormとWPFの比較なら例えばWPFにはNumericUpDownコントロールがないとか
とりあえず「wpf windows フォーム 違い」で検索してみては
もしくは具体的にやりたいことがあってどっちにしようかという話なら、やりたいことを書いて質問してもらうほうが早い

726 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 21:01:41.42 ID:YWBdXOYh.net]
>>701
MSですら使ってないしもうとっくの昔にオワコンしてるから今さらやる必要ない
あとクッソ重い

727 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 21:18:14.63 ID:2cEyH6cz.net]
俺は一つのプログラム内でのモジュールの使い回しは無駄だと確信した
guiなんてアプリごと作り捨てろ
gui以外を使いまわすなら検討の余地はある

728 名前:デフォルトの名無しさん [2018/09/21(金) 21:30:13.81 ID:MqKbhYRD.net]
その前におまえが初心者やと確信してほしかったわ
ええんやけどね別に

729 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 21:57:18.69 ID:qgyq16h9.net]
>>701
WPFの基本の部分はc++あたりで作ったDLL



730 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:19:46.65 ID:buJTAf7s.net]
>>703
嘘は良くない

731 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:22:15.09 ID:Q76cyRJI.net]
クラス内の static メンバ変数の名称と値をすべて取得する方法はありますか?

public な変数ならリフレクションを使うと取れるのだけど、
クラスの中から実行するのでもよいので private や protected な変数もやってみたい。
ただ気になっただけなので、理由は問わないでください。

732 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:40:23.53 ID:d21LRhSC.net]
>>708
https://dobon.net/vb/dotnet/programing/typegetmembers.html
試してないけど、ここの改変で出来ない?

733 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:54:35.98 ID:OrlkLn9C.net]
>>707
事実なんだよなあ
2012年の.NET4.5リリースを最後にほとんど機能追加されてないんだぞ
MS自身新規プロダクトには全く使ってなくて完全にレガシー扱い

734 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:04:18.82 ID:RA1YahyE.net]
2年ぐらい前だったと思うけど、WPFに事実上の死亡宣告が出たってちょっと話題になったことがあったね

もっとも5年前の時点ですでにこんな記事が書かれてる
https://www.infoq.com/jp/articles/Win8-LOB-Options

735 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:04:20.13 ID:VyQ6q8Hr.net]
>>710
あれ、使ってないんじゃなかったのかい?

736 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:11:06.31 ID:/LVptLz+.net]
ただ単に客からの発注が無いだけであって
自作・社内ツールではかなり役に立つよ

737 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:11:11.20 ID:ZjQBvuSg.net]
>>710
> 2012年の.NET4.5リリースを最後にほとんど機能追加されてないんだぞ
Formsもどっこいか、むしろ少ない位だろ

738 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:18:36.91 ID:RA1YahyE.net]
>>714
それどういうネトウヨ脳?w
そういう敵味方二元論、頭悪いよ

739 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:22:45.51 ID:lvi4DOp5.net]
WPF死んでUWPも上手くいってないけど次の手がうまく打ててない
昔はCEOが技術を重視してトップダウンでいろんなものが決まったけど今は上が無能で
windowsに興味がないから放置されてる

win10モバイルが死んだ今モバイル向けAPIの開発も滞るだろうしどこにむかってんのかね



740 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:28:42.18 ID:QAw1ia2N.net]
>>709
ありがとう。
NonPublic に気がついてなかった。あとで試してみます。

741 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:28:50.97 ID:Ov13Y0lw.net]
>>716
の言うとおり
WPFは死んでるけど
UWP次世代クライアントとして代替となつまていない
win10対応では諦めてWPFで作るか、次のタイミング待ちな状況がこの数年続いてる

742 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:29:25.07 ID:Ov13Y0lw.net]
訂正:代替となっていない

743 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:39:15.23 ID:cNCOPpWD.net]
デスクトップアプリは衰退する一方だからMSにとって投資する価値はない
この期に及んでいまだにWinデスクトップアプリに固執してるような連中が、
自分達が最近のMSに軽視されているからといってMacやChromebookに乗り換えるだろうか?
どう考えてもあり得ないだろ
唯一競合と言えるのはElectronくらいだけど、そこはMSの手ががっつり入って既にWindowsとの相性は完璧だ
今後の新規投資はAzureに全力投球だよ

744 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:42:43.93 ID:lvi4DOp5.net]
Azureが全盛になったとしてもMSの技術者はどんどんやめていくだろう
優秀で新しい技術にかかわりたい人は我先にやめていく

745 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:44:05.19 ID:9fGOEyZF.net]
またアンチMSの希望的観測が始まった

746 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:46:02.51 ID:QAw1ia2N.net]
>>709
いま試してみたら普通に取れた。ありがとう。
protected でもクラスの外から参照できたんだな。。

747 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:47:36.81 ID:lvi4DOp5.net]
世界中の優秀な技術者が水道公社やガス会社に勤めたいとは思わないだろう
そこがビルゲイツの始めた双六の上がりだったらまあ本当に魅力のない話だ
最低最悪のゴール

748 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:48:29.31 ID:afLe3oes.net]
新しい金の搾取方法が必要なんだよね

windows自体は95でほとんど完成していたな

749 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:50:37.03 ID:RA1YahyE.net]
アンチっていうより「俺スゲー」の一種だねw
俺スゲー⇒俺がやってることスゲー
「俺スゲー」は劣等感の裏返しなのでそれは必ず何かに対する否定を伴う

まあ、こういう人に関しては川俣大先生の言う通り。

付け加えるとこれ、2chに多い「ネットde真実」の同類だと思って間違いないと思う



750 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 00:59:07.10 ID:lvi4DOp5.net]
ビルゲイツが語っていた未来がAzureというインフラ屋(水道屋、ガス屋、電力会社)を作るという話なら
多くの夢を持った技術者は集まらなかった

インフラ屋は最低限の教育水準があって賃金の安い国に移るだけだ
未来も最新技術も糞もない

751 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:00:21.74 ID:mc091pM3.net]
>>724
MSが土管屋になろうとしているのかというと明らかにNoだろうけど、
Amazon、MS、Googleのクラウドベンダートップ3の中ではMSが最も「単なる土管屋」に近いのは確かだね
AzureはWindowsサーバーのホスティングサービス以上の何者でもなく、それ以外の部分ははっきり言ってゴミ&クソ&カスである

752 名前:デフォルトの名無しさん [2018/09/22(土) 01:02:09.49 ID:gpkx9mPg.net]
ゲイツはいま医療技術に夢中だ。
おまえらも人の役に立つことやれよな!

753 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:03:01.96 ID:Ov13Y0lw.net]
おまえもな

754 名前:デフォルトの名無しさん [2018/09/22(土) 02:22:07.77 ID:MAFBmZ+e.net]
ヒカキンの年収が10億超え!?明石家さんま・坂上忍も驚愕の総資産とは??
https://logtube.jp/variety/28439
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
なぜか観てしまう!!サバイバル系youtuberまとめ
tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチュー

755 名前:oー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
専業YouTuberがYouTubeでの稼ぎ方具体的に教えます。ネタ切れしない方法は〇〇するだけ。
https://www.youtube.com/watch?v=Co9a9fHfReo
YouTubeで稼げるジャンルは〇〇動画です。YouTube講座
https://www.youtube.com/watch?v=_Nps8xb5czQ
[]
[ここ壊れてます]

756 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 15:23:45.12 ID:VPVsRefo.net]
なんでMSは莫大なリソースあるのにまともなwindows用のデスクトップMVCフレームワーク作らんの?

757 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 15:33:12.40 ID:BD/9qPVn.net]
金にならないから
今のMSの金蔓はOfficeとAzure

758 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 16:52:49.31 ID:KZSla2NN.net]
>>732
MVVMならあるでしょ

759 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 18:09:02.28 ID:ZTe9HnQE.net]
tabControlのページをクリック以外の方法で切り替えることはできますか?
変数を立ててswitch文でプロパティ替えればできると思ってたけど
tabpageプロパティは読み取り専用で設定できないのね



760 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 18:12:36.64 ID:sUJsyE8y.net]
WinFormの話ならSelectedIndexで変更する

761 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 18:42:13.59 ID:ZTe9HnQE.net]
>>736
できました!
プロパティウインドに表示されないプロパティもあるんですね
インテリセンスの候補には出てくるけど見落としてました
ありがとうございました

762 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 18:43:46.71 ID:Anxq9bjC.net]
>>732
MVCとかしゃらくせえんだよ。
全部フォームモジュールに書けばいいの。

763 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 19:01:14.84 ID:kFAOP0FY.net]
MVCでググって出てくる

https://nekogata.hatenablog.com/entry/2013/11/11/075234
https://qiita.com/tshinsay/items/5b1724baf32b8b5113c2

この辺読んでもMVCの利点も必要性もさっぱり分からん、というのが正直な感想

764 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 19:08:01.99 ID:yVyqSbVQ.net]
>>739
君の作ったAPに undo とredo の機能を追加してはくれまいか?

多分それが、Cの設計のきっかけになるかと

765 名前:デフォルトの名無しさん [2018/09/22(土) 19:29:21.32 ID:T1K71jdo.net]
ならんわw

766 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 19:35:14.05 ID:7nPJqZuh.net]
なるわw

767 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 19:42:15.62 ID:kFAOP0FY.net]
undo、redoって普通にモデルの仕事でしょうw

モデルのクラスのコードをいじれない、とかの事情で別のクラスを使って機能を拡張するとしても、
それをコントローラと呼ぶのは違うんじゃないの?

768 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 19:49:11.04 ID:dBgPOLrx.net]
>>739
WebMVCじゃない本来のMVCにおけるCって、昔のSmallTalkのGUIフレームワークではWndProcみたいなことをする役割を担う層が必要で、それをコントローラと呼んでただけ
特定のフレームワークの技術的な制約のために必要だったもので、イベントハンドラでイベントを直接メソッドにディスパッチできるC#においては全く必要ないよ

769 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 20:08:0 ]
[ここ壊れてます]



770 名前:9.03 ID:/LVptLz+.net mailto: class MyForm : IMyView {
private ISomeService ss;
public MyForm(ISomeService ss) {
this.ss = ss;
}

private async void OnXxx(...) {
var p = GetSsParam();
var r = await ss.ExecAsync(p);
HandleSsResult(r);
}

もしかしてssのことをコントローラーと言いたいのではないか?
[]
[ここ壊れてます]

771 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 20:27:21.25 ID:A7i/kFyi.net]
>>739
mvcわからんくてもビューとロジックは分離しないとまずいってのはわかるでしょ
そのやり方の一つがmvc

772 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:53:59.90 ID:BD/9qPVn.net]
ジャパニーズドカタはテスト書かないから分からないよw

773 名前:デフォルトの名無しさん [2018/09/22(土) 22:03:55.13 ID:T1K71jdo.net]
初心者がゆうなw

774 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 22:42:44.85 ID:Dlzi4J2e.net]
つーか、画面は作り捨て上等

一昔前に流行った画面構成なんて臭くって使えない

775 名前:デフォルトの名無しさん [2018/09/22(土) 22:47:11.36 ID:RLMh0rIO.net]
テストとかまじ手間とるだけの時間稼ぎでしかない

776 名前:デフォルトの名無しさん [2018/09/23(日) 00:24:52.61 ID:cRG95Xcq.net]
歴史あるmfcのウンコドキュメントビューアーキテクチャと
なにが違うの?

777 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 00:34:17.81 ID:y+eZw7HP.net]
そもそもこれでもかってぐらいこびりついてるのになぜ切り離そうとするのか?

画面アプリとサーバー側で分けて画面アプリは作り直せよ

778 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 00:39:38.45 ID:sUwtRH+p.net]
初心者なんだから難しいこと考えるなよバカどもw

779 名前:デフォルトの名無しさん [2018/09/23(日) 00:47:36.99 ID:cRG95Xcq.net]
一時期strutsとかいうインチキくさいフレームワークがほんのりはやったが
いまはもう見る影もない



780 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 01:21:59.82 ID:TQN/0jmK.net]
どこの記事だか忘れたけどMVCに関して昔読んだので一つだけ説得力を感じたのは、
古いタイプのインストーラーみたいにウィザード形式のUIの画面遷移のためにはCが必要って内容

そこは確かに一理あると思った
ウィザード形式なんてそうそうあるUIとも思えんが

781 名前:デフォルトの名無しさん [2018/09/23(日) 01:33:34.95 ID:0vXeudiz.net]
いらんわw

782 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 02:07:34.36 ID:jzOYIT9S.net]
MVVMは慣れてきたらものすごく開発が楽だけどな

783 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 02:35:37.21 ID:taBrfSf/.net]
>>757
それも「行きはよいよい帰りは怖い」だけどね

書いてる時はいいんだよ。
問題は後で見た時に、あるいは他人のコード見た時に
何やってるのか理解するのに無茶苦茶時間が掛かること

支持する奴の気がしれん

784 名前:デフォルトの名無しさん [2018/09/23(日) 02:46:47.55 ID:Dc9ARAgR.net]
MVCは近代的な開発環境を使っていれば自然と守られるから学習する必要ないよ
CにMを書いちゃうとか変なことをしない限り大丈夫だよ
対するMVVMは難しいね、かなり練習しないとただ3層に分けただけの偽MVVMになってしまう

785 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 04:46:55.14 ID:cjexH34A.net]
>>755
「司令」とかはデフォだよ

786 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 07:17:03.92 ID:J2MRrpUo.net]
C#とあわせてDB勉強するならどれがいいですか?
やっぱり同じMS製のSQL Serverですか?

787 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 08:01:38.54 ID:dcxIZpfd.net]
>>761
どうせ Visual Studio 使うんだろ?
ならSQL Server LocalDB使うのがインストールも簡単だしVisual Studioから基本的な操作ができるから楽だよ

788 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 08:45:18.24 ID:9e4CRvDY.net]
>>758
実際にはめちゃくちゃわかりやすいけどな

789 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 09:48:29.79 ID:y+eZw7HP.net]
>>763




790 名前:ィ前が資料に嘘書くから無理 []
[ここ壊れてます]

791 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:43:01.55 ID:/KN8+x6x.net]
>>758
今時mvvmアンチとか新しいな
対案は?

792 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:47:19.91 ID:pXi93aAm.net]
フォームベタ書きが一番

793 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:03:56.91 ID:w4aHsEmW.net]
MVVM否定する奴とかネタだよな

794 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:17:56.73 ID:4UDG5/fM.net]
フォームクラスに全てを書く。これ最強。

795 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:07:53.59 ID:jYUPCkq4.net]
mvvmは状態がわからないと言うか再現できないことが多くて
従来型のmvvmはwebのあたりでは捨てられ始めてる

796 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:09:21.60 ID:y+eZw7HP.net]
>>767
逆に明確なメリットが無いよね?

797 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:10:05.59 ID:MTMF1/K8.net]
DIコンテナ使い出すとwpf+mvvmから抜け出せなくなるな
もしかするとDIコンテナ知らずにmvvm批判しているんだろうか?

798 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:18:11.03 ID:9e4CRvDY.net]
>>769
再現ってVMのプロパティセットするだけだが?

799 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:20:21.01 ID:jYUPCkq4.net]
React & Fluxを使いだすとmvvmはもう戻れないと言ってるやつと同じレベルだな



800 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:21:04.98 ID:jYUPCkq4.net]
>>772
そこがお前の限界

801 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:21:15.43 ID:9e4CRvDY.net]
>>771
DIは関係なくね?
DIは特定のアプリケーションフレームワークに依存したものじゃない
コンソールでもFormsでも使えるよ

802 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:21:33.58 ID:9e4CRvDY.net]
>>774
ブーメラン

803 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:23:04.60 ID:jYUPCkq4.net]
アジャイルを知ったらもう他にはもどれない
TDDじゃない開発はIT土方だ

などとくだらないことをいうバカ信者は死ねばいい

804 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:26:57.57 ID:jYUPCkq4.net]
FBは一時期mvvmに傾倒してたけど大規模になってくるとなぜだか思ったように動かないことが多くなって
mvvm自体に弱点があることに気付いた
そしてmvvmを捨てることにした

中小規模ならmvvmはまだ使えるが大規模になると使えない
状態を追いきれない

805 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:31:36.73 ID:jYUPCkq4.net]
FBによるとmvvmでは大規模になると値が変わった場合どこでどうしたからその値が変わったのか説明できない
元をたどれないことが多くてバグをつぶしたと思ったら同じバグがまた出ることに悩まされていた
簡単にどこででも状態をいじれることが間違っていたと判断した

806 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:38:33.91 ID:q1Vd+N6m.net]
真っ赤なスレ違い

807 名前:デフォルトの名無しさん [2018/09/23(日) 15:30:30.23 ID:8zSZzIZI.net]
MVVMってV-VM-Mなの?

808 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:33:57.42 ID:qwzkV0Ze.net]
MVCを知りたいという初心者に
MVVMの有能さを洗脳するスレなのか

809 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:45:09.37 ID:sUwtRH+p.net]
デザパタ語りたがり初心者が湧いてるのか
ママにでも教えてやれ



810 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:53:04.68 ID:9e4CRvDY.net]
ViewをViewModelの影に徹させて管理すべき状態数を明確化、最小化しようってアイデアがMVVMの基本
なのでその明確化、最小化された状態数すら追いきれないというならMVVMをやめた途端に余計に追いきれなくなるだけだ

811 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 17:03:54.35 ID:jYUPCkq4.net]
それがお前の限界だよ

812 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 17:45:23.67 ID:iWYV1BwG.net]
ID:9e4CRvDY
ID:jYUPCkq4
恥ずかしいやつら

813 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 18:12:28.13 ID:rcV006B3.net]
>>761
MSに生涯の忠誠を誓うんならSQL Serverでいいけど、そうでないならPostgresかMySQLがいいよ
SQL Serverって癖が強くて性能も低くてVSやWinとの相性を除けば正直ク○

814 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 18:15:05.38 ID:JZ2tjL8B.net]
>>786
ガイジを列挙するな

815 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 18:58:36.13 ID:z3WNOmb5.net]
>>783
デザパタじゃないからw

816 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:02:57.05 ID:qwzkV0Ze.net]
元質問は739じゃ

817 名前:無いのか? []
[ここ壊れてます]

818 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:24:28.10 ID:JZ2tjL8B.net]
人間初心者スレとはたまげたな

819 名前:デフォルトの名無しさん [2018/09/23(日) 19:31:52.04 ID:cRG95Xcq.net]
いま、SQLiteのテーブルを編集するおもちゃを
CLRのwindowsフォームでC#でなく、あえてC++で作って遊んでみてる
書いてることはC#と当然ほぼ同じになる

SQLiteをODBC経由でアクセスするだけで
DataGridViewで簡単にDBの編集ができることが分かった
ただし、MSが提供してるコンポーネントを適切に使用する必要がある

DataAdapterでDataSetとって
DataSetからDataTableとって、そのDataTableをDataGridViewのDataSourceに設定する
※ どうやらSQLiteでは1つのテーブルのデータセットしかとれない模様
※ DataSetという意味ではこのDataSetは超無意味

で、DBの種類とか関係なく
C#で用意されてるコンポーネント経由でデータがとれるようにしないと
作るのが極端にめんどい

なにがいいたいかといえば
C#のおもちゃ部品使ってるくせに
MSがどうこういってることが的外れ

C#とMSのコンポーネント使ってる時点で、
どっぷりMSに浸かってる



820 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:46:25.43 ID:qwzkV0Ze.net]
>>791
平伏せよ

821 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:18:59.85 ID:kzypxn8Z.net]
>>784
正解
>>785
馬鹿乙

822 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:29:06.67 ID:eq3kKmf9.net]
MVVMを現実のものに例えるとどうなりますか?

823 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:54:23.90 ID:z3WNOmb5.net]
ないね
何でもそうだけどあるがまま理解するのが結局早い
たとえ話は理解の助けにならん

あえて言えばVMがMをVの都合に合わせる装置として機能する、って考えればトランスとか
でもトランスは一方通行だし、そもそもトランスが何か分かる奴も少ないよなw

824 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:55:30.10 ID:z3WNOmb5.net]
でも理解しなくていいと思うw
全然普及してないし、私見だけどMVVMなんて複雑な問題をより複雑な別の問題に置き換えるだけw

825 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 21:22:07.50 ID:H5quPExp.net]
話し変わるけどちょっと聞きたいのだが
コミット前に全ソースコードをバッチ処理でフォーマットしたいのだが良いツール知らん?
Visual Studioでフォーマットできるけど、修正したいファイルを1こ1こ開いてフォーマットを実行しなきゃならんから、ちょっとしんどい
Visual Studioに依存せずにコマンドラインから使えることが必須条件

826 名前:デフォルトの名無しさん [2018/09/23(日) 21:40:31.39 ID:cRG95Xcq.net]
MVVMとかぜんぜん知らんが
DBMSでいえば、
ModelがテーブルでViewModelがビューテーブル程度のしょうもないもんにしか
パッと見た感じで、見えんかったわ
で、Viewがビューテーブルをひたすら参照

827 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 21:47:30.18 ID:qG17FGT6.net]
>>799
全然あってなくて困るレベル

828 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 21:52:07.09 ID:qG17FGT6.net]
>>794
それがお前の限界だ

FBがMVCやMVVM捨てた理由とその後どうしたかを調べてから言え

829 名前:デフォルトの名無しさん [2018/09/23(日) 21:56:27.70 ID:cRG95Xcq.net]
そうかそれは残念だ
ViewModelのbindなんかすでに決まった手続きのパラメータマッピングしてるだけのように
しかみえないしな

この部分はDBMSでいえばプリペアドステートメントに
パラメータをバインドする操作と似ているとは思った



830 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 21:59:51.53 ID:gaT7ABZW.net]
>>801
今ここでおしえて

831 名前:デフォルトの名無しさん [2018/09/23(日) 22:08:25.29 ID:cRG95Xcq.net]
MVC

 View ←(Update)← Controller ←(Notify)← Model
 View →(User action)→ Controller →(Update)→ Model

    カサカサ
三 三 /\彡⌒ ミ/\
三 三 /\(´・ω・`)

832 名前:/\

 View ← ViewModel ←(Notify)← Model
 View →(Bind)→ ViewModel →(Update)→ Model

ViewModel から View に一切作用しようとしない
ViewはViewModelにインターフェースの提供のみ

大雑把には
ModelのデータをViewが参照できるデータになるように
ViewModelがマッピングや加工して取ったり設定したりするインターフェースを
Viewに提供してるだけのようにしかオレには見えんかったわ

マジで
[]
[ここ壊れてます]

833 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 22:15:42.60 ID:bzyPZ4ls.net]
>>798
整形できるツールはVisualstudioかVSCodeくらいしかないんだろう?
UWSCのような自動化ツール使うこと考えるのが一番早いんじゃないの
これ以上はVisualStudioかVSCodeのスレで聞いた方がいいかと

834 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 22:17:55.81 ID:H5quPExp.net]
>>805
レスありがとう
でも自己解決したからもういいや

835 名前:デフォルトの名無しさん [2018/09/23(日) 22:36:00.38 ID:cRG95Xcq.net]
CLRのオブジェクトにPropertyGridというのがあるが
いま丁度それでDBMSの値を更新するおもちゃ作ろうとしてる

なんとなくコレに似てるのかなあとは思う

設定取得のプロパティーインターフェースをもったインスタンスを渡すだけで
そのインスタンスのインターフェース使って
プロパティー設定の画面インターフェースがPropertyGridに勝手にできあがってしまう

すげえと思ったが、なんとなくうさんくさい

どういう仕組みになってるのかはぜんぜん分からないが
そのデータの設定取得の仕方は実装する側でなんとでもできるのは分かる

836 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 23:00:05.22 ID:5OkVsLkb.net]
>>806
あのねえ
どうやって解決したか書くのが礼儀ってもんだろ

837 名前:デフォルトの名無しさん [2018/09/23(日) 23:21:53.73 ID:cRG95Xcq.net]
きっとなちょろっと試しに検索したら↓コレが一発であったとしか考えられない
https://github.com/dotnet/codeformatter

ホントな質問するヤツも回答するヤツも無能揃いといっていい
回答するヤツもググレカスとすらいわないからな

回答するヤツも最初から回答できるレベルじゃない
むしろ回答しないほうがマシなレベルといっていい

838 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 00:01:35.94 ID:OxVBaH7R.net]
>>809
ん〜それも検討したけどVS/VSCodeの手動フォーマッティングと設定共有できないっぽいから見送った

>>808
とくにひねりもなくOmniSharpとビルドスクリプトを使うことにしたよ

839 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:28:32.62 ID:yFnU/yKn.net]
リファクタリングってやってる?
いつも気付くと似たような処理や非効率な処理が増えてて辛い……
凄腕のマなら最初から効率的なコード書けるんだろうけどさ……



840 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:35:05.11 ID:/23hZmm4.net]
動いているコードに手をつけるリファクタリングは最悪。

841 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:38:03.20 ID:yFnU/yKn.net]
でもでもっ!
ちょっと弄るだけで処理が効率よくなり、コードがリーダブルになり、exe(dll)のサイズも小さくなりますよ?
テスト前ならいいよね?

842 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:39:36.03 ID:sPlVwsRd.net]
>>811
世界的に有名な凄腕ですら最初から完璧は無理だからリファクタリングしろと口を揃えて言っている
程度が低いプログラマほどリファクタリングをしない

843 名前:デフォルトの名無しさん [2018/09/24(月) 09:43:14.50 ID:UOx+eYoH.net]
>>813
だめや、くだらん時間つこてないでテストせえ

844 名前:デフォルトの名無しさん [2018/09/24(月) 09:46:42.21 ID:ySiXDenR.net]
>>814
実は有名な凄腕はリファクタリングなんかしていない。
あとから出てくる有能なやつをつぶす目的でリファクタリングなるものを生み出した。

845 名前:デフォルトの名無しさん [2018/09/24(月) 09:48:31.14 ID:osKypOlL.net]
>>811
私は時々やりますけどね
新しいネタ仕入れたときとか試してみたり
普段あまり先を考えずに逐

846 名前:次的な処理を思いつきで描くので
冗長になりがちだし
数年自分で使ってみると不必要な機能や処理が見えてきて
そいつをそぎ落としたりする
[]
[ここ壊れてます]

847 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:55:37.87 ID:OxVBaH7R.net]
業務系はメンテを他社がやることが多い
なので競争相手の負担になるようにリファクタリングしていない汚いコードを納品したほうが資本主義的に正しい

848 名前:デフォルトの名無しさん [2018/09/24(月) 09:59:35.91 ID:KDQ780rJ.net]
マ板でやれ

849 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:01:45.14 ID:KHvr4x1U.net]
クローンコードは……無能の証……
細かく……機能毎に……クラス化……メソッド化せよ……
有能なマなら……30行程度までの……小さなメソッドが……いくつもできる……
当然……役割で機能クラス化し……マジックナンバーも使わない……
無能は……1クラスにメソッドを詰め込み……メソッドも100行を超えることがある……
クローンコードだらけで……おまけにマジックナンバーがあり……保守性が……非常に悪い……



850 名前:デフォルトの名無しさん [2018/09/24(月) 10:01:45.99 ID:osKypOlL.net]
ここは初心者スレ

851 名前:デフォルトの名無しさん [2018/09/24(月) 10:03:47.23 ID:ySiXDenR.net]
初心者相手だからこそ善導せねばならない。
リファクタリングとやらにうつつを抜かす暇があるなら目前のコードを正しく読む力を会得するべきである。

852 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:04:15.61 ID:KHvr4x1U.net]
>>818
競合他社「ぷげらっwwwあの会社のマはこんなコードしか書けねぇ無能っすよ?www」
お客人「マジかよwww次からお前んとこにするわwww」

853 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:09:35.45 ID:RUArc1Op.net]
そもそも何を目的としてリファクタリングなんてするわけ?
次の開発は来ないかも知れないじゃない?
また、次の開発を目的とするなら仕様がわかってから手を出せばいい

全てにおいてトンチンカン

854 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:20:00.26 ID:rB4zdy0A.net]
伸びてるときはガイジしかいないな

855 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:21:07.52 ID:iTzVBLdT.net]
>>820
普通この辺りってネットで調べたら一番に出てくるのに、なんで糞コード量産されちゃうんだろう・・・

856 名前:デフォルトの名無しさん [2018/09/24(月) 10:26:35.15 ID:SrcYdwzB.net]
>>826
調べないから。
基本他人のコードをコピーして今回の要件を満たすように
書き換える仕事。意味がわからないところとか
通らないロジックがあっても気にしない

857 名前:デフォルトの名無しさん [2018/09/24(月) 10:46:02.74 ID:ySiXDenR.net]
>>825
リファクタリングなんての持ちだして初心者を混乱させるガイジが多くて困るよ

858 名前:デフォルトの名無しさん [2018/09/24(月) 10:49:53.69 ID:TmR9qzOH.net]
そういや、VSCodeのswitch文の変な整形って何時になったら直るんかねえ?

859 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:10:08.31 ID:L/eVK/99.net]
else句を多く使うのは三流PG
一流のPGは極力else句を避けるものだ
else if なんてのは論外だ
returnせよ!



860 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:21:43.89 ID:OxVBaH7R.net]
>>823
競合他者「難しくメンテ出来ません(´;ω;`)納期間に合いません(´;ω;`)」
お客人「使えねえな。おまえんとこはもう二度と使わん(´;ω;`)」

861 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:23:43.58 ID:OxVBaH7R.net]
>>824
開発、テスト、デバッグ、仕様変更対応をしやすくするためにやるんだとさ
確かに楽に安く高品質になるんだけど、ビジネス的にはコスト増やして請求も増やすほうが儲かるのにもったいないよね

862 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:33:19.66 ID:VSctwqS/.net]
「ガイジ」なんて汚い言葉を平気で使える奴って自分で自分がどんな人間か
語るに落ちてることも気づかないんだろうな

863 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:41:30.08 ID:VSctwqS/.net]
>>832
こういう思考回

864 名前:Hの人がマ板とかでブラック企業とか人買いとか吠えてるんだろうな。 []
[ここ壊れてます]

865 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:42:43.02 ID:A8fPcUdc.net]
キミたちc#で何作ってるの?
俺はFormアプリしか作ってない
Webアプリはrubyかphpで構築
Formアプリなんかクッソ時代遅れ感あるけど

866 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:49:48.03 ID:zTc6LZBq.net]
ガイジを連呼する差別主義者は自分が社会の最底辺だと気がついてないんだろうな

リアルな社会でもガイジ連呼して白い目でみられればいい

867 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:53:59.68 ID:sWz4zxrJ.net]
>>811
完成までの間にいつもやってる。
とりあえず適当に動くモノを作ってみる → 自分の担当部分を見直して整理する
最初に動くモノが出来るまでが貰った期間の 1/4 〜 1/3 くらいの時点、あとは時間が許す限り(組み直して遊んでる)。

やってるうちに最初から(自分なりに)組み直しする必要のないコードが書けるようになってく。
でもそのときは自分の技量が上がってるから別のやり方を試したくなるので堂々巡り。

受け入れる側とすればコードのわかりやすさとか以前に試験しろよと思う。
なんでこっちがバグ出ししてやらなきゃならねーんだよ、と。

868 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 13:46:58.45 ID:nocx8ro5.net]
>>832
高品質って?
何を基準に?
同じ金使って次の改修が見えてから動いたほうが遥かに品質高くない?

869 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 13:57:10.32 ID:OxVBaH7R.net]
>>838
メトリクス計測すればコードの品質は一目瞭然だけどそういうことじゃなくて?
何を言いたいの?



870 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:01:02.69 ID:OJN25ACF.net]
いくら暇だからってこの流れはひどい

871 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:14:52.92 ID:Gw7mXU1y.net]
c#スレだぞ

872 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:21:56.83 ID:UjLVuG2t.net]
偶然だぞ

873 名前:デフォルトの名無しさん [2018/09/24(月) 14:26:57.52 ID:7nAgeebM.net]
複数の戻り値ほしいとき、タプルを使うべきか、refつけてメソッド内で対応しちゃうか皆さんどうしてます?

874 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:28:50.76 ID:zTc6LZBq.net]
今はタプルで前はクラス作ってた

875 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 15:08:38.45 ID:oYzwCf5A.net]
>>839
メトリクス計測と売上に相関でもあるの?

876 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 15:30:13.77 ID:DNs+Nta1.net]
>>831
世知辛い世の中だな
俺なんてまとまった処理毎にコメントまで入れてんのに
やむを得ずダラダラ書くことになる時はリージョンで畳んだりとかもしてるのに

877 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 15:34:39.00 ID:DNs+Nta1.net]
>>843
タプルはイミュータブルなのがな・・・
クラス内ならプライベートクラスや無名クラスでやっちゃうかな

878 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 16:27:41.20 ID:EJ4GFkIW.net]
イミュータブルのほうが良くない?
なんでc#は引数をfinalできないのか不思議なんだけど理由あるの?

879 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 16:52:39.91 ID:5Y6v7jeg.net]
>>848
in



880 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:10:00.11 ID:p57JLdmZ.net]
クリックした点から点まで連続線を引いてダブルクリックで連続線を終える。
これって難しいですか?参考サイトとかありませんか?

881 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:21:40.73 ID:sZ9gwywh.net]
>>850
ダブルクリックで最後の点+終了なら多分難しくない
MouseDownのイベントのe.Locationでコントロール上の座標を変数に格納する
前回の格納された座標があればそこから2点間の直線を描く
画像、印刷(GDI+)編メニュー https://dobon.net/vb/dotnet/graphics/index.html
線を描く https://dobon.net/vb/dotnet/graphics/drawline.html

882 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:14:41.97 ID:zTc6LZBq.net]
bool 編集モード =false;
bool 線を引いてるか =false;
Point 前のポイント =new Point();

こういうのを使っていけばいいんじゃないかな

クリックしたら
編集モードで線を引いてない(最初の点)なら点を表示
編集モードで線を引いてるなら前のポイントから今のクリック場所まで線を引く

ちゃんとやるならListに座標を記録

883 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:40:10.70 ID:sZ9gwywh.net]
>>850
ヒマだったから書いてみた。ダブルクリックで画像初期化
//新しいWinフォームをDrawlinetestとして作ってForm1.csに以下の内容を差し替え
using System.Drawing;
using System.Windows.Forms;
namespace Drawlinetest
{
public partial class Form1 : Form
{
PictureBox pbox = new PictureBox();
Point pt = new Point(-1, -1);
public Form1()
{
InitializeComponent();
pbox.Location = new Point(0, 0); pbox.Size = new Size(500, 500);
this.Controls.Add(pbox); this.ClientSize = pbox.Size;
pbox.Image = new Bitmap(pbox.Width, pbox.Height);
pbox.MouseDown += MD;
}
private void MD(object sender, MouseEventArgs e)
{
Point p = e.Location;
if (e.Clicks > 1) { pbox.Image = new Bitmap(pbox.Width, pbox.Height); return; }//ダブルクリックで画像リセット
int x = pbox.Width - 1, y = pbox.Height - 1;
if (pt.X < 0 || pt.X > x || pt.Y < 0 || pt.Y > y) { pt = p; return; }
Graphics g = Graphics.FromImage(pbox.Image);
g.DrawLine(Pens.Black, pt.X, pt.Y, p.X, p.Y);
pbox.Refresh(); g.Dispose(); pt = p;
}
}
}

884 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:43:24.90 ID:2M6hZk6X.net]
ideoneにはりゃいいのに

885 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:57:07.31 ID:E4VB1fuR.net]
この程度ならいいんじゃね
いちいちidone開くのもかったるいし

886 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:01:33.03 ID:VSctwqS/.net]
暇だから書いてみたけど何もおもろないなw
public class PolygonalLineEditor
{
  private List<Point> mPoints = new List<Point>();
  public Pen Pen { get; set; }
  public bool Clolsed { get; private set; }
  public Control TargetControl { get; private set; }

  public PolygonalLineEditor(Control target)
  {
    TargetControl = target;
    Pen = new Pen(Brushes.Black);
    TargetControl.Paint += TargetControl_Paint;
    TargetControl.MouseClick += TargetControl_MouseClick;
    TargetControl.DoubleClick += TargetControl_DoubleClick;
  }

  private void TargetControl_MouseClick(object sender, MouseEventArgs e)
  {
    if (Clolsed) return;
    mPoints.Add(e.Location);
    TargetControl.Invalidate();
  }

  private void TargetControl_DoubleClick(object sender, EventArgs e)
  {
    if (mPoints.Count < 2) return;
    Clolsed = true;
  }


887 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:02:30.35 ID:VSctwqS/.net]
  private void TargetControl_Paint(object sender, PaintEventArgs e)
  {
    if (mPoints.Count < 2) return;
    e.Graphics.DrawLines(Pen, mPoints.ToArray());
  }
}

>>854
どうせこの手のコードはイデオンじゃ実行できないしねw


888 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:08:01.56 ID:VSctwqS/.net]
スレと全然関係ないけど、今ふと思って検索してみたらIDEONEの読みがマジでイデオンだと
勘違いしてる人が結構おって笑ったw

889 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:23:12.15 ID:2M6hZk6X.net]
シンタックスハイライトとかの問題でいったんだけどまあいいや



890 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:39:39.67 ID:zEHGGd29.net]
>>858
読み方はしらないが笑われて腹立ったので全方位にミサイルぶちまけてやる。

891 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:41:12.17 ID:oYzwCf5A.net]
ダッサ
ズームもできない

892 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:00:47.20 ID:WUo/Kz5h.net]
>>849
使ってるVSが古くてinが使えないの・・・orz

893 名前:デフォルトの名無しさん [2018/09/24(月) 22:48:46.86 ID:7nAgeebM.net]
>>858
アイディーイーワン?

894 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:54:59.15 ID:oYzwCf5A.net]
>>858
最後は全員死ぬんやで

895 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:06:45.85 ID:2M6hZk6X.net]
>>858
IDE+ONEだとわかった上で読んでるに決まってるだろ

896 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 05:23:26.45 ID:FXqod28S.net]
まあ>>858がどんなところを検索して見て言ってるのかよくわからんけど、そう言う事をいちいち指摘して優越感に浸るちっちぇー奴だと言うことはわかった

897 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 06:10:41.82 ID:O9LsAU4v.net]
IDEONEてイデオネじゃないの?

898 名前:428 mailto:sage [2018/09/25(火) 06:15:54.53 ID:FB7NCruc.net]
イデワンだな

899 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 06:17:26.32 ID:2mkvFBxM.net]
井出ラッキョ



900 名前:デフォルトの名無しさん [2018/09/25(火) 06:47:16.83 ID:qhYBdzAc.net]
K-1みたいなもんだな

901 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 12:38:40.86 ID:TdPE3gl/.net]
>>858
何そのガンダムの武器みたいな読み方

902 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 17:17:17.11 ID:A3nOLsOi.net]
>>852
>>853
>>856
ありがとうございます。明日書いてみます。

903 名前:デフォルトの名無しさん [2018/09/25(火) 19:18:27.96 ID:KdSwzQd3.net]
文字数を正確にカウントしたい場合、文字コードも意識しないとだめでしょうか?
今まで気にしてなかったのですが、どうするのがベストなのでしょうか?

904 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:28:47.41 ID:vBc9NGOH.net]
正確な文字数の定義によるのと違いますか?
何が正確な文字数なのかオープンにしたままどうするのがベストって言われても誰も答えられないと思う

「彳亍」とか「プ」とかを1とカウントしたいとか?

905 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:40:25.03 ID:3aZELiV7.net]
>>873
目的次第
文字のレンダリングに使うのでない限り、多くの場合は普通にLengthを使ったほうがうまくいく

906 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:23:35.47 ID:rqJ67nwC.net]
>>873
www.atmarkit.co.jp/fdotnet/dotnettips/726countchars/countchars.html

907 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:42:56.15 ID:TMsX+vFr.net]
他の言語に比べるとc#スレはいつも人いるな。おかしいな。android開発っつたらjava,kotlinだしiosはswiftだし、サーバーサイドでも.netの存在感そこまである訳じゃないし。
これからwpfやuwpでデスクトップアプリ作ってやろうというやつ多いのか?

908 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:47:31.66 ID:TMsX+vFr.net]
それとも5chはおっさんが多いからおっさん世代ようはwindows パソコン世代が多くc#学んだ人多いからスレ賑わってるのか?

問題は新規ユーザーの質問する側が少なくて答える方が大量にいるというw

909 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:49:20.07 ID:xzq+iCgr.net]
スマホアプリでC#はunityいるんだから多いでしょ



910 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:58:14.72 ID:TMsX+vFr.net]
あっそうか。unityがあったね

911 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:59:01.93 ID:LOGsyFiL.net]
そのわりにUnityの話題がでないな

912 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 21:03:56.27 ID:AGUJmjmE.net]
じゃあなんでこんな栄えてるの?

913 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 21:04:54.46 ID:AGUJmjmE.net]
趣味ならC#?
フォームアプリ簡単に作れるしIDEが最強だし

914 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 21:05:22.69 ID:bUhsTzCn.net]
長い間VB6で開発していた連中がやっとこさ移る先としてはVB.netかc#が多いんじゃないかなと思う。
なので底辺が多い。俺は底辺だ。

915 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 21:16:12.43 ID:1aVWaT8Y.net]
Hello 底辺 World!

916 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 21:23:42.47 ID:LOkxuMnS.net]
>>883
IDEのインストールが簡単ってのも大きいと思う

917 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 21:27:33.39 ID:vBc9NGOH.net]
スレ違いだと釘を刺しつつ乗っかるけど、今この板で一番勢いがあるのは何とExcel VBAのスレ。
別に茶化すつもりでもなんでもなく、ちょっと前にそのスレで「驚いた」って素直な感想を書いたら
被害妄想全開で食って掛かってくる奴が大勢いて面食らったw

918 名前:デフォルトの名無しさん [2018/09/25(火) 21:47:14.55 ID:BRabQ1iT.net]
RADによるformアプリケーション作成
これが便利すぎるからC#が使われているんだろ

919 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:02:33.05 ID:AGUJmjmE.net]
RADってなんだよ
おまえそれが言いたかっただけだろ



920 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:40:08.58 ID:LOGsyFiL.net]
そもそもFormアプリケーションって需要あるの?

921 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:48:48.73 ID:AGUJmjmE.net]
趣味なら

922 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:50:32.00 ID:LOkxuMnS.net]
業務アプリでは結構需要あるぞ

923 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:53:12.33 ID:AGUJmjmE.net]
オレのバイトしてる工場のタッチパネルの中のソフトのアイコンもフォームアプリのやつだな

924 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:57:33.24 ID:7b7yOD+1.net]
>>889
Rapid Application Development

925 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:27:21.31 ID:I5Qjn6E/.net]
変数名やプロパティ名に日本語って使ってる?

926 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:54:12.10 ID:/SQHk11B.net]
テストメソッドにはたまに使ったりするけど

927 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 01:52:56.92 ID:2U1C1lvF.net]
日本語めちゃ使ってる。
日本特有の物事を扱うにあたって無理に英訳しても幸せがない。

928 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:35:39.36 ID:Swk4SbL4.net]
変換キー押すのがめんどい

929 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 06:02:08.78 ID:ltim0pD2.net]
ウォーターフォールって否定されるようになったよな
前は大正義くらいの勢いだったのに



930 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:18:55.79 ID:zkJaWWrb.net]
米国では内製が基本だから、見積り工数を大きくオーバーしても少々不具合出しても自己責任なので問題ない
そのため厳格なウォーターフォールに拘る必要がなく、決まった枠で確実に作り上げるよりもデリバリーの早さを重視する開発プロセスに移行している
一方ジャップアイランドではいまだに受託開発が中心だからウォーターフォール脱却は不可能よ
「工数枠内でベストを尽くしますが、完成は保証しません」
君が客ならこんなこと抜かすベンダーに仕事任せられるかな?

931 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 08:31:58.81 ID:2U1C1lvF.net]
ここC#スレ

932 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 08:32:36.88 ID:7p5c/cxx.net]
>>895
そっか、使えるんだな
でも怒られそう…

933 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:26:00.52 ID:/A0Do83h.net]
お前が権力を握れば怒られない
(ただし裏でクソクソ言われるだろうけど)

934 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 11:53:42.08 ID:CiEUu7ig.net]
全く不具合が発生せず、何かあっても全部自己解決出来るのなら怒られない

935 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 11:57:37.99 ID:5G9UpHy0.net]
プロジェクトチームひとり

超少数精鋭部隊

936 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:06:57.76 ID:CT4RAtHl.net]
日本語識別子、自分が使って書くのは嫌だけど人が書いたのを読むのは全然問題ないよ。
入力しづらいだけで読みづらいわけじゃないから

ただ英語でちゃんとした命名ができない人は日本語能力にもちょっと不安を感じるねw

937 名前:デフォルトの名無しさん [2018/09/26(水) 19:39:07.27 ID:bAgXFgQN.net]
MVCがわかりません
どのサイト見ても概念とか考え方しか書いてない

一般的なWEB構成でいう
M=Webアプリ(サーバー)
V=html+CSS(ブラウザ)
C=Javascript(ブラウザ)

役割はこういうイメージであってますか?

938 名前:デフォルトの名無しさん [2018/09/26(水) 19:41:02.84 ID:+un+mAjX.net]
もともとボヤっとしたもんやからなんでもええねんMVCて

939 名前:デフォルトの名無しさん [2018/09/26(水) 19:45:11.00 ID:bAgXFgQN.net]
そうなんですか

C#でフレームワークはMVCを使用するって言ってるとこあるけど
これはASPのMVCを使うよって事なのかな



940 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 19:45:12.82 ID:aA/f+lgF.net]
Mは処理
Vは見える化
Cは押したボタンからどんなMをするか振り分けること

941 名前:デフォルトの名無しさん [2018/09/26(水) 19:46:17.27 ID:bAgXFgQN.net]
>>910
そうなると>>907のイメージであってますよね?

942 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 19:48:10.38 ID:aA/f+lgF.net]
cookieもCの一部と考えると誠に難しいです

943 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:52:17.09 ID:5G9UpHy0.net]
>>907
仮にそうだったとしてそれに当てはめて何か使いたい式があるのかい?

944 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:08:00.87 ID:YfVqXzaT.net]
設計モデルのこと聞くのにこのスレで引っ張られてもgdgdにしかならないと思うな

945 名前:デフォルトの名無しさん [2018/09/26(水) 23:47:19.83 ID:6l6lrWJp.net]
>>909
WPFを使うよって可能性もあるのでは?

946 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:47:29.61 ID:3iNJ0doV.net]
MVC は、Rails が基本。
これをやっていないと、理解できないだろう

各フレームワークの本は、以下に書いてある

Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/267

947 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:47:48.12 ID:4ugdlN24.net]
はいキチガイ

948 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 02:06:09.29 ID:kGqzP/YO.net]
そもそもMVCってのがかなり大きな概念だからな
ただ、文脈によっては特定のフレームワーク指してたりすることもあるけど

発祥はSmalltalkだったと思うけど、Railsが基本とかやってないと理解できないとかもうね
最近はRubyも必死に普及活動しないとだめなのかね

949 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 03:25:59.55 ID:3iNJ0doV.net]
フレームワークを流行らせたのは、Rails

だから、それ以降のフレームワークは、すべて影響を受けている



950 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 03:51:46.60 ID:eHS6051w.net]
>>918
いやもっと前だな。
WordStar とか WordMasterは既にその概念で実装されている

951 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 06:13:53.28 ID:Ft8D7cEG.net]
Rubyガイジの相手をするな

952 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 08:37:22.20 ID:47BeUI0O.net]
>>918
不況活動?

953 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 12:32:32.34 ID:dSQWakVE.net]
ASP.NETのWebAPIでセッションって使えますか?
使えないとしたら、RESTfullで認証はどうやるのでしょうか?

954 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 12:39:51.19 ID:DMzEptXi.net]
>>923
OIDC

955 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 14:21:18.81 ID:kGqzP/YO.net]
>>923
そもそもセッションと認証は別の概念なんだが

認証はRESTったって単にHTTPなんだから、基本認証でも何でもいいだろ
RESTfulでセッションってなら設計が間違ってる気がするけど、普通にASP.NETのセッション使えたはず

956 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 15:47:13.21 ID:Doi0uWJI.net]
MVCの話ししていいですか?

957 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 16:23:04.87 ID:ejcWbOIW.net]
>>923
ADFS

958 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 17:52:08.36 ID:YZshWEeB.net]
MVC!

959 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:01:27.01 ID:ObHk0Vpa.net]
ダメです



960 名前:デフォルトの名無しさん [2018/09/27(木) 23:24:05.14 ID:52bTlTE/.net]
>>923
RESTのSはStatelessのSだぞ
https://qiita.com/NagaokaKenichi/items/0647c30ef596cedf4bf2

まあアクセストークン発行が多いかな

961 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金 ]
[ここ壊れてます]

962 名前:) 18:46:05.98 ID:ET1lv+jR.net mailto: >>924
>>925
>>927
>>930
ありがとうございます
それらのキーワードについて調べます
[]
[ここ壊れてます]

963 名前:デフォルトの名無しさん [2018/09/28(金) 18:46:53.05 ID:rNXHs4S4.net]
MVCって知ってる?

964 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 20:10:07.21 ID:Gg718xcT.net]
MostValuableComputer

965 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 20:11:31.18 ID:MONIOm5G.net]
Mega Voice Command

966 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:06:51.38 ID:6t0MBxCA.net]
>>876
横レスだけどこれ勉強になった。ありがとう
ただそこの例だとConsole.WriteLineで"\uD842\uDF9F"が表示できないのと
「叱る」をそのままコピペして入力してしまうとサロゲートペア扱いにならずどちらも2文字になってしまう
他で見た「ほっけ」の漢字(魚偏に花。ここでは表示されない)を使ってフォームのTextboxで確認できた

967 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 13:52:59.64 ID:+Sz7jQ14.net]
>>932
格ゲーでしょ知ってる知ってる

968 名前:デフォルトの名無しさん [2018/09/29(土) 17:00:15.70 ID:gjm+1/rI.net]
規制か

969 名前:デフォルトの名無しさん [2018/09/29(土) 17:02:29.51 ID:gjm+1/rI.net]
あれ?書けるじゃん
コード書いて質問しようとしたんだが
サーバーが受け付けないとか?設定変わったとか?



970 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 17:56:26.04 ID:w5r/wsls.net]
>>1「コードを貼る場合は」参照

関係ないかもしれんが、前も何かの記号、確かバックスラッシュ(\)が書けなくなったことがあった

971 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 18:08:04.57 ID:S96Pj/Mu.net]
コードを書くような真面目な内容ならteratailやstackoverflowでやる
そうじゃないなら5ch

972 名前:デフォルトの名無しさん [2018/09/29(土) 18:27:15.47 ID:S+xjvJjq.net]
以前は書けたんだけどなあ?
言葉で説明するのが面倒だからコード書きたかったんだけど
書けないならまあいいや
もう少し自力で調べる

973 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 18:34:36.64 ID:KFN0J1D4.net]
>>1にも書かれてるideone使えば良いじゃん

974 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 18:45:21.77 ID:SXeyKQEb.net]
cdnの規制に引っ掛かってるのでは?

975 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:26:59.78 ID:rSQsiXYH.net]
5chに書くなら文字数が多すぎると書き込めないんじゃなかったか

976 名前:デフォルトの名無しさん [2018/09/29(土) 23:40:45.60 ID:tm+cu+QY.net]
出でよ、イデオン

977 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:21:37.68 ID:GAigBMDv.net]
C#でshortの配列をushortの配列として扱うにはどうしたらいいのでしょう?
ushortの配列を確保してそこにブロックコピーすればいいのですが、コピーせずに扱いたいです

Cでの例
short data[1000];
data[0] = -3;
ushort out = ((ushort*)data)[0]

978 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:29:45.12 ID:ySL85z/t.net]
>>946
C#でも共用体は作れるので、それでやるのが正攻法だろうね

979 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:30:26.35 ID:lLn/Vvr8.net]
>>946
ポインタ使うかSpan<>使う
いずれにせよunsafeは避けられない



980 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:45:52.11 ID:GAigBMDv.net]
ありがとう

short[] data = new short[1000];
data[0] = -3;
data[1] = -5;

ushort out1;
ushort out2;
unsafe
{
fixed (short* p = data)
{
out1 = *(ushort*)&p[0];
out2 = *(ushort*)&p[1];
}
}

981 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 22:03:04.13 ID:rOV5V8ry.net]
>>949
fixedブロックの中は
 ushort* p2 = ( ushort * )p;
 out1 = p2[ 0 ];
 out2 = p2[ 1 ];
の方が完結。

その使い方ならunsafe使わずキャストするだけで良い気がするけど
 ushort out1 = (ushort)data[0];
 ushort out2 = (ushort)data[1];

982 名前:デフォルトの名無しさん [2018/10/02(火) 14:52:23.87 ID: ]
[ここ壊れてます]

983 名前:lpR7dPFU.net mailto: 初心者な質問で申し訳ありませんが
if 〜else if〜で50個くらい分岐作りたいんだけど
これは上に書いたのから順に条件判別するんですかね?
てことは出現確率の高い条件から順に上から書いていけば
全体に早いシステムができるってことですかね?
それはswitch 〜case〜でも同じですか?
[]
[ここ壊れてます]

984 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 15:07:02.75 ID:ibUSG6OV.net]
>>951
そうだけど、そんなので速度は稼げない
素直なメンテしやすいコードにしておかないと結局バグってて遅いゴミシステムが出来上がるぞ

985 名前:デフォルトの名無しさん [2018/10/02(火) 15:13:05.30 ID:lpR7dPFU.net]
そうですか〜読みやすさ重視ですか〜

986 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 15:25:17.74 ID:giBEQZ0B.net]
読みやすさとかそういう問題ではない
断言するが、お前のプログラムのボトルネックはそんなところにはない
そういうくだらないことに時間を無駄に使ってると、バグ潰しをしたり本当のボトルネックを見つけて改善したりする暇がなくなり、
結果的にバグだらけでゲロ遅く使い物にならない糞が出来上がる

987 名前:デフォルトの名無しさん [2018/10/02(火) 15:33:51.14 ID:77rOVAHm.net]
>>951
もちろんそうだよ
ついでに言えば、else ifは使わずifとreturnをうまく組み合わせて使うと更に早いんじゃないかな

988 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 15:40:49.43 ID:sf+Shg+9.net]
>>951
判定する条件式の中にすごく重い関数の戻り値があるなら極力避けた方が速くはなるが。。。
ここの諸兄たちが言うようにあんまり気にしない方がよかとね

989 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 15:52:19.51 ID:xEUi7AEU.net]
50分岐なのか単に一か所に50ifが並ぶのか分からないけど、
どっちにしろまず設計がおかしいことを疑うレベルだねw

それが必要になるケースは絶対にありえないとまでは断定できないけど、
普通に考えれば何か間違ってる



990 名前:デフォルトの名無しさん [2018/10/02(火) 19:15:29.75 ID:77rOVAHm.net]
文字の判定やらデコードやら色々あるから別におかしくはないんじゃない

991 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:19:02.96 ID:vJb5Fq5Q.net]
>>951
switchでcaseがすべて数値か文字列の定数ならif〜else if相当ではなくてジャンプテーブルに変換されて最適化される

992 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:30:20.49 ID:bw+oM93m.net]
>>958
そんなん一気にif文で判別するのおかしいよ
個々の判定を別メソッドに切り出すべき

993 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:34:18.50 ID:LVKvBfXE.net]
>>960
んで呼んだら50行並ぶんですね
わかります

994 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:35:28.70 ID:V4PRuizJ.net]
>>957
コンパイラ作った時にあったよ
普通に素で解析するときはそうなる

995 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:38:43.68 ID:V4PRuizJ.net]
リッチ―の作ったCコンパイラもずらっとswitchの下にcaseが並んでる
しかもgotoだらけ

996 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 22:31:24.70 ID:71TIb3fi.net]
ふと思ったが、ifやswitchよりデリゲートの配列で組んだ場合、可読性は別としてどんなもん?

997 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 22:33:29.94 ID:71TIb3fi.net]
ん、951は通信電文の解析処理を組もうとしてるのかな?

998 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 22:51:46.79 ID:PHVx+viB.net]
>>964
単純な数値による分岐なら50くらいだとif並べたほうが速いだろうな

999 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 23:53:56.61 ID:71TIb3fi.net]
おお
そっか



1000 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 03:19:05.44 ID:1BUWQtFr.net]
いやいや、ビルドした時点で単なる条件分岐文の羅列に変換されるんだから
早いも遅いも無い

1001 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 06:32:57.32 ID:GxEu0OX8.net]
ILではifの羅列に変換されてるね

1002 名前:デフォルトの名無しさん [2018/10/03(水) 10:25:12.89 ID:53fMVr1s.net]
今試してみたけど条件の羅列にはならなかったよ
ただ実験は同じ関数を大量に登録するだけだけど、実際に使うにはデリゲート配列に関数を登録する所がめちゃくちゃになりそうだ

1003 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 19:45:09.01 ID:vaeuJqrS.net]
ライブラリ制作でもなきゃ
ILコードの速度より可読性優先でしょ

最近は性能がトレンドだけだも

1004 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 19:49:00.54 ID:WJ9CzqGu.net]
だきゃだも

1005 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 10:27:45.19 ID:AqgyV2h4.net]
ドラえもん

1006 名前:デフォルトの名無しさん [2018/10/04(木) 11:35:52.27 ID:z7XJZMIb.net]
VisualStudio2017とC#でDLLとEXEのプロジェクトを含んだソリューションを構成しているのですが、
EXEのプロジェクトはブレイクポイントで止まるのにDLL側のプロジェクトはブレイクポイントを設定しても止まりません。
どうすれば止まるように設定することができるのでしょうか?

1007 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 11:42:31.93 ID:z7XJZMIb.net]
>>974
事故解決。
DDLの参照設定に誤りがありました。
無事ブレイクポイントで止まりました。

1008 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 12:09:23.53 ID:HivlLKp0.net]
>>975
質問したならせめてどう設定したのか書いてくれると助かる

1009 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 12:11:58.26 ID:LF7COV6m.net]
プロジェクトじゃなくてアセンブリを直接参照したんだと思うよ



1010 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 17:53:02.89 ID:JnxMNCXd.net]
正規表現で、特定の変数に格納された文字列が行頭に含まれるときにマッチさせたいのですが
変数にメタ文字が含まれているとそのままメタ文字として機能してしまいます。
\Q〜\Eを使おうとすると認識されないエスケープシーケンスと出てしまうのですが
呼び出した変数をエスケープする方法はありませんか?

string tag = "."; //この変数はユーザー入力により可変させたい
Regex r = new Regex("^"+ tag, RegexOptions.Multiline);
MatchCollection mc = r.Matches(text, 0);

1011 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 17:57:50.18 ID:+1iioCH6.net]
何を言ってるのjかさっぱりわからないけど
\のエスケープは\\だよ

1012 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:03:01.48 ID:JnxMNCXd.net]
>>979
「.」が代入された変数をマッチ条件として呼び出したときに
「\.」として読ませたいんです…… 説明下手ですみません

1013 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:06:55.71 ID:+1iioCH6.net]
やっぱり意味がわからないよ

string.Replace

1014 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:09:55.61 ID:+1iioCH6.net]
行頭マッチならstring.StartWith()

1015 名前:デフォルトの名無しさん [2018/10/04(木) 18:09:57.35 ID:58olDMZF.net]
Regex.Escape

1016 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:14:09.25 ID:JnxMNCXd.net]
>>983
これでした! ありがとうございます!
Regex r = new Regex("^"+ Regex.Escape(tag), RegexOptions.Multiline);
でいけました

1017 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:35:26.88 ID:A2T5Igf7.net]
ID:+1iioCH6

1018 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:42:53.36 ID:+1iioCH6.net]
スレ汚し失礼しましたとか書けばいいのか

1019 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:44:59.38 ID:hCvwn5pe.net]
>>980
次スレ立てて
立てられないならそう書いて



1020 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:50:46.18 ID:JnxMNCXd.net]
あっ980踏んだの気付いてませんでした
立ててきます

1021 名前:デフォルトの名無しさん [2018/10/04(木) 18:57:34.68 ID:JnxMNCXd.net]
https://mevius.5ch.net/test/read.cgi/tech/1538646998/

1022 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:58:45.39 ID:iLCCeyjR.net]
>>986
恥ずかしい奴ってことで晒されてるんだぞ

1023 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:59:38.71 ID:hCvwn5pe.net]
>>989
スレたて乙

1024 名前:デフォルトの名無しさん [2018/10/04(木) 19:30:48.59 ID:NR8ALYp6.net]
アプリで使用する最大スレッド数ってどう決めるのがいいですか?

1025 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 19:32:22.83 ID:hCvwn5pe.net]
>>992
動作環境に配慮する
動作スレッド占有したら迷惑かもと思ったら少なくする

1026 名前:デフォルトの名無しさん [2018/10/04(木) 19:32:31.16 ID:NR8ALYp6.net]
単純にCPUのスレッド数を最大に設定しておけばいいですか?
それともCPUのスレッド数-1とかの方がいいのでしょうか?
なんか決め方に基準とか規則とかって考え方

1027 名前:ったら教えてください []
[ここ壊れてます]

1028 名前:デフォルトの名無しさん [2018/10/04(木) 19:33:24.53 ID:NR8ALYp6.net]
>>993
そうそう今まではこのように
少し曖昧な形で決めてたのでなんか明確なやり方あったらなあと思って
書き込んでみました

1029 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 19:33:38.12 ID:hCvwn5pe.net]
>>994
無いよそんなもの
仕事でやっているのなら会社の先輩なりクライアントに聞いて



1030 名前:デフォルトの名無しさん [2018/10/04(木) 19:36:48.58 ID:NR8ALYp6.net]
>>996
無いっていうのはどんな設定しても
結局スレッドのコントロールはOSレベルでされるし
アプリケーションの処理内容次第で占有率とかが違うからってことですか?

1031 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 19:49:35.37 ID:SzxHzs6N.net]
tiffのヘッダ情報を参照する方法ってどのようにすれば良いのでしょうか
画像読み込みは見つかるのだけどヘッダ情報参照方法が見つからず

1032 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 20:53:42.03 ID:4K2yXx2T.net]
>>992
case by case

1033 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 21:07:43.98 ID:hGGFGhl9.net]
System.Drawing.Bitmapに読み込んでPropertyItemsから取得する 全部取れるわけではない
System.Windows.Media.Imaging.BitmapMetadataを使う 大体取れるはず
ヘッダだけ読んで画像データは読み込みたくない!ってなら標準ライブラリには存在しないな

1034 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 60日 1時間 12分 0秒

1035 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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