- 1 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 04:02:10.51 ID:/jJUZ/t7.net]
- ■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part94 mevius.2ch.net/test/read.cgi/tech/1492843013/ ■次スレは>>970が建てる事 建てられない場合は他を指定する事。
- 636 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:02:43.00 ID:QRam8GQ6.net]
- void MoveAX(unsigned short val);
- 637 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:11:29.06 ID:su2Mei6j.net]
- >>613
コードで表現できるものをコメントで書くバカが本物の害悪だよ
- 638 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:16:10.30 ID:P1fWuhY2.net]
- マーティン・ファウラーはいつも良いことを言うね
底辺PGでも少しは見習ったほうが良いぞ https://martinfowler.com/bliki/FunctionLength.html
- 639 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:17:34.95 ID:G1/6VWB7.net]
- >>618
コードで表現出来てることをわざわざ関数名で伝えようとするバカが何だって?
- 640 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:25:16.65 ID:P1fWuhY2.net]
- >>614
中身を理解しやすくするのは実装の仕事 メソッド化する最大の目的は実装と意図を分離すること 僕が引用したリンク先でマーティン・ファウラーがわかりやすく説明してくれてるからぜひ読んで欲しい
- 641 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:28:59.77 ID:s6sGDINL.net]
- 三行で書かれてるコードならその場でその三行を修正するだけで済むが、
それを三つの関数に分けるとわざわざ別の行までスクロールして修正する作業が三回発生する どちらが効率的で生産性が高いのか普通なら考えるまでもなく分かることだが、自意識過剰なバカには分からないのかも知れない 何せ自分のことを『達人』とか思い込んでるレベルのバカだし
- 642 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:33:48.86 ID:su2Mei6j.net]
- >>620
コードで表現していることを関数名で抽象化するんだよ 抽象化はプログラミングをする上で最上級に重要な概念だけどどうもIQが凡人以下だと理解できないらしい 物事を理解するにはその内容に応じた知能がどうしても必要になる 凡人が数学者や物理学者に成れない 難しい概念がわからないという感覚は人としてどうしようもないものなんだ だからこのスレにも抽象化がわからない人が居てもおかしくはない
- 643 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:36:24.52 ID:fxgoPYx5.net]
- >>622
場合によるんじゃないかな? その一行が何度も出てくるなら関数化したほうが修正が楽 何百回修正するか 一回修正するか
- 644 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:38:21.16 ID:su2Mei6j.net]
- >>622
そのコードがなんのためにあるのかということを考える作業が3回も発生する そのコードを変えて他に影響がないか確かめる作業が3回も発生する 同じことを他の場所でしていないか確かめる作業が3回も発生する 酷い無駄だ
- 645 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:39:10.89 ID:fxgoPYx5.net]
- 関数化で抽象化はされる
抽象化された関数で何をやってるか詳しく関数名に入れると無意味なことになることもある むずかしいよね
- 646 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:40:28.60 ID:s6sGDINL.net]
- bool IsEmpty() => this.Length == 0;
このレベルの実装であれば何も文句はないが、大半はそうじゃないのが現実
- 647 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:40:36.80 ID:x6ZL87kc.net]
- 適切な直行化ができてれば、一連の処理の流れに関わる多数の関数を一緒に修正するなんてことはそうあるものではない
その程度のスキルレベルなら分け過ぎはよくないのは同意する
- 648 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:42:35.89 ID:fxgoPYx5.net]
- もともと一行関数だったものが徐々に成長していくこともある
でも呼び出し元のコードは変わらない ロジックが変わってないからね これは大変素晴らしいことだと思う
- 649 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:46:33.53 ID:x6ZL87kc.net]
- 十分に責任の明確化ができている関数は中身を見る必要が無くなる
不要になって消すことはあっても中身を弄ることはめったにない この名前でこの引数を受け取るならこの結果が返るのが当然、と思えるのが正しい関数だ
- 650 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:48:36.16 ID:G1/6VWB7.net]
- >>627をバカが真似した例
void Increment(ref int a) => a++
- 651 名前:
(※現実にあったコードです) [] - [ここ壊れてます]
- 652 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:52:46.42 ID:qsRAuR+m.net]
- >>631
そのレベルの現場ならCOBOLみたいにMOVE羅列してる方マシだね 世の中そういうところばかりではないから文句があるならさっさと転職しろ
- 653 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:54:39.84 ID:fxgoPYx5.net]
- コードを書いてる時点で将来をすべて予見できるような素晴らしい環境にいるならいいけど
大体はそんなことはない 仕様を考えたのが他人であろうと自分であろうと
- 654 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 10:25:24.90 ID:EnMpGyAP.net]
- >>631
範囲を扱うアルゴリズムに使わせる目的で使うイディオムだよ こうしておけばプリミティブの数値も数値っぽい型(例えば巨大整数クラス)も同じように扱える ようするにただのストラテジだな
- 655 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 10:45:43.34 ID:EnMpGyAP.net]
- まあ正直C#で>>631は無意味とは言わないまでも違和感あるけどな
>>631もC#だけでなくc++とか経験してみるとこういう短い関数の真価を理解できるんじゃないかな
- 656 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 11:56:21.61 ID:T3P5Wj+0.net]
- 巨大整数とか仕様にカスリもしない未来を妄想して複雑化して「これがシンプルなんだよ!」と強弁するとかアホの典型だな
グループ開発の経験もない無職かよ
- 657 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:03:50.05 ID:EnMpGyAP.net]
- >>636
一例に過剰反応バカキター
- 658 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:12:43.78 ID:qPjZABJK.net]
- 最初から無駄に俺様カスタマイズしたがるのはこじらせたC++erによくあるYAGNIだね
そして、Incrementの例のように基礎的な部分には異常に拘るくせに普通のアプリケーションコード部分は巨大なメソッドを生産する奴が多い その割にはポインタ演算は大好きで、配列操作になるとウッキウキしてクソ低レベルなアスタリスクと++だらけのコードを垂れ流す そういう連中だよ
- 659 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:36:30.52 ID:d99K3tnG.net]
- 昨日からNG大繁盛だわ
- 660 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:42:38.07 ID:5IsFylKp.net]
- ふらっとも伸びているようだし承認欲求に飢えているアホどもが暴れているのか
- 661 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:53:48.82 ID:EnMpGyAP.net]
- >>638
でもそれってお前の妄想じゃん c++の仕事任されるほどスキルないっしょ?
- 662 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:59:36.34 ID:Q3bP29mI.net]
- >>641「巨大整数にも対応してるオレ様のフレームワークを使えー!」
- 663 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:07:10.47 ID:wUP/Qru9.net]
- どんな面白い問題で盛り上がってるのかと思ったらしょうもな。
(1) 道具が多すぎる道具箱は使いづらい からと言って (2) 短すぎるメソッドは「無駄な道具」である などと言えるわけがない。 そうである場合もない場合もあるに決まってる。 こんなくだらない話でよく盛り上がれるな
- 664 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:16:23.13 ID:Q3bP29mI.net]
- >>643
だから無駄な道具を乱造して散らかす奴が悪いんだろ? いくら「これが正しい!」と喚いてもゴミ屋敷をスマートとは言えんわ
- 665 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:24:59.02 ID:EnMpGyAP.net]
- なんかずれてんな
いやわざとか? みんな「1行コードはクール」 みんな「いや害悪だ」 >>631「1行コードにはこんな意味不明な頭悪いコードが実在するんだぜぇ」 >>634「いやーそれはストラテジでしょ。普通のコードだよ」 あほ「巨大整数ガー!ゴミ屋敷ガー!」 途中から明後日の方向に向かってんだよ 一例に過剰反応バカが湧いてきたあたりからね
- 666 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:28:56.88 ID:IPSX8M4/.net]
- 一つ言えるのは、一行コードをセンスが無いやつが書くとゴミク
- 667 名前:Yになるってことだな
まあ何行でもゴミと言えるかもしれんが、一行のゴミはメンテする時腹が立つ [] - [ここ壊れてます]
- 668 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:30:25.54 ID:EnMpGyAP.net]
- 1行メソッドの利点を理解できないアホが逆ギレしてるだけのパターンもあるということは忘れないで
- 669 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:14:15.06 ID:tywMjCxA.net]
- 一行のゴミにも何か利点はあるはずだと頑なに改めようとしない>>647なのであった
マジでゴミ屋敷の主だな
- 670 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:20:30.29 ID:G1/6VWB7.net]
- >>645はstrategyも理解してないアホの子だから許してあげて
ただのラッパーを戦略と勘違いしてるなんて、きっと今年の春から働き始める新人だから
- 671 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:28:00.99 ID:tywMjCxA.net]
- 上司「なんでこのインクリメントを関数に分けてんの?」
新人「様々な型に対応する為のストラテジです!巨大整数などにも対応できます!」 何というか無能な働き者って言葉がしっくり来るな たぶんこいつは誰からも理解されずに五月病患って数ヶ月で退職するわ
- 672 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:39:00.26 ID:yKN9r4eJ.net]
- インクリメントの(多相じゃなくて正しい意味での)ストラテジって何だろうね
++とInterlocked.Incrementを切り替えるとか? エイプリルフールネタにもならんな
- 673 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:39:37.29 ID:gIH0xNQX.net]
- >>640
春休み
- 674 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:47:04.79 ID:Huwl0iS3.net]
- ここには初心者スレに行ったほうがいいような連中しか居ないようだな
- 675 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:13:55.41 ID:WEVo4Vkx.net]
- ゆとり世代はなんでも揃ってるところからスタートだから楽でいいよな
iteratorの実装なんて考えたことすらないんだろう 羨ましいよ
- 676 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:50:22.39 ID:3GY4sGoy.net]
- 老害
- 677 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:15:29.85 ID:4YlUj4T1.net]
- >>650
何で巨大整数に対応する必要ない状況を前提としてるの? 対応すべきという状況を前提とした途端に真逆の結論になると思うけど
- 678 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:31:26.23 ID:8TyNtssw.net]
- 仕様上ありえない予測
それを人は 妄想 と呼ぶのだ
- 679 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:45:28.27 ID:Ek+Kt6QK.net]
- 巨大整数対応を勝手に仕様上あり得ないことにしている点
「○○にも対応できるように」の○○に巨大整数を入れるのはあくまで一例であり他にも山ほどあり得る点 この辺りが問題かな 言われた通りの物を納品すればいい所謂IT土方系の環境なら問題にならないんだろうけど
- 680 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:47:21.74 ID:Aa3HndXz.net]
- >>656
対応すべきという状況を前提にしたとしても、>>650の新人がストラテジパターンを誤解している阿呆であるという結論は覆らない >>631を型ごとに用意するのは一般にはパラメータ多相、あるいは単にオーバーロードと呼ぶんだよ
- 681 名前:659 mailto:sage [2018/04/01(日) 17:49:35.48 ID:Aa3HndXz.net]
- すまん訂正
パラメータ多相じゃなくてアドホック多相だな
- 682 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:49:42.89 ID:Ca3RLpqD.net]
- この手のっていつも「自分の前提」の元に議論初めてかみ合わないんだから止めとけよ
ネタが下らないことだし、そんなことにこだわるしかやることないのかよ
- 683 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:53:38.19 ID:8TyNtssw.net]
- int型をBigInt型に切り替える必要が生じたとして、
型宣言から書き直さないといけないのにインクリメントを分離しておいて何が効率化できたというのかと そ
- 684 名前:烽サもオブジェクト指向に則ればその型自体にインクリメントを備えるだろっていう
現実に設計したこともない新人が本の知識で言ってるだけだなこりゃ [] - [ここ壊れてます]
- 685 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:21:49.73 ID:8TyNtssw.net]
- 正しい設計
INum num = new Num() // INum num = new BigNum() ←クラス名を変えるだけ num++ ←機能は型で規格化されてるので変更無用 間違った設計 Num num = new Num() // BigNum num = new BigNum() ←型から変える必要がある Increment(ref num) ←何これ? void Increment(ref Num n) 処理 void Increment(ref BigNum n) 処理 ↑型の数だけオーバーロードする必要がある
- 686 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:47:25.76 ID:IPSX8M4/.net]
- どーでもいいことかもしれんが、セミコロンがないのが凄く気になる
- 687 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 19:40:56.03 ID:WEVo4Vkx.net]
- >>660
はぁ? どう見てもストラテジだろカス void func<T>(T mi, T mx, FuncObj<T> increment) { for(T i = mi; ! i.Equals(mx); increment.Exec(i)) { // } } class BigIntIncrent : FuncObj<BigInt> { public Exec(ref BigInt x) { x = x.Add(1); } }
- 688 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 19:44:56.66 ID:WEVo4Vkx.net]
- >>663
なんでBigIntのソースが手元にある前提なんだよ まあ素人は標準のパッケージ以外を持ってきて使うなんて経験はないのかもしれんから間違えても仕方がないか 君素人っぽいし
- 689 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:02:44.23 ID:c1epJvM3.net]
- >>665
惜しい。一旦クールダウンしてよく考えよう。 同じ入力(コンテキスト)に対して複数のStrategyを定義し、状況によって使い分けるのがStrategyパターンだ。 一方incrementの場合、実装は入力の型に応じて一意に決まるだろ?「同じ入力」に対して複数の実装があるわけじゃない。 そういう、引数の型に応じて静的に実装を選択するのを一般に「多相」という。 特に、君のコードは関数型言語で型クラスと呼ばれるものに近い。ググってみると勉強になるよ。
- 690 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:08:31.72 ID:WEVo4Vkx.net]
- >>667
1つ飛ばしでイテレートしたい場合とか同じ型でも幾らでもバリエーションは考えられるわけだがわかんねえだろうな用意されたもの使うだけのゆとりには
- 691 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:10:41.80 ID:PinoCRrg.net]
- >>665
なにこの頭悪すぎるゴミ 意図が読めない典型じゃん
- 692 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:13:25.61 ID:WEVo4Vkx.net]
- >>669
あらゆる物事に対してそれを理解するために必要な知能の下限が存在する これって1つの真理だと思うのよ
- 693 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:20:07.28 ID:PinoCRrg.net]
- >>670
funcって何? funcObjって何? miって何? mxって何? Execって何?どういう機能? BigIntでAdd?コレクションなん? パッと見ただけでこれだけ疑問が湧くんだが、 プログラマ百人に聞いたら百人が死ねって返すレベルのクソだぞこれ 命名だけでバレる実力なら無理して書くなよ
- 694 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:22:40.27 ID:c1epJvM3.net]
- >>668
そうだね。確かに君の言う通りだ。 じゃあ君はなぜ>>665でわざわざジェネリックを使ったのかな? >>665を見た殆どの人は、型に応じて++の実装を切り替えたいのだろうと思うだろうね。それを君はストラテジだと言っている。 このままでは誤解してしまう人もいるだろうから指摘したんだよ。 君自身はもしかしたら本当は正しく理解してたのかもしれないけど、衆目に晒すにはあまりにも不適切なレスだ。
- 695 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:25:32.72 ID:WEVo4Vkx.net]
- 文脈読めない、中心になってる話題を理解して枝葉末節を気にしない、っての実践するにもある程度の知能が必要なんだろうなー
そういうの苦手な人ってミーティングの時とか相当鬱陶しがられてると思うから注意したほうがいいよ
- 696 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:28:38.03 ID:G1/6VWB7.net]
- >>665
これforでローカルに代入してるが値型のつもりなのか?
- 697 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:30:19.04 ID:Aa3HndXz.net]
- >>673
悪いけど、文脈を読んだら>>665のコードは100人中100人が型++を切り替えようとしてるのだろうと解釈すると思うぞw
- 698 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:35:04.55 ID:WEVo4Vkx.net]
- >>675
ほらな 読めてない
- 699 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:40:22.21 ID:WEVo4Vkx.net]
- >>672
ジェネリックかどうかは関係ない話だろ この例も仮にスクリプト言語だったら型引数は無くても動作する たまたま型の指定が必要な言語を例に使ったからジェネリックになっているだけ しかしそのエッセンス自体は何も変わってない まずはそこを理解しよう
- 700 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:54:39.80 ID:G1/6VWB7.net]
- >>665を読むとこいつうちにいた新人より頭悪い気がする
ストラテジとか言いながらやってることが関数型だし これでデザパタのつもりなら学校通い直すのを勧める
- 701 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:55:42.47 ID:WEVo4Vkx.net]
- ここでいうエッセンスというのは
* 処理の一部を外部から与えることによってアルゴリズムを交換可能にするテクニックをストラテジーパターンと言う * ストラテジーはしばしばインクリメント処理のように非常に小さな処理になることがある * その一例が>>631であり>>631馬鹿げたコードでもなんでもなく実用的なコードの断片である という3点のことな
- 702 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:59:08.51 ID:WEVo4Vkx.net]
- >>678
λや関数オブジェクトがサポートされる言語では暗黙的にストラテジーの考え方が利用されている そうと意識してないだけだ ちょうどいい時期だ上司に頼んでお前も新人研修受けてこい
- 703 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:00:23.18 ID:GxluVQTa.net]
- 何も見せてなければ何とでも言えたろうが、
>>665を見せてしまったらもう無理だな レベルの低さが露呈してるから言い訳にもならない 正直>>665を見たあとだと>>631が優秀に見えるくらいだし
- 704 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:03:04.23 ID:G1/6VWB7.net]
- >>680
世間一般的にstrategyというのは>>663の例を指す お前のは違う
- 705 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:04:15.87 ID:WEVo4Vkx.net]
- >>682
君は論外なのでまた今度な
- 706 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:11:29.38 ID:G1/6VWB7.net]
- そもそも関数の細分化は可読性を損ねるって話なのに、
抽象的で省略しまくりの名前付けてる時点でな 設計に口出すのは十年早いと思うわ
- 707 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:17:25.87 ID:GxluVQTa.net]
- どうでも良いが>>665をよく見るとこいつrefの使い方すら知らないど素人くさいな
値次第でループバグ起こす構造だしこんなコード実務で仕込まれたら俺ならテロ認定する
- 708 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:22:05.92 ID:WEVo4Vkx.net]
- >>685
>>673
- 709 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:24:13.70 ID:GxluVQTa.net]
- 本気で書いたコード貶されたら
「あれは手抜きだからw」と言い出す まあリアルにいるよな
- 710 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 22:24:04.17 ID:HDWO3ua8.net]
- ミーティングとか言い出して露骨に話題を避けようとしてるの笑える
- 711 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 09:41:43.90 ID:OHYuqcPP.net]
- 皆Do()にすればええんや
- 712 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 16:05:17.38 ID:h/TS8w43.net]
- stringが参照型ってことはさ
string str; void Reset() => str = ""; とするより string str; string None = ""; void Reset() => str = None; と生成済みのテキストを使い回した方が効率良いの?
- 713 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 16:35:31.54 ID:huLwCiLW.net]
- String.Empty
- 714 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 18:12:04.75 ID:v0eOpRGB.net]
- str =null;
ってやってたは・・・
- 715 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 18:30:15.85 ID:K+0BZuJc.net]
- >>692
null代入するのはC#8.0で警告対象
- 716 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 20:17:49.55 ID:dY0QYfwJ.net]
- >>690 変わらないと思われ
string Func0(){return "test";} string Func1(){return "test";} string Func2(){return "te"+"st";} string Func3(){return "TEST".ToLower();} string a=Func1(), b=Func2(); Console.WriteLine(Object.ReferenceEquals(a,b));
- 717 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 21:03:49.28 ID:jN80m2St.net]
- >>694が何を言いたいのかまるで理解できない
- 718 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:46:17.62 ID:v0eOpRGB.net]
- >>693
非推奨になるのか! って、C#5.0から変える気が無いけどもw
- 719 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:48:58.58 ID:qPaa0JsU.net]
- >>690
これILはどっちも一緒の結果にならないのかね
- 720 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:59:51.77 ID:T8BktjHU.net]
- >>696
またvs2013使ってんの?
- 721 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:47:32.40 ID:v0eOpRGB.net]
- >>698
Formしか使わないからね まぁ最近はスマホが多いのもあるけど
- 722 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 03:02:50.85 ID:cEKXRYXO.net]
- C#ってどんどん惨くなってねーか。業務じゃもう使えないだろ。
- 723 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 08:16:57.82 ID:G4evJUNh.net]
- アメリカではソフトウェアの内製化やクラウド化により、
ソフトウェアは自己責任でどんどんリリースできるようになってるの 自己責任ならデグレ出したらこっそり直してすぐにリリースしちゃえばいいの SI型ビジネスとは違い、過剰にリスクを避ける必要がない VSやC#もそういう変化に適応して開発やリリースのポリシーが変わってしまった もうジャップランドのSIでは使えないよ
- 724 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 09:34:30.77 ID:ywrxikBc.net]
- ジャップ式業務かぁ…
- 725 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:08:48.47 ID:d442a5v8.net]
- >>700
おじいちゃんには無理かな
- 726 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:24:27.07 ID:nTjyMSuJ.net]
- >>700
具体的にどこがそうなのか教えて
- 727 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:39:36.05 ID:9mHHHg+P.net]
- リッチテキストボックスでDetectUrlsをTrueにしてハイパーリンクを開けるようにしたんだけど、
ハイパーリンクをクリックして既定のブラウザで開くと、勝手に最終行までジャンプしてしまう。 仕方がないのでEnabledをいったんfalseにして、その後開き、もう一度trueに戻すとジャンプはしなくなったんだけど、 リッチテキストボックスの任意の場所をクリックすると、やっぱり変な場所に表示が移ってしまう。 なんか対策ないでしょうか?
- 728 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:43:10.44 ID:L1xJuAmc.net]
- >Enabledをいったんfalseにして、その後開き、もう一度trueに戻す
ごめん何言ってるのか全然わからない
- 729 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:44:33.22 ID:9mHHHg+P.net]
- >>706
すいません、こうです private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e) { richTextBox1.Enabled = false; System.Diagnostics.Process.Start(e.LinkText); richTextBox1.Enabled = true; }
- 730 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 01:34:01.86 ID:CRWC4s8a.net]
- treeViewのちらつき防止ってどうやるんだろう?
5chブラウザとか、mousemoveでテキストにアンダーラインが出るようにしても全然ちらつかないよね ダブルバッファでいけるのかと思ったら、treeViewはそれでは解決しないようで・・・
- 731 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 17:11:38.73 ID:YfcQQia/.net]
- >>705
ミニマムコード書いて確認しろよ クリックした位置にカーソ
- 732 名前:居oないのなら分かるが勝手に最終行までジャンプとか意味不明
あと初心者スレ池 [] - [ここ壊れてます]
- 733 名前:デフォルトの名無しさん [2018/04/06(金) 19:56:07.03 ID:/br3WlRA.net]
- >>700
もうここ10年新規案件やってないな。全部Javaに持ってかれたまま。 当然といえば当然だな。老害ヘジの暴走を誰も止めることができなかった。 ID:d442a5v8 ←みたいな低スキル信者の取り巻きばっかなんだろうな。
- 734 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 20:07:45.08 ID:Qe7eZ8vz.net]
- CAD系だから低身の見物
流石にJAVAでやれと言われた事は無いな
- 735 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 20:29:12.80 ID:z7q8Sb4V.net]
- 会社で生産管理ソフト導入したらそれ.netだった
描画はネイティブのDLLに丸投げだったけど
- 736 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 20:31:28.54 ID:z7q8Sb4V.net]
- 業務で言えばjava : c# = 1000 : 1 ぐらいなイメージ
|

|