ふらっと C#,C♯,C#(初心者用) Part134at TECH
ふらっと C#,C♯,C#(初心者用) Part134 - 暇つぶし2ch422:デフォルトの名無しさん
17/12/10 19:10:43.29 1RSLLPBx.net
>>412
それでいいよ
ビジネスが入り組んできたらクラスにリファクタリングすればいい
俺は最初からクラスにしてるけどね

423:デフォルトの名無しさん
17/12/10 19:13:57.59 o/NiMYKz.net
>>411
> システムにばら撒かれたenum100個なんて管理しきれないよ
enum 使ったことないのか?
なんか実務を知らないのに
URLリンク(iwa4.hatenablog.com)
とかを見て switch は悪 ⇒ enum 不要
とか拗らせてるって感じ w

424:デフォルトの名無しさん
17/12/10 19:16:05.80 KNXh5gp+.net
enumをクラスにするという考えがあることが根本的な設計のセンスの無さを感じる

425:デフォルトの名無しさん
17/12/10 19:18:31.13 u72ghqtY.net
そのenumを置き換えたクラスを使う場所が100個あって後段でそれぞれ違う処理(メソッド)が必要なら
100個のクラス*100のメソッド=10000必要になる
本当に管理しきれるのかな
記号は記号でしかないと思う

426:デフォルトの名無しさん
17/12/10 19:23:13.06 1RSLLPBx.net
君たちはさC#を使ってるけどOOPはできてないんじゃないかな?
たぶん昔ながらの手続き型のパラダイムから進歩してない
フィールドやプロパティは丸出しで
データベースの物理構造を色濃く反映したDTOを
ネストしまくり分岐しまくりのやけに長いトランザクションスクリプトで処理する
そんなコードばかり書いてるんだろ?

427:デフォルトの名無しさん
17/12/10 19:27:02.30 1RSLLPBx.net
>>417
仕切れるよ
疎結合高業務で


428:責務がしっかり分けられてるからね というかそれで管理できなかったらクラスという枠組みを失い無秩序状態になった同じ数(経験上もっと多くなるが)の処理なんて余計に管理できないだろ



429:デフォルトの名無しさん
17/12/10 19:28:10.84 RKQe6ZfS.net
>>418
キミ自身、キミの言う「昔ながらの手続き型のパラダイム」でキミの考える最強の「OOP」をしとるんやで
もう少し脳を鍛えようか?ね?

430:デフォルトの名無しさん
17/12/10 19:28:59.49 0VP/mrFZ.net
滅茶苦茶レベルの低いところで仕事してるんだろうなあってのは伝わってくる

431:デフォルトの名無しさん
17/12/10 19:29:31.44 K5F4H8OZ.net
>>419
いや、あんたの主張は疎結合どころか、enum相当のクラスに結合しまくりだろう。

432:デフォルトの名無しさん
17/12/10 19:32:15.18 1RSLLPBx.net
>>422
疎結合だよ
クラスにすればenumを使う側はenumの振る舞いの実装を知らなくていい
クラスにすればある値と他の値の処理が同じスコープで干渉しなくて済む
こんな基本もわかってないんだよなぁ
ま、初心者スレってことか

433:デフォルトの名無しさん
17/12/10 19:36:46.16 O8bRFaEo.net

   ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     `'ー '´
      ○
       O
          ,.- ‐─ ‐- 、
            ,r'´            `ヽ   
           ,イ              jト、   
        /:.:!       j     i.::::゙,  
          i:.:.:|    _,,    ,、--、  !:;;;;|  
         |;;;;j ,r''"二ヽ   r'⌒ヽ  !;;;!   
       ,ヘ;;i! ,,_r ・,ン.:!  {〈・_,>、,, jヘi!   
       〈 j>j、   "´, イ   `ヽ  ,':::〉!  
        `ゝ.`,     ノ、__,入   j::rソ  
           `゙i   / ,r===ュ, `,  '.:〔_  
             }!  ! i.:::::::::::.:! ;!  .!::::j::`` ー----─r- 、
           , イ.:ト、   ゙===='′ ,イ!:::::!::.:.:.:.       ゙,  `ヽ
       _ノ /j.:::!:トヽ、 ´ ̄` ,ノ´ ,リ::::.:!:::.:..      i.    \  
     ,.r'´  /.::!:::::::| `ヽ`"""´ /ノ.:.:.:.:.::!:.:.         |     !
   /      .:|.:.:.:::ト、 リ   /     !:.         !     |
  /       l  , へ\!  /'7ヽ    |:        j       |
. /           l/^ヾ:::ト、!  j! l  〉、   |        | .      |
/       i       .::| i|  j! | /  `ー'′       ! j!      !

434:デフォルトの名無しさん
17/12/10 19:38:51.23 40kmfkZ7.net
はい!
ID:1RSLLPBxの勝ち!w
おまえらドンマイw

435:デフォルトの名無しさん
17/12/10 19:40:38.39 0VP/mrFZ.net
enumの使い所を間違えるようなレベルの人間でないと共感は得られないと思う

436:デフォルトの名無しさん
17/12/10 19:41:38.15 lTpNuF7F.net
と、中身のないレスをしてみるのであった。

437:デフォルトの名無しさん
17/12/10 19:46:34.91 YjUTAOlB.net
ステータス(状態)をクラスにしちゃうと色々と説明が必要になっちゃうけどな
もっと素直に設計できねぇの?
お前らの剣は無駄な動きが多過ぎる

438:デフォルトの名無しさん
17/12/10 19:49:25.32 +dBvFTXH.net
すみません。質問ですが、例外とエラーの違いって何ですか?

439:デフォルトの名無しさん
17/12/10 19:49:27.62 0VP/mrFZ.net
状態に複数の要素が絡んだ時、彼はどうクラスを設計するだろうか

440:デフォルトの名無しさん
17/12/10 19:51:18.85 40kmfkZ7.net
>>426
>>428
>>430
負け惜しみが見苦しすぎるw

441:片山博文MZ
17/12/10 19:52:02.61 M7uFif4k.net
例外は制御がぶっ飛ぶやつ。
エラーは、正常に処理ができなかったという意味。

442:デフォルトの名無しさん
17/12/10 19:57:13.54 NAV3AZ5L.net
状態数も20くらいまでなら把握できるが…それ以上はいやだねえ…

443:デフォルトの名無しさん
17/12/10 19:58:57.63 in4pjWGE.net
>>429
ここで言っている例外はtry-catchでcatchで受けられる処理(Application Exceptionの類)の話
そのエラーの意味が何に対するエラーなのかわからないので違いは説明できない

444:デフォルトの名無しさん
17/12/10 19:59:05.93 0VP/mrFZ.net
enumだらけの.net frameworkを、enumじゃなくてクラスにしろよなんて思いながら使ってないだろうよ

445:デフォルトの名無しさん
17/12/10 20:01:31.79 1RSLLPBx.net
>>435
ベーシックライブラリと業務システムのドメインロジックを同じ感覚で書くプログラマは居ないよ

446:デフォルトの名無しさん
17/12/10 20:04:07.99 0VP/mrFZ.net
>>436
だから普通は使い所をわかってるから、こんなこと何の議論も起こらないよねって話じゃん

447:デフォルトの名無しさん
17/12/10 20:04:55.70 40kmfkZ7.net
からからうっせーよ死ねや

448:デフォルトの名無しさん
17/12/10 20:14:56.93 1RSLLPBx.net
>>437
わかってないからなここの初心者連中

449:デフォルトの名無しさん
17/12/10 20:17:38.09 in4pjWGE.net
このスレ来ている時点でみんな初心者。スレタイに「初心者用」ってちゃんと書いてあるから

450:デフォルトの名無しさん
17/12/10 20:41:13.41 o/NiMYKz.net
初心者ならいいんだけど、初心者を卒業したと勘違いしてる ID:1RSLLPBx が痛々しいだけ

451:デフォルトの名無しさん
17/12/10 20:42:45.81 1RSLLPBx.net
今日は負け惜しみを沢山見たが反論は少なかったなぁ

452:デフォルトの名無しさん
17/12/10 20:57:11.24 gQySa/bC.net
キチガイにふれるなよ

453:デフォルトの名無しさん
17/12/10 21:46:32.27 Uujd9YQH.net
計算量の観点で比較すると
switchはコンパイラが2分探索にしてくれる場合がある O(log2(N))
クラス化はインスタンス生成された時点で仮想関数テーブルが紐付く O(1)+ディスパッチのコスト
で合ってる?

454:デフォルトの名無しさん
17/12/10 21:54:10.74 bPupZbt5.net
>>444
switch でも状況によってジャンプテーブルにしたりするんじゃね?

455:デフォルトの名無しさん
17/12/10 22:12:18.04 Uujd9YQH.net
>>445
C#はジャンプテーブルも使うみたいですね
この比較はあんま意味ない気がしてきたので閉めます

456:デフォルトの名無しさん
17/12/10 22:28:48.38 klwCxkV9.net
俺以外でここまで書き込んだ奴は明日朝一で中央線に飛び込んで死ね

457:デフォルトの名無しさん
17/12/10 22:37:53.36 8I95hEEE.net
仮想メソッド呼び出しはJITがインラインキャッシュで展開するからコストはほぼゼロのはず

458:デフォルトの名無しさん
17/12/10 22:38:00.15 /a8M7Ljd.net
>>447
板違い。メンタルヘルス板に行け

459:447
17/12/10 22:39:14.02 8I95hEEE.net
補足
展開っていってもインライン展開するわけじゃないよ
静的なメソッド呼び出しに置き換えるということ

460:デフォルトの名無しさん
17/12/10 22:54:55.63 4CvOnmGy.net
>>429
例外 ⊂ エラー

461:デフォルトの名無しさん
17/12/10 23:09:05.85 NAV3AZ5L.net
>>450
vtable を間に噛むんじゃないか?

462:デフォルトの名無しさん
17/12/10 23:13:59.68 40kmfkZ7.net
>>451
マ?

463:デフォルトの名無しさん
17/12/10 23:47:37.64 u72ghqtY.net
shapeクラスをベースに持つrectangleとcircleクラスの挙動をswitchで制御してるならOOPに反すると思うけど
確固たる概念も実体もないものをわざわざクラスにしてまでenumを消す理由はない
普通のマジックナンバー代わりの記号がenum
オブジェクト間でクラスがメッセージをenumで渡すだけ
上手に使えばいいだけ

464:デフォルトの名無しさん
17/12/10 23:56:55.90 +mi54qJj.net
あ、もうその話終わってるんで(^^;

465:デフォルトの名無しさん
17/12/11 00:02:40.94 4r/Nu0Q4.net
>>454
お前も勝利宣言しとけよ
明日以降やられてもたまらん

466:デフォルトの名無しさん
17/12/11 00:13:22.40 duNhD2vY.net
実体の無い物


467:をクラスにしたらドキュメント書けよと それだけだけどな 書かないでやってる奴はギルティ



468:デフォルトの名無しさん
17/12/11 00:24:03.35 ZlOMrHZS.net
メッセージがただの記号だったのにクラスになるとオブジェクトの生成や
必要に応じてライフタイム管理が必要になる
しかも作ったオブジェクトに処理を移譲したり他のオブジェクトを渡したりして新たなオブジェクトと結合が密になる恐れがある
そこまでしないなら記号の受け渡しで済んだものがクラスの管理が増えるだけでメリットは薄い

469:デフォルトの名無しさん
17/12/11 03:52:53.05 oxZtEftd.net
あー、そーゆーのはママに教えてあげてね

470:デフォルトの名無しさん
17/12/11 06:40:10.22 6BzZoNtD.net
>>442
そりゃ反論はガン無視だもんな w

471:デフォルトの名無しさん
17/12/11 08:32:07.64 Pz9H8j59.net
> オブジェクトの生成
状態変わらないのだからpublicなstaticメンバで持てばよい
> ライフタイム管理
そんなに気になるのならstructにすればよい
> 処理を委譲したり(最後まで)
全く意味不明

472:デフォルトの名無しさん
17/12/11 08:37:46.08 PAoZtWNN.net
一晩経っても負け惜しみ言ってるやつ居てわろた
せめて反論したらどうなの?
>>458
メッセージを列挙値で済ませようとする発想がまずチープだがまあいい
RegexOptionsみたいな場合もあるからな
問題はドメインオブジェクトを列挙値で表現してしまうケースな
昨日から議論してんのはメッセージの話じゃないんだよそもそも
君はまだそこを理解してない

473:デフォルトの名無しさん
17/12/11 08:40:03.91 Pz9H8j59.net
どうしてもenumにこだわりたいのなら
Attribute付加
拡張メソッド作る
こんな手段はある

474:デフォルトの名無しさん
17/12/11 08:44:48.49 PAoZtWNN.net
他のオブジェクトとの関連云々ってさ
べつに列挙値からオブジェクトにしたから急に関連が出てきたものじゃないんだよね
ドメインの性質としてもともと本質的に関連があるものなんだよそれは
それがオブジェクトにしたことによって可視化されただけ
列挙値のままだと関連があるのにそれがハッキリと見えず暗黙の結合状態になってるだけ
それはまさに最悪の状態だよ

475:デフォルトの名無しさん
17/12/11 08:50:22.92 DFoAuevB.net
設計書の構造に箱ができないものをクラスにするのはセンスが悪いな
こんなゴミクラスたくさん作っちゃってクラス図でどうやって説明するの?

476:デフォルトの名無しさん
17/12/11 08:56:14.04 DFoAuevB.net
汎用ライブラリにでもぶち込むならともかく
こんな枝葉までクラスにされるとソースの粒度に統一感がでない
ステータスなんかクラスにすんなよ
ドキュメント書くのが面倒くせえだろ
それはイコール他人に説明する手間が増えてることだと気づけよ
どーせドキュメント書かないんだろお前馬鹿だから

477:デフォルトの名無しさん
17/12/11 09:36:16.99 SJ7HWrxD.net
他人に説明するためのドキュメントは確かに書かないな
ソース見たほうが早いし間違いがない
ソースコードが設計書である
俺が馬鹿かどうかに関係なく、
アジャイルやGOAでやるとどこでもそうでしょ

478:デフォルトの名無しさん
17/12/11 09:38:16.34 LDcEcB6H.net
>>467
ワケのわからんソース書くやつに限ってお前みたいなこと言うのな

479:デフォルトの名無しさん
17/12/11 09:41:22.91 ibPW1Iwl.net
ちょっと昔な感じだな
今は当たり前にドキュメントを書いてる時代だと思うけど

480:デフォルトの名無しさん
17/12/11 09:43:28.23 oxZtEftd.net
はいはいご立派ご立派

481:デフォルトの名無しさん
17/12/11 09:48:35.34 kESkT9Ub.net
おはようございます。(改行大杉で怒られたので行間を詰めています。
現在押し付けられて困っていることがありご教示いただければと思っております。
環境:フレームワーク4.71 + MVCフレームワーク5OS:Wi


482:n2012 現在上記環境で動いているシステムがあり、 いくつかのリクエスト文字列と画像ファイル1つをマルチパートで受け取るシステムがあります。 今回、アンドロイド側のJAVAアプリからデータをマルチパートでPOSTしてくる予定だったのですが 時間不足で実装できないと言われ、データを以下のように送ると言ってきています。 (AndroidといえどJavaと同様なのでマルチパートのOutputStreamを作成して送ってくるだけだと思うのですが…。) 1.ファイルをバイト配列に変換 2.そのバイト配列をBase64エンコード 3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信 上記の仕様だそうです。 そこで上記の逆手順を…と思い 考えれる範囲で 1.リクエスト文字列をUTF-8バイト配列に変換 2.そのバイト配列をChar[]に変換 3.Char[]をFromBase64CharArrayでバイト配列に変換 とやってみたのですが System.FormatException: 入力は有効な Base-64 文字列ではありません。 上記例外が当然のように発生します。 単純にアンドロイド側からBase64で送ってもらえればそのままデコードできるのですが それも突っぱねられて困っています。 そもそもこの逆変換が技術的に不可能なようであれば相手側に強く言うこともできるのですが その根拠が示せず言い出せません。 1.そもそも可能なのか? 2.手順的にはどのようにするのがよいのか ヒントだけでも構いませんのでご教示いただければと思っております。 以上です。



483:デフォルトの名無しさん
17/12/11 09:54:06.70 LDcEcB6H.net
>>471
欲しい形の文字列とどう違うのか比較してみろよ

484:デフォルトの名無しさん
17/12/11 10:11:54.42 kESkT9Ub.net
>>472
ありがとうございます。
あぁ、なるほど!
該当ファイルをBase64文字列にして
その差を比較してみて両者が合うように変換していってみる
ということですね。
ちょっとコツコツやってみることにしてみます。

485:デフォルトの名無しさん
17/12/11 11:07:13.45 jHA/gkIg.net
>>471
リクエスト文字列を直接Char[]にせずバイト配列にいったん変える意味が分からない
リクエスト文字列がBASE64の文字列でなければFromBase64CharArrayは使えない
URLリンク(msdn.microsoft.com)(v=vs.71).aspx/html

486:デフォルトの名無しさん
17/12/11 12:02:38.34 0NyrcvQf.net
switchを無くせって話、WPFとかのMVVMにちょっと似てるね
どっちの場合も原理主義者が主張するような美しい理念がワークするのは、
ある一定の条件というか閾値を超える事例だけであって、それ以外の場合は
かえって可読性とか保守性とかが低下すると思うんだけど、原理主義者がそういう現実を
無視して何にでも適用可能な万能の方法みたいにごり押ししてる感がある

487:デフォルトの名無しさん
17/12/11 12:11:33.55 SaVPDOly.net
多少冗長になっても1つのルールに沿って全部書いた方が読みやすいだろ

488:デフォルトの名無しさん
17/12/11 12:12:00.53 LDcEcB6H.net
もういい加減組めちまってる奴は
次の課題を自分で探さないといけない
プログラムスキルは組めるようになったら
そこでMaxなんだよ
さっさと次の課題を探さないから
どーでもいいことが意味ありそうに思えてくる

489:デフォルトの名無しさん
17/12/11 12:58:53.47 WHbaikY8.net
>>379みたいなケースでswitchをなくせ
って言うのはそりゃそうだなって思うけど
そもそも>>379の最初の方の組み方がおかしいだけでenumの問題じゃない
それを>>379の例だけでswitchをなくせと言うならまだしもenumなくせとか言い出すから頓珍漢なことになってるだけ

490:デフォルトの名無しさん
17/12/11 13:49:25.47 jxfuchh+.net
>>743
レスありがとうございます。
相手が手順的にBASE64のバイト配列をUTF8文字列にして送ってくるようだったのでその手順が必要なのかな…と思いまして。
そもそも何故バイト配列からBASE64の文字列にダイレクトにしなかったのかと…。おもいつつです。

491:デフォルトの名無しさん
17/12/11 15:28:30.74 MTsA4uB/.net
>>471
元の仕様
1.ファイルをバイト配列に変換
バイト配列ができる
2.そのバイト配列をBase64エンコード
ファイルをBase64エンコードした文字列ができる(仕様上UTF-8でもシフトJISでも同じ)
3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信
これが何の変換かわからない(2.の理由により必要がない)
まず元の仕様を勘違いしていないか?
その上で逆手順のテストコードバグっているから不必要にややこしくなってる

492:デフォルトの名無しさん
17/12/11 15:39:40.21 FZFaQSBJ.net
ファイルをバイト配列に格納→をBase64に変換

Base64をバイト配列に変換→バイト配列をファイルとして保存

493:デフォルトの名無しさん
17/12/11 15:45:33.14 MTsA4uB/.net
>>471
あとBASE64の文字列の長さは4の倍数でConvert.FromBase64CharArrayにそれ以外の長さのChar[]を指定するとエラーになる
不足分を自分で埋める('='で埋める)必要があればそれもやらないと

494:デフォルトの名無しさん
17/12/11 16:00:32.40 JAdbtKtz.net
多分UTF-8のBOMの有無でずれているんだろうな
手順がいくら増えようが不可逆になることはない

495:デフォルトの名無しさん
17/12/11 17:48:13.13 s+GYIw+B.net
>>478
誰もenum無くせとは言ってないぞ
ドメインクラスをenumで表現するなって言ってる

496:デフォルトの名無しさん
17/12/11 18:27:40.38 sMdN9sff.net
ドメインが理解出来ていないからすれ違いのままなのかな

497:デフォルトの名無しさん
17/12/11 19:55:13.88 WHbaikY8.net
>>484
お前が誰か知らんけど
>>377
> ダメとは言わないがコード整理するとenumが自然と消える
とか言ってたアホがいるって話

498:デフォルトの名無しさん
17/12/11 20:33:38.88 hCIPbzdz.net
>>486
外人?
ダメともなくせとも言ってないじゃん

499:デフォルトの名無しさん
17/12/11 20:53:07.48 WHbaikY8.net
はいはい、言葉尻にしか反論できないってことね
可哀想だな w

500:デフォルトの名無しさん
17/12/11 22:32:51.43 g6aSF5Tx.net
やれやれ

501:デフォルトの名無しさん
17/12/11 22:54:45.84 Mf9o9uwW.net
あれあれ
これは言葉尻ではない気がする

502:デフォルトの名無しさん
17/12/11 22:59:42.23 SJ7HWrxD.net
goto文をなくせの頃から何にも変わってないな
gotoをなくせ
enumをなくせ
switchをなくせ
シングルトンをなくせ
ヘルパークラスをなくせ
一応どれも正しい
間違ってはいない
でもこういうルールは別に守らなくてもいい
どうでもいいルールなんだよ
DRY原則とかOpen/Close原則とかの設計原則の方がより重要あってね

503:デフォルトの名無しさん
17/12/11 23:06:06.50 +NqpgsqU.net
どっちでもどうでもいいよ
どうせ動くんだし
テストをしっかりすればいいだけ

504:デフォルトの名無しさん
17/12/11 23:22:47.89 Mf9o9uwW.net
gotoとenumの間にはかなり差がある気がする
前方へgotoは絶対悪だから使用厳禁
ドメインのenumと同じかw
もうちょっと緩いと思うが
switchはパターンマッチとして使うのは推奨なご時勢だけどC#のswitch構文は力不足だね

505:デフォルトの名無しさん
17/12/11 23:36:59.61 izyLx6FJ.net
gotoは後方への方が凶悪だろ
前方だけに使う分にはbreakやtry-catchと大差ない

506:493
17/12/11 23:40:04.94 izyLx6FJ.net
書いてから気付いたが前方参照の意味での前方か
失礼

507:デフォルトの名無しさん
17/12/11 23:43:50.74 wiZ77PPl.net
>>491
ルールと呼ぼうが原則と呼ぼうが本質は何も変わらんよ
要するにバカの暴走を制限する為の足枷でしかないw

508:デフォルトの名無しさん
17/12/11 23:54:41.55 SJ7HWrxD.net
>>496
〇〇をなくせというルールが馬鹿にたいする足枷でしかないのは全くその通り
だから俺みたいな賢人にはどうでもいい
逆に馬鹿に設計原則は理解出来ないだろう
SOLID原則が理解出来るならそいつは馬鹿ではない

509:デフォルトの名無しさん
17/12/12 00:01:45.14 98iDbaWn.net
>>497
表面的な理解で原理主義に陥いってしまう奴は沢山いるし
本質的にそいつはバカなんだと思うよw
それは理解してないのだと言われればそれまでだがw

510:デフォルトの名無しさん
17/12/12 00:04:06.99 4TJt3MwM.net
質問と関係ないレスどこまで続けんの
相談室行けよ

511:デフォルトの名無しさん
17/12/12 00:13:24.19 Vo2kP02L.net
バカにされて色々悔しかったんだろ、察してやれや

512:デフォルトの名無しさん
17/12/12 00:26:32.44 98iDbaWn.net
抽象的な話になると必ずこういうレスがつくなw
これもバカの典型w

513:デフォルトの名無しさん
17/12/12 01:19:52.30 sZfK5OGe.net
enum不要っていう馬鹿らしい主張は全然聞かない

514:デフォルトの名無しさん
17/12/12 01:31:17.45 /hFzA9NO.net
バカスレ

515:デフォルトの名無しさん
17/12/12 01:33:06.37 lIsHmOMn.net
初心者用スレで難しい話すんなよ
俺みたいな趣味グラマーが楽しめないだろ

516:デフォルトの名無しさん
17/12/12 02:08:48.08 YqkrRdmr.net
しゅみません

517:デフォルトの名無しさん
17/12/12 02:13:45.88 5Qo60rlq.net
しゅき

518:デフォルトの名無しさん
17/12/12 05:04:47.87 Vo2kP02L.net
>>501
必ず?
今まで何度も辛い目に逢ったのかな? w

519:デフォルトの名無しさん
17/12/12 09:32:06.37 enzDDAPg.net
10年以上いたら辛いこともあるだろ

520:デフォルトの名無しさん
17/12/12 09:55:36.90 B9ezHy21.net
>>507
一晩越してもまだ悔しいんかw

521:デフォルトの名無しさん
17/12/12 13:01:20.73 55mcEBCK.net
>>509
お前がな w

522:デフォルトの名無しさん
17/12/12 21:31:34.33 CwRQgOlO.net
tensorflow+keras+c#で
エロ画像を自動分類するソフトを
作って欲しいと頼まれたんだけど
c#から出来そうですか?
参考になるサイトないですか?

523:デフォルトの名無しさん
17/12/12 21:36:58.22 Hba1R6el.net
特徴量でググりまくれ

524:デフォルトの名無しさん
17/12/12 21:52:35.56 NQyVP+w1.net
>>511
C#以前に個人レベルじゃ無理です
そういうことはデカいところに任せましょう

525:デフォルトの名無しさん
17/12/12 21:57:23.48 CwRQgOlO.net
>>513
日経ソフトウェアの記事で
桜、ヒマワリ、バラの判別をやってる
プログラムがあるんで
これをエロ画像に置き換えて
c#からできればいいかなぁ?と

526:デフォルトの名無しさん
17/12/12 22:03:01.97 +ghxhmVd.net
エロがそんな単純だと思うなよ

527:デフォルトの名無しさん
17/12/12 22:03:38.97 NQyVP+w1.net
>>514
内容次第だと思うが何をどう分類したいのか?がはっきりしないと
分類できない

ひまわり
バラ
の様に特徴が特定しやすい分類なのか?

528:デフォルトの名無しさん
17/12/12 22:06:27.53 yoDcG/vu.net
>>514
アルゴリズムを作るところからやってみて話はそれから
とりあえずC#にそんなライブラリは無いので他のスレへどうぞ

529:デフォルトの名無しさん
17/12/12 22:06:56.72 CwRQgOlO.net
>>516
人妻、NTR、レ○プ

530:デフォルトの名無しさん
17/12/12 22:08:56.23 +ghxhmVd.net
絵で区別できねーだろそれ

531:デフォルトの名無しさん
17/12/12 22:09:56.75 CwRQgOlO.net
>>519
でもなんとなくわかるだろ?
人間だと

532:デフォルトの名無しさん
17/12/12 22:12:39.20 +ghxhmVd.net
無理 付いてる字幕次第で印象が全然変わるから

533:デフォルトの名無しさん
17/12/12 22:14:01.82 NQyVP+w1.net
>>518
マジで言ってるのか?
無理無理無理

534:デフォルトの名無しさん
17/12/12 22:15:14.51 yoDcG/vu.net
>>520
なるほど、お前には無理だ

535:デフォルトの名無しさん
17/12/12 22:16:50.37 +ghxhmVd.net
プログラム上で可能なのはせいぜい、
顔の輪郭に対する「目の位置」の違いで、大人か子供かを判別するとか
(二次絵では顔に対して大人は目を上寄りに、子供は目を下寄りに描かれるケースが多い)
そんなもんだろう
んで、どっちにせよ言語仕様の話でなく
画像解析という専門分野行きの話になるのでスレチ

536:デフォルトの名無しさん
17/12/12 22:17:02.32 CwRQgOlO.net
大丈夫だ
ディープインパクトならやってくれる
巨乳にニットセーターってもう人妻だろ
って結論ぐらい出せるだろ

537:デフォルトの名無しさん
17/12/12 22:18:12.64 NQyVP+w1.net
>>524
ディープラーニングはそういうのじゃない分類ができる
でも人間でも一枚絵を見て判断できないのはほぼ無理

538:デフォルトの名無しさん
17/12/12 22:18:48.48 yoDcG/vu.net
>>525
頭にディープインパクトして二度と来るな

539:デフォルトの名無しさん
17/12/12 22:22:07.89 ZGog+EYK.net
webでそういう判定してくれるサービスありそうだけどね
そういや俺もwebとかネットワーク関係まったく触ったことないんだけど、
C#でもVBでもいいけどそっち系のチュートリアルってどこかにある?
洋書は知らんけど本はほとんどないよね

540:デフォルトの名無しさん
17/12/12 22:23:51.41 /hFzA9NO.net
試しに学習させてみればいいやんけ
これはNTR、これは人妻、これはレ●プ、(以下略)
こんなデータを大量に与える
そして最後にテスト画像を見せて当てられるかどうか

541:デフォルトの名無しさん
17/12/12 22:24:07.38 +ghxhmVd.net
Webサービスを展開する話なら、言語がどうこうっつーより
サーバOSとか機器環境とかの話になっちゃうからなあ

542:デフォルトの名無しさん
17/12/12 22:24:09.98 CwRQgOlO.net
>>528
安定するの待ってるんだろうな
機械学習と言ったらコレって確定するの

543:デフォルトの名無しさん
17/12/12 22:40:24.36 NQyVP+w1.net
ディープラーニング、機械学習の本は最近ぼこぼこ出てるよ
内容は似たり寄ったり
地元の図書館にも充実とまではいかないけど今年だけで3冊ぐらい入った
雑誌もディープラーニング特集すると部数が伸びるらしいのでよく特集される

544:デフォルトの名無しさん
17/12/12 22:57:04.37 wz4D/2fS.net
いい加減クラウドじゃ稼げないからディープラーニングに換えただけだろう
出版しても売れなきゃ返本の山だしな

545:デフォルトの名無しさん
17/12/12 23:32:02.56 qioa7JjJ.net
AWSってどこまでガチなの?
書籍も少ないし様子見してた

546:デフォルトの名無しさん
17/12/12 23:36:49.62 mXOR9ERV.net
今更すぎるだろ
エンタープライズでも驚異的な勢いで伸びてて、あと5年もしたらオンプレサーバーなんかほぼ消滅するレベルだぞ

547:デフォルトの名無しさん
17/12/12 23:42:13.92 enzDDAPg.net
何を指標にガチってるのか分からんが
AWSだけで100億ドル超を売り上げるくらいには使われてるだろ

548:デフォルトの名無しさん
17/12/12 23:52:57.04 qioa7JjJ.net
まあ、企業向けのサーバーなんしょ?
閉じたネットワークの業務アプリばっかで今までもあんまり関わり無かったからなぁ

549:デフォルトの名無しさん
17/12/13 00:03:21.24 prgZVef7.net
>>537
イントラのクラウド移行も凄まじい勢いで進んでるぞ。
AWS上にプライベートクラウドを設定してVPNで接続するだけ。
慣れてりゃ一日ポチポチしたら出来上がり

550:デフォルトの名無しさん
17/12/13 00:14:37.13 7y6FaNAn.net
SIのインフラ屋でコード書けない奴はガチでやばいよ
従来のインフラ構築運用なんかクラウドじゃ全く商売にならん
インフラはもはや、アプリエンジニアや社内SEが片手間にポチポチやるもの

551:デフォルトの名無しさん
17/12/13 00:16:41.76 n4AZEwrx.net
テンプレ理解できないやつ何人いるの?

552:デフォルトの名無しさん
17/12/13 00:21:59.75 XGmIS6JF.net
ルールを無視する輩とは一緒に仕事したくないよな。ホント

553:デフォルトの名無しさん
17/12/13 02:36:04.24 celmGK9q.net
すぐに底辺の職業プログラマが談話始めやがる

554:デフォルトの名無しさん
17/12/13 03:35:29.20 Aa4rKi8+.net
馬鹿の相手する馬鹿とどっこいどっこいだわ
両方殺すにはどうしたらいいか質問していい


555:?



556:デフォルトの名無しさん
17/12/13 06:29:25.97 9AlYNlS9.net
>>534
C#erならazulemachinlearningだろw

557:デフォルトの名無しさん
17/12/13 06:31:08.15 9AlYNlS9.net
>>535
インフラ担当者は生き残れますか?

558:デフォルトの名無しさん
17/12/13 09:49:18.40 5hkNOkMK.net
勉強のために作ったアプリの単体テスト始めたけどテストコードすら書けない
やっぱコピペばっかで作れただけで何も身に付いてないんだなぁ
データベースから取ってきた値の比較とかどうやるんだよ…

559:デフォルトの名無しさん
17/12/13 09:57:31.43 WF2IXduz.net
>>546
データベース読むとこのテストはモック使うんだよ。

560:デフォルトの名無しさん
17/12/13 10:03:04.23 5hkNOkMK.net
>>547
モックってダミーみたいなやつのこと?
せっかく教えてもらったのに何が便利になるのか全然イメージ出来ない…

561:デフォルトの名無しさん
17/12/13 10:05:50.55 7X3tjs6V.net
>>548
用語教えてもらっただけだからわからなくても仕方がない
勉強するのなら自分で使うようなツール作れ。簡単なやつでいいぞ
少しずつ機能増やしていくようにしたらスキルが上がっていく

562:デフォルトの名無しさん
17/12/13 10:11:11.76 WF2IXduz.net
>>548
グーグル先生にMoqを教えて貰え

563:デフォルトの名無しさん
17/12/13 10:14:58.04 1Q6K9tEb.net
Aの値を求める

AとBが等しいか
1等しくないなら
Aの値を変更して初めに戻る
2等しくなくて3回Aの値を変えている
失敗で終了
3等しい
正常に終了

というプログラムを作りたいのですが
どう条件分岐や反復を使用していいかわかりません
Aの値の変更は他アプリへの入力で、Aの値を求めるというのは他アプリの状態です
アドバイスお願い致します

564:デフォルトの名無しさん
17/12/13 10:21:01.20 QhF+UxFg.net
>>551
3回ぐらいハードコーディングしろよ
んで同じところをループや関数にすればいい

565:デフォルトの名無しさん
17/12/13 10:24:58.47 7X3tjs6V.net
>>551
C#以前の質問だと思うしいろいろあるんだけど
int count=3;
while (count>0)
{
[Aの値をGet]
if (B==A) break; //正常に終了
count--;
}
if (count>0) {[正常に終了}]
if (count==0) {[3回とも失敗]}

566:デフォルトの名無しさん
17/12/13 10:29:29.60 1Q6K9tEb.net
>>553
ありがとうございます!
これでいきます!

567:デフォルトの名無しさん
17/12/13 12:09:08.61 zXzMZXIu.net
いやいや人の回答にケツつけるのもあれだけど、普通にforループ使った方が分かりやすいよw
だって要するに3回までリトライするってだけの話でしょw
const int rertryCount = 3;
A a;
for (int i = 0; i < retryCount; i++)
  if((a = GetA()) == B) return true; //成功
return false; //失敗

568:デフォルトの名無しさん
17/12/13 12:11:06.80 zXzMZXIu.net
const int rertryCount = 3;
これはちょとミスリーディングか。
こだわるなら
const int maxRetryCount = 3;
こっちの方がいいね

569:デフォルトの名無しさん
17/12/13 12:16:44.81 ubNNZos/.net
文末の無駄煽りwイラネ

570:デフォルトの名無しさん
17/12/13 12:21:20.67 WF2IXduz.net
宿題への解答はスルーで

571:デフォルトの名無しさん
17/12/13 12:22:42.84 xw1cKw2m.net
>>555
ところ構わずケツつけてくる奴やな
みんながみんなホモちゃうでしかしw

572:デフォルトの名無しさん
17/12/13 12:57:28.03 qPshWZUl.net
ケツつけるならAは要らない子

573:デフォルトの名無しさん
17/12/13 18:22:17.80 celmGK9q.net
getA()=Bじゃダメな理由は?

574:デフォルトの名無しさん
17/12/13 18:23:23.16 m+6YTdY7.net
>>560>>561
なんで勝手に質問者の要件作るの?

575:デフォルトの名無しさん
17/12/13 18:24:34.34 celmGK9q.net
>>562
何言ってるか分からん
ただの質問
ここ質問スレだろ?

576:デフォルトの名無しさん
17/12/13 18:26:58.52 m+6YTdY7.net
>>563
C#の質問じゃないな

577:デフォルトの名無しさん
17/12/13 18:31:40.81 celmGK9q.net
>>564
じゃあどこですんの?
言語に関係無いプログラマの談話は要らんが

578:デフォルトの名無しさん
17/12/13 18:51:30.28 Aix7CEXX.net
>>546
簡単にユニットテストできるようにSOLIDなコードを書かないとダメ
ただ漠然とユニットテストやればきっとうまくいくんや~などと考えてるようなら先はないぞ

579:デフォルトの名無しさん
17/12/13 19:17:20.81 48dLEnlz.net
VBですみません。下記のようなコードで印刷ジョブの数を取得すると
OSの印刷ジョブ一覧ウィンドウで見える数と違うのですが
なぜ違ってしまうのでしょうか?
'プリントサーバの情報取得
Dim prtSv As New LocalPrintServer()
'印刷キュー取得
Dim que As PrintQueue = prtSv.DefaultPrintQueue
msgbox que.NumberOfJobs

580:デフォルトの名無しさん
17/12/13 19:23:41.42 qPshWZUl.net
>>567
環境を詳細に書かないと解らない
エスパー得意だけどこれは無理w

581:デフォルトの名無しさん
17/12/13 19:25:11.30 qPshWZUl.net
>>561
俺に聞くなw
B == GetA()
で十分でないの

582:デフォルトの名無しさん
17/12/13 19:28:38.16 celmGK9q.net
>>567
OSのジョブ一覧は変更の反映が遅いから
ジョブ一覧の画面でF5押しまくれ

583:デフォルトの名無しさん
17/12/13 19:29:21.02 48dLEnlz.net
>>568
環境はWin7です。プリンタを一時停止にしてジョブを40個くらいためていくと
que.NumberOfJobsは35が返ってきたりします。
時間が経つと40が返ってきたりします。
時間差があるのでしょうか?印刷が成功したか知りたいのですが
そのジョブが見つからないのです。

584:デフォルトの名無しさん
17/12/13 19:29:55.45 JWALofvX.net
>>567
スレタイとテンプレ読め

585:デフォルトの名無しさん
17/12/13 19:33:48.02 48dLEnlz.net
>>570
そうなんですか。困りました。
下記のサイトのようなことがやりたかったのですがorz
URLリンク(jehupc.exblog.jp)

586:デフォルトの名無しさん
17/12/13 19:36:20.02 celmGK9q.net
>>573
読んでないからよくわからんけど反映が遅れるのはジョブ一覧の画面上の話で実際の内部のジョブ一覧はリアルタイムで変更されてるぞ
多分のおまえのやりたいことはできる

587:デフォルトの名無しさん
17/12/13 19:40:02.91 celmGK9q.net
>>571で言えば35の方が正しいってことな多分
知らんけど試してくれ

588:デフォルトの名無しさん
17/12/13 19:46:53.57 48dLEnlz.net
>>574
自分も認識としてはそうなんですが何故か想定と違う値が返ってきてしまい・・・
ちなみに.NETの問題かとも思いましたがAPIのEnumJobs()でも同じ値が返ってきました。
JOB一覧でF5を押しまくって40なのを確認してque.NumberOfJobsを取得しても
35なんですよね。で数分待つと40が返ってきたり。
直前にque.Refresh()はしています。

589:デフォルトの名無しさん
17/12/13 19:56:07.48 celmGK9q.net
>>576
マジか、すまんな

590:デフォルトの名無しさん
17/12/13 19:57:45.10 o6fkcoL6.net
>>576
数分待てば40返ってくんじゃん
解決

591:デフォルトの名無しさん
17/12/13 20:00:10.64 celmGK9q.net
質問ですがWPFでCommandからModelにアクセスするにはどうすればいいですか?
例えばボタンをクリックしたらModelのBuyNumプロパティをインクリメントしてそれをViewのLabelに反映させたりしたいときなどです。

592:デフォルトの名無しさん
17/12/13 20:01:32.95 48dLEnlz.net
>>577
わかりにくくてすみません。
>>578
なるほど!

593:デフォルトの名無しさん
17/12/13 20:55:52.96 6RipZ3Bg.net
>>579
VMにコマンドがあるんだったらVMのフィールドにModel持ってるはずだろ?
何の問題もなくアクセスできるはずだが一体何が分からないのか

594:デフォルトの名無しさん
17/12/13 21:45


595::44.50 ID:pl2NU6fI.net



596:デフォルトの名無しさん
17/12/13 21:56:15.26 i7QaIdVf.net
>>579
よくあるパターンだと、DIコンテナってのを使ったりします。モデルのインスタンスを管理するプログラムが有って
VMが起動されたときにModelのインスタンスをVMに渡すことが出来ます
Prism.Unityとか、MEFとかAutoFacなんてのがありますので興味があれば調べてくださいね

597:デフォルトの名無しさん
17/12/13 22:32:23.84 D2CxP1eV.net
コマンドバインディングとデータバインディングを一緒くたにするのは混乱の元
つかWPFスレの次スレ建ってないんだな

598:デフォルトの名無しさん
17/12/13 23:15:57.29 Aa4rKi8+.net
要るのか?

599:デフォルトの名無しさん
17/12/13 23:21:05.54 +hxIYt9g.net
こっちでうざい論争始められても困るし。

600:デフォルトの名無しさん
17/12/13 23:23:03.58 vLvUNPwO.net
EF Coreを使ってます
UpdateでWhereを指定するにはどうしたらいいでしょうか?
現在は以下のようになってます
ctx.Students.Update(student);
ctx.SaveChanges();
もしくは、行ロックのやり方を教えてください
レコードを更新する際に特定の条件下なら1度だけ更新をしたいです

601:デフォルトの名無しさん
17/12/13 23:31:04.98 celmGK9q.net
>>584
もう廃れてるからね
知らんけど

602:デフォルトの名無しさん
17/12/13 23:37:57.02 muTUiD7C.net
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
スレリンク(tech板)

603:デフォルトの名無しさん
17/12/13 23:39:24.47 uYugybSh.net
>>551
こういったのプログラミングするときちゃんと書かれてる通りに作れって思う
仕様書の書き方がクソで勝手に直したくなるのは分かるけど
enum Hoge{最初から,失敗終了,成功終了}
private Hoge Func(A a,B b,Int changeCount){
bool 等しい a==b;
if(!等しい&&changeCount!=3)return Hoge.最初から;
else if(!等しい&&changeCount==3)return Hoge.失敗終了;
else if(等しい)return Hoge.成功終了;
throw new Exception("仕様書に書いてないけど?");
}

604:デフォルトの名無しさん
17/12/13 23:42:41.36 BxJ5qLxy.net
>>587
.Where(条件)追加すればいいんじゃないか?

605:デフォルトの名無しさん
17/12/14 00:09:23.47 AbaQzWBd.net
>>590
面白くない
星一つ★☆☆☆☆

606:デフォルトの名無しさん
17/12/14 06:07:27.62 tSpFRQdC.net
>>591
連結は出来ませんよね?定義には含まれてないので。
具体的にどのようなコードになりますか??

607:デフォルトの名無しさん
17/12/14 07:19:39.96 VVrew0Yx.net
amazon死んでる
AWSも逝った?

608:デフォルトの名無しさん
17/12/14 08:04:04.61 5Zp71Sbj.net
おまえらなんでアジュール使わないの?

609:デフォルトの名無しさん
17/12/14 08:28:56.13 VVrew0Yx.net
>>595
そういう仕事に遭遇しない
でもそんなレアだといざデスマになったときに追加人員が補充できないから人数が少ないってヤバそう

610:デフォルトの名無しさん
17/12/14 08:51:15.38 kupDQT+K.net
アジュールってクラウド鯖環境なだけだが

611:デフォルトの名無しさん
17/12/14 08:58:02.26 AMqoei3b.net
AWSの方が便利ですし

612:デフォルトの名無しさん
17/12/14 09:33:13.26 h0pJUyRR.net
>>597
嘘は良くない

613:デフォルトの名無しさん
17/12/14 09:33:48.37 6p67cfA3.net
アジュールAWSとVPSの違いは?

614:デフォルトの名無しさん
17/12/14 09:40:54.01 +GHlkdpq.net
try catchってどこで囲うのが基本?
メソッドの中身全部かなと思うんだけど

615:デフォルトの名無しさん
17/12/14 09:54:01.28 exEWR3q2.net
>>601
書くなって言われたよ
イベントログに出なくなっちゃうからだって

616:デフォルトの名無しさん
17/12/14 10:26:35.89 4QS0W6Tf.net
???

617:デフォルトの名無しさん
17/12/14 10:38:03.42 T38l1dnq.net
できるだけ狭く

618:デフォルトの名無しさん
17/12/14 11:00:13.42 VYyAdkca.net
>>601
全部でも良いけど
そのメソッド内でキャッチして例外に対応できる場合のみ

619:デフォルトの名無しさん
17/12/14 12:14:15.12 E4k7gbUw.net
どこに書いてもいいけど
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう

620:デフォルトの名無しさん
17/12/14 12:19:44.66 yn4+AjAE.net
>>606
だって、このメソッドで落ちると困るじゃん例外とも言う

621:デフォルトの名無しさん
17/12/14 12:33:59.88 PpIxqW4X.net
>>606
vsなら見れるだろ
知らんけど

622:デフォルトの名無しさん
17/12/14 12:52:43.26 h0pJUyRR.net
>>606
問題はそのあと
throw ex
とかしちゃうやつ

623:デフォルトの名無しさん
17/12/14 13:34:33.61 6p67cfA3.net
>>609
語るなら理由も書いてくれ

624:デフォルトの名無しさん
17/12/14 13:37:11.31 exEWR3q2.net
>>606
一律で書かないことになっちゃったけど
本当は何書いて欲しいの?

625:デフォルトの名無しさん
17/12/14 14:07:14.43 h0pJUyRR.net
>>610
>どこで例外が発生したかわからん
に対する補足。Java上がりがよくやるポカ。

626:デフォルトの名無しさん
17/12/14 14:13:12.44 yn4+AjAE.net
>>611
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ

627:デフォルトの名無しさん
17/12/14 15:27:07.73 exEWR3q2.net
>>613
なんもない
自分で書いた場所にtry catchがそもそもない

628:デフォルトの名無しさん
17/12/14 15:39:34.55 yn4+AjAE.net
>>614
自分で書いてない所にあるんだよ。

629:デフォルトの名無しさん
17/12/14 17:00:13.09 exEWR3q2.net
>>615
ないっす

630:デフォルトの名無しさん
17/12/14 17:32:02.14 us8b95/8.net
何のスレだよここ

631:デフォルトの名無しさん
17/12/14 18:09:08.31 oUWqnTgP.net
IO系とかエラーが発生する可能性のある一帯だけ囲んで、こんなとこじゃエラー出ないよね?
ってとこは囲わないかな
万一そういう所でエラー発生したら、そのエラー箇所を特定しやすいように
売り物のソフトだと、好ましくないやり方かもしんないけどな

632:デフォルトの名無しさん
17/12/14 20:49:00.77 COokNIga.net
復旧可能かつ復旧を試みる事が要件で明示されてればそこでキャッチする
それ以外は基本的に全てキャッチしてはならない
グローバル例外ハンドラに任せてログ出力やユーザー通知を行う

633:デフォルトの名無しさん
17/12/14 20:51:54.39 COokNIga.net
リソースの解放は原則IDisposableとusingで行うこと(try finallyは使わない)

634:デフォルトの名無しさん
17/12/14 22:00:38.77 7SAvsilk.net
>>620
usingはtry finallyに展開されるという・・・

635:デフォルトの名無しさん
17/12/14 22:01:50.75 NV/46Hd7.net
>>621
自分で書いてミスるのを防ぐため

636:デフォルトの名無しさん
17/12/14 22:42:27.89 83z5th3I.net
なんで?
Finallyあると開放されないん?

637:デフォルトの名無しさん
17/12/14 22:52:02.96 6p67cfA3.net
URLリンク(qiita.com)

638:デフォルトの名無しさん
17/12/14 22:58:02.78 6p67cfA3.net
URLリンク(hensa40.cutegirl.jp)

639:デフォルトの名無しさん
17/12/15 02:32:16.25 6xqAElZe.net
1234.5678 => 1,234.5678
1234.56 => 1,234.56
123.456 => 123.456
というように、
数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか?

640:デフォルトの名無しさん
17/12/15 02:43:42.30 OGT2pKSi.net
>>626



641:複合書式指定 https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない



642:デフォルトの名無しさん
17/12/15 02:45:25.60 6xqAElZe.net
>>627
C#ってわざわざ面倒臭いことしないといけないんですね・・・

643:デフォルトの名無しさん
17/12/15 02:53:08.52 OGT2pKSi.net
>>628
他の言語でできることならフォーマット用意してあるかもしれないから調べたら?
そこまで見ていないから

644:デフォルトの名無しさん
17/12/15 03:21:16.28 IbhaoRnF.net
>>626
ちょっと格好悪いけど、
ToString( "###,###,###,###,###.########" );
とでもしとけば。

645:デフォルトの名無しさん
17/12/15 09:01:04.44 BaW7Km5G.net
>>626
ggrks
URLリンク(www.atmarkit.co.jp)

646:デフォルトの名無しさん
17/12/15 09:05:36.73 BaW7Km5G.net
Console.WriteLine("{0:#,0} ", 数値);
こんだけな

647:デフォルトの名無しさん
17/12/15 09:14:42.49 BaW7Km5G.net
それかコレな
Console.WriteLine("{0:N}", 数値);

648:デフォルトの名無しさん
17/12/15 12:33:12.63 WmAzWj4RE
>>631-633
小数点以下の桁数が>>626の要望を満たしてない

649:デフォルトの名無しさん
17/12/15 12:48:50.32 6xqAElZe.net
>>631-633
頭悪いレスは必要ないです
質問をよく読んでから答えてください

650:デフォルトの名無しさん
17/12/15 13:08:51.68 BaW7Km5G.net
ググる知能もない低脳に説教されちゃったよ..(^^;

651:デフォルトの名無しさん
17/12/15 14:03:20.57 s/91E6Oz.net
一度でもやってからしゃべってんだろうかこのアホ ID:6xqAElZe は

652:デフォルトの名無しさん
17/12/15 16:15:56.95 M7F98+kf.net
VB.netのクラスの中身の大半をC#に移動したいんだが、Partialしたらいいだろか?

653:デフォルトの名無しさん
17/12/15 16:32:35.38 aCy2oimY.net
vb.netのコードをc#に一発変換してくれるツールがあった気がする

654:デフォルトの名無しさん
17/12/15 16:42:28.20 M7F98+kf.net
Formは無理じゃない。 コードは変換できるのを見たことがある。なのでコード部とか
ライブラリクラスをC#にしようと思う。

655:デフォルトの名無しさん
17/12/15 17:10:02.32 aCy2oimY.net
>>640
URLリンク(dobon.net)
sharpdevelopとかいうのでできた気がすんだよ
ちょっとやってみてよ
試す価値はあるでしょ?
ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ

656:デフォルトの名無しさん
17/12/15 17:28:02.50 M7F98+kf.net
>>641
ありがとう。やってみてまた報告するよ。

657:デフォルトの名無しさん
17/12/15 17:51:54.84 m9RnQpi/.net
プロジェクト分ければVBとC#共存できるんだから
循環参照が必要じゃないなら無理に変換することもないんじゃないかと

658:デフォルトの名無しさん
17/12/15 18:41:41.68 Rbo0n5z7.net
>>643
VBerがそんな綺麗なコード書くわけ無いでしょ

659:デフォルトの名無しさん
17/12/15 18:43:49.15 M7F98+kf.net
心が綺麗だとコードも綺麗。

660:デフォルトの名無しさん
17/12/15 18:47:39.84 Sbz3X1/O.net
VisualBasicがなかったら
ファイルをゴミ箱入れたいとき困るじゃないですか

661:デフォルトの名無しさん
17/12/15 20:59:15.61 6xqAElZe.net
>>636
>>637
せめてテストくらいしてからレスしてくださいね^^;
C#


662:erレベル低すぎ



663:デフォルトの名無しさん
17/12/15 21:11:29.58 Hv9P7iJ4.net
>>641
バージョンによるな。こけるパターンが特徴的なので
慣れれば機械的に直していける

664:デフォルトの名無しさん
17/12/15 21:29:12.26 GAdh6qIc.net
>>647
はいキチガイ

665:デフォルトの名無しさん
17/12/15 21:30:37.92 wB/Paoxt.net
>>646
Microsoft.VisualBasic.dllだけあればいいよ

666:デフォルトの名無しさん
17/12/15 22:02:04.42 JZUrtsL7.net
>>626
Console.WriteLine("{0:#,#.##########}", 1234.5678);

667:デフォルトの名無しさん
17/12/15 23:04:45.15 ZiMYN4DZ.net
>>648
すんなりは行かんかった?
Formは行けた?

668:デフォルトの名無しさん
17/12/16 08:46:52.59 2xEHZCIG.net
vb formからc# formへctl-aで全選択してコピペできるよ。
ちゃんと言語の変換をしてくれる。

669:デフォルトの名無しさん
17/12/16 09:10:07.48 HogLmiIR.net
デザインは変換できる?

670:デフォルトの名無しさん
17/12/16 09:54:00.60 ghluEyaB.net
あれぇ?
なんかボタンで一発変換だった記憶があるんだけど?

671:デフォルトの名無しさん
17/12/16 10:37:27.38 HogLmiIR.net
クラスAでクラスBをインスタンス化する
クラスCでクラスBのメソッドを実行する。
クラスAでクラスBをインスタンス化する。クラスCでクラスBのメソッドを実行する。
クラスAのインスタンス名は未定の時に、clsCからB.bm()を呼び出す方法?
こういう時にどうすればいい? なんかスマートにできる方法はない?
public class clsA
{
public clsB B = new clsB;
public clsC C = new clsC(B);
}
public class clsB
{
public void bm()
{
}
}
public class clsC
{
clsB B;
private clsC(clsB bb)
{
B = bb;
}
private void doc()
{
B.bm();
}
} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


672:デフォルトの名無しさん
17/12/16 10:52:11.94 2xEHZCIG.net
>>655
それって vb6 ⇒ vb.net じゃないの?

673:デフォルトの名無しさん
17/12/16 10:54:04.95 VgVQwchc.net
>>656
それでできてるだろ。何が分からないのか全く伝わらない。
あと、そのレベルならAだのBだのと話を一般化しないでズバリ何がしたいのかを書いたほうが適切な回答が得られる可能性が高いと思う。

674:デフォルトの名無しさん
17/12/16 10:56:52.96 ghluEyaB.net
まあ、最悪ベタで組めばいいじゃん

675:デフォルトの名無しさん
17/12/16 11:55:33.53 8tD9WB4W.net
関数をreturn する直前で実行したい処理があるのですが、
try catch finallyを使うとできますが、finally
だけ使いたいのですが、そう言うのは無いですか?

676:デフォルトの名無しさん
17/12/16 12:03:55.12 8r44i3VV.net
ないですね

677:デフォルトの名無しさん
17/12/16 12:07:33.63 EDRAYm5f.net
>>660
複数のreturnの前の同一処理ならreturnの代わりにgotoでその処理へ飛ばせばいいだろ

678:デフォルトの名無しさん
17/12/16 12:08:12.20 VgVQwchc.net
try { return; } finally { } でいいだろ

679:デフォルトの名無しさん
17/12/16 12:08:20.45 2xEHZCIG.net
>>660
try, finallyだけもあるけど

680:デフォルトの名無しさん
17/12/16 12:14:22.30 oPhsj9qx.net
>>660
finallyだけじゃどこを抜けたらか分からないよ、ちゃんとそれぞれ有ります
URLリンク(docs.microsoft.com)

681:デフォルトの名無しさん
17/12/16 12:51:36.41 8tD9WB4W.net
>>665
ああ、出来るじゃない!
今日は気分がいい。さんきゅ

682:デフォルトの名無しさん
17/12/16 16:35:16.86 gJhjPx+L.net
C#初心者の頃(いまもかわらんけど)、一番悩んだのは
インターフェースが分からない。
何がわからないかというと、インタフェースって、自分で一から定義するような
ことが書かれていたが、既存のプログラムで使用しているインタフェースって
何かやってる。
何か定義しないと何もやらないはずなのに・・・・・めちゃ気持ち悪いしわからない。
システムで処理を記述したものも、インターフェースとそのまま呼んでいるから、
わけわからなくてさ~。
なんだ、処理が記述されているものがあるのねと、理解するのにひと月かかったアホ出した。
まあ今も変わらんんけど。

683:デフォルトの名無しさん
17/12/16 16:39:09.26 ghluEyaB.net
設計書も書かないくせに
インターフェース定義するやつがこれまたわからん
馬鹿だろお前
って素で聞いてしまった

684:デフォルトの名無しさん
17/12/16 16:42:29.58 6gulH/Qw.net
インターフェースを機械とか現実の何かで例えたらなんですか?

685:デフォルトの名無しさん
17/12/16 16:45:05.86 ghluEyaB.net
強いて言えば型
100Vコンセントって型=インターフェース

686:デフォルトの名無しさん
17/12/16 16:53:14.91 DOHaPC3l.net
backgroundWorkerにおいて、ある関数を実行していて
その関数内である条件になった時にbackgroundWorkerを停止したいのですが
何か簡単な方法はないでしょうか?
backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に
プログラムが組みたいのです。

687:デフォルトの名無しさん
17/12/16 16:56:31.41 ghluEyaB.net
>>671
今どうなるの?
エラー出ると死んじゃう?

688:デフォルトの名無しさん
17/12/16 16:59:30.93 Ul/CFAof.net
>>671
マイクロソフトの方針でできなくなってます

689:デフォルトの名無しさん
17/12/16 17:03:29.56 ghluEyaB.net
普通に無限ループ抜ければええんちゃうのん?

690:デフォルトの名無しさん
17/12/16 17:05:51.65 DOHaPC3l.net
backgroundWorker内でAという関数を無限ループ実行していて
Aの中ではB、Cという関数が続けて実行されていて
Bである条件(エラー)になった時、ここで全ての動きを停止したいです。
現在はエラーが発生してそのままBと処理が続いていって死にはしませんが意図しない動きをしている感じです
戻り値と条件分岐で場合分けしていけばいいのかなとも思いましたが関数が大量にあり複雑で何か簡単な手段はないものかとお聞きしてみました

691:デフォルトの名無しさん
17/12/16 17:06:41.02 na0PR4/Y.net
>>671
URLリンク(dobon.net)
CancelAsync()でだめな理由があるの?
関数の中でエラー検出できないとかじゃないよね

692:デフォルトの名無しさん
17/12/16 17:13:01.57 DOHaPC3l.net
>>676
キャンセルボタンは一応ついていまして
Aの実行後にボタンが押されていればCancelAsync()を使っています
AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです

693:デフォルトの名無しさん
17/12/16 17:14:42.73 na0PR4/Y.net
>>675
通常のスレッドで実行するにしても考え方おかしいと思う
下流で発生したエラーを捕捉できない設計になっています、って言っているのと同じ
C#の問題じゃないんじゃないかな

694:デフォルトの名無しさん
17/12/16 17:19:57.99 DOHaPC3l.net
>>678
そんな気もします…

695:デフォルトの名無しさん
17/12/16 17:31:29.65 na0PR4/Y.net
>>679
同じような質問でTaskの場合
URLリンク(stackoverflow.com)
Henk Holtermanさんは「そういうことを(安全に)したいのならその部分を別アプリにしろ」と言っている

696:デフォルトの名無しさん
17/12/16 17:41:39.84 qA7A9B95.net
>>680
それ、スレッドでタスクのようにキャンセルしたいって話だぞ。

697:デフォルトの名無しさん
17/12/16 17:48:31.95 ghluEyaB.net
普通にstaticのフラグ作って強引に無限ループ抜けちゃうのは?

698:デフォルトの名無しさん
17/12/16 17:50:37.53 oGvDk6LW.net
>>677
まず「止める」って発想がおかしい。
各メソッドが「止まる」ように設計しなきゃ。
各メソッドの引数に処理がキャンセルされたかどうかを返すFunc<bool>を追加して
void A(Func<bool> canceled) {...}
呼び出すときに
A(() => backgroundWorker1.CancellationPending);
とかすればいいんじゃないか

699:デフォルトの名無しさん
17/12/16 17:52:34.38 qA7A9B95.net
>>675
Bでエラーが発生したら例外投げて、backgroundWorker.DoWork内のループでその例外を補足してe.Cancel=trueにするようにすれば。

700:デフォルトの名無しさん
17/12/16 17:58:55.94 qA7A9B95.net
>>680
ごめん。
>>681は全くの間違い。ぼけてた。
ただ、今回はワーカーメソッドの中から中断したいって話なので、外から強引に中断する話とは違う。

701:デフォルトの名無しさん
17/12/16 18:12:53.74 DOHaPC3l.net
>>683
() =>この書き方がよくわからないので
とりあえず今のメソッドを全てvoidからboolに変え、エラー時にfalseを返して
if(メソッド==true)の時だけその後の処理を実行する様にしてみます
>>684
例外を投げるっていう方法がわかりません…調べてみます
みなさん色々ありがとうございました

702:デフォルトの名無しさん
17/12/16 18:22:29.26 cphXnYZp.net
>>668
何言ってんだこいつ?

703:デフォルトの名無しさん
17/12/16 19:04:01.72 ghluEyaB.net
>>687
じゃあ俺が作った
「USBちんぽん」って
使ってくれる?

704:デフォルトの名無しさん
17/12/16 19:11:54.53 FKHtpILn.net
>>688
うん、ほしい

705:デフォルトの名無しさん
17/12/16 19:14:12.13 ghluEyaB.net
>>689
やったぜ
頭悪いんだねw

706:デフォルトの名無しさん
17/12/16 19:15:20.72 FKHtpILn.net
>>690
はやくちょーだい?

707:デフォルトの名無しさん
17/12/16 19:18:34.13 cphXnYZp.net
>>688
疲れてるのか?
日曜日は10時に寝るといいぞ

708:デフォルトの名無しさん
17/12/16 19:19:38.55 ghluEyaB.net
>>692
お前は「USBちんぽん」使ってくれるの?

709:デフォルトの名無しさん
17/12/16 21:53:57.13 B4/eWtrI.net
>>691
URLリンク(dotup.org)

710:デフォルトの名無しさん
17/12/17 01:36:39.71 hpnS8mLh.net
Chartを2個置いているのですが、このフォームを最大化した際にこの比率のままChartをフォームに合わせてリサイズするにはどのように設定すればいいのでしょうか?
Anchorを上下左右全てオンにした場合、自動的にリサイズした際に右側のChartが隠れてしまいます
URLリンク(i.imgur.com)

711:デフォルトの名無しさん
17/12/17 01:40:47.18 hpnS8mLh.net
>>695
補足です
直撮りで申し訳ないですが、1枚目が正常な場合です
これを最大化した時もそのままにしたいのですがanchorを全部設定するだけだと2枚目のように手前側の設定が反映されて被ってしまいます
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)

712:デフォルトの名無しさん
17/12/17 01:41:46.33 CSXOgBDh.net
>>695
わかる
俺も知りたい

713:デフォルトの名無しさん
17/12/17 01:50:14.52 CSXOgBDh.net
でもanchorでは多分できないということもなんとなくわかる
比率を自分で計算して位置サイズ合わせするしかないんじゃないかと

714:デフォルトの名無しさん
17/12/17 02:03:32.25 hpnS8mLh.net
>>698
どもです
検索ワード少し変えて探したらこんなのが出てきました
URLリンク(social.msdn.microsoft.com)
少しこの辺りの試そうと思います
回答通り、標準ではそういう機能無いみたいですね
ありがとうございました

715:デフォルトの名無しさん
17/12/17 11:39:32.44 hpnS8mLh.net
>>699
自己解決できました
今さっき使い方少し調べて試したら
TableLayoutPanelで無事目的達成できました
URLリンク(i.imgur.com)

716:デフォルトの名無しさん
17/12/17 12:05:55.48 4m+VWQn4.net
>>667
あえて書くけど
個人で小規模なアプリの場合はインターフェースなんて不要
商用大規模アプリでも使って�


717:ネいところが多いくらいw



718:デフォルトの名無しさん
17/12/17 12:08:11.46 opp+Hz1N.net
>>701
なわけないでしょ

719:デフォルトの名無しさん
17/12/17 12:08:27.63 4m+VWQn4.net
>>675
Task使え

720:デフォルトの名無しさん
17/12/17 12:12:30.50 ILWlCk8x.net
>>701
これは恥ずかしい

721:デフォルトの名無しさん
17/12/17 12:49:56.01 gfqG1JvG.net
基底クラスとインターフェースって何が違うんですか?

722:デフォルトの名無しさん
17/12/17 12:55:53.21 OwhBw4on.net
>>705
そこは基底じゃなくてabstractの抽象クラスじゃね
違いは実装の有無と多重継承かなあ?

723:デフォルトの名無しさん
17/12/17 14:27:27.54 sFu7AEYs.net
>>701
大規模とかそういう問題じゃない
あえて100Vコンセントにする仕様がないとインターフェースは役に立たない
USBちんぽんを採用する理由がプロジェクトにないと意味がない

724:デフォルトの名無しさん
17/12/17 14:51:02.99 RNTbc2+q.net
意味の共有ができない喩えいいかげんやめたら

725:デフォルトの名無しさん
17/12/17 15:33:24.95 sFu7AEYs.net
>>708
君が普段やってることじゃんw
USBちんぽんの使用の押し付け
やられて嫌ならやめるべきだねw

726:デフォルトの名無しさん
17/12/17 20:19:06.53 6F/MtA/p.net
>>701
またテメエか
公害は死ねっていったろ

727:デフォルトの名無しさん
17/12/17 21:06:17.16 8SWMSnGu.net
static な関数を複数のスレッドから利用するのは危険ですか?
具体的に言うと、データベースを読み書きするような処理です。
注意事項など教えて下さい。

728:デフォルトの名無しさん
17/12/17 21:44:44.79 sFu7AEYs.net
>>711
トランザクションどうなってるの?

729:デフォルトの名無しさん
17/12/17 22:21:15.29 qS3H4jkn.net
>>712
何もしてません。と言うかトランザクションってよく分かっていません。
どうすべきでしょうか?

730:デフォルトの名無しさん
17/12/17 22:22:18.95 sFu7AEYs.net
>>713
いい機会なのでトランザクションについて調べてみるでFA

731:デフォルトの名無しさん
17/12/17 22:25:31.50 ZCl426tV.net
なんがどうなれば危険なのかしらんが、そんなものはその関数の実装によるわ

732:デフォルトの名無しさん
17/12/17 22:27:39.83 sFu7AEYs.net
>>713
序盤の入金出金の説明がわかり易かった
URLリンク(itpro.nikkeibp.co.jp)

733:デフォルトの名無しさん
17/12/18 09:06:05.17 325qmzym.net
>>711
ef噛まして楽観的排他制御でfa

734:デフォルトの名無しさん
17/12/18 09:47:39.52 BBY2VQE+.net
排他制御なんて自分でやらなくてもDB側で勝手にやってくれるんじゃないのか?

735:デフォルトの名無しさん
17/12/18 09:50:45.06 /wskk4Cx.net
public static double keisuu(string mojiretu)
{
switch (mojiretu)
{
case "aaa": return 1.2; break;
case "bbb": return 1.6; break;
default: return 0; break;
}
}
全てのbreakのとこで到達できないコードが検出されました
と出るのですが何がいけないのでしょうか

736:デフォルトの名無しさん
17/12/18 09:53:30.03 I3I0Txu7.net
>>719
returnしたらbreakに到達出来ないからbreakは要らない

737:デフォルトの名無しさん
17/12/18 09:58:58.14 /wskk4Cx.net
ありがとうございます!

738:デフォルトの名無しさん
17/12/18 10:05:08.96 /wskk4Cx.net
break消してもフォールスル―とかにはなりませんよね?

739:デフォルトの名無しさん
17/12/18 10:19:47.17 I3I0Txu7.net
なりません

740:デフォルトの名無しさん
17/12/18 11:01:50.77 /wskk4Cx.net
ありがとうございます!

741:デフォルトの名無しさん
17/12/18 20:04:12.41 +/hEAeWc.net
>>718
楽観的に考えるとやってくれないが悲観的に考えるとやってくれる。

742:デフォルトの名無しさん
17/12/18 20:15:27.26 pniu1iMQ.net
上手いこと言ってる場合ですか

743:デフォルトの名無しさん
17/12/18 21:09:49.51 ce0jsCws.net
>>711
状態を持っていない関数なら安全
フツーのstatic関数はこれなハズ
immutableな状態を持つ関数も安全
mutableな状態を持つ関数ならそれを作った人を処刑すべきw

744:デフォルトの名無しさん
17/12/18 21:33:23.50 6wmobrlb.net
それは甘い
例えばConsole.Writeは当然状態と持たないが、
何か適当な文字列(πでも聖書でも何でもいい)を少しずつ標準出力に
書き出すメソッドを2つのスレッドで実行したらどうなる

745:デフォルトの名無しさん
17/12/18 21:40:21.06 +HXT0ym6.net
パソコンが爆発する

746:デフォルトの名無しさん
17/12/18 21:42:12.35 YSeGcmGL.net
Consoleクラスってスレッドセーフじゃなかったっけ

747:デフォルトの名無しさん
17/12/18 21:54:40.33 aYaUR9Gg.net
コンボボックスで中身を設定するときコードを書いてロード時に呼び出す方法以外に、visualstadioでコードを書かずに中身を設定するような機能はないのでしょうか?
そういうコントロールなどないでしょうか?

748:デフォルトの名無しさん
17/12/18 21:56:53.79 z1EessDi.net
>>731
画面編集モードのプロパティウィンドウから設定できるじゃん

749:デフォルトの名無しさん
17/12/18 21:57:37.55 ce0jsCws.net
>>728
残念ながら「コンソール」と言う外部IOを持っているんだよ

750:デフォルトの名無しさん
17/12/18 22:15:16.76 ce0jsCws.net
>>730
せやね

751:デフォルトの名無しさん
17/12/18 22:18:38.50 aYaUR9Gg.net
>>732
助かりました感謝します

752:デフォルトの名無しさん
17/12/18 22:53:45.36 kRxIzXOP.net
URLリンク(ideone.com)
上のようなjson形式があった場合にTestのcount,pageは問題なくデシリアライズできるのですがPersonのname,ageは下のように書いてみてもまったくできません
var Test = JsonConvert.DeserializeObject<Test>(Json);
foreach (var r in Test.status)
{
Console.WriteLine(r.name);
}
Json.netを使っているのですがどのようにしたらいいでしょうか?

753:デフォルトの名無しさん
17/12/18 23:11:52.12 3CP1/jFn.net
>>736
URLリンク(beachside.hatenablog.com)
これ参考にJsonConverterを継承すりゃいいんじゃねーの?

754:デフォルトの名無しさん
17/12/18 23:28:28.84 pniu1iMQ.net
>>736
ワシの環境だとこれで成功したんだがどこがやりたいことと違うんやろう
URLリンク(ideone.com)

755:デフォルトの名無しさん
17/12/19 00:49:42.79 aZpIRKJe.net
>>737
その2 JsonConverterを使ってデシリアライズの10行目p.nameでnameが見えずエラーになります…
>>738
デバックを行うと
foreach (var r in Test.status
{
Console.WriteLine(r.name);
}
のrの部分がnullになり結果が何も表示されません
cvrl + spaceでr.name自体は出るのですが…

756:デフォルトの名無しさん
17/12/19 00:53:59.81 ySpyuYdG.net
>>739
変数名Testを違うのに変えてもダメですか?

757:デフォルトの名無しさん
17/12/19 01:03:43.75 aZpIRKJe.net
>>740
deserializeに変えてみても駄目ですね
とりあえず今日は寝て明日先輩にも聞いてみます

758:デフォルトの名無しさん
17/12/19 07:59:35.15 ChgNtW7Q.net
c#にレクトトラッカーってないですか?

759:デフォルトの名無しさん
17/12/19 08:27:59.60 JkA1xsmg.net
非同期な複数のスレッドから、staticクラスの中のstreamwriterでcsvにログを書いてます
タイミングにより、ファイル競合?ロック?するようで、一つのスレッドからしかログが出力されません
ロック解除を待機するみたいなことはどうやるのでしょうか?

760:デフォルトの名無しさん
17/12/19 08:36:09.07 ChgNtW7Q.net
>>743
俺、そういうログ一生懸命作ろうとしたらスレッド毎にログ出してよって言われたよ
結局待ちが発生すると
ログの発生タイミングっていうか順序が全くの嘘っぱちになっちゃうじゃん
そんなゴミいらねーって言われたぜ
上司がいるならちょっと仕様確認オススメ

761:デフォルトの名無しさん
17/12/19 08:44:00.33 LhTNVyY+.net
Queue使えば


762:よくね ログ出力メソッドはエンキューするだけ ログ出力はワーカスレッドでのんびりやればいい



763:デフォルトの名無しさん
17/12/19 09:13:04.87 nH54/Jdj.net
素直にLoggingライブラリ使う
メンテナンスする人の気持ちも考えなきゃ

764:デフォルトの名無しさん
17/12/19 09:18:25.50 yH1cU4+B.net
いつも思うけど、やっぱAutoRrsetとかのイベント付きキューなんてないの?

765:デフォルトの名無しさん
17/12/19 09:53:23.28 33gf6qei.net
>>747
BlockingQueueのコンストラクタにConcurrentQueueを渡す

766:デフォルトの名無しさん
17/12/19 10:25:11.81 OVvTmQOX.net
BlockingCollectionだな
ちなみにコンストラクタに基になるコレクション渡さなかったら既定でConcurrentQueueが使われる

767:デフォルトの名無しさん
17/12/19 10:28:02.49 gf33i/87.net
>>743
SeriLogの実装みてみ

768:デフォルトの名無しさん
17/12/19 10:32:13.69 NMj9FFtI.net
やってみた感じぶっちゃけ難しい
片方のスレッドが超忙しいとき待ちが発生すると他のスレッドが全く動かなくなっちゃう

769:デフォルトの名無しさん
17/12/19 11:33:40.95 Ck77l9Yv.net
もう書いてる人がいるけど、前後関係が重要なら文字通りバッファーを設けるだけだよね
ライブラリのQueueは使いづらいからたぶん自作することになるけど、そんな難しくない

770:デフォルトの名無しさん
17/12/19 11:52:48.64 VR9xxmjw.net
Nlogじゃないの?

771:デフォルトの名無しさん
17/12/19 12:08:45.23 K2Dj0raT.net
C#特有というわけでは無いですが、例えば抽象クラス「費用」を作った後、費用合計を求めたい場合、費用の各サブクラスから値を取得し合算するのと「費用合計」クラスを作って、そこだけに問い合わせるの、どちらが良い作りでしょうか

772:デフォルトの名無しさん
17/12/19 12:10:26.76 yH1cU4+B.net
>>748
>>749
へーそうかい!?
調査してみるよ。
ありがとうね

773:741
17/12/19 12:37:26.95 JkA1xsmg.net
順序は気にしません
2つのスレッドそれぞれから1回/秒ずつ出力されるだけです

774:デフォルトの名無しさん
17/12/19 12:43:08.19 tMFeAU0g.net
>>754
サンプルコードを見せてよ

775:デフォルトの名無しさん
17/12/19 14:22:15.69 Ck77l9Yv.net
>>754
何を聞きたいのかよく分からないw
たぶん俺だけじゃないと思う
とりあえず「費用合計」クラスは普通に考えればない
合計を求める費用を集約しているオブジェクトがあるなら、そのオブジェクトに
合計させる(LINQのSum使ってもいいし自分でメソッドかプロパティを書いてもいい)のが普通
そんなものなくても配列にでもぶち込んでLINQ使うだけじゃないの?

776:デフォルトの名無しさん
17/12/19 14:32:35.77 f0pyN6AV.net
いやなかなかいい質問だと思うよ
初心者でそこに気付けるのはいい視点だと思う
素質がある
中級者でもそこに全然思いが至らない人がいて困る
素質のない人だ

Sumを呼ぶとその時点で計算が行われるのことが困る場合がある
10個スレッドがあってそれぞれでSUM呼ばれて値が一致しないとか
そのつどDB読んじゃって負荷がかかりすぎるとか

777:デフォルトの名無しさん
17/12/19 14:44:56.70 /RoT047O.net
>>754
費用クラスが合って費目毎にインスタンスを作るとか
費用合計クラスとか
何かを大きく勘違いしている

778:デフォルトの名無しさん
17/12/19 14:45:53.04 /RoT047O.net
才能なし最下位確定じゃ

779:デフォルトの名無しさん
17/12/19 14:47:19.61 RU/P54BS.net
費用合計の仕様次第じゃん

780:デフォルトの名無しさん
17/12/19 14:53:12.54 m20tEW6J.net
>>761
おまえ顔にハナクソ付いてんぞ

781:デフォルトの名無しさん
17/12/19 14:55:25.58 /RoT047O.net
ウンコ確定

782:デフォルトの名無しさん
17/12/19 14:57:42.73 RU/P54BS.net
>>763
NG
ハナクソに顔が付いてる可能性を除外できてない

783:デフォルトの名無しさん
17/12/19 14:57:48.67 vDUVA/Ha.net
>>764
おじいちゃん口臭いですよ^^

784:デフォルトの名無しさん
17/12/19 15:02:05.90 /RoT047O.net
それケツだ

785:デフォルトの名無しさん
17/12/19 15:58:21.40 f0lLnGqp.net
ASP.NET MVCのControllerの処理で、そこだけでちょちょっと利用する
関数などが沢山増えて来てコードが数千行になって来たのだが、
そう言う関数はどこに置けばいいの?
MVPクラスの人の回答をお願いします。

786:デフォルトの名無しさん
17/12/19 16:10:19.74 RU/P54BS.net
partialだな(by一般兵)

787:デフォルトの名無しさん
17/12/19 16:37:05.61 EJrHySC4.net
partialとかブッコイて一般兵気取りかよw
見習いもいいとこだぜ。入隊前じゃねぇの?

788:デフォルトの名無しさん
17/12/19 16:41:36.67 0zOqWbHM.net
>>768
初心者スレにMVPクラスの人はいない
regionとTODOで整理したらいいだけじゃね

789:デフォルトの名無しさん
17/12/19 16:53:03.26 8WX8gLVn.net
Controllerに何でも詰め込むからだろ
Modelにやらせればええのだ

790:デフォルトの名無しさん
17/12/19 17:05:55.38 RU/P54BS.net
>>770
代案を出せよMVP

791:デフォルトの名無しさん
17/12/19 17:48:31.52 TOTUMgYQ.net
俺が呼ばれた気がした

792:デフォルトの名無しさん
17/12/19 17:52:51.22 VU3/qJii.net
昔は相談室とこのスレにあの人が住んでたんだけどね
今もいるんだろうか?

793:デフォルトの名無しさん
17/12/19 18:37:30.91 ayXhJHgO.net
>>768
決まった答えはない
責務に応じて分割するだけ

794:デフォルトの名無しさん
17/12/19 18:40:59.36 J+VWEpvK.net
「決まった答えはない」とか言うの決まった答えしかできない奴よくいるよねw

795:デフォルトの名無しさん
17/12/19 18:53:48.71 JM38580+.net
>>777
日本語www

796:デフォルトの名無しさん
17/12/19 21:56:50.83 cjNZWQaj.net
費用合計クラスの者ですが、以下のようなクラス設計をしました(実装は一応英語です)
public abstract class 費用
{
public abstract int 金額();
}
public class 支払家賃 : 費用
{
public override int 金額()
{
return 100;
}
}
class 水道光熱費 : 費用
{
public override int 金額()
{
return 200;
}
}
費目が増えても多態で対応できるのでオブジェクト指向しているなと思ったのですが
費用合計を出すのに都度インスタンスを作るのがなんだか野暮ったく
一般的なやり方をしているのか気になり投稿しました
このような書き方は、何か問題があるでしょうか?

797:デフォルトの名無しさん
17/12/19 22:01:25.18 vSkEKb16.net
データベース使いなさい

798:752
17/12/19 22:02:23.97 cjNZWQaj.net
ちなみに、費用クラスで各費目を管理し
費用合計や各費目の値を返すメソッドを作ろうと思ったのですが
抽象クラスに「費目」という名前を使ってしまったので
テンパっています
OOは命名が難しいなと

799:デフォルトの名無しさん
17/12/19 22:05:19.18 N/VqY3nf.net
ありがちな形にこだわるタイプか
継承しなきゃならないほど金額()が込みいっているのかは置いておいて「動けばいいんだよ」

800:デフォルトの名無しさん
17/12/19 22:06:13.10 MJol/7NU.net
全体見てないからなんとも言えんけど
その粒度でクラス作るとクラス図ってどうなるの?
2000項目あったら2000クラス作るの?
って心配になった
あとは動けばいいよ

801:デフォルトの名無しさん
17/12/19 22:12:15.71 7vxZYYFe.net
>>781
だから悪いけど結局何が聞きたいのか伝わってないと思うよw
public static class 費用
{
  public const int 支払家賃 = 100;
  public const int 水道光熱費 = 200;
  public const int 総費用 = 支払家賃 + 水道光熱費 ;
}
なんかこれで問題ないようにも聞こえるけどこれじゃダメなの?

802:デフォルトの名無しさん
17/12/19 22:12:45.55 XIiNWcV9.net
>>779
才能無し、問題外
以上

803:デフォルトの名無しさん
17/12/19 22:13:51.01 ySpyuYdG.net
>>785
クッサw
死ねよハゲ^^

804:デフォルトの名無しさん
17/12/19 22:15:56.11 XIiNWcV9.net
>>786
センスの欠片もない
キミにプログラム開発は無理

805:デフォルトの名無しさん
17/12/19 22:17:09.67 ySpyuYdG.net
>>787
口臭いです^^
歯磨きサボらないで下さい・・・

806:デフォルトの名無しさん
17/12/19 22:20:34.71 XIiNWcV9.net
>>788
ここまで酷いのは見たことがない
誰かが適切なアドバイスをしたとしてもキミは斜め45度下へぶっとぶだろう
上ではなく下だwww

807:デフォルトの名無しさん
17/12/19 22:21:50.93 Li3fAhD+.net
どうやったらこんなつまんないレスを返せるんだよ...
重症やな w

808:デフォルトの名無しさん
17/12/19 22:24:47.20 ySpyuYdG.net
>>789
顔赤くなってますよ^^
もっとクールなキャラだったような気がします・・・

809:デフォルトの名無しさん
17/12/19 22:29:22.36 f0lLnGqp.net
MVPクラスの人は居ますか?

810:デフォルトの名無しさん
17/12/19 22:30:42.82 MJol/7NU.net
>>792
>>779をエントリーしといた

811:デフォルトの名無しさん
17/12/19 22:30:56.03 XIiNWcV9.net
>>791
余りにも寒いコードを見たものでなw

812:デフォルトの名無しさん
17/12/19 22:32:05.29 7vxZYYFe.net
VIP患者なら大勢いるねw

813:デフォルトの名無しさん
17/12/19 22:35:08.57 ySpyuYdG.net
>>794
誰と勘違いしているのでしょう・・・
IDはちゃんとチェックしましょうね^^

814:デフォルトの名無しさん
17/12/19 22:38:19.96 XIiNWcV9.net
>>796
>>779 の同類だろwww

815:デフォルトの名無しさん
17/12/19 22:41:32.93 ySpyuYdG.net
>>797
おやおや・・・
とても都合の良い解釈ですね^^
右も左も分からない初心者に「センス無し、問題外」なんて冷たい言葉をかけるのはやめましょうね・・・

816:デフォルトの名無しさん
17/12/19 22:50:03.39 z/JS3u8x.net
まあ、自分が駆け出しの頃に上司にそう言われたことの腹いせにここで鬱憤晴らしてるんだろうなぁ....

817:デフォルトの名無しさん
17/12/19 23:01:26.33 MJol/7NU.net
別にどう組んでも動くし
正解はないのかもな
ただ、この言語で表現できる中規模のまとまりをそんなプロパティレベルのもんに使われると粒度の把握がし難いなと
結局設計の良し悪しなんてソイツの気分だからね

818:デフォルトの名無しさん
17/12/19 23:48:04.54 QDUgEa5j.net
例が例だから粒度的におかしいけどこんなこともできますよ的な…
Addで費用つっこんで使える
Removeとか全部略
public class 費用リスト
{
long sum = 0;
public long 合計 => sum;
List<費用> list = new List<費用>();
public ReadOnlyCollection<費用> 品目 { get;}
public 費用リスト()
{
品目 = new ReadOnlyCollection<費用>(list);
}
public void Add(費用 hiyo)
{
if (hiyo == null) { return; }
sum += hiyo.金額;
list.Add(hiyo);
}
}

819:デフォルトの名無しさん
17/12/20 00:00:42.82 +SxGwy2+.net
わざわざ費目をクラスで分けている理由のことじゃないの?
>>801だけなら別に必要ないかと。

820:デフォルトの名無しさん
17/12/20 05:02:03.39 /+M3aR4Y.net
>>779
例として固定値を返していると仮定
金額が費用の状態によって複雑になるなら有な考え方だと思う

821:デフォルトの名無しさん
17/12/20 05:27:10.69 uEdWuAdp.net
ねーな
業務上3000とか4000とか値扱ってる奴のが多いだろ
こういう組み方見るだけでうげっとする
じゃあ、構造を把握するためにクラス図でも見てみよーかって
資料開いた瞬間閉じるわ

822:デフォルトの名無しさん
17/12/20 06:24:16.03 w7lpXa1y.net
プログラムセンスのあるヤツなら最初からやらない間違いで
残念ながら矯正不能なんだわ

823:752
17/12/20 07:08:03.81 FojWkfgf.net
費目が8個なのでサブクラスに各費目クラスを作ったのですが。。。
サブクラスは何個くらいが適当なのでしょうか
10個超えるとアウトでしょうか

824:752
17/12/20 07:15:48.78 FojWkfgf.net
ちなみに費目をクラスで分けた理由は、費目ご


825:とにちょっと込み入った算出処理をするので、それぞれを閉じ込めておきたいと思いました でも、費用が最小の粒度の方が一般的な雰囲気ですね 急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです



826:デフォルトの名無しさん
17/12/20 07:35:47.88 +xQghQuB.net
>>807
ならサブクラスでいいよ
ここの連中は単純な家計簿みたいなツールを前提に話してる
そうじゃなく対象が複雑なら話は変わる

827:デフォルトの名無しさん
17/12/20 07:42:10.14 uEdWuAdp.net
>>808
変わるかなぁ?
日○とか三○でもそんなの見たことないよ
ちなみにそこだと項目数が10万とか超えちゃってるかんね
それ全部クラス作ったらw

828:752
17/12/20 07:53:51.41 JgbCLwPB.net
>>808
クラス分けしても悪くはないですか
ありがとうございます
ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い
プログラムは難しいとしみじみ思いました

829:デフォルトの名無しさん
17/12/20 07:59:44.59 +xQghQuB.net
>>809
対象としてるドメインが違うだろ
呆れるわ

830:デフォルトの名無しさん
17/12/20 08:14:04.00 XFxcCwxD.net
業務アプリの設計なんかDFD描いてトランザクションスクリプトでいいよ
開発者全員が相当慣れてない限り、まともなオブジェクト指向でスケールさせるのは現実的に無理

831:デフォルトの名無しさん
17/12/20 08:17:09.42 dzFn8RAE.net
費目の数が10万!?
ないわー w

832:デフォルトの名無しさん
17/12/20 08:20:29.69 dzFn8RAE.net
>>810
> ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い
個々の費目で合計なんて求めようがないと思うが...
合計の算出は費目を束ねるクラスでやるべき話じゃね?

833:デフォルトの名無しさん
17/12/20 08:23:01.94 TnQp+4qQ.net
それ以前に、費用の集計なんかSQLでいいよ

834:デフォルトの名無しさん
17/12/20 08:44:12.56 uEdWuAdp.net
>>813
余裕っしょ
設定数100個の部品が100個あっただけでもう一万よ
でかい機械で部品数たった100個とかありえないから10万は確実に超える
もっとあるだろうなぁ

835:デフォルトの名無しさん
17/12/20 08:44:55.30 apLR0/3w.net
>>807
にわかプログラマーならオブジェクト指向に拘るより
もっと単純な仕組みでやったほうが良いね
目的がオブジェクト指向になって簡単なものを複雑にしてる気がする

836:デフォルトの名無しさん
17/12/20 09:24:55.44 CxRyWMoc.net
急遽プログラムやれと言われてこれだけオブジェクト指向理解したならすごいな

837:デフォルトの名無しさん
17/12/20 09:30:51.88 apLR0/3w.net
費目毎のクラス分けは目眩がするけど

838:デフォルトの名無しさん
17/12/20 09:30:52.50 gjQwmCKz.net
>>806
ケースバイケース

839:デフォルトの名無しさん
17/12/20 09:33:53.14 gjQwmCKz.net
>>810
非常にセンスが良い
自信持って良い
注意点はおかしな現場(こっちの方が多数派だったりするがw)へ行った時に絶望しないことかな

840:デフォルトの名無しさん
17/12/20 10:12:49.94 IdA1DVd/.net
授業でC言語ちょっとやっただけでオブジェクト思考はちっとも理解してないから>>779がそんなに悪いのかわからない
費用ってクラスを使って家賃、光熱費のインスタンスを作るようにしたらいいのか?

841:デフォルトの名無しさん
17/12/20 10:28:45.17 GdnGy9ZB.net
>>801
sum += hiyo.金額;
エラー CS0019 演算子 '+=' を 'long' と 'メソッド グループ' 型のオペランドに適用することはできません
と出るのですが、正解を教えて下さい。

842:デフォルトの名無しさん
17/12/20 10:30:50.20 irahYJNV.net
元の奴が金額がメソッドになってるけど
それはプロパティになってる
というか金額をメソッドにしちゃだめ
元のコードがダメ

843:デフォルトの名無しさん
17/12/20 10:36:11.97 GdnGy9ZB.net
>>824
このエラーが出ている行を
エラーが出ないように修正する方法を教えて下さい。

844:デフォルトの名無しさん
17/12/20 10:38:08.67 irahYJNV.net
>>779の�


845:@金額をメソッドからプロパティに書き直す



846:デフォルトの名無しさん
17/12/20 10:44:45.87 N4PPX6u2.net
どーせ()忘れ

847:デフォルトの名無しさん
17/12/20 10:47:18.91 GdnGy9ZB.net
>>826
>>827
文章で説明して頂いても理解出来ないので
完全版のコードを掲載して頂けると有難いです。

848:デフォルトの名無しさん
17/12/20 10:50:33.77 irahYJNV.net
プロパティが自分で書けないならここからコード書いてても無駄だよ
早く勉強しろよ

849:デフォルトの名無しさん
17/12/20 10:53:01.07 hctoYabD.net
>>828
hiyo.金額()

850:デフォルトの名無しさん
17/12/20 11:01:57.32 GdnGy9ZB.net
>>830
ありがとうございました。

851:デフォルトの名無しさん
17/12/20 11:04:38.98 irahYJNV.net
煽りでも何でもなく
プロパティが自分で書けないならここからコード書いてても無駄だよ

852:デフォルトの名無しさん
17/12/20 11:11:07.65 hctoYabD.net
あ、そすか。

853:デフォルトの名無しさん
17/12/20 11:19:04.73 fz4ulcZ2.net
>>824
金額をメソッドにしちゃダメな理由を3行で

854:デフォルトの名無しさん
17/12/20 11:44:22.53 EHvPlft0.net
まあ普通に考えればメソッドなら金額計算みたいに動詞的にしろよとは思うな
日本語メンバ名だと曖昧だけど

855:デフォルトの名無しさん
17/12/20 11:48:55.09 884JsNpl.net
まだやっていたんだ、簡単なことを難しくするバカのお手本

856:デフォルトの名無しさん
17/12/20 11:50:57.09 Wpgvy9KL.net
そうですか^^

857:デフォルトの名無しさん
17/12/20 11:55:45.07 yB/d6H1Y.net
>>836
同意する

858:デフォルトの名無しさん
17/12/20 11:57:47.91 uig5CTB+.net
初心者に説教するアホ多過ぎ
弱いものイジメはイクナイ(´・ω・`)

859:デフォルトの名無しさん
17/12/20 12:04:02.26 Cxfy3ZNg.net
>>754の人はたぶんネタなんだろうね。
結局何が聞きたいのか明確にしろって言っても答えないし
ネタのつもりなら何が面白いのかさっぱり分からんが
こんな曖昧な質問に曖昧なまま答える奴も頭どうかしてると思うけど

860:デフォルトの名無しさん
17/12/20 12:05:42.91 MbxWSbMs.net
マジでネタと思ってる奴って頭どうにかしてるよね

861:752
17/12/20 12:15:20.79 qNzSCdz1.net
>>840
費用のようなものを費目単位でクラス化したのですが、一般的にはどうなのでしょうかと質問したつもりですが、意図が伝わらなかったみたいですみません
結論としては、費用をクラスとし、費目メソッドを数分作る方が一般的なのかなという結論に辿り着きました
色々と参考になりました

862:752
17/12/20 12:20:38.93 qNzSCdz1.net
>>840
モデリングの対象次第で答えが変わるもの、答えようが無いということなのでしょうね
最近やっと覚えた抽象クラスを使いたかっただけかもと言われたらそうかも知れません
反省しています

863:752
17/12/20 12:41:55.46 qNzSCdz1.net
最後にすみません。ある条件で作業時間×レートが費用になるので、費用クラスと作業時間クラスを費用算出メソッドを持つインターフェースで継承させようと思うのですが、インターフェース名が「費用算出」はセンスが無いでしょうか?
インターフェースを使えばコードが仕様を語ってくれるのではと期待しているのですが基本情報資格も持っていない自分にはこれで良いのか解らず
実務経験豊富な諸兄にお尋ねしたい次第です

864:デフォルトの名無しさん
17/12/20 12:45:22.87 yB/d6H1Y.net
レートクラスは無いのん?

865:デフォルトの名無しさん
17/12/20 12:49:20.00 dzFn8RAE.net
>>816
お前は費目の意味わかってないだろ...
部品一個一個に異なる費目がつくんじゃねーぞ w
クラスとインスタンスの違いも理解してないと見た

866:デフォルトの名無しさん
17/12/20 12:51:34.80 dzFn8RAE.net
>>839
てか、説教してるつもりの奴の方がレベル低いし w

867:デフォルトの名無しさん
17/12/20 12:53:14.86 dzFn8RAE.net
>>844
俺は算出って用語をあまり見ないから少し違和感あるけどまあそれで違和感ないならいいんじゃね

868:デフォルトの名無しさん
17/12/20 13:49:49.11 bqoc1RuE.net
>>846
違うよ
こんな細かい項目クラスにしちゃって全体の粒度はどうなるの?って話

869:デフォルトの名無しさん
17/12/20 13:51:39.57 bqoc1RuE.net
やっぱり設計のときにクラス図書かせるべきだな
あまりにも小さい項目いちいちクラスで構えるつもりならそれも全部
クラス図として書いてもらおう

870:デフォルトの名無しさん
17/12/20 17:45:30.12 dzFn8RAE.net
>>849
だから費目が10万とかはあり得んだろって話
うちの会社はそこそこの規模で結構色々手掛けてるけどそれでも経理関係の費目コードは50ぐらいしかない
当然大分類、中分類、小分類と階層化されてるからそれに合わせて継承させればいい
まあうちの会社の情シスはそこまでやってなくて費目コードを見て分岐してそうだけど w

871:デフォルトの名無しさん
17/12/20 17:53:32.28 kZMVhJ0h.net
>>851
じゃそれでもいいけど
それだけで50個クラスできるんでしょ?
クラス図どうなるの?クラス50個作るん?
って言いたいわけよ
結局設計ってさ
わかりやすいか
わかりにくいか
だけなんだよね
上下のわからんクラスって粒度を
そんなちっぽけなもんに使うと
全体が見えなくなっちゃうんだよ
費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
この方針はオススメできないね俺は
まあ、どう組んでも動けばよいのであくまでオススメの域

872:デフォルトの名無しさん
17/12/20 17:57:31.91 0mbmAU0+.net
50個のクラスができるものをクラス使わずにごちゃ混ぜにしたら余計にわけわからんだろ
こういう話題で数が増えたらどうするの?って反論するやつが必ず現れるけどそれ墓穴掘ってるだけだぞ


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