1 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:56.93 ID:Y4203ffV0.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part131 mevius.5ch.net/test/read.cgi/tech/1504861931/ ■関連スレ C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net mevius.5ch.net/test/read.cgi/tech/1492843013/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
511 名前:やればいい 最初はformsで次にWPF 両方使えたらいろいろ面白い [] [ここ壊れてます]
512 名前:デフォルトの名無しさん [2017/10/27(金) 11:50:25.84 ID:HHV5h0f26.net] WPFむずくね?
513 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 11:54:13.46 ID:WDMSp6pvM.net] >>501 Electronよりは簡単でしょ
514 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 11:54:19.55 ID:DFrdiJ4Ra.net] >>501 難しい 学ばなければいけない新概念が多すぎる いついつまでに作らないといけないとか こういったものを確実に実装したいなど ゴールが決まってる場合選ぶべきじゃない 特に適切な学習テキストがないのが致命的 手間や時間をかけて徐々に学習してステップアップしていける人向け
515 名前:デフォルトの名無しさん [2017/10/27(金) 11:54:44.78 ID:HHV5h0f26.net] >>502 Electronの方が簡単だと思ったけど
516 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:07:59.78 ID:viJc7lmzd.net] >>504 求める機能と開発者のバックグラウンドで様々
517 名前:デフォルトの名無しさん [2017/10/27(金) 12:12:08.77 ID:SMci25s2r.net] 男前なUIは魅力的だけどやはり難しいのか… WPF勉強しつつ何か作らなきゃいけない時はForms使うって感じでやってみます
518 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:27:22.92 ID:WDMSp6pvM.net] >>504 入門レベル以上のモノを作ろうとするとハードル高くないか?
519 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:40:38.27 ID:2zDM9gUL0.net] 伸びてるときは読まなくていい法則
520 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:43:28.55 ID:1mFeKpWgM.net] >>508 そんな事を言いながら読んでレスまでしていると
521 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:50:31.66 ID:37wzv4nSM.net] >>503 学習コストの低いプログラム環境なんて飯の種にはならない。それ以前にいまどき学習コストの低いものなんて無いし。
522 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 13:06:19.09 ID:I66AtiXV0.net] wpfはMaterial Design In XAML Toolkitなんか使えば、単にコントロール並べるだけでも格好いいの出来る https://github.com/ButchersBoy/MaterialDesignInXamlToolkit 並べるだけならGridの仕組み覚えれば何とかなりそうだし、言うほど敷居が高いわけじゃない
523 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 13:06:50.40 ID:cQIvF6YS0.net] 【1位は3年連続Scalaの424万円!】2017年版プログラミング言語別給与ランキング hrog.net/2017102655819.html
524 名前:デフォルトの名無しさん [2017/10/27(金) 13:12:47.78 ID:SMci25s2r.net] >>511 これ凄いな MVVMの真髄を見た
525 名前:デフォルトの名無しさん [2017/10/27(金) 13:14:13.55 ID:xbgVr3k+6.net] WPFはバインドが難しい
526 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 13:16:10.91 ID:DFrdiJ4Ra.net] MVVMと関係ないだろw FCUで鳴り物入りで始まった新デザインは放置されてるよな
527 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 14:18:43.50 ID:I66AtiXV0.net] >>514 先入観持たなければ、バインド自体は半日もネットで勉強したら理解できる範囲 難しいのはスタイルとかアニメーションとかビジュアルステイトマネージャとかビヘイビアあたり
528 名前:デフォルトの名無しさん [2017/10/27(金) 14:43:10.59 ID:HHV5h0f26.net] リストの項目を複数選択してそれぞれの属性値を使って処理しようとしてもWPFだと難しい
529 名前:デフォルトの名無しさん [2017/10/27(金) 14:45:18.40 ID:HHV5h0f26.net] 単純に1つのアイテムをクリックした時にその要素のデータに対応した処理をしようとしてもなかなか出来なかった気がする
530 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 15:20:00.66 ID:I66AtiXV0.net] 確かにListBoxとListBoxItemと実態データの関係はわかりづらいし、それをしっかり説明している文書も見たこと無いな あと、ListBoxを理解するのに必須のItemContainorStyleとItemTemplateの解説とか ノウハウだけはいくらでもネットに転がっているから、最初は単純にコピペから始めるしか無いかもね
531 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 16:01:30.28 ID:EVxrWE8wr.net] その辺は、"WPF ItemsControl"辺りでGoogle先生の御神託を受けると なるほど!なサイトが啓示される
532 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 16:02:39.61 ID:EVxrWE8wr.net] WPFは簡単とは言わないが 慣れると「楽」ではある
533 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 16:47:05.61 ID:/3yfU/y80.net] >>489 歳とともに新しい概念を吸収する能力はどうしても衰えるからな 日本だけに限った話ではない 日本だと竹内郁雄あたりが一番の古株
534 名前:デフォルトの名無しさん [2017/10/27(金) 17:11:12.50 ID:Xsu5cNz50.net] 以下のサイトを参考にAccord.NETで画像判定を行いたいのですが https://www.ipentec.com/document/document.aspx?page=csharp-accord-net-create-simple-classification コピペだけでは上手く行かなくて悩んでいます。 NuGetでAccord.NET frameworkは導入済 フォーム名をFormMainにして デザイナからボタン3つのイベントハンドラを作って 残りはコピペしたのですが赤線エラーが連発です。 何が足りないんでしょうか?
535 名前:デフォルトの名無しさん [2017/10/27(金) 17:14:31.76 ID:pAogLeJi0.net] 見た目ではわからんない変な見えない文字でもあるんじゃね?
536 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 17:17:20.47 ID:WVUdRiE90.net] 昨夜のヤツか だから何でもかんでもコピペで済ませようとせずに、ちゃんと基礎を学習しろって >赤線エラーが連発です。 >何が足りないんでしょうか? 先ず、そのエラーの内容を全部正確に書き出せ 何が足りないっつーなら、人に物を訊ねるのに提示する情報が足りてない
537 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 17:28:28.47 ID:5X4PuMCla.net] 金出して入門書を買うべき
538 名前:デフォルトの名無しさん [2017/10/27(金) 17:32:12.47 ID:Xsu5cNz50.net] ごめんなさい 以下が私のコピペして作ったコードです https://pastebin.com/xdS3quRw エラーは以下の21個です https://pastebin.com/sZTkUWfU 何かアドバイス頂けたら幸いです。
539 名前:デフォルトの名無しさん [2017/10/27(金) 17:34:34.18 ID:Xsu5cNz50.net] 入門書は作って覚えるvisualC#2017という本を買い コピペではありますが本に載っているプログラムを一通り作ってみました。
540 名前:デフォルトの名無しさん [2017/10/27(金) 18:10:14.92 ID:eOTTzU3j0.net] このサンプルがゴミ 他のサイトで試そうぜ
541 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:04:59.18 ID:+TQssIne0.net] >>527 usingでエラー出ているから手の付けようがないんだが Accord.MachineLearningがあってその下のAccord.MachineLearning.VectorMachines;が無いって出ているのだから Accord.NET frameworkやらの導入に失敗しているか拡張か何かが必要なのにそのことが書いてないか 検証するには同じように導入しなきゃならないけど俺には無理w 身もふたもないこと書くけど、コピペでしかやらないのならプログラムじゃなくてソフトウェア板でツール探したほうがいいと思うよ
542 名前:デフォルトの名無しさん [2017/10/27(金) 19:06:56.02 ID:fMt9E+qB0.net] while文を使って「10000」を「2」で何回割ると 「100以下」になるかを調べるプログラムってどう記述すればいいですか? 教えてくださいお願いします
543 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:10:40.47 ID:+TQssIne0.net] >>531 int count=0; int x=10000; while (x>100) { x=x/2; count++; }
544 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:24:20.57 ID:8mvsL+zrd.net] 課題の答えを教えてもらうスレみたいになってるな
545 名前:デフォルトの名無しさん [2017/10/27(金) 19:30:24.53 ID:pAogLeJi0.net] >>530 俺は実際にやったんだがまず最新バージョンだとダメだった サイトに書いてるバージョンをインストールしたら名前空間未解決は全部消えたけどImageItemクラスが見つからないって出たわ
546 名前:デフォルトの名無しさん [2017/10/27(金) 19:47:20.37 ID:fMt9E+qB0.net] >>532 さんありがとうございます
547 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 20:06:30.51 ID:mnqGPV0ma.net] >>531-532 Math.Log使って算術的に求めればいいのに、と一瞬思ったけど底の変換で誤差が出るからだめかw でも解析的に溶けるはずの問題を力技でやるのは面白くないな馬鹿っぽくて
548 名前:デフォルトの名無しさん [2017/10/27(金) 20:58:27.40 ID:pAogLeJi0.net] 1000/(2^x)<=100 ∴x>=-ln(100/1000)/ln(2) 整数単位なら ceil(-ln(100/1000)/ln(2)) C#なら (int)Math.Ceiling(-Math.Log(100.0/1000.0)/Math.Log(2.0))
549 名前:デフォルトの名無しさん [2017/10/27(金) 21:00:22.12 ID:pAogLeJi0.net] 1000じゃなくて10000だった
550 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 21:10:00.24 ID:Kbs4W3Kw0.net] 質問です WPFで、MenuのItemSourceをXMLとデータバインドして、ItemContainerStyleでXMLに書かれたアイコンのパスからアイコンを表示してます テキストはうまく並びますが、アイコンは現在最後の1個だけ表示される状態です 試行錯誤したのですがなんかうまくいきません 教えてください!
551 名前:デフォルトの名無しさん [2017/10/27(金) 21:15:13.29 ID:Xsu5cNz50.net] >>534 ありがとうございます バージョンをサイトのに合わせたらエラーが以下の7つにまで減りますね https://pastebin.com/a3enEffB ちょっと希望が見えてきました
552 名前:デフォルトの名無しさん [2017/10/27(金) 21:18:58.21 ID:pAogLeJi0.net] >>539 >>1 のサイトにコード貼ってうp
553 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 21:20:12.73 ID:FTyfNVM40.net] >>539 faqネタ https://msdn.microsoft.com/ja-jp/library/aa970778(v=vs.110).aspx
554 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 21:22:05.47 ID:+vbTuR/l0.net] >>533 俺なんか、実際プログラミングの授業さっぱりわからなかったから気持ちはわかるw 卒業して全然違う職に就いてから、独学で勉強して業務アプリ作ってるけど やっぱ理系の大学教授って教えるの下手だよなぁ
555 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:31:09.83 ID:Kbs4W3Kw0.net] >>542 ありがとうございます! x:Sharedを調べてきます >>541 もうちょっとがんばってみます
556 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:33:56.47 ID:FTyfNVM40.net] >>544 画像のようなリソースは共有できないのだ。
557 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:34:54.26 ID:FTyfNVM40.net] >>543 正直、工学部のレベルが落ちてると思うよ。
558 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:44:05.65 ID:jS4JzIKN0.net] 作れる、と組める、はかなり違うスキルだと思う
559 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:45:42.16 ID:EnZPczDa0.net] 作れるけど組めないタイプです
560 名前:539 mailto:sage [2017/10/27(金) 22:51:06.59 ID:Kbs4W3Kw0.net] できましたありがとう! ResourceDictionaryにx:Shared="false"でできました! 本当に感謝です! これでスマートに書けます!
561 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:08:50.40 ID:5w2xVZwP0.net] >>549 それデザイナーだと、ちゃんと出るからたちが悪いよ。 エッセンシャルWPFとか読んでないとわからんと思う。
562 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:10:50.85 ID:SAD9Ru6t0.net] WPFのグリッドコントロールが死ぬほど遅いのって解消された?
563 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 01:15:13.63 ID:Ng05dLeH0.net] いいえ WPFの思想を正しく理解してたらグリッドコントロールなんか必要ないとわかるはず それを面倒に感じるようなタイプのアプリならWinFormsかASP.NETで作るべき
564 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:09:18.71 ID:t/WJitLPp.net] どういうことだってばよ
565 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:46:40.11 ID:03EiXsZ60.net] >>551 EnableColumnVirtualizationプロパティをTrueにする
566 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 08:04:18.05 ID:WUINebrs0.net] Gridじゃなくて、DataGridかよ。
567 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 08:47:45.45 ID:03EiXsZ60.net] 忖度です
568 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 10:45:25.48 ID:DalFF2zW0.net] Gridが遅いなんて話聞いたことないからわかるだろ
569 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 11:52:51.58 ID:KdTyFqmQ0.net] >>552 賛同
570 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 12:46:46.71 ID:PsP4EoQE0.net] つか、
571 名前:DataGridに数千数万突っ込む仕様がどうかしている どうせ使う人もそこまでスクロールするはず無いんだがなぜか作らされる理不尽さ [] [ここ壊れてます]
572 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:03:06.41 ID:bdNJdn2b0.net] >>559 ほんとこれ
573 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:09:55.85 ID:pcT2EQ6Aa.net] >>559 役所のアプリってそのぐらいの人数 簡単にいくじゃん どういう画面にするか迷う
574 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:14:31.33 ID:pcT2EQ6Aa.net] 某大手に依頼されたログ閲覧ツールも 200機近くある機械がそれぞれ秒単位で ログ出すから一万とかあっという間に超える こういうのいい作り方ない?
575 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:20:52.94 ID:pcT2EQ6Aa.net] とりあえずDataGridもDataGridViewも 10万件ぐらいなら余裕で表示できるよ でも無限に表示するわけにも行かないのに 3年ぐらいのデータはみたいとか言うんだよな 役所のアプリに限っては住民だから 全員並列でデータに上下がなくて 完全にどうやって表示したらいいかわからない
576 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:36:39.82 ID:Ng05dLeH0.net] >>562 elasticsearchに突っ込んで終わり
577 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:48:34.24 ID:4tOv+jEh0.net] >>561 もうエクセルでいいだろwww
578 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:00:05.81 ID:LD30atSwM.net] 全部表示しないでクエリで絞り込んで表示したらいい 何万件目視する必要はないと思うけど
579 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:31:38.49 ID:/OSTeRXvM.net] 能力のない人が要件定義するとそういうアホなことになるよね 客からすれば大抵そういうのはその場のノリで適当に言っただけのどうでもいいことで、 それが生み出す価値と引き換えになる品質やコストを天秤に載せれば明らかにやるべきではないような要件を「やりません」と言えない
580 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:55:50.55 ID:lTHigkwZr.net] 上の人達が頭悪いととにかく迷惑なのは確かではある
581 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:06:44.30 ID:e5FcL5GRa.net] どうせユーザーは全部のデータは見ないから〜、とか 適当に絞り込んだ表示にしろとかいう意見ははさすがにちょっと頭悪すぎると思うw んなアホな っていうか仮想化すれば済む程度の話で客や上司を無能扱いする奴って どんだけ図々しいバカだよ
582 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:18:29.56 ID:IlD7K6Hl0.net] string型に行番号とかの変数を追加したいのですが シール型で継承できないとエラーになりました こんなときどうしたらいいでしょうか
583 名前:デフォルトの名無しさん mailto:sage釣 [2017/10/28(土) 16:49:12.51 ID:i6LcJWfh0.net] エクステンションを使うべし
584 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:57:29.76 ID:H0P2VwFl0.net] >>570 Stringじゃなくてクラス作って行番号や行の情報を変数として持つのは駄目なの?
585 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:58:11.15 ID:rZWSN5VzM.net] class Line { private readonly string _contents; private readonly int _lineNumber; public Line(string contents, lineNumber) { Contents = contents; LineNumber = lineNumber; } public string Contents { get => _contents; set { if (value == null) throw new ArgumentNullException(nameof(Contents)); _contents = value; } } public int LineNumber { get => _lineNumber; set { if (value <= 0) throw new ArgumentOutOfRangeException(nameof(LineNumber)); _lineNumber = value; } } }
586 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:04:36.31 ID:IlD7K6Hl0.net] >>571 エクステンションだと↓を見る限り変数は追加できないですよね?構文糖衣みたいのを作る時は便利ですけど https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classe
587 名前:s-and-structs/extension-methods [] [ここ壊れてます]
588 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:09:57.61 ID:IlD7K6Hl0.net] >>572 いたる所に行番号やらが必要になったstring変数があってあんま変えたくないのですが、 結局そうするしかないんでしょうかね
589 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:13:47.24 ID:i6LcJWfh0.net] >>574 そのメソッドが所属するクラスにはプロパティorメンバー宣言出来ないって書いてあるかな?
590 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:19:01.18 ID:EvuLUtue0.net] 1行挿入したらそれ以降の行を全部更新しないといけないけど そういう心配は不要な使い方なの?
591 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:42:01.52 ID:m7p7dboTa.net] >>575 手を動かす(コードを書き始める)前によく考えなかったツケとしか言いようがないね 修正箇所が多いことは間違った設計を正当化する理由にはならんでしょう。 >>576 拡張メソッドの実体はただの静的メソッドなので基本状態を持てませんw thisをキーにするDictionaryでも持てばやってできないこともないだろうけど、 努力の方向が間違ってる感が半端ない
592 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:19:38.89 ID:ot1H0tr20.net] >>576 >実際に、拡張メソッドは、それらが拡張している型のプライベート変数にはアクセスできません。 >>574 のこの部分だな 宣言できても外部から使えない
593 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:42:13.42 ID:Ei3q78sJ0.net] なぜ諦めろと言えないのか
594 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:48:53.63 ID:LD30atSwM.net] intに行番号追加したいと言ったらアホかで終わる stringだとなぜアホかでおわらないのかな
595 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:54:17.52 ID:rXHf5Axha.net] >>581 00001(*゚∀゚)using system; 00002(*゚∀゚)using unko; 00003(*゚∀゚)using chinko; デリミタ(*゚∀゚) みたいな
596 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:55:16.39 ID:rXHf5Axha.net] ごめん やっぱアホやと思う
597 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 19:15:45.09 ID:rZWSN5VzM.net] >>581 OOPでは文字列というかプリミティブ型をそのまま使う方が間違い 行という概念が対象とする業務にあるならそういうクラスを作る
598 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 20:14:28.12 ID:X1c8HG7Y0.net] とりあえずstringと暗黙に相互変換できるクラス作ればいいんじゃね
599 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 20:49:55.33 ID:WUINebrs0.net] >>570 継承(is-a)じゃなくて包含(has-a)にすべきパターン
600 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:14:06.22 ID:EvuLUtue0.net] >>575 >いたる所に行番号やらが必要になったstring変数 この「行番号やら」とstring変数の用途というか使用目的は?
601 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:16:11.03 ID:lTHigkwZr.net] >>586 素直に委譲するべきですな 継承してstringの全メソッドを公開してしまうアホさ加減が理解出来ない人多いよねw
602 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:35:30.21 ID:m7p7dboTa.net] >>586 >>588 この質問者のケースは単なる設計ミス(というよりあまりに思慮が足りない)だけであって 継承かコンポジションかの対立じゃありませんw
603 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 22:59:54.69 ID:rZWSN5VzM.net] 設計ミスの原因は値オブジェクトの作成をサボったこと
604 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:41:15.85 ID:niGJJWdU0.net] Form1のコントロールに他クラスからアクセスするとき、VB.NETだと Form1.DataGridView1.〜 のようにアクセスできたけど、C#は同じようにできなかった https://teratail.com/questions/36464 ここのページのように実装したけど、みんなはどうしてる?
605 名前:デフォルトの名無しさん [2017/10/29(日) 01:56:06.10 ID:9lQAHngl0.net] >>591 いやできるけど
606 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 02:40:31.76 ID:WQc+sGcxa.net] >>591 C#だとデフォフトのアクセスレベルがprivateになってる(VBはpublic)から これをpublicとかに変更してやればできる。(デザイナのプロパティグリッドだとデザイン/Modifier) でもやるな。 コントロールを外から操作したいなんて99%考え方が間違ってる。
607 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 03:16:14.16 ID:ijP0HOZf0.net] >>591 エラーメッセージくらい読めよ
608 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 08:12:26.70 ID:eDIrk2le0.net] >>592-594 ありがとうございます Winフォーム作成→dataGridView貼り付け→dataGridViewのModifiersをPublic→ 新しいクラスClass1.csを作成→ public void Test() {Form1.dataGridView1.Rows.Add("hoge");} エラー CS0120 静的でないフィールド、メソッド、またはプロパティ 'Form1.dataGridView1' で、オブジェクト参照が必要です とでます。Form1. の時点でインテリセンスにも表示されませんでした どこが間違っているか指摘していただけるとうれしいです VB.NETもおなじようにやってみましたが、Form1.のインテリセンス候補も10倍くらいの量がありました >でもやるな。 >コントロールを外から操作したいなんて99%考え方が間違ってる。 ちなみにどのようにされていますか?
609 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 09:36:49.69 ID:xy4cL51x0.net] クラスのインスタンスを電文フォーマットに基づくバイト列に変換するのって どうするのが一般的ですか? BitConverterで一つずつやるつもりでいたんだけど、電文の種類が多くて大変なんで マーシャリングかシリアライザー使って何とかならないかなと考えています。 バイトオーダの変換はありませんが 文字コードの変換はあります。
610 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 09:57:15.12 ID:lQWP9L+J0.net] >>595 クラスのインスタンスからアクセスしないといけない 他のクラスにインスタンス無しでアクセスできるのはエラーのとおりstaticなメンバーにだけ 自分で貼ったリンク先を読み返すか https://dobon.net/vb/dotnet/form/accessanotherformdata.html ここを参照
611 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:00:00.89 ID:8/yZ+26EM.net] >>596 独自形式? ならまずはプロトコルの変更を検討
612 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:25:39.66 ID:8DklepZ/0.net] >>596 電文フォーマットが有名な国際規格ならNugetにコンバータが落ちているだろうからそれ使えだけど、独自形式なら電文に応じてコンバータ作るしかないんじゃね 2.0時代の時は文字コード指定したBinaryWriterに1項目ずつ書き込んだけど、今だともっと良い方法あるのかね?
613 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:38:20.65 ID:niGJJWdU0.net] >>597 説明が足りなかったです 最初のレスで貼ったリンク先の方法で実現できたのですが、VB.NETのように特別な設定等なくてもアクセスできないのかなと思いまして
614 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:46:16.93 ID:lQWP9L+J0.net] >>600 意味が分からないのだけどインスタンス無しでアクセスしたいのなら無理 デフォルトをpublicにする設定なら知らない datagridviewをpublicにしたくないのなら同じクラスに読み書きするためのpublicなメソッドをおいてそこに外からアクセスする
615 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 11:57:28.03 ID:PXhFkrdq0.net] LINQの川俣本買ってきた 確かに変態的だがw、なかなか面白い
616 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 12:24:50.28 ID:niGJJWdU0.net] >>601 勉強になりました ありがとうございました
617 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 13:04:46.79 ID:ZduY/p1d0.net] >>602 彼が本の中で出している例が、彼が実際に作っている同人ゲームというのが痛々しい その痛さは中身とは直接関係ないけどね
618 名前:あ mailto:sage [2017/10/29(日) 13:54:10.92 ID:KCquvjW+d.net] >>596 電文コンバータと、そのコンバータ用のattribute作った事ある。 ちまちまやっても辛いが、電文は自システム外との接点で一番健全であるべきだと思うから、 あんまりその辺のライブラリ使わずに、ベンダサポ
619 名前:ートのあるものを買うか自作した方が良いと思う。 [] [ここ壊れてます]
620 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 19:15:01.89 ID:DPr9B5TC0.net] double値で0〜1の乱数一個発生させた後何倍かしたあと50足して50〜100の乱数表示させたいんだが「何倍かして」をどう打ち込んでやればいいのか分から
621 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 19:27:01.08 ID:JiBt02fUa.net] >>606 0〜1の乱数 * 50 + 50
622 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 19:30:31.42 ID:UHlhCeyba.net] それが分からないってどんだけ数学苦手なんだよw 小学生でもわかる気がするけどw
623 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:04:49.47 ID:QVv5Qzoo0.net] >>606 こたえ は らんすう かける (いちばんおおきいかず ひく いちばんちいさいかず) たす いちばんちいさいかず
624 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:24:05.16 ID:XZx0dOgn0.net] List<string>をcomboBoxの内容に入れ替えたいんですが、 list.Clear(); foreach (var item in comboBox1.Items) { list.Add(item.ToString()); } もっといい書き方ありますか?
625 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:35:08.53 ID:2obBvs8R0.net] >>610 list = comboBox1.Items.Cast< string >().ToList();
626 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:37:54.07 ID:2obBvs8R0.net] listを作り直すのが嫌だったら list.Clear(); list.AddRange( comboBox1.Items.Cast< string >() );
627 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:39:32.25 ID:GAnQ71f80.net] >>610 DataSourceにデータソースをバインドしてDisplayMemberとValueMemberをゴニョニョする方が良いと思う
628 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:42:13.20 ID:GAnQ71f80.net] ごめん、忘れて
629 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:53:42.20 ID:XZx0dOgn0.net] >>611-612 ありがとうございます。 やってみます。
630 名前:デフォルトの名無しさん [2017/10/29(日) 21:38:31.04 ID:AI+osUJX0.net] あるstringのデータを コンソールで表示すると 1 2 3 4 5 6 となるのですが フォームアプリケーションのtextBoxで表示すると 1 2 3 45 6 となってしまいます これはどうしてでしょうか? コンソールアプリケーションと同じように表示する方法はありますか?
631 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 21:42:40.40 ID:YJExHDlc0.net] textBox.Multiline = true;
632 名前:デフォルトの名無しさん [2017/10/29(日) 21:46:02.25 ID:+ffco7dx0.net] >>616 フォームデザイナーでテキストボックス選択すると出てくる三角マークで出てくるチェックボックスにチェック
633 名前:デフォルトの名無しさん [2017/10/29(日) 21:49:41.90 ID:AI+osUJX0.net] >>617 >>618 Multilineはチェックしています
634 名前:デフォルトの名無しさん [2017/10/29(日) 21:50:16.20 ID:+ffco7dx0.net] >>606 「*」の入力の方法 https://i.imgur.com/JX4EAnJ.jpg
635 名前:デフォルトの名無しさん [2017/10/29(日) 21:50:47.43 ID:+ffco7dx0.net] >>619 改行コードは\nじゃなくて\r\n
636 名前:デフォルトの名無しさん [2017/10/29(日) 21:53:57.78 ID:AI+osUJX0.net] >>621 なるほど、データの\nを\r\nに置換すれば良いのですね プログラム内で出来る様やってみます ありがとうございました!
637 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 22:29:57.26 ID:3xWluLewM.net] >>606 乱数で1〜0じゃなくて 乱数で0〜50出して50足せばいいよ
638 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 23:09:13.97 ID:lLtElflAr.net] >>610 悪いこと言わんからlistを入れ換えなさい
639 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 23:41:17.91 ID:XZx0dOgn0.net] >>624 >>611-612 では問題あるのでしょうか?
640 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:51:20.04 ID:ZjjJl5MKr.net] >>625 その二つが違うんですけどね (´・ω・`)
641 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 02:19:11.99 ID:WHu/EAiX0.net] >>600 VB.NETの既定のインスタンスのことかな? VB.NETではフォームのインスタンスをnewすることなく使える www.atmarkit.co.jp/fdotnet/special/vb6tovb2005mig02/vb6tovb2005mig02_01.html ただ、VB6との互換というか、ごまかしだから避けるのが基本 メリットが薄い割に後々混乱やバグのもとになる
642 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 06:37:07.25 ID:VzdyAy7l0.net] >>610 コンボボックスのデータソースにリスト当ててやればおけ
643 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:27:34.12 ID:uU3Z1NO30.net] C#凄く難しい。 みんなよく覚えられるね。
644 名前:デフォルトの名無しさん [2017/10/30(月) 17:05:11.69 ID:ZRry2d4e0.net] 最も無駄がなく整理されて簡潔な言語なのに
645 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:11:32.17 ID:+mMPfUc40.net] 互換性の為の無駄はあるよ そして難しくはないっつーかかなり簡単な部類 仕様とライブラリが膨大で覚える事が多いだけ
646 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:13:03.05 ID:em1IyeD/0.net] Dictionaryを使って stringとfloat型で特定の人物の電話番号を WriteLineでコンソールに出力するプログラムを作りたいのですが 例えば0001234567という電話番号だったりすると 000の部分が省略されて1234567の部分しかコンソールに出力できません float型では0は扱えないのでしょうか?
647 名前:デフォルトの名無しさん [2017/10/30(月) 17:16:37.50 ID:1Rgk/fXB6.net] なぜ電話番号を浮動小数で表すのか謎だがこのサイト見ながらで書式設定すればできる https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/formatting-numeric-results-table
648 名前:片山博文MZ mailto:sage [2017/10/30(月) 17:21:42.29 ID:ct0tj9Za0.net] >>632 電話番号には文字列を使いなよ。国際電話を使うかもしれないぜ。
649 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:28:01.76 ID:dYkZ5PSi0.net] >>632 float型だろうがdecimalだろうが頭に0が付かないのは当たり前。電話番号は文字列として扱え 数値以外の要素のチェックが必要なら面倒でもチェック用のメソッドを作る >>633 それができるのは桁数が決まっているものだけだから電話番号には使えない
650 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:35:14.59 ID:ZipmH/zBd.net] >>629 何に比べてどこが難しいの?
651 名前:デフォルトの名無しさん [2017/10/30(月) 17:37:33.80 ID:em1IyeD/0.net] >>634 >>635 文字列として扱ったら表示されました! ありがとうございました!
652 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:42:51.79 ID:MXOIFBwWa.net] スレ的に笑っちゃいけないのかもしれないけどその発想はなかったw だけど常識的に考えて、0と00が別の値として認識される数値型があったら変だろうw
653 名前:デフォルトの名無しさん [2017/10/30(月) 17:43:10.06 ID:1Rgk/fXB6.net] 電話番号って幅バラバラなんだ初めて知った
654 名前:デフォルトの名無しさん [2017/10/30(月) 17:44:12.67 ID:1Rgk/fXB6.net] 確かにバラバラだわ
655 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:46:47.02 ID:MXOIFBwWa.net] 東京の局番が増えたのついこの間だったろう...と思ったらもう20年以上前かw
656 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:48:26.11 ID:+mMPfUc40.net] まあ固定電話と携帯電話でも桁数違うし
657 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:57:55.85 ID:qj0DpEco0.net] 電話番号は真面目に考えると結構複雑 nugetでPhoneNumberを調べるとすでに作ってる人がいるので参考にするなり拝借するなり してきた方がいいかもしれない
658 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:01:26.63 ID:Bbjg4pNZa.net] 問題点番号26 110と119、117が登録できない 永久凍結(笑)
659 名前:デフォルトの名無しさん [2017/10/30(月) 18:02:40.83 ID:zMAqCiK10.net] 常識的に考えて緊急電話がサービスに登録してこない 電話帳かな?
660 名前:あ mailto:sage [2017/10/30(月) 18:03:59.63 ID:53AKimFld.net] 電話番号って番号だからなぁ。一応。 単純に文字列が良いかと言うと、ソートは国番号、市外局番、市内局番、内線番号で数字順にやりたい、とか、局番のハイフンは数字じゃないじゃんとか、市外局番変わるので洗い替えます、とか結構うんざりする。 業務系だと電話番号クラス作る(というかプリミティブな型をデータを表す型に使わない)けど、そこまでやってるとキリないしな。
661 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:05:30.03 ID:+mMPfUc40.net] 結局、要件定義次第だからね 将来的な変更を見越して型を作るのはアリだと思うけど
662 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:27:19.96 ID:1DqnyPzkM.net] 電話番号は番号というより記号 数字としての役割はしてない
663 名前:デフォルトの名無しさん [2017/10/30(月) 18:32:37.98 ID:6LR7RaNa6.net] x 数字 o 数値
664 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:14:48.75 ID:ums4+xqt0.net] >>630 MSDNの糞っぷりは天下一級品
665 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:17:16.26 ID:BJc9Pwjb0.net] ?
666 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:20:01.70 ID:Bbjg4pNZa.net] >>650 よく書いてあるじゃん vc6の頃なんてリンク切れだったぜ
667 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:28:47.29 ID:ums4+xqt0.net] >>652 VC6と比べると幾らかマシと言うレベルで褒められたもんじゃない。 .NETの少しマイナーなクラスだと「そんな説明で分かるかボケ」か説明すらない状態だ。
668 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:31:46.66 ID:Bbjg4pNZa.net] >>653 最近サンプルソースも充実してるじゃん
669 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:36:22.59 ID:ums4+xqt0.net] >>654 その充実(笑)なサンプルソースとStackOverflowの親切な外人様のおかげでなんとかなってる状態w
670 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:46:34.67 ID:YIhgL7yL0.net] >>655 docsの間違いか?
671 名前:デフォルトの名無しさん [2017/10/30(月) 19:48:27.09 ID:4jg/LOEr0.net] ワシみたいな趣味グラマーは公式ドキュメントなんか読まないからノープロブレム
672 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:49:37.11 ID:s0I2evXG0.net] await/asyncの良い資料ってどこかに無いかね ParallelやTaskの奴なら昔MSが出してたParallel Programming with Microsoft .NETが参考になったけど、こっちは全然見当たらない
673 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:09:03.29 ID:1DqnyPzkM.net] >>658 具体的に何が必要?
674 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:18:18.09 ID:s0I2evXG0.net] >>659 解説に加えてパターンやアンチパターンがあるとわかりやすいからありがたいけど、ググってもブログでちょっと触ってみましたみたいな記事しか無いんだよな
675 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:30:18.29 ID:wEmOlfDHr.net] つかってりゃあ解るレベルのもんなんで何とも
676 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:32:27.51 ID:RKfFK5VC0.net] OracleやAppleに比べるとMSDNは神レベル
677 名前:片山博文MZ mailto:sage [2017/10/30(月) 20:35:57.71 ID:ct0tj9Za0.net] >>662 MSDNは情報は多いが、ひどくのろまな亀だ。
678 名前:デフォルトの名無しさん [2017/10/30(月) 20:40:19.79 ID:OohuTOK70.net] c#初心者のDTですが質問良いですか? Visual Stdio 2017 でプログラムの実行方法が分かりません猫でも解るC#を見て打ち込んだのはいいのですが走りません アドバイスをおぬがいします
679 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:40:41.88 ID:RKfFK5VC0.net] 単に使いこなせてないだけかもね
680 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:41:05.20 ID:BomO59sy0.net] >>627 C#とVB.NETは構文が違うだけでだいたい一緒っていうイメージがありましたが、そういう側面もあるんですね 参考になりました ありがとうございます
681 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 20:41:46.20 ID:+mMPfUc40.net] >>664 先ずコードを晒せ、話はそれからだ >猫でも解るC#を見て打ち込んだのはいいのですが て事は、大して長いコードでも無いんだろうし
682 名前:デフォルトの名無しさん [2017/10/30(月) 20:48:55.38 ID:59na0HEH0.net] >>664 情報が少なすぎる とりあえずなにかを動かしたいのか? 「新しいプロジェクト」 ↓ 「コンソールアプリ」のプロジェクトを作成 ↓ static void Mainしたの中括弧
683 名前:の中にConsole.WriteLine(“Hello World”); を追記する ↓ 画面の上にある再生ボタンを押す [] [ここ壊れてます]
684 名前:デフォルトの名無しさん [2017/10/30(月) 21:01:28.13 ID:OohuTOK70.net] >>668 説明が足りなくてすいません imepic.jp/20171030/755380 こんな感じで本を見て書いたやつを走らせたい息子が困っていまして
685 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:05:25.57 ID:qj0DpEco0.net] 全裸でデバッグする奴なら知ってるが まさかチンコでタイプするツワモノがいたとは
686 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:10:30.63 ID:Bbjg4pNZa.net] >>669 プロジェクト作ってないな >>668 の通りやってみるが吉
687 名前:デフォルトの名無しさん [2017/10/30(月) 21:12:08.05 ID:OohuTOK70.net] >>671 ありがとうございます
688 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:12:54.40 ID:dYkZ5PSi0.net] >>669 www.atmarkit.co.jp/ait/articles/1704/10/news026_5.html www.atmarkit.co.jp/ait/articles/1704/10/news026_6.html
689 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:13:18.64 ID:+mMPfUc40.net] >>669 画面に顔が映り込んでんぞw プログラミングの前に、リテラシーを何とかしようぜ……
690 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:13:48.43 ID:wouAVMNAH.net] Visual Studio 2017じゃない気がするんだけど
691 名前:デフォルトの名無しさん [2017/10/30(月) 21:14:34.02 ID:OohuTOK70.net] >>674 アドバイスありがとう
692 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:16:25.50 ID:dYkZ5PSi0.net] >>675 VS codeだな >>676 今使っているのはテキストエディタでしかないのでVisual Studioを使ってください
693 名前:デフォルトの名無しさん [2017/10/30(月) 21:22:59.03 ID:OohuTOK70.net] Visual Studioを使っているのですがなかなか走らないんですよ imepic.jp/20171030/768660 ちなみに今こんな感じ
694 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:26:13.22 ID:ums4+xqt0.net] >>669 まさかのVisual Studio Code
695 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:26:25.16 ID:WQOxFad40.net] 動いてるじゃん
696 名前:片山博文MZ mailto:sage [2017/10/30(月) 21:26:49.92 ID:ct0tj9Za0.net] >>678 プロジェクトがウィンドウになってるぞ。 コンソールプロジェクトを作れ。
697 名前:デフォルトの名無しさん [2017/10/30(月) 21:28:40.71 ID:OohuTOK70.net] >>681 的確なアドバイスありがとうございます
698 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:30:53.30 ID:ums4+xqt0.net] >>678 NECのPC使ってるヤツには何も教えません。 NEC肉けりゃPCまで
699 名前:デフォルトの名無しさん [2017/10/30(月) 21:32:42.46 ID:OohuTOK70.net] >>683 仕方がないんですよリアル中1の息子ですから ちなみに成功しましたありがとうございます
700 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:45:36.97 ID:RIfFu6mhM.net] >>683 NECに何の恨みがあると言うのだ 素晴らしい企業だろう
701 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:52:18.37 ID:+mMPfUc40.net] 素晴らしいかどうかはともかくとして、特定企業に対する好き嫌いは宗教みたいなもんだから 深くツッコミを入れてはいけない >>678 デジカメで画面を撮影するんじゃなく、スクショを撮る様にした方がいいぞ
702 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:54:35.90 ID:su8UHeMj0.net] >>678 Formに文字列を表示する方法はいくつかあるけど 簡単な方法としてはラベルに文字列を代入する ("Label1"みたいなデフォルトの文字列はプロパティから削除しておく)
703 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 22:03:18.54 ID:W3U3EqvHM.net] >>678 他の人も書いてるけど、それはVisual StudioじゃなくてVisual Studio Codeだから VSを使ったほうがいいと思う
704 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 22:13:38.49 ID:ZlZ2sOP4M.net] >>688 よく見たほうがいいよw
705 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 22:16:21.64 ID:W3U3EqvHM.net] >>689 ああ… いやそのスマホの小さい画面で 恥ずかしい
706 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 22:29:33.11 ID:pVIch9qW0.net] みんなやさしくて泣けた。
707 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 22:33:12.77 ID:YIhgL7yL0.net] >>688 www
708 名前:あ mailto:sage [2017/10/31(火) 00:03:40.89 ID:VssU1hfBd.net] >>648 >>646 で、数字として扱わなければいけない理由書いたつもりだがな。
709 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 00:13:41.09 ID:LbNkhFzoa.net] その議論は不毛だ思うよw まあ、電話番号の最小単位の数字が単なる符号(記号というより符号だね)であったとしても 数字に符号されているんだから、コードでそれを表現する時には素直に順序付きの数字の並び(の並び) として表現した方がいろんな処理場便利なのは確かだと思う 普通はやらねえと思うけどケタの表現にenumなんか使ってもいいことないねw
710 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 00:25:17.81 ID:cFpPTw5nM.net] >>693 番号に#とか使ってたり アメリカみたいにアルファベット入れてたら数字じゃダメだよ
711 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 00:30:44.11 ID:CDGz4c1c0.net] 電話番号だからどうとか関係ない 用途によって扱いが違うだけ コンソールに表示したいんだから文字列にする
712 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 00:50:48.14 ID:FwO1SqIy0.net] >>678 まあ、>>681 でいいわけだがVSから入るとMain と Formの関係がなかなか理解できんよな そういうの解説してる入門書は少なくて オレは高橋なんとかの「やさしいC#」の最初の方読んでようやく分かった
713 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 01:25:40.38 ID:kCH+s2JN0.net] スッキリのJSとかC#バージョンを出版して下さい
714 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 06:51:13.60 ID:Pxy1busQ0.net] Entity Frameworkにの和書って絶望的に無いけどお勧めある? 使ってるヤツ居るんか。
715 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 07:38:32.26 ID:vjYSWXcI0.net] >>699 webなら普通に使ってる ef単体に絞った本は見たことない asp.net mvc の本ならefに触れてるはず でも正直本は役に立たんかったわ stackoverflowが一番役立った
716 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 08:00:58.58 ID:tTECqdhTa.net] 最近書籍弱いよね 本屋に行ってもオワコンなのか?と思うぐらい何もない
717 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 08:04:53.37 ID:UxJjc40bM.net] >>701 ブログとかの情報で十分な場合がほとんど
718 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 08:13:56.58 ID:1Z5oHBJNr.net] >>702 それが大きそうだね
719 名前:あ mailto:sage [2017/10/31(火) 08:16:12.54 ID:VssU1hfBd.net] >>695 番号にシャープを入れるんじゃなくて、電話番号クラスのうち、シャープ特番クラスを作る方が良いのでは? そうなると電話番号インターフェイスになるが。 アメリカのアルファベットは、ありゃ数字だ。数字をアルファベットで表現してるだけ。 なので、これは元言ってた電話番号クラスに数字列と表現列を作る他ないな。 そーすりゃ日本の語呂合わせ番号も(必要があるからはおいといて)保存できる。
720 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 08:31:09.08 ID:znhbZmhV0.net] 日本の携帯と固定電話に対応すれば殆ど対応できるんだから、後はメモ欄でも付けてそこに書けでいいと思うんだが そうは問屋が卸してくれないよな
721 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 08:39:41.31 ID:ABdbotTTM.net] >>700 Webにあるのはef4の頃の古いのしか見当たらないね。 mvcの本はあるけど全然役には立たん。 StackOverflowが一番役に立つ悲しい現実。
722 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 08:44:22.32 ID:ABdbotTTM.net] >>701 洋書は沢山あるんだけどねぇ。 Linux本が一般書店に平積みしていた時代が懐かしい。
723 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 09:09:00.05 ID:dHXhqPbt0.net] 〜next();と〜next double();て整数乱数発生させるか実数乱数発生させるかの違い?
724 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 10:42:59.91 ID:tTECqdhTa.net] 実数の乱数ってそりゃ誤差じゃねぇのけ?w 狙った値が作れないから 整数で出して桁合わせする 俺はね
725 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 11:11:37.78 ID:0nZAN2Wka.net] 電話番号に#や*は使わないと思うよw あれは自動応答を操作するためのトーンを割り当ててるだけじゃないの? そんな番号があったらダイアル回線からかけられないじゃん
726 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 11:57:51.15 ID:Q2spe3T60.net] もともとパルスの頃は数値ではあったな 0は10回パルスだった DTMF利用して余ったとこに#と*割り当てて 独自に使い始めたんじゃないかなあ
727 名前:デフォルトの名無しさん [2017/10/31(火) 12:06:40.36 ID:Jn8FhbAo6.net] 電話スレか
728 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 12:08:18.63 ID:yzv1EbBg0.net] >>710 ずーっと前からあるぞ web116.jp/shop/benri/sharp/sharp_00.html
729 名前:デフォルトの名無しさん [2017/10/31(火) 12:09:33.06 ID:lgb8DbLAM.net] >>710 *はサブアドレスで使われる。 #は内線でよく使われるな。
730 名前:デフォルトの名無しさん [2017/10/31(火) 12:12:12.86 ID:lgb8DbLAM.net] >>713 そういえば、そんなのもあったな。 すっかり忘れてた。
731 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 12:21:20.41 ID:OH9+jtHeM.net] >>711 今でもパルス回線はあるだろ。 国際電話番号の表記には+81とかある。
732 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 12:33:50.13 ID:HOZp+Kdp0.net] その+は国番号を表す記号であって 実際に+をダイヤルするわけじゃない まあ-も()もダイヤルしないから電話番号の一部じゃないけど
733 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 12:42:10.67 ID:0nZAN2Wka.net] >>713 NTTの回線からしかつながらないものを電話番号と言ってよいかは微妙でしょう >>714 後者はあきらかに電話番号とは違うような... 前者は微妙だけど、普通のアナログ回線からは掛けられないものを電話番号と言えるかどうか まあ元のお題にもどれば、テクニカルに電話番号であろうがなかろうが 電話番号として扱えるようにすべきだとは思うけど
734 名前:あ mailto:sage [2017/10/31(火) 12:50:04.95 ID:VssU1hfBd.net] >>718 と言うかコメはもともとアナログ回線で掛けてるときにいまからトーン送るぞってボタンだったんだが。 内線番号に関しては、待ってりゃ交換台出るだろ。
735 名前:あ mailto:sage [2017/10/31(火) 12:51:28.39 ID:VssU1hfBd.net] 電話番号でないものを電話番号として扱う、がわからんなぁ。 電話番号は電話番号として扱え、ならなるほどだけど。
736 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 13:01:26.31 ID:yzv1EbBg0.net] >>718 >NTTの回線からしかつながらないものを電話番号と言ってよいかは微妙でしょう これはプッシュホンのサービスと同時に開始されたサービスで、当時は電話サービスを電電公社が独占していたので、他の回線なんか存在しなかった 国際電話があるじゃねーかと言うかもしれんが、国際電話から繋がらない110などの特番は電話番号じゃねー というならその反論は認めよう
737 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 13:02:30.63 ID:0nZAN2Wka.net] >>719 それは違うでしょう。 あれは(どこのメーカーが最初に始めたのか知らないけど)ただの電話機の機能で 恐らくNTTの定めた規格でも何でもない 自由化直後の電話機はダイアル回線モードだと*押そうが何仕様が トーン出なかったような気が まあいい加減どうでもいいねw >>720 DTMFを認識する自動応答マシンにトーンを送るのは電話を掛けると言わないし 明らかに電話番号じゃないでしょう。
738 名前:デフォルトの名無しさん [2017/10/31(火) 14:57:18.16 ID:PGoVot5B0.net] ここまで電話スレ
739 名前:デフォルトの名無しさん [2017/10/31(火) 16:58:47.83 ID:tljKmL6i0.net] visualC#のXNAでブロック崩し作ってるけどクソめんどくさいな作成+整理整頓するだけで混乱する コンソールでしょぼいので完璧だって思ってると痛い目見るな
740 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 20:15:22.60 ID:VEAfn5MF0.net] へぇ〜できたら公開して見せてよ
741 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 21:03:25.88 ID:tTECqdhTa.net] こうやってプログラム=タダって概念が世の中に蔓延したよね 広告費で稼ぐ世の中になったけど
742 名前:デフォルトの名無しさん [2017/10/31(火) 22:07:06.75 ID:UyVEd0rJ0.net] 飢餓ベネズエラ「1600%インフレ率」で仮想通貨が生活の柱|ビットコインマイニング(採掘)で生き残る virtualmoney.jp/I0001275 「ビットコイン」新世界のベネズエラ:自由を求める、採掘者たちの反逆 https://www.fuze.dj/2017/01/venezuela_mining.html ベネズエラ、ビットコインマイナーが10万人規模に btcnews.jp/5c5uq4ei13034/ ジンバブエではビットコインが80万円?自国通貨がインフレしている国の仮想通貨需要について coinpost.jp/?p=5803 ビットコインとは?投資で儲かる仕組みと危険性を分かりやすく解説 https://enjoyrock.jp/bitcointoha-4370
743 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 22:10:24.98 ID:ryJZgMRZM.net] ビットコインとはなんぞや?
744 名前:デフォルトの名無しさん [2017/10/31(火) 22:46:58.06 ID:4MZcs+cX0.net] FindWindowで見つけたウインドウの画面をキャプチャすることはできますか? ウインドウが隠れていてもキャプチャできるようにしたいのですが PrintWindowと組み合わせようとしてもよくわからないです
745 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 22:57:04.76 ID:QkT+8axj0.net] 隠れている部分はそもそも描いてないでしょ
746 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 23:28:17.44 ID:P79QNeNU0.net] そんなXP時代じゃないんだから… 隠しAPIのDwmGetDxSharedSurfaceが定番やね 今でも使えるのか知らんけど
747 名前:デフォルトの名無しさん [2017/10/31(火) 23:31:19.87 ID:4MZcs+cX0.net] DWMも使ってみたいのですが日本語解説のサイトが全くなくて… 英語出来ないとやっぱりだめですね
748 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 23:59:12.73 ID:RzsX96BS0.net] >>732 最小化されてなければ重なってようが画面からはみ出ていようが適当なBitmap作って using (var g = Graphics.FromImage(bmp)) PrintWindow(hWnd, g.GetHdc(), 1); とかでも済みそうだが。環境依存だろうから.NETには碌に無いしWin32APIの領分だなぁ
749 名前:あ mailto:sage [2017/10/31(火) 23:59:53.09 ID:KKSGwBSw0.net] >>722 確かに、規格ではないな。そういう意味では、それこそ自由化されたあとはNTTのローカルルールに縛られず、すべてが番号として取り扱われるべきなのかもしれん。 自動応答マシンの特定のメニューまで進むのを「番号」と言っていいと思うぞ、俺は。
750 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 00:21:59.34 ID:L5KemQuba.net] Win32関数のリファレンス日本語だけになっちゃったんだw ほんといらんことするよなMSもGoogleもw
751 名前:デフォルトの名無しさん [2017/11/01(水) 04:36:44.91 ID:dB2PwCEI0.net] https://ideone.com/jcN0mM 別のプログラムのキャプチャを取りたいのです 別のプログラムのProcessオブジェクトを取得してPrintWindow関数につっこみたいのですが どうしたらよいでしょうか?
752 名前:デフォルトの名無しさん [2017/11/01(水) 04:39:54.64 ID:dB2PwCEI0.net] GetProcessesByNameでオブジェクトを取得した後 ↑に貼ったコードのCaptureControlにthisの代わりにどうやって渡せば良いでしょうか?
753 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 05:32:38.62 ID:vhfog6b10.net] >>736-737 FindWindowと云うからP/Invokeは理解しているのかと思いきや、躓いてるのはソコかいってかコピペかい ProcessオブジェクトにはメインウィンドウハンドルだけならMainWindowHandleプロパティが既に用意されてる 枠の有無でGetWindowRectやGetClientRect等のWin32APIでサイズ取得、枠無しならnFl
754 名前:agsにPW_CLIENTONLY(1)を指定 LPRECTをout Rectangleとしても互換性はあるが、メンバの意味は異なるので注意。あとOpenGL画面とかは怪しかった気もする [] [ここ壊れてます]
755 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 12:54:43.00 ID:wiqlBWqs0.net] 初歩的なことで申し訳ないですが、 C#をx86でコンパイルしたときlong型は何バイトですか? 32ビットですよね? long型な引数を持つC++で作られたDLLを呼ぼうとしてるんですが C#側もlong型にするとバイオレンスエラーが出るんです
756 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:00:28.87 ID:xMsiUXHhM.net] >>739 64じゃないの
757 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:01:02.25 ID:DoTChEv+0.net] C# の long型 の .NET型は System.Int64 64ビットだよ
758 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:30:22.67 ID:JNwvccyI0.net] どうでもいいけどバイオレンスじゃなくてバイオレーションな
759 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:34:10.98 ID:G3xjFDeG0.net] デジタル バイオレンス 略して DVか
760 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:43:47.20 ID:wiqlBWqs0.net] ありがとうございます。 x86指定でもC#は64ビットですか。 つまり、x86なC++のlong = C#のint ってことですね ありがとうございました。
761 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:07:25.95 ID:vhfog6b10.net] >>744 x86なC++というかILP32ね、LLP64でもlongは32bitだから、Windowsに限り常に32bit C#は常にintが32bit、longが64bit、IntPtrがポインターサイズでCIL名native int
762 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:12:57.28 ID:a3/dOAjga.net] バイオレンスww
763 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:36:04.02 ID:wgMqyCilM.net] >>745 IntPtrは64bitと32bitで自動的にサイズが変わる罠があるよね
764 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:53:25.19 ID:58WxqpRI0.net] 罠じゃなくてそれをマネージド上で扱うことを目的とした型やねんで
765 名前:デフォルトの名無しさん [2017/11/01(水) 15:34:33.63 ID:DJIAeWHo0.net] >>725 当分出来ねえから期待しないでおけ
766 名前:デフォルトの名無しさん [2017/11/01(水) 15:53:44.71 ID:dB2PwCEI0.net] >>738 すいません高度すぎてちょっとよくわからないです FindWindowでウィンドウハンドルを取得して画面をキャプチャするプログラムは作れたのですが ウインドウハンドルしか取得してないのでウインドウの大きさが設定できなくて困っています (現在ピクセル数で設定) GetWindowRectやGetClientRectを使おうとしてもRECT構造体の定義がよくわからなくて出来ません。 GetProcessesByNameで取得したProcessオブジェクトからハンドルとオブジェクトの大きさを取り出すにはどうしたら良いでしょうか?
767 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 16:36:24.43 ID:4v6bi03L0.net] >>750 www.pinvoke.net/
768 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 16:43:34.62 ID:wgMqyCilM.net] >>750 https://msdn.microsoft.com/ja-jp/library/a5ch4fda.aspx
769 名前:デフォルトの名無しさん [2017/11/01(水) 17:06:28.99 ID:dB2PwCEI0.net] >>751 よくわからないですが後で読んでおきます >>752 そのページは見たことあるんですが意味がよくわからないです… すごく低レベルな質問だと思うのですが Process[] ps = Process.GetProcessesByName("notepad"); foreach (System.Diagnostics.Process p in ps) { textBox1.Text = p.MainWindowTitle; } だと問題ないのに Process[] ps = Process.GetProcessesByName("notepad"); textBox1.Text = ps[0].MainWindowTitle; では動作しないのは何故でしょうか?
770 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:12:20.00 ID:a3/dOAjga.net] >>753 後者だけ動かない理由はないから何か勘違いしてるんでしょう
771 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:29:00.13 ID:wgMqyCilM.net] >>753 動作しないの内容が曖昧です。
772 名前:デフォルトの名無しさん [2017/11/01(水) 17:35:15.46 ID:dB2PwCEI0.net] すいません動きました! メモ帳開いていなかっただけでした…
773 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:37:14.82 ID:qqAk/1TWM.net] 勉強用トイプログラムで抽象クラスを継承したクラスにインタフェースを継承したのですが、実務の世界ではよくやる事でしょうか?
774 名前:抽象クラス側にインタフェースのメソッドを書くとか美しく無いので邪道な事をしてるかもと心配になりまして [] [ここ壊れてます]
775 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:46:07.56 ID:xAl8OFsq0.net] >>744 公式にアンマネージとマネージでのデータ形式のリファレンスがあるからそこ見ておいた方がいい https://msdn.microsoft.com/ja-jp/library/ac7ay120(v=vs.110).aspx C#でlongは紛らわしいから使わない方がいいと思う >>753 構造体がわからないとWinAPI使えないよ https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-structs
776 名前:デフォルトの名無しさん [2017/11/01(水) 17:55:43.82 ID:DJIAeWHo0.net] ボールとか壁に当たって反転させるときに int speed=1; 更新処理 position.x+=speed; if(800<position.x) { speed*=-1; } こうゆう反転っておkなの?+=って無駄じゃねえかとか言われない?
777 名前:デフォルトの名無しさん [2017/11/01(水) 19:13:00.27 ID:dB2PwCEI0.net] https://ideone.com/gKjIFo 見よう見まねでRECT構造体を使おうとしているのですが 17行目の&rectWinという所で以下の2つのエラーが出てしまいます 何が間違っているのでしょうか? ポインターおよび固定サイズ バッファーは、unsafe コンテキストでのみ使用することができます。 引数 2 はキーワード 'out' と共に渡す必要があります。
778 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 19:18:35.70 ID:JgbY2jhcM.net] >>760 その文面でググれば多分わかる というよりメッセージどおりだよ 引数に out 付けよう 意味が分からないなら調べよう
779 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 19:18:49.98 ID:C3RJkmbpd.net] >>757 人間クラスと継承した社員クラスがあるとして 体重身長インターフェイスは人間クラスに、入社日退職日インターフェイスは社員クラスにってのが普通だと思うけど 抽象クラスだから付けないって考え方は美しくないんじゃないかな?
780 名前:デフォルトの名無しさん [2017/11/01(水) 19:22:01.17 ID:dB2PwCEI0.net] >>761 できました!有難う御座います!!!!!!!
781 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 04:46:41.42 ID:leSyCza7a.net] なにこれ www.bityet.us/FVNN6-t6.jpg https://goo.gl/kLNWUT
782 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 07:15:17.22 ID:pmQPnNAeM.net] >>762 なるほどその通りですね 営業志望の未経験者なのにC#開発しろと言われ正しくOOしてるか不安でした 参考になります OOとは徹頭徹尾ヴァーチャルマシーンと言われてもピンと来なくて。。。
783 名前:739 mailto:sage [2017/11/02(木) 13:32:08.71 ID:wZG1ntZl0.net] みなさんありがとうございました。 C++側で void test(long aa[2]); みたいに定義されてるやつをC#から使うときも IntPtr でやりくりするしかないんですよね。
784 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 14:07:36.43 ID:RiVwOr7+M.net] c#はインタープリタなので遅いって言われたw
785 名前:デフォルトの名無しさん [2017/11/02(木) 15:50:21.67 ID:i1tOzlAd6.net] バイナリプログラムもCPUがインタープリットしてるしインタープリタだなw
786 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:06:47.45 ID:/X9eIi7aM.net] >>766 いやintを2つ並べただけの構造体を用意してrefかout使えばいい
787 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:12:10.17 ID:KloAouzuM.net] >>767 コンパイラ型なんだけど。。 あほなの?
788 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:17:55.02 ID:wZG1ntZl0.net] >>769 pack意識したうえで配列という手もありますね どっちにしろコード量は増えますね C# 側で ref を付けるだけで 勝手にIntPtrやらマーシャル確保・代入・解放してくれたらいいのに・・・ char * → string みたいな超絶ラクチンな方法でさ
789 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:20:47.53 ID:wZG1ntZl0.net] ちょっと早合点で書き込んでしまいましたが [StructLayout(LayoutKind.Sequential, Pack = 4) struct struct_aa { public int aa1; public int aa2; } struct_aa aa; としたうえで test(ref aa); で出来ちゃうんですか!?
790 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:43:51.34 ID:/X9eIi7aM.net] >>772 それでいけるはず
791 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:08:27.57 ID:hwMc8ywnM.net] >>770 昭和のおっさんなので仕方ない
792 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:12:38.78 ID:oE5JXb4z0.net] 配列でそのまま渡せばいいのにわざわざ変な方法使うとか >>766 C#から渡すときはvoid test(int[] aa);でいいんだよ。Visual Studio以外なら知らん >>772 >>773 アンマネージ側で定義されていない構造体を勝手に作って渡すって考え方がおかしい アンマネージ側で要求されている引数の形式に合わせるのが基本だろ
793 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:42:00.04 ID:wZG1ntZl0.net] ググって最初のほうに出てくるサイトで char * 以外は全てマーシャってるので てっきり IntPtr を駆使すると思い込んでました。 配列じゃないポインタ渡しは ref/out で何の造作もなく出来ました。 (マーシャル関連のコードを大量に書いていたのが馬鹿らしくなるほど) んで配列ですが // C++(x86) extern "C" __declspec(dllexport) void test(long a[2]); // C# [DllImport("usrbatch.dll", CallingConvention = CallingConvention.Cdecl)] static extern void test(out int[] a); int[] a = new int[2]; test(out a); で、バイオレーションエラー出ちゃいます。。。
794 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:52:53.60 ID:oE5JXb4z0.net] >>776 C++側からC#にoutする形で返したいのならC#からポインタにして渡す そのコードのC#側のout(ref)だと変な動きにしかならない。消せ
795 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 18:01:00.66 ID:wZG1ntZl0.net] うわぁ、ありがとうございます。 先方で値が書き換わる場合には ref/out を付けないといけない (付けなかったら配列だろうが値渡しになる) だと先入観で思い込んでました。 配列だったらC++と同じくポインタ渡しになるんですね! // C# [DllImport("usrbatch.dll", CallingConvention = CallingConvention.Cdecl)] static extern void test(int[] a); int[] a = new int[2]; test(a); で、うまくいきました。 (C++側で設定された値が戻ってきた)
796 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 18:34:34.93 ID:OVuNv67Pa.net] >>778 みたいな場合、アンマネージド関数の宣言の仮引数にOutAttributeを付ける必要が あるのかないのか、MSDN読んでもいまいちよく分からん https://msdn.microsoft.com/ja-jp/library/75dwhxf7(v=vs.90).aspx を読むとBittableな型の一次元配列の場合不要のようにも思えるが、 https://msdn.microsoft.com/ja-jp/library/hk9wyw21(v=vs.90).aspx のサンプルでは属性がついてる
797 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 22:14:18.55 ID:FJPOLiu40.net] >>779 そのリンク先に書いてあるぞ これらの型は、呼び出し元と呼び出し先が同じアパートメントに属する場合には、In/Out パラメータとしてマーシャリングされるように見えることがあります。 ただし、そのような型は実際には In パラメータとしてマーシャリングされるため、引数を In/Out パラメータとしてマーシャリングする必要がある場合には、InAttribute 属性と OutAttribute 属性を適用する必要があります。 Outがないと保証されない
798 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 22:48:20.45 ID:uoctVHYW0.net] >>778 ref/outは書き換え云々というより変数の参照で初期化の必要があるかどうか、P/Invokeでは構造体くらいにしか使わぬ 配列は参照型なので参照の参照になるし、そのままでもオブジェクトヘッダ+要素数を含むのでネイティブ配列へはちょっとズラしている >>779 上のページに>>780 の通りずばり書いてないか?コピーと固定 # 書式指定された Blittable クラスのメモとかにも。そういう事ではなく? 既定のマーシャリング動作を理解し、MarshalAs属性とIn/Out属性を駆使すれば、Marshalメソッドの出番はあまりなくなる Marshal.UnsafeAddrOfPinnedArrayElementとかもArrayWithOffsetというお誂え向きな構造体がある 手動でIntPtrを捏ね回すのが有効なケースもあるが。ちぃと古いけど↓の記事はよく纏められている https://msdn.microsoft.com/ja-jp/library/ff647812.aspx#scalenetchapt07_topic4
799 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 22:54:42.83 ID:vimPIuS6M.net] GCがうざいならstackallocを使う手もあるよ unsafeになるけど、マネージ配列のマーシャリング使ったとしても境界外へアクセスしたら普通にクラッシュするんだし むしろ危険な操作は明らかに危険とわかったほうがマシ
800 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 23:07:34.82 ID:OVuNv67Pa.net] >>780-781 レスどうも よく分からない箇所は結局、>>780 に引用してある部分の >同じアパートメントに属する場合には この但し書きかな。 同じアパートメントって何だ? >>778 のケースでは結局Out属性なしでも期待通り動くみたいだけど、 逆にBittableであっても明示的にOutを付けないといけないのはどういう 場合なんだろうか
801 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 01:31:28.84 ID:zjyHgUY90.net] >>782 stackallocはスタックを理解していなければ危険すぎないか、少量で確保速度が最重要ならアレだけど unsafeポインターを使うならfixedでも境界チェックは外れるし、そのあたりで… >>783 アーその辺はCOMの話かな、COMマーシャリングが挟まれると固定では済まなくなるという https://msdn.microsoft.com/ja-jp/library/eaw10et3.aspx#marshaling_and_com_apartments 具体例については…直接COM使った経験がC++でちょろっとしか無いのでわっかんないや(無能
802 名前:デフォルトの名無しさん [2017/11/03(金) 04:43:40.14 ID:ZqwqQq4y0.net] Parallelの動きがわからん 10個のZIPを同時に解凍する処理するとして Parallel.Forで実行したらどうなる? ちなcore i7 エラー?
803 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 09:51:59.78 ID:wXWM393Ar.net] 1.5倍(適当)くらい速くなる
804 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 10:02:10.84 ID:YKGzMcXY0.net] >>785 同時実行数はCPUのスレッド数だから8個同時に展開して、2個は待ちになるんじゃね CPUより展開後ファイルサイズによってはHDD書き込みがネックになりそうな気もするけど
805 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 11:00:02.96 ID:QTbHfBOQ0.net] >>787 オイ!
806 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 15:48:21.85 ID:m874gEkx0.net] >>786 1.5ってすごくいいよ >>787 動き知りたいんよ どうなるか
807 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 15:52:47.69 ID:OoLmNkMra.net] 何を期待してるか知らないけどやればいいじゃないか
808 名前:デフォルトの名無しさん [2017/11/03(金) 17:10:18.04 ID:bRMk/YPf0.net] c#で画像の黄色部分だけを白にして残りを黒にする様なことはできますか?
809 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 17:32:15.18 ID:tw8puOLsM.net] >>791 ProcessでImageMagick呼べば一瞬でできる 似た色はどこまで許容するのかとかいちいち個別に作ってたらキリがない
810 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:22:36.00 ID:QTbHfBOQ0.net] DataTable dt = new DataTable(); bool foofunc(ref DataTable dt) { ・・・・ adapter.Fill(dt); こんなコード見たんだが何かメリットあるのか?
811 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:28:01.91 ID:tw8puOLsM.net] >>793 それ書いた奴が参照型を理解してないんだと思う 何の意味もないので絶対に真似してはいけない
812 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:37:57.11 ID:QTbHfBOQ0.net] >>794 c#歴10年のヤツのコードなのだ。 当然foofunc内でtry/catchがあり戻り値にエラー有無が返る。 愚痴ってスマヌ。
813 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:41:43.76 ID:lrZzjWeI0.net] >>792 そういうのって、C#でって言うのかな。
814 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 19:35:14.12 ID:Xp/sMfFK0.net] >>791 最低限の要件だけ勝手に解釈してこんな感じ https://ideone.com/j4HMm8
815 名前:デフォルトの名無しさん [2017/11/03(金) 19:43:53.45 ID:ZqwqQq4y0.net] imagemagickってソースに組み込める何か提供してるん?
816 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 19:44:48.34 ID:EmHaDWp+0.net] 大昔にマスク画像を作っていたのを思い出した
817 名前:797 mailto:sage [2017/11/03(金) 20:02:57.12 ID:Xp/sMfFK0.net] ついでに補足しておくとMarshal.ReadInt32でなくMarshal.Copyでバイト配列で4バイトずつ読めば Blue,Green,Red,Alphaが取れるから許容範囲設定とかしたかったらそっちで
818 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 20:15:49.55 ID:WHWgtK+kr.net] 経験年数と理解度?にどれだけの相関関係があるのか 疑問が生じている今日この頃
819 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 20:20:24.80 ID:aVxxhWTE0.net] 相関関係はある 但し個人差は大きい
820 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 20:26:05.42 ID:QTbHfBOQ0.net] >>798 https://www.imagemagick.org/script/develop.php
821 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 22:49:49.36 ID:om2fc3b00.net] >>793-794 refで渡せば、呼び出し先の関数で、呼び出し元の変数のインスタンスを変更できる これをやりたい状況がどれだけあるかとか、やるべきかどうかとかはおいといて なんの意味もないわけではない
822 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 00:09:44.98 ID:3cC+jj+w0.net] >>793 のケースで意味がなさそうって>>793 ,794は言ってるのに、 >これをやりたい状況がどれだけあるかとか、やるべきかどうかとかはおいといて とか一般論を言い出してそのつっこみよくわからん。
823 名前:デフォルトの名無しさん [2017/11/04(土) 01:46:45.24 ID:qZ8I6rgd0.net] >>797 ありがとうございます。 ほぼ真っ黒になってしまったのでRGB値で範囲指定できる様にやってみます。
824 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 04:11:36.08 ID:MnNwpnC60.net] >>804 君も参照型を理解してないね。
825 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 08:41:31.55 ID:sTeHaJ1X0.net] >>807 この話の流れに>>804 がふさわしいかどうかはおいとくとして... > 君も参照型を理解してないね。 ちょっと説明してみ
826 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:02:47.97 ID:5h9DYzfZ0.net] DataTable dt = new DataTable(); bool foofunc(ref DataTable dt) { DataTable dt = new DataTable(); ・・・・ adapter.Fill(dt); 「なんの意味もないわけではない」のコードにはなったが 更に輪をかけた馬鹿コードに進化させてみた。 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
827 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:17:38.08 ID:5h9DYzfZ0.net] DataTable dt = new DataTable(); bool foofunc(ref DataTable dt) { dt = new DataTable(); ・・・・ adapter.Fill(dt); 間違えてたw
828 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:19:39.29 ID:flyq3nv80.net] それじゃただのoutじゃんrefの意味じゃないじゃん(難癖
829 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:48:23.86 ID:5h9DYzfZ0.net] >>811 そう、参照型にrefは無意味なのです。 参照型が分かってないよりこのコードが問題なのは、 検査結果を引数に返して実行エラーの有無を戻り値で返していること。 参照型も理解していないが例外処理はもっと理解していない糞野郎のコード。
830 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:51:19.52 ID:5h9DYzfZ0.net] ×検査結果
831 名前: ○検索結果 スマン、寝ぼけてるわ [] [ここ壊れてます]
832 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:16:12.92 ID:q474DaJy0.net] >>812 Dictionary.TryGetValue()とかあるし、そこはケースバイケースかな。 参照型にref付けてるくらいだから、何も考えてないのかも知れないけど。
833 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:20:08.20 ID:5h9DYzfZ0.net] >>814 public bool TryGetValue ( TKey key, out TValue value ) refじゃなくてoutやないかい!
834 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:29:08.52 ID:q474DaJy0.net] そうだった。>>811 とまざった。 こっちも寝ぼけてるねw
835 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:29:22.28 ID:fyiwYE9E0.net] つまり >>793 と DataTable dt = new DataTable(); bool foofunc(DataTable dt) { ・・・・ adapter.Fill(dt); とは同じ結果になると
836 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:37:55.56 ID:q474DaJy0.net] >>815 まぁ、outにする必要はあるけど、 「検査結果を引数に返して実行エラーの有無を戻り値で返していること」 自体に問題はないな。
837 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:38:05.17 ID:OcSSsXSe0.net] この手のメンバ変数に検索結果をセットする時はこんな感じにして、例外処理は基本呼出側に任せちゃうんだけど問題あるのかね? 前はエラーコードのEnum返してたけど、エラーケースの殆どが例外処理で扱われる物ばかりだったので止めちゃった DataTable dt = new DataTable(); Void SetHoge(DataTable dt){ ・・・・ adapter.Fill(dt); }
838 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:56:19.06 ID:q474DaJy0.net] >>819 それで良いと思う。 上のみたいに成功したかどうかを返り値で返すのは、 正常運用の範囲内で失敗する場合があるのを想定している場合。
839 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 12:23:07.70 ID:5h9DYzfZ0.net] >>819 自分ならこうするけど。 DataTable GetHoge() { var dt = new DataTable(); ・・・・ adapter.Fill(dt); return dt; }
840 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 13:59:17.12 ID:dOyJdliUp.net] >>821 に1票
841 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 14:56:00.76 ID:ePC4mkkA0.net] 参照型にrefは無意味って言ってるやつは 呼び出し元変数のインスタンスを変更「できる」 ってことをどう評価してるのか
842 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:15:02.21 ID:Vg1Izipf0.net] 型がわからない変数と同じ型の変数を用意したいときってなんか記述方法ある? 型を調べるとかじゃなくてプログラミング的に解決する手法あったら教えて
843 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:24:28.88 ID:m6ZusNHm0.net] 型引数で解決できるならそれで
844 名前:片山博文MZ mailto:sage [2017/11/04(土) 15:24:47.55 ID:Yg7qqeZtd.net] >>824 ヴァーか?
845 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:41:42.41 ID:WuSfeAlZa.net] >>824 var y = 謎の変数x; っていうか、たぶん何か勘違いしてると思うw 「型が分からない変数」っていうのは実行時に型が決まるって意味なんだろうけど、 変数の型は静的に(コンパイル時に)確定しているのでそれはありえない それとも匿名型のことを言ってる?
846 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:49:14.84 ID:jl0ZLZ4q0.net] dynamic型ならコンパイル時の型チェックは行なわれず実行時に解決するね
847 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:52:54.75 ID:WuSfeAlZa.net] >>828 いや、「変数の型」は静的に決まるでしょ。自分でdynamic型って書いてるじゃんw
848 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:55:26.19 ID:tIYipYwe0.net] >>824 var x1 = new X(); var x2 = Activator.CreateInstance( x1.GetType() );
849 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:13:39.02 ID:sTeHaJ1X0.net] >>823 まあそれが必要なケースがほとんどないし
850 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:19:15.36 ID:2EEZfJvra.net] 引数のnullチェックして必要ならインスタンスをnewしてつけられる
851 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:41:13.06 ID:tIYipYwe0.net] バットノウハウっぽい
852 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:43:39.78 ID:FXv0ObyH0.net] >>833 バットは関係ないやろ
853 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:53:42.21 ID:/YBu7JsUM.net] >>832 出来るが引数がnullな時点でArgumentException飛ばすんで実用価値はほぼないな。
854 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:58:31.41 ID:tIYipYwe0.net] >>834 関係ないな。しょぼい誤字だ。 >>824 何をやりたいか分からないが、ジェネリックメソッドでは目的に沿わないかな。
855 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 17:05:47.97 ID:83ZjnaGFa.net] javascriptみたいなのを想定してるんだろうけど まあ普通はない
856 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 17:44:10.96 ID:SXZaCuwQ0.net] ベッドノウハウ しかし俺は未経験
857 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 17:51:46.51 ID:sTeHaJ1X0.net] >>832 だからそんなことが必要になったことがどれだけあるんだ?
858 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:10:38.00 ID:WuSfeAlZa.net] なんかしょうもないことで争ってるけど、>>823 の方が正しいね エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ 負け惜しみでくだらない意地を張るのは子供っぽいよ
859 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:13:38.30 ID:wTKOoVxtr.net] ペットノウハウ ボトルじゃないよ
860 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:17:18.92 ID:wTKOoVxtr.net] MSらしく反則技が用意してあるだけ 初心者は使わない方が無難 返り値が二つ以上欲しい時は今なら名前付タプルを使う
861 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:26:59.70 ID:flyq3nv80.net] 返値代わりに使うのはoutだし今ならって言ってるとおり昔はなかったんだし ちょっと何言ってるのか分からない
862 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:35:14.75 ID:sTeHaJ1X0.net] >>840 > エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ ??? refって参照型じゃなくても使えるんだが... 参照型にrefを使うことがほぼないだろって話だと思うけどな > 負け惜しみでくだらない意地を張るのは子供っぽいよ 自己紹介は要らんよ w
863 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:40:28.61 ID:WuSfeAlZa.net] >>844 意味が分からない 変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が 参照型であるか値型であるかは関係ない。 何を言ってんの? しかし、いい歳こいて幼稚な奴って嫌だねほんと
864 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:43:37.92 ID:OcSSsXSe0.net] >>842 名前付きタプル使いたいけどVS2013限定という変な縛りに囚われているわ フレームワーク縛りは判るけど、IDEのバージョンを縛る理由ってなんなんだろう
865 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:58:38.30 ID:3Qk/5QRnM.net] 古いコンパイラでビルドできなくなるだろ 俺個人としては大した問題ではないと思うけど、大した問題だと考える人がいるのは普通に理解できるぞ
866 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 19:12:51.54 ID:sTeHaJ1X0.net] >>845 > 変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が > 参照型であるか値型であるかは関係ない。 えっ? 普通にググればrefが値型と参照型でどう使われてるかわかると思うんだが... 引っ込みつかなくなってるのかな > しかし、いい歳こいて幼稚な奴って嫌だねほんと また自己紹介ですか? w
867 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:19:58.00 ID:m6ZusNHm0.net] 幼稚呼ばわりが得意なのはかの例外を握り潰す人だが
868 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:22:16.23 ID:m6ZusNHm0.net] ようするにキチガイなので相手にしなくてよいという話
869 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:45:43.86 ID:5h9DYzfZ0.net] >>840 とりあえず、refは値型以外には使い道が無いのは確定で。
870 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:48:54.35 ID:wTKOoVxtr.net] >>846 2017?
871 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:49:38.51 ID:mF4CZaPha.net] >>848 マジモンかよ 俺個人が使うか、あるいは一般に多用されるかどうかはともかく、 参照型であろうと変数の値(つまり参照)そのものを書き換えたいケースは存在すると思われる。 たとえばStringのようなイミュータブルな型や配列の長さのように変更できない要素を 持つ型の場合、元の値を利用しつつそれを加工した値を返すにはrefを使うしかない
872 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:50:11.25 ID:jl0ZLZ4q0.net] 最近見たrefはBindableBaseの中だったな、ref Tとかジェネリックの場合 普段は使わないね
873 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:08:51.42 ID:uh9vgcan0.net] 議論ごっこやりたいのなら ふらっと C#,C♯,C#(議論用) mevius.2ch.net/test/read.cgi/tech/1469538912/ で好きなだけやってくれ。ワッチョイもないから
874 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:14:23.59 ID:5h9DYzfZ0.net] 意味もなく try { ・・・ { catch {} や try { ・・・ { catch (Exception ex) { throw ex; } するヤツってアフォですか? お願いだから辞めてください。
875 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:16:19.73 ID:mF4CZaPha.net] >>856 プログラマがそこで例外が発生しうることを認識してそのコードを書いていることを 明示する意味はあるよ。 >>851 といい、ちょっと単細胞過ぎないか?
876 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:28:09.69 ID:sTeHaJ1X0.net] >>850 了解 >>853 を見る限りおまえの言う通りだな >>851 さすがにそれは極論過ぎ
877 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:30:25.68 ID:VAjFkczd0.net] >>857 え?
878 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:49:38.46 ID:FXv0ObyH0.net] >>857 c#で>>856 やるとそこまでのスタックトレース消し去ることになるんだけど正気?
879 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:49:52.84 ID:jdRJf/Av0.net] ファイルが読めない程度で例外返すクラスとか一旦握り潰して動作を変えたい
880 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:53:09.24 ID:J+hizfOLd.net] >>861 c#使うのやめた方がいいな
881 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:02:23.28 ID:5h9DYzfZ0.net] >>862 go言語が例外処理の機能を無くした理由の1つは、大半のプログラマーが例外処理を正しく扱えないから。 本当にそう思うよ。
882 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:06:52.22 ID:mF4CZaPha.net] >>860 まあ後者はたしかに普通やらないと思う。 ただ、例外情報なんて必ずしも常に必要とは限らない。
883 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:07:27.03 ID:/B23IXM6M.net] >>861 関数の返り値でエラー処理したい人?
884 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:09:09.61 ID:KEPGzX0z0.net] >>863 C#使うのやめてGo使った方がいいな
885 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:12:09.30 ID:mF4CZaPha.net] >>865 TryXXXなんてのがあるように、そもそも成功したかどうかしか関心がない場合もあるでしょ
886 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:12:58.59 ID:5h9DYzfZ0.net] >>866 Go言語もまともには扱えないと思う。
887 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:14:37.92 ID:5h9DYzfZ0.net] >>867 それは例外でエラーを拾はないでエラー処理をしたい場合。 例外処理は少々重い。
888 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:19:20.92 ID:48c6JPwZa.net] 例外は便利だよ 変な使い方しなければ
889 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:23:38.64 ID:/B23IXM6M.net] >例外処理は少々重い。 初回の例外発生の時にその例外クラスがロードされるみたいなんだけど、その事?
890 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:40:21.94 ID:FXv0ObyH0.net] >>864 常に必要ではないが、それをわざわざ消す必要があるか?
891 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:40:24.62 ID:WGNINBFE0.net] ファイルを削除や移動する前に、他のソフトで使用中かどうかを調べるのに R/Wモードでオープンしたときに例外が発生するかしないかで判断するしか無い この処理のときはcatchでfalse返して例外を握りつぶしている
892 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:56:58.41 ID:mF4CZaPha.net] >>872 まあ、たとえ使わなくてもInnerExceptionに食わせて再スローした方がベターだとは思う
893 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:59:45.13 ID:FXv0ObyH0.net] >>874 Java出身の人がよくやる勘違いだよね
894 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 23:37:22.84 ID:48c6JPwZa.net] 例外で何を伝えたいかどう制御したいか決まってなければ迷うかもしれない 例外出ても継続できる内容なのかもあるかな
895 名前:デフォルトの名無しさん [2017/11/05(日) 00:13:35.57 ID:m9wZGInC0.net] 例外をどこで処理するか(または投げっぱなすか)という基準をきちんと決めないとカオスになりがち でも事前に決めて徹底させるのが難しい場面も多いのよね
896 名前:デフォルトの名無しさん [2017/11/05(日) 00:49:39.43 ID:/t3HbS0w0.net] タスケテ!!! RARを回答する方法がわからないの! なんか組み込みでいいのないの!?
897 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 00:53:25.52 ID:yAuwzX3k0.net] >>878 7Zipのライブラリで回答できた https://sevenzip.osdn.jp/sdk.html 使い方はすっかり忘れたから聞かないでくれ
898 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 00:55:50.51 ID:eJ/HGJ4TM.net] コトリンの恐怖がおんどれらを襲うwww
899 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 01:34:09.45 ID:27Wvnc5t0.net] 適当に検索してみたら、それなりにref stringとかを伴うコードがあった 最近のref絡みの言語拡張を見てもコンパイラ絡みのガチガチに最適化するところとかはref引数の使いどころがあるっぽい https://github.com/dotnet/corefx/blob/ab0c04f10c8094731d13de6f0ceaa71dd776aa00/src/System.CodeDom/src/System/CodeDom/Compiler/Executor.cs あと、二重ポインタを扱うPInvokeとかでもでてくる
900 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 01:47:27.68 ID:+CtSMn6Br.net] CodeDomだからC#創成期だね いわゆるひとつのレガシー
901 名前:デフォルトの名無しさん [2017/11/05(日) 01:51:07.20 ID:/t3HbS0w0.net] >>879 ぐぬぬだよ! exeとdll持ってきてコマンドラインにするかあ
902 名前:デフォルトの名無しさん [2017/11/05(日) 02:12:10.73 ID:/t3HbS0w0.net] 外部のexeをインスタンス化してそれにコマンド発行ってできる?出来た気がする 7Zipを複数起動して複数ファイルの圧縮と解凍をしたいのよ
903 名前:デフォルトの名無しさん [2017/11/05(日) 02:25:25.39 ID:/t3HbS0w0.net] ProcessStartInfoか なんでもないです
904 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 03:06:49.05 ID:5Sua66ij0.net] >>884 ファイルIO絡むから、複数同時に動かすとむしろ遅くなるんじゃないかな。
905 名前:デフォルトの名無しさん [2017/11/05(日) 04:13:51.92 ID:/t3HbS0w0.net] >>886 えー SSDやRAMに出しても? メモリ内で解凍してデータ加工して再圧縮できない?全部メモリ内で 外部ツール使ってたら無理か
906 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:19:38.45 ID:3uuR82Hq0.net] >>881 夜中まで必死にググった努力は認める w >>882 の言うように今時としてはいまいちのコードだよ
907 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:21:17.15 ID:eAtbP2F40.net] 「ref string」が何に使えるかは置いておいて、これで合ってる? ttps://ideone.com/k9UegY
908 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:24:20.42 ID:3uuR82Hq0.net] >>886 むしろI/O絡むから複数同時の意味がある
909 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 08:45:03.60 ID:TvjmwwI20.net] >>871 仕組みは良くわからんけどスタックトレースを辿るとかの処理が重いと思ってる。 速度の必要の無い処理はオレオレ例外投げてエラー処理してる。 その方がコードがスッキリ書けるし。
910 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 08:47:05.58 ID:TvjmwwI20.net] >>881 いつの間にか、ref 参照型 は不要から ref 全て不要に変わってるし。 ref 値型は必要でしょう。
911 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:02:12.28 ID:TvjmwwI20.net] >>877 例外をどこで処理するかは非常に簡単だが皆分かってない。 ・例外をcatchして処理できる場合はcatchして処理する ・処理できない場合は何もしなくて(無駄にcatch throwもしない)呼び出しもとに任せる ・最後はAppDomain.UnhandledException等で拾ってログ吐いて落とす 何も出来ないのにcatchしてエラーメッセージだけ出すヤツ多すぎ。
912 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:14:14.87 ID:dh3CGsv/0.net] 言語仕様としてref値型が必要なのはわかるけど じゃあ使うかというと使わないかな もう何年も書いた記憶がない
913 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:29:17.02 ID:yKSdtk7l0.net] ゲームで自分で当たり判定を書いたとき GC を避けるため使ったことがあるな
914 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:52:03.41 ID:TvjmwwI20.net] >>894 hoge.TryParseも使った事がないと?
915 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:20:04.86 ID:3uuR82Hq0.net] .TryParse( ) は ref じゃなくて out
916 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:20:40.26 ID:vfJyTH9D0.net] アプリ作るたびに ViewModelBaseのSetProperty<T>(ref T field, T newValue を作って毎回使ってるな。 で、今ちょうどJavaでMVVMやってて、refないのでSetPropertyがかけなくてつらい・・ if (this.value != value) { this.value = value; notifyほにゃ } refないのでプロパティ毎に3行書いてるんだけど死にたい。
917 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:40:15.20 ID:iAaHdauhM.net] SetProperty(value, v => field = value) でいいだろ 設定先が単純なフィールドでない場合にも対応できるしJavaでも同じ
918 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:56:36.45 ID:vfJyTH9D0.net] んん?? どういうことそれ。引数2つ?? 3つ使って SetProperty<T>(T field, T newValue, Action<T> setterActon) こんな感じならいけそだけど。 SetPropert(field1, 10, t => field1 = 10) 後は最後にproperyNameを渡す引数追加して。
919 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:01:15.31 ID:vfJyTH9D0.net] SetPropert(field1, 10, t => field1 = 10) は SetProperty(field1, 10, t => field1 = t)だった bool SetProperty<T>(T field, T newValue, Action<T> setterActon, string propertyName) { if (!object.equals(field, newValue)) return false; setterAction(newValue); onPropertyChanged(propertyName); return true; } コンパイルしてねぇけどこんな感じかな。
920 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:11:46.25 ID:27Wvnc5t0.net] >>888 前とは別の人だし、githubで適当に検索してみただけだから特に時間もかけてないんだけどね roslynとかで"ref 適当な型名"で検索しても、何件か引っかかるし一応新しいコードでも(美しいかはおいといて)使ってるんじゃないかな 軽くしか見てないけどnullなら初期化ってしてるコードが多いけど、ArrayBuilerはある程度有効活用になってそうな雰囲気 ref値型いらないって言ってるのはホントの初心者でしょ そちらは明らかに使いみちだらけ
921 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:22:13.81 ID:+CtSMn6Br.net] ×初心者 ○過去を捨てられないベテランさん
922 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:28:47.04 ID:idfQljxTM.net] 例外が必ず適切にはかれるわけではないからこうしろって言われても困る
923 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:31:31.42 ID:3uuR82Hq0.net] >>902 いいわけは要らんよ 君がref参照型が有効だと思うコードを晒せばいいだけ
924 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:31:51.41 ID:FejOKWJjM.net] >>904 どう言う意味?
925 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:03:01.14 ID:8CRgy4j+a.net] まだ変なのが暴れてるけど、参照型であれ値型であれrefなんか必要ない、 であれば主張に一貫性があり一理ある。 筋が通らないのは。refは値型でしか意味がないという主張。 昨日説明した通り値型参照型の違いはrefの有用性と関係ない。 >>906 >>904 がそうい言いたいのかどうか分からないけど、例外の処理方法や どの程度「真面目に」処理するかだって所詮要件次第なのに、例外の話になると 妙に教条主義的になる変な人がいるのは確かだ
926 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:46:34.43 ID:FejOKWJjM.net] >>907 例外が適切に吐かれないって事が有るのか知りたい。
927 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:51:25.95 ID:uz/X8WP/M.net] >>907 > まだ変なのが暴れてるけど 自己紹介ですか?
928 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:12:09.84 ID:yAuwzX3k0.net] ref はCの&にあたるものだが、&iは普通に使うけど&pなんて見たこと無いってことだ
929 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:34:59.13 ID:sDEQ50L
] [ここ壊れてます]
930 名前:K0.net mailto: >>894 パフォーマンスを求められる処理には縁がない人なんですね [] [ここ壊れてます]
931 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:46:53.29 ID:eJ/HGJ4TM.net] 素人なのでref/outの使い道がよくわからないのですが、public変数にするとかじゃだめなんですか?
932 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:50:53.40 ID:xly4dgsP0.net] >>912 メソッド実行するたびにインスタンス作成すればおk
933 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:54:44.96 ID:jvnuL8BP0.net] >>912 コトリン使えばおk
934 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:06:26.50 ID:bQLtuEEMM.net] >>912 全部Public変数にしたら引数も戻り値も不要だね。 君は天才かも。
935 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:08:16.80 ID:+CtSMn6Br.net] >>912 素人なら自作関数には両方使わない 唯一あるとすれば パフォーマンスをシビアにする必要がある かつフィールドをたくさん持った値型 の場合だがそんな状況はアプリにもよるがそうそう無い
936 名前:デフォルトの名無しさん [2017/11/05(日) 14:15:44.96 ID:tjXjX3Hx0.net] >>893 と赤間さんが言ってたね
937 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 15:53:29.60 ID:3uuR82Hq0.net] >>912 釣り針でかすぎ
938 名前:デフォルトの名無しさん [2017/11/05(日) 18:22:15.77 ID:/t3HbS0w0.net] 藤原竜也に戻せよ
939 名前:デフォルトの名無しさん [2017/11/05(日) 18:23:05.50 ID:/t3HbS0w0.net] 誤爆
940 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 20:56:07.78 ID:TvjmwwI20.net] >>917 赤間って誰? MSDNのコラムにc#の例外処理について解説していた良い記事があったんだが見つからんわ。 C と C++のが見つかったw https://msdn.microsoft.com/ja-jp/library/cc440190(v=vs.71).aspx
941 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:00:58.55 ID:UgX7F9HB0.net] https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/ これかな?
942 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:09:00.23 ID:TvjmwwI20.net] >>922 赤間さん?
943 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:12:55.00 ID:TvjmwwI20.net] 「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。」 これよ、これ。例外処理の本質。
944 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:42:49.26 ID:xly4dgsP0.net] >>924 そうはいってもファイルが読めないだけで例外だすじゃん
945 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:52:08.84 ID:RoulHjpBa.net] >>922 ああこの記事ね。 個人的にはあんまりロジカルじゃないと思うんだよねこの記事。 読んでいて感じるいくつかの「なぜ」に対する答えがない (1) エラーを業務エラーとそれ以外に大別するのはいいとして、なぜ前者に例外機構を 使ってはいけないのか? (2) なぜ集約例外ハンドラーみたいなスパテッティーを推すのか。 そもそもそういうスパゲッティーを避けるための仕組みが例外機構ではなかったのか? (3) いくら何でも 「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません」 これは言い過ぎではないのか。
946 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:59:38.87 ID:sDEQ50LK0.net] >>926 (3)は吹いたわwww
947 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:12:12.00 ID:5Sua66ij0.net] リトライとかの回復処理は全部ライブラリー内で完結してることが前提なんだろうな。 言いたいことは分からないでもないけど、想定しているアプリがすごく狭い気がする。
948 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:39:40.25 ID:GDhCJlyO0.net] アプリケーションってよりビジネスロジックって言いたかったのかね
949 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:49:10.60 ID:fgQ02ied0.net] >>926 (1)や(3)はコメントで回答されてるんじゃないの? 集約例外ハンドラーは業務エラーを戻り値で表現しようと 例外で表現しようと必要じゃない?
950 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:51:14.59 ID:sDEQ50LK0.net] >>930 必要だってのと推奨するのとは違うだろ
951 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:52:06.64 ID:6FoY61ET0.net] てか集約例外ハンドラーがスパゲッティってどういうこと? エラーメッセージやログ処理して終了するだけのごく短いコードだと思うけど違うの?
952 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 00:52:33.36 ID:voxzxgu2r.net] >>925 ヘルスバーグも筆の誤り
953 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 06:29:36.68 ID:6qywALcU0.net] >>928 例外に落ちた時点で回復可能なエラーって限られてるぞ。 ファイルがロックされて書き込めないとか。 殆どは回復不能だし、デッドロックにしてもリトライするより適切にロックしているかやロジックを見直す必要があるだろうし。 ま、例外の原因で一番多いのは自分の仕込んだバグだw
954 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 08:53:17.37 ID:2nM3KO37M.net] >>932 集約例外に回復コードを仕込もうと思ってるんだろ。
955 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:00:15.83 ID:I56lauc90.net] くそベンダーにありがちwww
956 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:23:10.12 ID:2nM3KO37M.net] 糞ベンダーは、全てのメソッドにtry-catchを入れるコーディング規約。
957 名前:デフォルトの名無しさん [2017/11/06(月) 16:16:18.79 ID:sVTioIv70.net] ネットで更新してるアプリってテキストファイルの文字読み込んでプログラミングしてるんだなその方が変更しやすいのか?
958 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:30:29.32 ID:2nM3KO37M.net] >>938 エスパー登場を待とう
959 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:33:56.53 ID:RoDWv0Jka.net] >>938 勘違いです
960 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:36:08.18 ID:Z+IOadg3M.net] ランチャー的なフォームから小画面を起動するフォームアプリを作ったのですが、小画面大量に出すと重くなります。小画面毎に別スレッドで起動する方法を教えてください
961 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:37:41.80 ID:RoDWv0Jka.net] 設計が間違ってます 小画面を大量に出さないようにしましょう
962 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:43:20.86 ID:Vd7vqFxu0.net] 小画面の意味がわからないし、大量とはどのくらいなのかもわからない
963 名前:デフォルトの名無しさん [2017/11/06(月) 17:48:57.32 ID:sVTioIv70.net] なんだ勘違いかテキストで読み込んでるのは理由あんまりないんだ
964 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:51:17.55 ID:Z+IOadg3M.net] >>942 そこをなんとか >>943 10枚程度です。
965 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:53:30.02 ID:RoDWv0Jka.net] ツールでボットやwebチェッカー使ってるんじゃないかな ボット一個にwindow1個とか そういうのはwindow一個で多数のものを扱うべき リソースの無駄
966 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:55:01.56 ID:PxQVFHXG0.net] どうせ並列で動いてるならPCもう一個買えよ
967 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:56:54.41 ID:JuX+gvIy0.net] >>945 フォームを別に表示したら元のフォームには影響しないし 10や20くらいの別フォーム起動したくらいで重くなったことはない 小画面で何をやっているかわからないしスレッド分けて〜では多分解決しない >>944 スレ違いだと思うけどアンチウィルスのパターンデータ更新みたいなのと勘違いしているだろ VisualStudioだってバイナリアップデートなんだから
968 名前:デフォルトの名無しさん [2017/11/06(月) 18:06:53.58 ID:piexXh++0.net] 関数にListを渡す時に関数内で要素を書き換えできないようにするにはどうすればいいですか
969 名前:デフォルトの名無しさん [2017/11/06(月) 18:08:01.18 ID:QmwWSIUM6.net] 無理です
970 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:08:42.99 ID:JuX+gvIy0.net] >>949 C#7.2を待つかそのlistをコピーして渡すか書き換えないように気を付けるかしてください
971 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:27:27.21 ID:rATvQkns0.net] IReadOnlyListとして渡せばええやん
972 名前:デフォルトの名無しさん [2017/11/06(月) 18:33:50.08 ID:QmwWSIUM6.net] >>952 なにそれ オブジェクトのリストを作ったとしてそのリストの要素のプロパティを書き換えるのも出来ない?
973 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:35:54.11 ID:3XyzIl3H0.net] >>951 readonly ref って構造体限定じゃね?
974 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:37:32.84 ID:RoDWv0Jka.net] >>952 こんなものがあったのか 便利そう
975 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:01:30.72 ID:7bDcgZ2tM.net] >>801 無いことがバレてプログラマの月収は一律18万円になった
976 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:16:12.58 ID:GQ87vZ7n0.net] >>949 AsReadOnlyメソッドで足りるならそちらで >>905 言い訳とは 普通にroslynのソースとダブルポインタを要求するPInvokeじゃ不満足?複雑なやり取りを低コストでやれてると思うが
977 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:34:57.48 ID:6qywALcU0.net] >>941 スキルの無いヤツほどスレッドを使いたがる。 スレッドが何か分かっているヤツはスレッドでしか実現できない場合のみ仕方なくスレッドを使う。
978 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:43:20.15 ID:6qywALcU0.net] >>938 質問の内容がワケワカラン過ぎるぞ。
979 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:15:45.06 ID:TIxTD8nqM.net] >>957 > 普通にroslynのソースとダブルポインタを要求するPInvokeじゃ不満足?複雑なやり取りを低コストでやれてると思うが だからそう言う言い訳はどうでもいいからコードを晒せよ
980 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:27:25.28 ID:XSO2MFzP0.net] >>953 流石にそれを禁止するのは無理 IListにあるAddとかRemoveとかインデクサのsetterとかがないというだけなので
981 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:47:01.14 ID:Uzk0iC6KM.net] >>958 では軽くする方法を教えて下さい。 子フォームでは重要なことは非同期で行っています
982 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:54:22.54 ID:PxQVFHXG0.net] 何やってるか知らんけど 10枚も出したらそれで限界な可能性は? 非アクティブなときも重いってあるかなぁ?
983 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:55:47.11 ID:4oP8v+rY0.net] >>962 では重い原因を教えて下さい。 ただフォーム出して重くなったでは何も分かりません。
984 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:04:31.11 ID:TDT9B1paa.net] >>962 まず重い原因を突き止めましょう。 純粋にFormのロード(表示)だけに時間がかかってるなら 個人的は軽量化は諦めた方がいいと思う Loadか何かのタイミングで実行してる初期化が重いなら そこを軽量化するなりタイミングを工夫するなり 個人的想像だと前者の可能性は低い気がする というか、Vista時代のPCでも余程大量のコントロール乗せてたり レイアウトパネル系を多用でもしてないとそこまで極端に重くはならんと思う
985 名前:デフォルトの名無しさん [2017/11/06(月) 22:06:21.11 ID:qEpy6DDg0.net] Listを抽象化したいのですが、どのように書けば良いでしょうか? 以下のように書けるかと思ったのですがダメでした よろしくお願いします interface ITest { } public class Test: ITest { public string hogege { get; set; } } class Hoge { List<ITest> test = new List<Test>(); }
986 名前:あ mailto:sage [2017/11/06(月) 22:06:24.98 ID:/hMSyilp0.net] >>962 単純にそのアプリ、親アプリと子アプリに別けて、親アプリから小アプリを10個起動したら駄目なの? 重い処理があって辛いぐらいの機能があるなら、1つの子画面で親ごと巻き込まれて死んでほしくないし、俺ならプロセスから別ける。 あと、非同期でやってる、の非同期がasyncなら、それは普通にタスクを切り替えるスキの間隔が広いかとか、諸々普通に重いだけじゃないの? await Task.Delay(1)とか呼んでみたら?
987 名前:デフォルトの名無しさん [2017/11/06(月) 22:11:16.29 ID:AYpingtn0.net] >>966 右辺と左辺の型が違うじゃん
988 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:40:14.56 ID:Uzk0iC6KM.net] >>967 その、プロセスの分け方教えて下さい!
989 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:48:51.69 ID:voxwNiAb0.net] >>969 今更どうしようもないが、次作るときはウインドウの数減らしたほうが良いよ できればメイン一つで画面遷移やタブで処理+ダイアログも同時に開くのは一つだけとかね
990 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:49:36.85 ID:9FNc82fk0.net] 死ね
991 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 23:36:54.55 ID:VYb2y8+kM.net] >>966 List抽象化はIList<Test> test= じゃないのかよw
992 名前:あ mailto:sage [2017/11/06(月) 23:50:31.09 ID:/hMSyilp0.net] >>969 プロセスの分け方も何も、今フォーム起こすのに使ってるメソッドの引数を文字列にして、Process.Startで起動引数にして起動するだけのイメージだったけど。
993 名前:デフォルトの名無しさん [2017/11/07(火) 01:00:13.01 ID:cTk2bFo+0.net] Parallelって非同期でしか使えない?
994 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 01:08:19.93 ID:V+BPLIz50.net] うんにゃ
995 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 01:33:47.43 ID:TUoQCgcU0.net] >>975 同期できるのか 使おうかな
996 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 02:12:31.67 ID:V+BPLIz50.net] >>976 どういう用途を想定してるん?
997 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 09:07:17.90 ID:lDMoKAlXM.net] そもそもParallelは同期処理に使うもんだぞ Fork-Joinっていう、同期処理を並列で実行するパターン
998 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 12:22:40.45 ID:BMsgFSV6r.net] 一晩エスパーしたけどListの抽象化の意味解読できず ITest[] tests = new Test[n]; IEnumrable<ITest> = new List<Test>(); なら可能だが
999 名前:デフォルトの名無しさん [2017/11/07(火) 15:05:18.45 ID:+aQKsyS3d.net] リスト抽象化という分かってるようで何も理解できてないお題
1000 名前:デフォルトの名無しさん [2017/11/07(火) 15:17:32.57 ID:odkSTBx66.net] >>980 新スレ頼んだ
1001 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 15:31:40.49 ID:QoqDyUp+0.net] >>979 変数名忘れてる!
1002 名前:デフォルトの名無しさん [2017/11/07(火) 16:33:19.67 ID:pVSOD8mN0.net] 抽象化して継承するのと基本クラスにして継承するのと使い道がわからんよな
1003 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 16:46:40.87 ID:j6tNoJ1F0.net] スレタイのC#表記は一つだけでいい 形骸化してる
1004 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:08:16.46 ID:LeQqgpmT0.net] そういえばずっと疑問なんだが そもそもC#て「シーシャープ」で合ってる? #はNo.だと習ったような... それともスレタイどおり普通に「シーフラット」なのか?
1005 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:11:35.30 ID:QoqDyUp+0.net] >>985 作った人によると(C++)++で、+を4つ並べて#にしたという で、読み方はシーシャープだと
1006 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:14:22.37 ID:4uzCwn7XM.net] >>985 正式にはシャープだけど、半角表記にするために井桁でもいいことになってる
1007 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:17:34.23 ID:LeQqgpmT0.net] ほほう!!ありがとう!
1008 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:25:03.73 ID:LeQqgpmT0.net] さすがに♭でなくて安心した
1009 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:48:12.22 ID:wMlMdyQ30.net] >>987 ちょっと違う 半角で表せるようにC#と書いてC Sharpと読むと仕様書に明記されてる C♯とかは間違い
1010 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:49:14.24 ID:bwe89n7Ka.net] >>986 その話は後付けだったと思うけどw つまりC#(C sharp)っていう名前が決まったのが先で、よく見るとこれって+が四つでインクリメント演算子が2つの ようにも見えるよねって話だったはず
1011 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:50:12.84 ID:4uzCwn7XM.net] >>990 いや公式な仕様書だと♯表記だよ
1012 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:50:44.75 ID:bwe89n7Ka.net] >>990 そもそも#と♯が本来別文字かどうか怪しいw 印刷屋さんの都合じゃないのかと
1013 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:55:28.06 ID:t6NaVxzvH.net] ナンバーサインと音楽記号シャープは まったく別物でしょ
1014 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 21:00:34.38 ID:LeQqgpmT0.net] 次スレ建ててみる 1行目 !extend:checked:vvvvv:1000:512 でいい?なお、スレタイ変えない
1015 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 21:12:11.14 ID:LeQqgpmT0.net] ふらっと C#,C♯,C#(初心者用) Part133 mevius.5ch.net/test/read.cgi/tech/1510056685/
1016 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 21:42:13.43 ID:kORl+ylV0.net] おつ
1017 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 22:58:38.88 ID:JobEFelh0.net] 荒れてばかりなのにきちんと次スレの立つこのスレ >>996 乙
1018 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:26:45.39 ID:lzmkdMJA0.net] スレ立ておつ
1019 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:36:05.51 ID:CLyn8lVQ0.net] ぬ
1020 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 29日 5時間 35分 9秒
1021 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています