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個のクラスができるものをクラス使わずにごちゃ混ぜにしたら余計にわけわからんだろ
こういう話題で数が増えたらどうするの?って反論するやつが必ず現れるけどそれ墓穴掘ってるだけだぞ
873:752
17/12/20 18:12:27.89 PXZlLTCM.net
>>845
レートクラスは必要かも知れないですね
まだまだ考慮不足でした
874:デフォルトの名無しさん
17/12/20 18:25:24.19 AIjICjtT.net
データが構造を持ってしまうと、別の使い方をする時に手間が増えるだけなんだよ
データはデータでクラスにする必要なんかまったく無い
875:デフォルトの名無しさん
17/12/20 18:31:13.93 dzFn8RAE.net
>>852
> クラス図どうなるの?クラス50個作るん?
必要なら作るだけだろ
> 上下のわからんクラスって粒度を
> そんなちっぽけなもんに使うと
> 全体が見えなくなっちゃうんだよ
それお前さんの管理能力の問題...
> 費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
世の中の会計ソフトとか見てみな
もしくは自分の会社の経理担当者に聞けばわかると思うよ
> この方針はオススメできないね俺は
別にお前もそうしろなんて言ってないから勝手にやってなよ
876:デフォルトの名無しさん
17/12/20 18:47:00.16 n3mgdNKt.net
>>855
別の使い方する時点で分析設計ミス
877:デフォルトの名無しさん
17/12/20 18:56:33.13 R/x04Nlq.net
>>856
残念ながら、世の中の会計ソフトなんかほぼ100%トランザクションスクリプトだよ
878:デフォルトの名無しさん
17/12/20 19:01:31.53 6oreCn9e.net
>>853
好きなようにすればいいよ
ただ、お前のクラス図に50個のクラスが並ぶだけ
879:デフォルトの名無しさん
17/12/20 19:08:20.84 dzFn8RAE.net
>>858
なんの話をしてるんだよ w
880:デフォルトの名無しさん
17/12/20 19:13:04.16 w7lpXa1y.net
費目、時間単価、時間がそれぞれ独立したクラスか
めまいを禁じ得ない
881:デフォルトの名無しさん
17/12/20 19:35:42.09 n3mgdNKt.net
それらが同じクラスに混在する方が目眩するわ
882:デフォルトの名無しさん
17/12/20 19:59:30.76 +lUILV8P.net
で、最終顧客がのぞむ要求に答えられるアプリケーションなのかと
883:デフォルトの名無しさん
17/12/20 20:00:24.04 1pJRigF6.net
全体を把握しないと作業に取り掛かれないなら
既にクラス設計として破綻してるとしか
884:デフォルトの名無しさん
17/12/20 20:45:21.17 QInM5P3Y.net
結局要件があいまいだから何とも言えんけど普通に考えれば費目ごとに派生するのはないね。
せっかくC#にはデリゲートがあるんだから、費目で違う処理はコンストラクタで
デリゲート食わせて対応できるし、その上でプロトタイプパターン適用した方が分かりやすいと思うよ。
もちろん費目ごとの固有の処理が費目固有のプロパティに依存するような場合は
885:継承を使うしかないけどね
886:デフォルトの名無しさん
17/12/20 21:00:51.80 D80mgGFK.net
費目はクラスじゃなくてデータにするべきものでは在るが、初心者が「そう言われたから」って理由でやるより
何故そうなのかを理解してやるのは悪いことじゃない
自分で考える人を挫くスタイルはあまり感心しないな
887:デフォルトの名無しさん
17/12/20 21:05:35.30 n3mgdNKt.net
種類によって振る舞いが違うって要件なのにデータで扱うとか呆れるわ
どんだけswitchする気だよ
888:デフォルトの名無しさん
17/12/20 21:15:55.31 dxH3+214.net
> 自分で考える人を挫くスタイルはあまり感心しないな
マウントしたいだけやろ
今回は質問者の方がレベル高いからアホみたいなことになってるけど w
889:デフォルトの名無しさん
17/12/20 21:16:44.49 R/x04Nlq.net
>>867
アホ
全く別のデータ項目をどうやったら混同できるんだ
890:デフォルトの名無しさん
17/12/20 21:22:03.45 n3mgdNKt.net
>>869
全く別のものを混同して同じデータ構造でごちゃ混ぜに扱おうとしてるのがデータフロー派だぞ
俺や質問者は異なる物は異なるクラスにしろっていうオブジェクト指向派な
むしろ真逆だわ
891:デフォルトの名無しさん
17/12/20 21:33:44.71 6oreCn9e.net
>>870
何でこんなくだらないものいちいちクラスにするんだ
クラス図書かないからこんな蜘蛛の巣みたいなクラス図作って平気な面してんだろお前
892:デフォルトの名無しさん
17/12/20 21:35:40.32 R/x04Nlq.net
>>870
混ぜて使いたいからクラスにするんだと思ってたんだが違うのか?
全く別物として区別して扱うんなら行全体を1クラスにして複数のフィールドで持つのと大差ないと思うけど?
893:デフォルトの名無しさん
17/12/20 21:49:04.68 ie4nb91k.net
費用と言っても材料費、人件費、、減価償却費、貸倒引当金など性格や扱いの異なるものを同じ基底から派生させるのはどだい無理がある
集計したいだけなら金額を取得するインターフェイスを実装する方が賢い
894:デフォルトの名無しさん
17/12/20 22:10:01.13 n3mgdNKt.net
>>871
アホほど条件分岐書いて平気な顔してるやつに言われたくない
きみさクラス図どころかオブジェクト指向すらしたことないだろ?
>>872
同じ規約で異なるものを集めるのと
異なるものをただひとつのものとするのと
全く違うことだ
混ぜるという言葉の使い方を見極めろ
895:デフォルトの名無しさん
17/12/20 22:10:03.47 WriG98aZ.net
List〈string[]〉の型をstring[]の特定の列をキーにしてソートしたいんですけど
List.Sort(x => x[1]);
のような書き方はできないのでしょうか?
List〈class〉を用意するしかないのでしょうか?多分Listの中の配列にもLINQ使えそうなんですが・・・
テストで試しに動かしたいだけなのにわざわざclassを書くのが大変なので・・・
896:デフォルトの名無しさん
17/12/20 22:18:17.41 gjQwmCKz.net
>>875
Sortは過去の遺物
OrderBy使っときなさい
897:デフォルトの名無しさん
17/12/20 22:26:57.08 6oreCn9e.net
>>874
でもさ
クラス図書いたら君のはこんなくだらない処理でクラスが50個も並んでるんだぜ
どの辺がいいプログラムなの?
他のも合わせれば5-600は行くんじゃない?
正しいクラス図なんて一度も書いたことないっしょ?
おそらく資料見てもこのクラスは記述があるけどこのクラスは記述がないなぁ
ってもんを平気で作っちゃうでしょ?
898:デフォルトの名無しさん
17/12/20 22:31:22.52 n3mgdNKt.net
>>877
そのドメインがそういうものなら何百クラスだろうがクラスで書くのが正しい
それがそのドメインでは最も簡潔で正しい姿なんだよ
そこを曲げてデータ区分や条件分岐で雑なコードを書いたら
クラス数は増えないかもしれないがコードの複雑度が爆発的に高まるだけ
なぜなら数百クラスが個々に持つべき振る舞いが同じクラスに区別なく同居してしまうんだぜ?
ろくなことにならないよ
899:デフォルトの名無しさん
17/12/20 22:32:30.67 WriG98aZ.net
>>876
OrderByも試したんですがこのラム�
900:_式だと意図した動作にならないです とりあえずList〈class〉で素直に書いてみますが、ラムダ式のキーに配列やListのインデックス指定して使うのは無理なんでしょうか?
901:デフォルトの名無しさん
17/12/20 22:33:13.38 GdnGy9ZB.net
>>875
>型をstring[]の特定の列をキーにしてソートしたいん
ってどういう事ですか?
型をソートするの意味が分かりません。
初心者なので詳しく教えて下さい。
902:デフォルトの名無しさん
17/12/20 22:35:03.12 QInM5P3Y.net
意図した動作にならないのをバグっていうんだと思いますw
903:デフォルトの名無しさん
17/12/20 22:36:47.64 6oreCn9e.net
>>878
そもそも設計書で四角で囲って強調すべき単位なの?費目って
オブジェクト指向も自分解釈でおおよそ一般人がオブジェクトなんてしない単位でオブジェクトを作ってるよね?
904:デフォルトの名無しさん
17/12/20 22:40:38.82 D80mgGFK.net
>>878
結局DBに入れて永続化しなくちゃいかんわけで、その用途考えると数百のクラスとかありえんのさ
EFで扱える範囲で物を考えたほうが良いよ
905:デフォルトの名無しさん
17/12/20 22:42:06.35 WriG98aZ.net
>>880
ちょっと説明不足してたので補足
List〈string[]〉
{
{"1", "aa", "1個目"},
{"2", "bbb", "2個目"},
{"3", "abc", "3個目"},
{"4", "dddd", "4個目"}
}
の形があった場合、string[1]のところを基準にソートさせたいってことですね
public class test
{
public string id{get; set;}
public string text{get; set;}
public string discription{get; set;}
}
みたいな形式だった場合
list.OrderBy(x => x.text);
と同じ動作にしたいということです
906:デフォルトの名無しさん
17/12/20 22:54:00.94 QInM5P3Y.net
>>884
そこが分からない人はいないと思うよw
逆に何が難しいの
list.OrderBy(x => Integer.Parse(x[0]));
とか、
list.Sort((x, y) => Integer.Parse(x[0]) - IntegerParse(y[0]));
ではダメなんですか?
907:デフォルトの名無しさん
17/12/20 22:55:43.46 QInM5P3Y.net
あ、やってもーたw
IntegerじゃなくてInt32ね
908:デフォルトの名無しさん
17/12/20 22:59:37.49 WriG98aZ.net
>>885
classでも試してだめでした
それで動かなかったので質問したのですが、classもソートされなかったのでデータ側の問題かもです
さっきのダミーデータでちゃんと挙動するか試します
909:デフォルトの名無しさん
17/12/20 23:03:12.47 n3mgdNKt.net
>>882
質問者のドメインでは書くべきものだよ
振る舞いが異なる別のものだからね
それが数百種類でそれぞれ異なるような複雑なドメインなら書くんだよ
無理やり1つのレコードに押し付けちゃダメ
逆にドメインそのものがシンプルで1つのクラスで表現すべきならそうする
きみのおかしな点は質問者のドメインを無視してきみの頭の中にあるシンプルなドメインを前提に話を進めようとするところだな
独りよがりってこと
>>883
実装はどうとでもなる
RDBにこだわる必要もない
910:デフォルトの名無しさん
17/12/20 23:06:38.88 QInM5P3Y.net
>>887
classってのが何のことかよくわからないけど、OrderByの方使ってる?
LINQのメソッドはコレクションをのものを並び替えるのではなくて
並び替えた列挙オブジェクトを返すんだけど、そこを誤解してるなんてオチではなくて?
911:デフォルトの名無しさん
17/12/20 23:17:47.14 dFGD4M7x.net
>>887
URLリンク(ideone.com)
できたよ
912:デフォルトの名無しさん
17/12/20 23:21:21.55 lugKio2h.net
書き方がわかりませんということだから並び替え方法とは違うように読めたけどな
list = list.OrderBy(x => x[1]).ToList();
もしくは
list.Sort((x, y) => x[1].CompareTo(y[1]));
とかだろ
OrderByはシーケンスが返ってくるからListにしたい場合はToListが要る
Sortは直接並び替えてるので前の状態も欲しい場合は事前にコピーしておくかな
913:デフォルトの名無しさん
17/12/20 23:23:23.48 WriG98aZ.net
>>890
ありがとうございます
var a = ~
って感じで受け取っててVSで中身無いけどどうなってるの??
IOrderedEnumerabel〈~〉型ってなんだ?ってなってましたけどforeachに直接入れないとダメなんですね
使い方間違えてました
>>889
これでした、すいません
914:デフォルトの名無しさん
17/12/20 23:26:14.46 WriG98aZ.net
>>891
あぁToList()を忘れてました
あやふやな記憶で使っててToList()使うって教わったのにすっかり忘れてました
型の返り方の説明見て、正しい扱い方覚えないといけないですねすいません
ICollectionみたいなやつとか、抽象化されてるからToListでListに明示的に変換しないとあかんやつでした
915:デフォルトの名無しさん
17/12/20 23:29:58.52 Xe3ly/H6.net
>>892
てかその構造のデータをstring[]で扱わなきゃいけない理由が何かあんの?
916:デフォルトの名無しさん
17/12/20 23:31:09.24 Xe3ly/H6.net
あ、ごめん書いてたね
917:デフォルトの名無しさん
17/12/20 23:35:13.47 WriG98aZ.net
>>894
試しにデータ群扱う時にclass宣言したり、大量のデータを型分けするのがめんどいからこういう扱い方できると楽ってだけですね
この使い方ならcsv形式にsplitでListぶち込むだけでやれるので宣言項目少なくてテストするなら楽ってだけです
DBから持って来るときは文字列型じゃなければToStringかけたりとかありそうですが
最近はEF使ってるので楽ですけどね
918:デフォルトの名無しさん
17/12/20 23:38:15.25 nn3v7K50.net
Kotlin では、ある列の値で、レコードをソートするのは以下。
年齢・名前でソートする
スレリンク(tech板:18番)
919:デフォルトの名無しさん
17/12/20 23:44:31.66 Xe3ly/H6.net
>>896
Visual Studioならjsonからクラスを自動生成できるからクラスの方が扱いやすいけどね。stringとHashtableまみれのコードとか絶対メンテできない…
920:デフォルトの名無しさん
17/12/20 23:49:35.45 WriG98aZ.net
>>898
こんな機能あるんですね!
interfaceのメソッド自動実装ぐらいしか知らなかったのでこういうの積極的に使いたいです
921:デフォルトの名無しさん
17/12/21 00:47:58.94 HdSqx1Ax.net
URLリンク(yossk.hatenablog.com)
ここの「4-3散在する情報」のサンプルコード
川俣晶の本からのコピーなんだけど
Runメソッド内で値設定したあと
CalcDistメソッド先頭で値をリセットしてるから
常に計算結果0になるように見えるんだけど
なんか俺読み間違えてる?
922:デフォルトの名無しさん
17/12/21 00:54:31.04 h7wsiOnr.net
たしかに
923:デフォルトの名無しさん
17/12/21 03:28:09.32 3KOuKcBo.net
>>888
はぁ?人件費がクラスに?
センス悪いじゃん
924:デフォルトの名無しさん
17/12/21 05:44:12.11 /dR3YALD.net
>>902
人件費と光熱費が異なる振る舞いをするなら別のクラスにするのが正しい
センスの問題じゃない常識の問題
925:デフォルトの名無しさん
17/12/21 06:04:58.06 gZ1XcqWP.net
>>903
はぁ?
どう組んでも動きますが?
926:デフォルトの名無しさん
17/12/21 06:50:24.48 /eYbpg/S.net
オブジェクト指向は物事を複雑にするためにあるモノじゃ無いぞ。
オブジェクト指向を目的にしてどうするwww
927:デフォルトの名無しさん
17/12/21 06:50:56.44 c0/BZHI9.net
動く動かないとセンスの有無は別の話
理解力無さすぎだろ w
928:デフォルトの名無しさん
17/12/21 06:56:56.39 /eYbpg/S.net
どの世界でも原理主義者は物事を複雑にするw
929:デフォルトの名無しさん
17/12/21 06:57:03.08 gZ1XcqWP.net
>>906
正しいとかおかしいよな
どう組んでも動くし
930:デフォルトの名無しさん
17/12/21 07:00:31.05 gZ1XcqWP.net
クラス図書かないやつは客観的に自分の設計を見ることができない
だからこんなプロパティ単位のものクラスにして
クラス図を蜘蛛の巣にしちゃっても
それを汚いと反省する機会がない
ただし、どう組んでも動くのであくまで俺の持論
931:752
17/12/21 07:13:38.51 RBSPw/d+.net
費用クラスの者ですが、色々なアドバイスありがとうございます
参考になります
>>904
どう組んでも動くの精神で、前任のパートさんが凄いの組んでくれたので、オブジェクト指向を意識し始めました
クラスどころかイベントリスナーのメソッドというのでしょうか?
そこから共通関数すらなく処理されているので、なんとかしたかったのです
ドメイン層とアプリ層とインフラ層が渾然一体となっていると、どう手を付けて良いのやら
932:デフォルトの名無しさん
17/12/21 07:25:44.67 Mqu0aN7Q.net
必要最低限だけ修正しろ
コードのきれいさは主観
他人のコードはすべて糞コード
933:デフォルトの名無しさん
17/12/21 07:27:47.47 gZ1XcqWP.net
>>910
お前のはプロパティ単位もクラスになってるからさらにカオスだな
初見で見た人間がそのたくさんあるクラスの依存関係がわかるといいな
934:デフォルトの名無しさん
17/12/21 07:42:54.80 iiESRPBo.net
と、プロパティ単位とか意味不明のことをつぶやいており当局は措置入院の必要性があると判断している模様です
935:デフォルトの名無しさん
17/12/21 07:56:29.75 h7wsiOnr.net
>>910
おまえ本当に未経験者かよwww
936:デフォルトの名無しさん
17/12/21 08:08:25.86 gZ1XcqWP.net
残念なのはおそらくこいつはコードレビューとかしたことないね
クラス図と基本設計書との不一致とか設計書のレビューもやったことない
このレベルでクラス図なんて書いたらごちゃごちゃしてなんだかわからないだろ
見難いよって誰からも指摘されたことないから当然伸びない
修正が聞かないまま今に至る
937:デフォルトの名無しさん
17/12/21 08:09:15.38 gYUruymP.net
(キリッ
938:デフォルトの名無しさん
17/12/21 08:17:58.61 81J6Ca8t.net
新参だがここで聞くのは無駄だってことは分かった
939:デフォルトの名無しさん
17/12/21 08:37:19.47 VQD1Tiju.net
>>910
え~、今更オブジェクト指向なの?
c#はマルチパラダイム言語なのに
940:デフォルトの名無しさん
17/12/21 08:40:09.55 VQD1Tiju.net
>>917
ちゃんとした質問ならまともな答えが帰って来る。
トンデモ質問はスルーされるかネタにされて遊ばれるw
941:デフォルトの名無しさん
17/12/21 08:54:24.69 upKQQwHx.net
最近クラス図キチガイが湧いてるな
942:デフォルトの名無しさん
17/12/21 09:04:04.27 VQD1Tiju.net
>>914
素人だろうね。
ギョーミーなアプリ開発の経験者に費目毎のクラス化なんて発想はない。
社内のパソコンマニアに白羽の矢が立っただけ。
943:デフォルトの名無しさん
17/12/21 10:15:36.99 VXvVb2gy.net
>>921
俺が言ったのは本当にプログラミング初体験なのかよってことな。
944:デフォルトの名無しさん
17/12/21 10:19:43.29 iwfbZ4kw.net
javaの匂いが消えない
945:デフォルトの名無しさん
17/12/21 10:33:22.61 VQD1Tiju.net
>>922
大学出てりゃプログラミング初体験なんてことは無いだろうな。
プログラミング教育義務化なのでプログラミング初体験者ゼロの世の中になるw
946:デフォルトの名無しさん
17/12/21 10:41:24.50 VXvVb2gy.net
>>807
>急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
947:デフォルトの名無しさん
17/12/21 12:03:45.23 Q/EvmKMe.net
>>910
昨日も書いた((>>865)けど、費目ごとに派生クラス作れ、なんて話は真に受けない方がいいと思うよw
処理の委譲はデリゲートでもできる。
948:デフォルトの名無しさん
17/12/21 12:50:57.69 iiESRPBo.net
>>920
自称上級者なんだろ
今度はデリゲートとか言い出しちゃってるし
自分の知ってる単語ならべてるって感じ w
949:752
17/12/21 12:55:56.30 Bs03k3IZ.net
>>925
急遽と言っても半年以上OJTの形で作っているので、変数、関数、クラスが何なのか程度は理解しています
で、費用と費目は抽象クラスを使うのに絶好の課題ではと初めて使ってみて、世間様ではどう思われるか聞いてみたら、そんな関係には使わないと指摘された次第です
950:752
17/12/21 13:00:11.33 Bs03k3IZ.net
ズブの素人でも手続き型プログラムを一ヶ月で作れるようになったのは、visual studioの支援とC#の解りやすさのおかげだと感謝してます
ゆえに急遽突っ込まれたのかも知りませんが
951:デフォルトの名無しさん
17/12/21 13:29:10.16 WNlCIVzg.net
>>928
結局ね、データってのはDBに保存したり手で入力したりするものなので
データごとにクラスが変わったりすると破綻するんですよ
クラス分けは集計には便利かもしれんが、全ての工程でどうなるか考えて設計しないとね
952:デフォルトの名無しさん
17/12/21 13:38:55.98 xinkvf3y.net
>>929
ズブの素人が1ヶ月でc#をそれなりにマスターするなんて凄いわ。
オレは無理だ (ーー;)
953:752
17/12/21 17:30:18.01 68OBjHX8.net
>>931
最初の二ヶ月は前任の人が引き継ぎ兼トレーニングしてくれたのでブートは早かったと思います
そこから半年でやっと継承を触ったので、成長曲線はそこまで急では無いかと
比較が解らないですが仮に成長が早いとするとC#が非常に取っ付きやすかったのが大きいと思います
基本情報試験のアルゴリズムとかさっぱり解らないので、プログラム能力は経験相応に低いと思います
954:752
17/12/21 17:42:42.42 68OBjHX8.net
>>915
PM交え前任者とコードレビューをしましたが、三項演算子とLINQは見難いと指摘されました
手続き型より宣言型のが良いとネットで見たのですが
逆に前任者が書いた4重ネストのfor文にifelseが連ねてあるコードはいくら頭をひねっても理解できず
数字の動きはステップ実行で見れるのですが、だから何って感じになります
ゆえに知識を整理したくなり初めて抽象クラスを意識した次第です