ふらっと C#,C♯,C#(初心者用) Part139 at TECH
ふらっと C#,C♯,C#(初心者用) Part139 - 暇つぶし2ch322:デフォルトの名無しさん
18/08/31 08:23:57.84 ogs0aMAV.net
>>308
どんな技術も取り敢えず自分がやりたい事から始めて
壁にぶつかったら都度必要な事を調べていけば上手くなると思っているのですが違うのでしょうか……?
どうにか自力で一応の形にして目的を実現するところまではやって、
本当にそれが正しいのか調べて見つけることができなかったから質問させて頂いた状態なので
他にやる事と言われても何をすればいいのかわからないです、すみません……

323:デフォルトの名無しさん
18/08/31 08:44:51.07 6aCB/3AZ.net
>>304
普通はこんなもんじゃないよ
テキストボックスにデータを持たせるんじゃなくて別にプログラム内部にデータを持たせて
それを表示に反映させる感じ

324:デフォルトの名無しさん
18/08/31 12:29:19.65 iUPXUGud.net
>>309
それでいいんだよ、そうやって覚えていくのが一番いいと思う
とにかく作ってみないとわからないからね
作る喜びを感じられれば伸びていく
リファクタリングもバージョンアップもどんどん
やってみるのがいいと思う

325:デフォルトの名無しさん
18/08/31 13:51:05.81 Sw5Wccxa.net
>>309
取説読まずにサポセン電話する迷惑なタイプ

326:デフォルトの名無しさん
18/08/31 15:13:11.36 ogs0aMAV.net
>>310
な、なるほど! そうすれば一行毎に表示を弄ったりとかの細かい事もできそうですね!
でもリアルタイムで打ち込んだデータを内部に移しながら表示領域に戻して……とやるのは結構
大変そうな気がします。世の高機能テキストエディタはそういった苦労の上に作られているのですね……。
>>311
ありがとうございます、頑張ります!
実際スレに貼って頂いたコードの正規表現命令が通らないことで
Text.RegularExpressionsの存在を知ったりと無知ゆえの見落としも結構あるのですが、
自分の知識と思いつく検索ワードで詰めれるところまでは自分でやって成長していきたいです!
>>312
可能な限り調べきってから問い合わせてはいるのですが
なにぶん取説が広辞苑レベルなので……索引力不足、恐縮です
どうにもならなくなったらまたご迷惑かけます

327:263
18/08/31 16:29:19.58 vo9ITXw3.net
先日デストラクタについて教えてもらった者ですが
やはりメモリリークしてましたwww
起動時は6Mくらいだったのが終了時には10Mになってました
少しだったから大きな問題にならなかったってことですorz
でも「実用上は問題無いけどゴミいっぱいまき散らしやがって!」
って怒られますよね・・・
でデストラクタを勉強し始めたのですがさっぱり分からん!
マーシャリングして使ってるAPI関数が問題なんだろうとはわかるけど
どのタイミグで何処でデストラクトするのかとか
IDisposableイベントの発生のさせ方とか
C++から勉強しないとダメかな?
先は長いなあ

328:デフォルトの名無しさん
18/08/31 16:33:50.31 7EVWbyOU.net
いや6M→10Mはメモリリークしてなくても.NETならそんなもんだぞ
長いことモニタしてればわかるけど、フルGCが走れば減る

329:デフォルトの名無しさん
18/08/31 16:48:31.15 vo9ITXw3.net
>>315
え?そうなの?
その程度じゃメモリリークしてるとは断定できない?
もう一度検証してみますだ

330:デフォルトの名無しさん
18/08/31 17:39:33.85 cQtmAsyE.net
>>314
URLリンク(docs.microsoft.com)
ただし和訳は機械翻訳だから読めるなら英語版おすすめ
WINAPIで取得したリソースはアンマネージリソースだから、上の記事のComplexResourceHolderのように
Dispose(bool disposing)内で、disposingの真偽に関わらずアンマネージリソースを解放するのが正解
あとC++とC#ではどちらもデストラクタという用語はあるが
C++のデストラクタはC#ではDisposeが対応する概念
C#のデストラクタはDisposeし忘れた場合の救済措置

331:デフォルトの名無しさん
18/08/31 17:43:15.60 dU0KocTd.net
>>314
盛大に勘違いしてそうだけど、C#のデストラクタは
そのクラスのインスタンスを利用するプログラマがDisposeを呼ぶコードを
書き忘れた(つまりバグ)場合のフェイルセーフ以上の意味は通常はないっすよ
つまりIDisposableを実装しないなら普通はファイナライザも必要ない
ファイナライザは何か不思議な力でリークを解決してくれるマジックじゃありませんw

初心者がごちゃごちゃ頭の中でくだらないこと考えても意味ないよ
どうせそんなの盛大に間違ってるw
そんな暇があったら理解できなくても少しでもドキュメントを読んだ方がいい

332:デフォルトの名無しさん
18/08/31 18:08:24.51 eNdvG/21.net
SqlConnectionクラスでDB操作するのですが、ACID特性の担保は設計でやるのでしょうか?SqlConnectionとDBMSが隠蔽してくれるのでしょうか?
複数ユーザー利用時のトランザクションのロックとか自力実装する必要があるのかなと思い

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

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

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

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

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

338:デフォルトの名無しさん
18/08/31 22:52:13.57 iUPXUGud.net
>>323
本格的なテキストエディタを作るなら
どうしても独自コントロールになるよな
テキストボックスじゃデカいファイルだと無理がある

339:デフォルトの名無しさん
18/08/31 23:52:12.65 ETlCxkfg.net
C#のデストラクタはおまじない程度の効果と聞いた

340:デフォルトの名無しさん
18/09/01 01:29:15.12 ZVoFY83K.net
デストラーデっていつ発動するんだっけ?

341:デフォルトの名無しさん
18/09/01 09:40:22.35 PbkphExB.net
デストラクタはいつ動くかわからないから使い勝手がわるい

342:デフォルトの名無しさん
18/09/01 10:07:42.55 aEdJ57k5.net
そもそも処理が重いので可能なら使わない方が良い

343:デフォルトの名無しさん
18/09/01 12:17:11.69 1Fa0uhaD.net
>>323
横から失礼。まったくの素人質問で申し訳ないのですけど
独自コントロールのテキストボックスってKeyDown命令を検知したりして
必要な処理を一つ一つ作っていくんですか?
慣れてきたら挑んでみたいけれど何をどこから調べればいいのかわからないので
そのあたりの仕組みやヒントが学べそうなサイトや教本ってあります……?

344:デフォルトの名無しさん
18/09/01 12:21:41.75 +BAvd4bn.net
>>330
初心者の範疇じゃない
さらに言えば中級者の範疇でもない
c# avalon editorでググればいい
単体でエディタを自作するのは愚かなこと
Visual Studio Codeなどの拡張機能を作るのが正しい

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

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

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

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

349:デフォルトの名無しさん
18/09/01 12:48:05.08 c3Y0wsEI.net
>>330
超簡単に言うとWindowsならAPIのテキスト描画関係の
関数を使ってキーイベントを拾ってとかやっていく
Win32APIでググれば参考になるサイトがいくつも出てくる
言うのは簡単だがやるのはもの凄く大変だけどね
>>331
勉強にはなるけどね
その通り中級者の範疇でもないから、かなり実力を付けとかないといけないな

350:デフォルトの名無しさん
18/09/01 13:06:24.02 1Fa0uhaD.net
>>331
ありがとうございます! 初心者の範疇ではないとは薄々……!
テキストエディタ特化のライブラリがあるんですね、先人は偉大だ……
最終的には自分で使う用に物書き方面に特化した文章エディタを作りたいので先は長いです
avalonエディタに触れてみながら参考になる部分はないか色々探ってみます!
>>332
確かにC#で作られたものじゃなくても仕組みの理解に繋がりそうではありますね!
基礎の基礎は終えた今なら少しは中身を探れるかもしれないので
探して覗いてみます、ありがとう!
>>336
なるほど、ググりながらよく分からないままに使っていた
User32.Dllまわりの正�


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



352:デフォルトの名無しさん
18/09/01 13:14:14.49 +st2vgph.net
gcがある言語ならgcにお任せするもんでは?

353:デフォルトの名無しさん
18/09/01 13:53:17.71 c3Y0wsEI.net
>>337
Gdi32.dllもな

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

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

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

357:デフォルトの名無しさん
18/09/01 17:48:39.66 CnyU+b4T.net
LinuxのMono Developの使い方のついて、ここで聞いてもいいかな?

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

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

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

361:デフォルトの名無しさん
18/09/03 17:27:25.38 vcilZH89.net
>共有メモリアクセス
こういう発想がどこから出てくるのか?

362:デフォルトの名無しさん
18/09/03 17:29:17.86 QhFCG6IW.net
>>346
王道な形はwebブラウザ

363:デフォルトの名無しさん
18/09/03 17:41:54.34 ttVcJTrG.net
VSCode でも使っている、Electron とか

364:デフォルトの名無しさん
18/09/03 18:08:25.48 dGDVASpD.net
>>347
だめですか?

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

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

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

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

369:デフォルトの名無しさん
18/09/03 19:29:03.44 vcilZH89.net
普通はプロセスごとにメモリが分離しててどちらかがおかしくなっても他に影響しないように作られてる
それを無理やりOSを使って通信してるのが共有メモリで実際は共有してない

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

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

372:デフォルトの名無しさん
18/09/03 19:49:50.99 lS5Tq6xt.net
何が本で何が末やら全くわからん件

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

374:デフォルトの名無しさん
18/09/03 19:58:46.45 lS5Tq6xt.net
>>359 共有メモリが必要なら必要な事をしとるだけで遠のいとらんやろ 何を言いたいんやおまえは?



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

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

378:デフォルトの名無しさん
18/09/03 21:06:49.10 ttVcJTrG.net
普通は、共有メモリなんて考えない。
何が目的なのか、わからない
A | B | C
パイプなんて、これで処理完了する。
共有メモリもクソもない
メモリなんて、OS が勝手に共有しているだろ

379:デフォルトの名無しさん
18/09/03 21:13:29.70 vevNEWn4.net
普通にやるならtaskでcontinuewithするとか?

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

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

382:デフォルトの名無しさん
18/09/03 22:12:38.21 NrThtKWO.net
MQ使えよ。標準機能にあるぜよ

383:デフォルトの名無しさん
18/09/04 05:57:09.73 u5J3mHSN.net
同期・非同期通信のサンプルを探しているのですが、知識がないので、サンプルの善し悪しが分かりません。
実際に動かしてみてこれは良さそうだと思ったんですが、もっといいサンプルはありますか?
URLリンク(docs.microsoft.com)

384:デフォルトの名無しさん
18/09/04 13:00:56.54 JkSql3w1.net
JavaScript, jQuery などの非同期処理は、Deferred、ES2015ではPromise
他に、ES2015のGenerator、Async/Await

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

386:デフォルトの名無しさん
18/09/04 18:23:01.71 xdg0c65C.net
>>369
スレタイ読めないのかな

387:デフォルトの名無しさん
18/09/04 18:59:47.33 2N5HXzo8.net
Rubyガイジだろ
優しくしなさい

388:デフォルトの名無しさん
18/09/04 20:02:49.34 KXm2oNE8.net
>>368
昔ながらの非同期処理としては鉄板だけど、async/await使うならこことかかなあ
URLリンク(qiita.com)

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

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

391:デフォルトの名無しさん
18/09/05 0


392:8:44:06.60 ID:faIDkIPM.net



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

394:デフォルトの名無しさん
18/09/05 08:54:04.24 t8SDBZY6.net
docsじゃなくて?

395:デフォルトの名無しさん
18/09/05 09:04:06.00 jUbmg1Bj.net
ExcelDataReaderで検索したら使ってみたってページすぐ見つかるじゃん

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

397:デフォルトの名無しさん
18/09/05 09:46:07.75 QYx0ZVvn.net
>>380
ところがMSDNになると話は別
まったく逆の意味に翻訳されることもある
というか多すぎる
英文見ると一発でおかしいとわかるけど

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

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

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

401:デフォルトの名無しさん
18/09/05 11:45:07.64 ldiBrb1r.net
逆の翻訳って
この前の炎上してたやつとかな
MSDNの機械翻訳は昔から酷いな

402:デフォルトの名無しさん
18/09/05 11:47:04.41 SyDlVyYO.net
>>384
なわけないでしょw
人力使った修正なんか昔もやってないからww
プログラマの端くれならAIブームなんてバズワードだって最初から分かれよ
機械翻訳の質なんか工場する訳がない
機会は文脈を理解できない、というのが問題の根本なんだが、それを解決する理論なんか何も見つかってないんだから

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

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

405:デフォルトの名無しさん
18/09/05 12:38:10.26 mBdcezsc.net
まずスレタイ読めるようになろうな

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

407:デフォルトの名無しさん
18/09/05 12:39:54.11 vNhhiwgZ.net
自治厨クッサ w
そういうのいいから

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

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

410:デフォルトの名無しさん
18/09/05 20:45:00.94 6xDXCsXb.net
お前の幸薄い人生の方が先に終わる

411:デフォルトの名無しさん
18/09/06 03:47:19.07 zXYr6cPt.net
>>383
ムーアの法則がのびのびになっているのに今更何を言ってるの?

412:デフォルトの名無しさん
18/09/06 08:03:45.96 8wNQzUcB.net
>>395
CPUはのびてないけどGPUのテンソルコアは何倍とか急激�


413:延びてるのも知らないの?



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

415:デフォルトの名無しさん
18/09/06 10:11:31.20 BzRDAIRM.net
上がってないよ
ムーアの法則が成立したのはもう10年以上前のPentiumIIIの頃まで
GPUGPUなんてマルチコア化と同じ苦し紛れに過ぎず本質的なものじゃない

416:デフォルトの名無しさん
18/09/06 11:21:20.12 hEScr/Qj.net
FPGAとかもあるぞ
だがスレ違い

417:デフォルトの名無しさん
18/09/06 11:24:39.92 7j2SToAT.net
マイニングだって汎用CPUで演算してたものを専用のFPGAとかASICにすりゃマイニング性能は爆上がりだろ。
ビデオエンコードだって専用HWで爆速(品質は知らね)
上がってない?って何が上がってないの?
単コア辺りに性能で比較してるんじゃねぇわ
文脈をちゃんと捉えたほうがいい。

418:デフォルトの名無しさん
18/09/06 11:43:27.49 BzRDAIRM.net
実にアホな議論だ
計算機は汎用であることに意味がある。
専用ハードなら~なんて話は、たとえが古いが画像処理専用チップを持ってるファミコンの
ゲームだけ見て、ファミコンの方がPCより高性能だというのと同じ倒錯

419:デフォルトの名無しさん
18/09/06 11:57:46.78 7j2SToAT.net
もとから汎用演算の性能の話なんてしてねぇのに読解力ないやつが話に混じろうとして荒れるパターンってやつですね
たかが数レスのやり取りを勘違いするなんて相当読解力ないんですね。

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

421:デフォルトの名無しさん
18/09/06 12:18:30.13 81SkF9sN.net
知らないだけ

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

423:デフォルトの名無しさん
18/09/06 12:41:04.75 2OVIK4Yi.net
>>403
知らないだけ

424:デフォルトの名無しさん
18/09/06 12:42:53.94 FeLrEgsW.net
>>403
>>405
VisualStudioやNuGetPackageExplorer見たことない人たち?

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

426:デフォルトの名無しさん
18/09/06 13:55:14.55 DFj+i+04.net
>>408
そこに深い意味があるとは思えないw
昔のExpressのインストールディスクの起動画面もHTAだった気がしたけど、
あれだってHTAであることに特別意味があったわけじゃなかろう

427:デフォルトの名無しさん
18/09/06 16:14:10.25 Yg5/0qIe.net
>>405
MSも捨ててるしねえ
UWPも誰も使ってなくない?
>>406
教えて

428:デフォルトの名無しさん
18/09/06 18:42:49.75 vsw29ZWk.net
有名どころだとSourceTreeだな、むしろこれはいまだにElectronとかにしない理由がわからん(GitHub for Windowsはそうなった)
他は知らん
MSもVS,Blendは別とするとWinDbg Previewで使ってるくらいじゃね?
野良アプリはちょくちょく見るけどキリがないので割愛

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


430:0スケーリングな人からボロクソに叩かれたからリベンジしたい



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

432:デフォルトの名無しさん
18/09/06 21:15:20.65 vsw29ZWk.net
>>413
4.6.2以降ならmanifest宣言すればPer Monitor DPIもWPF内でやってくれる
URLリンク(github.com)
ここのDeveloper Guideを参照
WinformsはSystemAwareの範疇でも見ても中途半端に対応していたせいで
Win32生でやるよりHiDPIで崩れてるアプリが多い気がするなw

433:デフォルトの名無しさん
18/09/06 23:08:09.49 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:デフォルトの名無しさん
18/09/06 23:14:44.26 DFj+i+04.net
でもPer Monitor DPI自体がポンコツで使い物にならんからなあw
活用してる人がどれだけいるか

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

436:デフォルトの名無しさん
18/09/07 00:07:44.07 edPtcLES.net
流行りのRPA使えば

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

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

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

440:デフォルトの名無しさん
18/09/09 18:43:33.91 FyKgo8MI.net
>>421
while(true){}
空行が100行続いたら抜ける的な

441:デフォルトの名無しさん
18/09/10 01:32:47.82 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:デフォルトの名無しさん
18/09/10 01:33:12.59 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:デフォルトの名無しさん
18/09/10 01:35:58.68 Jsw/KSGz.net
上記を実行すると
1=1
2=2
3=3
res= 3
res= 3
res= 3
となります
list.Add(mc) でlisの要素の最後に追加しているのに
res ではすべての要素が"3" になっています
なぜなんでしょう?

444:デフォルトの名無しさん
18/09/10 01:41:58.64 4pnQI32t.net
mc一個しか作ってないからだろ

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

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

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

448:デフォルトの名無しさん
18/09/10 09:34:21.75 uDZUf97M.net
全部Expect型で解決してるわ

449:デフォルトの名無しさん
18/09/10 10:07:06.77 WqnqKse5.net
期待すんな

450:423
18/09/10 11:43:05.11 Jsw/KSGz.net
>>426-427
なるほど!よく考えればそうですね
ありがとうございました

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

452:デフォルトの名無しさん
18/09/10 14:25:56.49 j74hNM/I.net
>>433
デバッグ通るなら問題ないでしょ
コーディングスタイルの設定を変えればそういう警告は出なくなるんじゃないかな
チームでやるならチームのスタイルに合わせる、簡単なことじゃん
チームのみんなを納得させられるほどの合理的な理屈があるなら説得してみればいい

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

454:デフォルトの名無しさん
18/09/10 17:35:00.22 ed5IUta3.net
>>433
その手の表記法は余程不合理な物でない限り慣れの問題
少なくとも俺は1週間で慣れる
>単語の連結にアンダーバー入れたい衝動がハンパ無い
これはむしろアンダーバーを入れる表記法の方が冗長で不合理なので、
一旦キャメルやパスカルに慣れた後では間違いなく逆の感覚を抱くようになるw
掛けてもいいよ

455:デフォルトの名無しさん
18/09/10 18:05:47.60 JmcP0T+k.net
じゃあ俺のスーツを

456:デフォルトの名無しさん
18/09/10 18:07:33.75 hb3Qyg+S.net
俺は靴下

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

458:デフォルトの名無しさん
18/09/10 18:55:37.19 DjrEsgmz.net
そかあ・・慣れねぇ・・・
ところで「小文字で始めると規則違反って警告が出る」って話だけど
よくよく観察したら
VSがデフォで自動命名したのでも警告出るんだけど・・・・なんで?
例えば
private void button1_Click() の button1_Clickとか・・・

459:デフォルトの名無しさん
18/09/10 19:07:39.58 okAQrHmq.net
日本語メンバは邪道?

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

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

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

463:428
18/09/10 21:01:52.45 ZrUglARC.net
わかりました。とりあえず例外の使い方を勉強します。

464:デフォルトの名無しさん
18/09/10 21:27:12.53 j74hNM/I.net
キャメルでもパスカルでもスネークでもケバブでもどれでもいいと思うけどな
コーディングスタイルにこだわる理由が分からん
見やすさならスネークとケバブだとは思う。理由は英語自体がスペースで区切る方式だから
と言いながら個人開発では慣れたキャメルやパスカルだけどさ
あ、個人サイトのURLはスネークケースだわ

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

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

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

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

469:デフォルトの名無しさん
18/09/10 21:59:41.61 BpMg5Aug.net
>>450
それは入力したテキストだけを参照したらいいのでは?

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

471:デフォルトの名無しさん
18/09/10 23:31:45.25 JmcP0T+k.net
普通コンボボックスごと渡したりしないよな

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

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

474:デフォルトの名無しさん
18/09/11 01:09:08.78 pVzZZpUQ.net
デリートコンマでよくね

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

476:デフォルトの名無しさん
18/09/11 09:24:30.87 3oMSZQth.net
見知らぬ奴のソースは踏襲しないほうがいい

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

478:デフォルトの名無しさん
18/09/11 13:17:21.96 glgNbbLv.net
>>455
「カンマが入ってるかどうかチェックする」「テキストを渡してやることにします」だから
bool CheckComma(string checkText)
とかじゃね?

479:デフォルトの名無しさん
18/09/11 13:22:18.04 ik07SMEJ.net
HasComma

480:デフォルトの名無しさん
18/09/11 13:27:52.11 glgNbbLv.net
>>461
MSのコーディングスタイルに準拠するならそれだな

481:デフォルトの名無しさん
18/09/11 13:47:02.45 OkaM0mAN.net
>>453
場合による

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

483:デフォルトの名無しさん
18/09/11 14:33:59.50 bYPr0L5F.net
ほんじゃカンマ以外が入っていたらどーすんのってなるから数値以外削除して返せばいい
って思ったけどどういう関数名にするんだ?

484:デフォルトの名無しさん
18/09/11 14:36:57.03 928ZQD1C.net
?w

485:デフォルトの名無しさん
18/09/11 14:51:12.92 glgNbbLv.net
>>464
そう言われればそうだな。そこら辺の配慮を忘れてたわ
やっぱHasCommaが最適解か
メソッド名だけで返り値が分かるしな

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

487:デフォルトの名無しさん
18/09/11 16:42:24.04 AGybRa2Z.net
データグリッドビューを別フォームに渡して
コンストラクタで受け取ります
このとき元のデータグリッドビューと切り離す琺瑯教えてください
複製したいです
この時データセットやデータテーブルは駄目です

488:デフォルトの名無しさん
18/09/11 16:45:15.78 AGybRa2Z.net
琺瑯→方法

489:デフォルトの名無しさん
18/09/11 16:47:43.89 ylc2S0TC.net
DataGridViewじゃなくてDataSource受け渡しでDataSourceをコピーじゃダメなの?

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

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

492:デフォルトの名無しさん
18/09/11 17:00:09.28 qpgjCo1u.net
継承したフォームにデータセット渡す

493:デフォルトの名無しさん
18/09/11 17:27:08.25 Arul2OBN.net
>>469
何言ってるのかさっぱり分からんけどこういうこと?
~ Form1 ~
Controls.Remove(dataGridView1);
var form2 = new Form2(dataGridView1);
form2.Show();
~ Form2 ~
public Form2(DataGridView dgv)
{
  InitializeComponent();
  Controls.Add(dgv);
}


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

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

496:デフォルトの名無しさん
18/09/11 19:28:23.64 FmRL3j/P.net
俺も気になるわこれ
DataGridViewでCloneできればいいのに
画面上のソート順を保つためDataGridViewごと他フォームに渡したりする
でも元フォームでデータ変更されると渡したDataGridViewも変わるから
それが嫌だったことある
そん時は元フォームで1行ずつ先頭から呼んで別のDataSet作ったけど

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

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

499:デフォルトの名無しさん
18/09/12 13:22:31.80 Nj/C/MXJ.net
そうじゃなくて、だからそもそも何言ってるのか誰も理解できないんだってw
まともな日本語書けと
他人に通じるまともな文章に書き直したら答えが返ってくる問題かもしれんよw

500:デフォルトの名無しさん
18/09/12 14:36:44.55 Jn68slr9.net
フォームのデータグリッドビューを
別フォームのクラスに渡してコンストラクタで受け取るんです
DataGridView dgv = srcDvg;
そうすると元フォームのデータグリッドビューを変更すると譲渡先のdgvも変更されちゃうんです
コレを止めたいです
元を変更してもdgvは渡されたときの状態を保つ方法が知りたいです
なお、この時データセットやデータテーブルを使用せず
データグリッドビューのままやる方法はありませんかと言う質問です 👀
Rock54: Caution(BBR-MD5:13


501:41adc37120578f18dba9451e6c8c3b)



502:デフォルトの名無しさん
18/09/12 14:37:39.66 Jn68slr9.net
なんでRocketや…

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

504:デフォルトの名無しさん
18/09/12 16:52:38.09 9GvVVUqs.net
面倒くさいことはしたくないって思考だな

505:デフォルトの名無しさん
18/09/12 16:59:40.03 fIpfvqUu.net
面倒くさいことを楽にしようというのがソフトウェアだからな

506:デフォルトの名無しさん
18/09/12 17:04:10.32 Jn68slr9.net
ありがとうございます
大人しく作り直します

507:デフォルトの名無しさん
18/09/12 17:25:49.83 MyqFbSbG.net
初心者用なのに初心者に厳しい自称プロさんたち

508:デフォルトの名無しさん
18/09/12 17:37:25.30 JkfDtodY.net
>>488
ここに来るのはみんな初心者
スレタイ読めないのか?

509:デフォルトの名無しさん
18/09/12 18:45:38.51 6MfZXYju.net
>>478
継承しろや!

510:デフォルトの名無しさん
18/09/12 22:45:44.44 JSQG/Jue.net
linq
リンキューですか?
ラインクですか?

511:デフォルトの名無しさん
18/09/12 22:59:50.57 HCZYwh62.net
リンクじゃないのか?
俺はアクセントがわからない

512:デフォルトの名無しさん
18/09/13 01:12:43.13 xXJqEk25.net
リンクだと思ってた

513:デフォルトの名無しさん
18/09/13 03:37:55.81 4tq0ggVx.net
>>490
したない

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

515:デフォルトの名無しさん
18/09/13 05:09:18.59 1YFyErS3.net
why?

516:デフォルトの名無しさん
18/09/13 06:06:29.57 4tq0ggVx.net
URLリンク(docs.microsoft.com)

517:デフォルトの名無しさん
18/09/13 08:17:24.20 IoXWiQ4j.net
>>491
リンクだとlinkって感じなので心の中ではリンクゥって言ってる

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

519:デフォルトの名無しさん
18/09/13 08:44:11.24 eHHJ6hTJ.net
>>491
URLリンク(www.microsoft.com)
>統合的なデータの問い合わせを実現したテクノロジ LINQ (リンク)

520:デフォルトの名無しさん
18/09/13 10:09:10.44 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:デフォルトの名無しさん
18/09/13 10:15:23.01 vxp+pG1B.net
普通にはできません

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

523:デフォルトの名無しさん
18/09/13 10:


524:55:31.20 ID:n/Ia9Ufb.net



525:デフォルトの名無しさん
18/09/13 10:59:56.20 n/Ia9Ufb.net
rangeとzipな

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

527:デフォルトの名無しさん
18/09/13 15:34:46.60 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:デフォルトの名無しさん
18/09/13 15:38:33.86 TO6ro8xf.net
ちなみにFirstOrDefaultはFunc<T, bool>を引数に取れるからWhereはなくていいよ

529:デフォルトの名無しさん
18/09/13 16:23:35.73 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:デフォルトの名無しさん
18/09/13 16:34:26.33 n/Ia9Ufb.net
zipで一行

531:デフォルトの名無しさん
18/09/13 16:48:55.75 Mtznb6SP.net
>>510
コードで示して

532:デフォルトの名無しさん
18/09/13 16:51:19.42 n/Ia9Ufb.net
コードは甘え

533:デフォルトの名無しさん
18/09/13 16:52:36.00 Mtznb6SP.net
>>512
じゃあ>>509も1行で済んでるからそっちでいいや

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

535:デフォルトの名無しさん
18/09/13 17:40:54.40 O9n8eAiW.net
>>514
依存する
monoの方にどこまでサポートするか書いてないか

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

537:デフォルトの名無しさん
18/09/13 19:30:56.20 84N5Yvll.net
>>516
引数が存在しないことを示す

538:デフォルトの名無しさん
18/09/13 20:13:42.27 tX4xVeil.net
言葉も出ない、ということ

539:デフォルトの名無しさん
18/09/13 21:21:45.27 RirS5RMp.net
>>516
演算子だって考えるのが素直でしょう
URLリンク(docs.microsoft.com)
デリゲートの後ろに引数リストを囲った()を付けるとメソッドが呼び出される

540:デフォルトの名無しさん
18/09/13 21:24:09.90 RirS5RMp.net
しかし、Tostaringてw
ドラマか何かの主演俳優にするメソッドがw

541:デフォルトの名無しさん
18/09/13 21:25:43.52 YrOTDcXS.net
スターリンがどうかしたって?

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

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

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

545:デフォルトの名無しさん
18/09/13 22:17:18.10 z+6RPAPe.net
おお

546:デフォルトの名無しさん
18/09/13 22:21:08.27 u61xW8CT.net
>>510
Zipじゃ
i=2 : null
は無理でしょ

547:デフォルトの名無しさん
18/09/13 22:31:31.75 z+6RPAPe.net
3項塩山市をつかう

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

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

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

551:デフォルトの名無しさん
18/09/14 09:26:00.50 6Xa6OuyO.net
Aggregate優勝

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

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

554:デフォルトの名無しさん
18/09/14 10:40:20.21 74Ijv3/g.net
>>533
貴方の脳の品質の問題をLINQの問題にしないでください

555:デフォルトの名無しさん
18/09/14 12:17:21.38 uKNqObYo.net
まあ脳の病気だわな

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

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

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

559:デフォルトの名無しさん
18/09/15 12:21:00.32 hseJLl5H.net
>>538
これ
publicなメンバーを通してテストすること

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

561:デフォルトの名無しさん
18/09/15 20:39:51.17 xmiaTl3L.net
>>537-539
納得しました、サンクス

562:デフォルトの名無しさん
18/09/15 21:16:49.41 vc2YYDHO.net
>>540
ソースを読めば分かる
URLリンク(referencesource.microsoft.com)

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

564:デフォルトの名無しさん
18/09/15 21:29:31.15 Fr67tYwB.net
コンパイル結果見ればわかる

565:デフォルトの名無しさん
18/09/15 21:48:21.87 iPPDwx/Y.net
列挙子とforeachの組み合わせってforよりおそい?

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

567:デフォルトの名無しさん
18/09/15 21:53:24.60 iPPDwx/Y.net
いや、なんでLINQ遅いって言われてるのかなっておもって

568:デフォルトの名無しさん
18/09/15 21:56:28.37 88GvsHdE.net
遅いと言えば遅いよ
余計な手数が増えてるから
気になるなら後からでも書き換えればいいだけ

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

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

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

572:デフォルトの名無しさん
18/09/15 22:14:24.26 nm6j3SBT.net
MSDN

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

574:デフォルトの名無しさん
18/09/15 23:53:24.63 iPPDwx/Y.net
linqの中身はforeachで列挙子を回してる
それは
while(次の要素を取得するメソッド){
要素に対する処理のメソッド
}
に展開される
詳しくないから適当だけど

575:デフォルトの名無しさん
18/09/16 01:03:15.10 uYUceUNT.net
アセンブラでもやってろよ

576:デフォルトの名無しさん
18/09/16 01:04:46.36 ANojdriP.net
がっつりパフォーマ


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



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

579:デフォルトの名無しさん
18/09/16 08:07:06.87 HxZqM27H.net
ゲームで描画以外の処理が問題になることは少ない

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

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

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

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

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

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

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

587:デフォルトの名無しさん
18/09/16 11:25:39.54 gTaOdbFs.net
>>563
俺はXMLで実行ファイルと同じ場所に保存してる

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

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

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

591:デフォルトの名無しさん
18/09/16 13:19:04.65 p+qyV3Lh.net
いや、場所や形式は重要だよ

592:デフォルトの名無しさん
18/09/16 13:23:10.99 aJAMOBK/.net
>>564
へーありがとう御座います
調べてみます

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

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

595:デフォルトの名無しさん
18/09/16 14:01:52.05 w97F4Kz1.net
どこに保存するかはかなり致命的な問題になるから
今から


596:学んでおいて損はないよ



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

598:デフォルトの名無しさん
18/09/16 14:17:56.47 gTaOdbFs.net
>>567
知ってる。でも自作のポータブルアプリだからそうしてる
インストールするようなもんはC#ではまだ作ったことないわ
>>573
違う。ポータブルアプリだからユーザーが置いた場所
USBのフォルダとかマイドキュメントとか

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

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

601:デフォルトの名無しさん
18/09/16 19:10:33.14 PDDwZiUq.net
>>559
ここにかいてるやん
URLリンク(stackoverflow.com)

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

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

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

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

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

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

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

609:デフォルトの名無しさん
18/09/16 20:14:16.80 AeuhPaJN.net
いいや
プロ的にもありえないだろ

610:デフォルトの名無しさん
18/09/16 20:31:15.27 Ka1tFSGh.net
具体例示さず「~しなきゃいけない」とかいうのは「妄想お疲れ」って返しておけばいいよ

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

612:デフォルトの名無しさん
18/09/16 21:19:05.23 Ka1tFSGh.net
>>589
批判をずるずる引っ張るのはやめてくれ

613:デフォルトの名無しさん
18/09/16 21:46:31.24 SnNXv25N.net
雑魚しかおらんかったか
初心者スレだからしゃあないか

614:デフォルトの名無しさん
18/09/16 21:47:28.61 PDDwZiUq.net
また余計なことを

615:デフォルトの名無しさん
18/09/16 23:49:26.08 EHluPWph.net
Buggy C# Code: The 10 Most Common Mistakes in C# Programming
URLリンク(www.toptal.com)
俺はあまり共感できないな…

616:デフォルトの名無しさん
18/09/17 00:28:42.00 +YOQSfB9.net
>>593
何が?

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

618:デフォルトの名無しさん
18/09/17 00:43:43.99 tnCTTc8C.net
>>591
お前が一番の雑魚

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

620:デフォルトの名無しさん
18/09/17 08:16:13.80 bk1Atddi.net
>>595
今からでも遅くないぜ。

621:デフォルトの名無しさん
18/09/17 11:20:21.31 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:デフォルトの名無しさん
18/09/17 11:25:17.63 3TgxIbp4.net
内容はみてないけど
正規表現では検出できないパターンがある
それにあたるのかと

623:デフォルトの名無しさん
18/09/17 11:32:42.98 rJA1qwMQ.net
XMLとして要素抜き出したほうが確実じゃね

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

625:デフォルトの名無しさん
18/09/17 11:40:49.96 3TgxIbp4.net
質問からはxmlなのhtmlなのかすら確定できない

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

627:デフォルトの名無しさん
18/09/17 11:45:20.52 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:デフォルトの名無しさん
18/09/17 11:45:52.85 SBpxj18K.net
とりあえずこっちへ行け
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
スレリンク(tech板)

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

630:デフォルトの名無しさん
18/09/17 13:08:19.32 x9rlqJR2.net
したんだけどぉ

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

632:デフォルトの名無しさん
18/09/17 16:03:32.30 KWfY0Z4o.net
>>609
正解

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

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

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

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

637:デフォルトの名無しさん
18/09/18 05:59:52.79 GWyG2DaA.net
await無しで非同期処理書きたくないな

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

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

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

641:デフォルトの名無しさん
18/09/18 09:03:15.68 X6vi7zjN.net
python如きには負けんよ

642:デフォルトの名無しさん
18/09/18 10:06:07.53 ml+9R6/h.net
負けてるんだよなあ

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

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

645:デフォルトの名無しさん
18/09/18 10:52:42.36 9AO9WU5h.net
UnityとかTypeScriptとか、色々と使われているでしょ

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

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

648:デフォルトの名無しさん
18/09/18 12:05:26.41 ONx2VSk9.net
>>621
iOSやAndroidアプリにも使われてますよ

649:デフォルトの名無しさん
18/09/18 12:54:57.79 /G1owK98.net
C#でカードゲーム作るため
テキストファイルに保存した
一行分をカードデータにしたいのですが
行指定はどうやるのでしょうか

650:デフォルトの名無しさん
18/09/18 12:59:13.48 2NhqeWSI.net
1行ごとにList<string>に入れる

651:デフォルトの名無しさん
18/09/18 13:34:02.44 Z0oFh/rY.net
jsonか何かにしたほうが楽だと思うけど…

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

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

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

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

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

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

658:デフォルトの名無しさん
18/09/18 15:15:36.23 X6vi7zjN.net
async await使わせてくれー

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

660:デフォルトの名無しさん
18/09/18 15:39:57.73 XSFiXPPc.net
>>636
気軽に使うと問答無用でバグ票切られる機能だろそれ
まず待ちたいならタイムアウトを設定しないと
そもそも何がどんな状態で終了することを想定している?
リトライはいらない?
お前は何もしなくてよかったの?
自分の次の動作は待ってるタスクの結果次第だから待ってたのに何も受け取ってるように見えないけど?
ってぐらいは考慮してないとだいたいバグってる

661:デフォルトの名無しさん
18/09/18 20:45:48.05 PujpLEtU.net
>>621
Google Cloud Platform Japan Blog
ポノス株式会社の導入事例: eスポーツ対応の対戦型ゲームを Compute Engine ベースで構築、レイテンシーの比較で最大 2 倍の差が採用の決め手
URLリンク(cloudplatform-jp.googleblog.com)
> 特長的なのは、バトルサーバーで、アプリケーションが C# で書かれています。
>「Windows 上で C# を動かすのではなく、.NET Core を使って CentOS の上で C# を動かすという珍しい構成になっています。」

662:デフォルトの名無しさん
18/09/18 22:17:49.42 xEaDxwfq.net
>>633
ローカルのリポジトリ立てればいいやん

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

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

665:デフォルトの名無しさん
18/09/19 06:12:31.75 JwM3WN1L.net
その設計が間違ってる
何十万件も一度に表示www

666:デフォルトの名無しさん
18/09/19 08:06:04.74 4W6jsUF3.net
それが一億とかのときもあるんです

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

668:デフォルトの名無しさん
18/09/19 08:25:39.24 eYANVd+E.net
動作にフォームのインスタンスが要らないもの

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

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

671:デフォルトの名無しさん
18/09/19 09:10:17.79 wQAi5nmu.net
>>644
1億を一度に欲しいの?
1億のレコードを画面に表示すんのか?

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

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

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

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

676:デフォルトの名無しさん
18/09/19 11:22:39.36 Ei/RIVZy.net
それも程度問題
数千件ならそれでいい(というかそうしなかったのはただの技術側の都合であって
ユーザーの利便性を追求してたわけじゃない)けど、件数が千万のオーダーになれば
話は別に決まってるよ

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

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

679:デフォルトの名無しさん
18/09/19 17:12:21.14 ayfJChiE.net
画面内にいないやつはそもそもUIに載せないやつじゃない?

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

681:デフォルトの名無しさん
18/09/19 23:52:56.59 fl19i0BJ.net
SQLのページングやね

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

683:デフォルトの名無しさん
18/09/20 03:57:43.51 ZeDJ2vHp.net
他の言語を少しでも知ってたら独習c#やね

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

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

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

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

688:デフォルトの名無しさん
18/09/20 08:28:38.09 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:デフォルトの名無しさん
18/09/20 09:12:10.06 4jxtU7uW.net
入門ならideががっつりコード補完してくれる静的言語の方がよくない?

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

692:デフォルトの名無しさん
18/09/20 09:21:01.85 OZxd0eW0.net
C# は、共変性・反変性とか、概念が難しい
まだ、Ruby のダックタイピングとか、オープンクラスの方がマシ

693:デフォルトの名無しさん
18/09/20 09:30:56.78 SE3y3kP3.net
ここにもRubyキチガイが

694:デフォルトの名無しさん
18/09/20 09:36:06.18 lp8Y5Sjf.net
>>666
C#もポインタ使えるよ

695:デフォルトの名無しさん
18/09/20 09:41:50.01 kFoauySG.net
ガイジに触るなよお前素人か

696:デフォルトの名無しさん
18/09/20 09:51:05.51 fnf4DFpj.net
たのしいRubyはもう古いし楽しくない
パーフェクトRubyのほうがマシ

697:デフォルトの名無しさん
18/09/20 12:27:04.89 lp8Y5Sjf.net
>>672
すんません

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

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

700:デフォルトの名無しさん
18/09/20 16:54:21.75 D2y+HKaB.net
>>660
C#に入門するだけなら高い本を買わなくてもWeb上の入門記事で十分。
(本には本でどこでも読めるメリットはあるけど、今時のプログラミングの本は
だいたい分厚くてどこでも読みたいサイズじゃない)
プログラミングに入門する言語としてC#が最適かどうかは微妙。
C#は上級者にはとっつきやすいよく出来た言語だけど、何せ覚えることが多過ぎる

701:デフォルトの名無しさん
18/09/20 17:53:22.89 KIaLDywn.net
代案ださんと

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

703:デフォルトの名無しさん
18/09/20 19:26:38.71 CgrjUHeB.net
初めてのC#でいいだろ

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


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