[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/05 17:49 / Filesize : 232 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part88



1 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 16:14:05.15 ID:I42JqLkf.net]
■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part87 [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/tech/1427558696/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

751 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 08:29:29.18 ID:gbsTgmpf.net]
VB6スレと同じ人達が話してるのかい

752 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 08:59:00.05 ID:DnnAf/8j.net]
VB6スレなんてあったっけ

753 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 09:15:42.60 ID:ElP7lUPJ.net]
C#精神病院 Part88

754 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 11:18:16.79 ID:dP9T8Aj9.net]
>>719
そこまで崇高な理想を持って開発されてるとは思えないが
タイミングがわからないおかげで使用中のハンドルが開放される可能性への対策も必要になるし
あと、マネージリソースだけじゃなくて、固定したGCHandleを持ってればGCのパフォーマンスへの影響もでかい

755 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 17:11:34.36 ID:qrjLQtVJ.net]
DataGridViewでユーザーが列幅を変更する場合列の境界をドラッグ
しますが、横スクロールバーが表示される程列数や個々の幅がある
場合に最後の列幅が変更できません。
どのようにマウスで変更するのでしょうか。

756 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 20:08:44.10 ID:N7Jdy9nG.net]
>>736,736
メソッドの部分は必ず実行され、その後の部分は最適化されているかも、ということで了解した。
LockBits/unsafeの比較は当てにならないね。
異常に速度差があるし、メソッド以外は全部抜けているかも。

757 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 20:16:21.46 ID:N7Jdy9nG.net]
>>743
> GCHandle 構造体
> [SecurityPermission(SecurityAction.Demand, UnmanagedCode=true)]
> https://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.gchandle(v=vs.110).aspx
なるほど、C#でもdllと接続するとUnmanagedCodeを意識しないと駄目なんだな。

> タイミングがわからないおかげで使用中のハンドルが開放される可能性への対策も必要になるし
GC.Collectで起動は出来るみたいだぞ。
GC.SuppressFinalizeというやばそうなものもあるが、GCを止めることは出来ないね。
上記GCHandle例のようにブロックスコープで囲える範囲なら、GC.KeepAliveの方が軽そうだ。
> https://msdn.microsoft.com/ja-jp/library/System.GC(v=vs.110).aspx

システムリソースと言っても所詮はメモリだし、
x64みたいにアドレス空間が広ければ、OSが動的確保すれば収まる話ではある。
だからいずれは気にしなくてよくなると思うよ。
(ただそのときでもDisposeしたほうがいいのは事実だが)

758 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 20:56:01.03 ID:LkVTB1JB.net]
>>746
ファイナライザでKeepAliveするのは意味がない
KeepAliveしたところで参照している他のオブジェクトのファイナライザが先に呼び出される可能性は防げないし、
ファイナライザの実行が終わる前にthisやその他参照しているオブジェクトがGCに回収されてしまうようなことは無いからね

759 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 21:39:21.41 ID:pUWj3Ef8.net]
>>746
もう来んなよ



760 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 08:03:55.06 ID:Sd5tuK/H.net]
お前が来るなよw

761 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 17:01:34.76 ID:H9Zj5Bn1.net]
internalなインターフェースでも、internalで実装出来ないのね。
なんでだろ。
明示的実装だとeventは自動実装してくれないのね。
ちょっと不便。

762 名前:デフォルトの名無しさん [2015/08/27(木) 18:33:33.61 ID:4ooez7+r.net]
以下のようなことをしたいのですが、
メソッド名が重複するため上手くいきません。
ある変数のスーパークラスを上書くようなことはできないのでしょうか?

public abstract class A{
public abstract MyClass instance {get;}
}
public abstract class B<T> : A where T ; MyClass{
public T MyClass instance {get;}
}

763 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 18:40:58.45 ID:3m4FcQPk.net]
>>751
全部捨てろ
そんなことをしようとせずに済んだ世界を想像し
可能ならば来た道を戻って設計しなおすといい

764 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 18:44:49.92 ID:CaKJnHAU.net]
>>752だけ読むと凄くカッコイイ

765 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 18:45:04.56 ID:0465F1pc.net]
つーかMyClassとわかってるならTにする意味ないでしょ

766 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 19:34:06.84 ID:M7ObSeqi.net]
何がしたいんだかよくわからん
MyClass はなんだかの形で定義?
class B<T> は、もはや修正してエラーもなくせない
メソッド名が重複するという問題にたどり着けんw

767 名前:デフォルトの名無しさん [2015/08/27(木) 21:05:28.92 ID:4ooez7+r.net]
TはMyClassの継承関係です。
AとかBじゃ分かりにくいですね。

public abstract class 田中{
public abstract 行動 instance {get;}
}
public abstract class 修行した田中<料理> : 田中 where T ; 行動 {
public 料理 instance {get;}
}

はじめからTつければいいじゃんとか思うかもしんないけど、
ジェネリックの共変性とかの問題があったりしてこんな実装になってます。

768 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 21:16:20.73 ID:dljCNrWS.net]
まず用語とやりたいことと質問を整理してくれる?
お前の示したコードにメソッドも変数もないし、空想上の文法を示して以下のようなこと、で伝わると思うの?

769 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 21:19:19.33 ID:crZaWZ5K.net]
いや…これはシンプルに無視案件だろ
こいつに関わってもなんの実りも無い



770 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 21:27:08.41 ID:hme97lr4.net]
>>756
public interface I田中{
行動 instance {get;}
}
public abstract class 修行した田中<料理> : I田中 where 料理 ; 行動 {
override 行動 I田中.instance { get { return this.instance; } }
public 料理 instance {get;}
}
何がしたいのかさっぱり分からんがこういうことか?

771 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 21:35:49.89 ID:lF/OrL4X.net]
山田かもしれん

772 名前:デフォルトの名無しさん [2015/08/27(木) 21:46:52.77 ID:4ooez7+r.net]
public abstract 行動 strategy {get;} を
public override 料理 strategy {get;} に上書きしたいです。

まとめるとこうです。
1.オブジェクトの行動を戦略ポリモーフィズムで実現したい
2.継承クラスから戦略をジェネリックに呼び出したい
3.基底クラスの戦略呼び出しは継承クラスの戦略を呼び出す(abstract)
4.ジェネリックの共変性(.net3.5を利用)の問題で3を基底<T>およびメンバTとするのは、
  その他のオブジェクトでキャストが膨大に発生するため、ジェネリックを持たない基底クラスを用意した 

773 名前:デフォルトの名無しさん [2015/08/27(木) 21:56:46.79 ID:4ooez7+r.net]
>>759
そういうことです!
たぶんできました!ありがとうございます

774 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 22:22:03.15 ID:pO3unHFi.net]
エスパー乙

775 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 23:39:03.06 ID:sO/8ZJev.net]
ようわからんから寝るわ
明日は定時にあがって彼女とデートだ

776 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 00:22:50.64 ID:DVJpBS2x.net]
ここ数年定時で上がった事無いや。
せめて残業30時間未満希望。

777 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 06:40:20.71 ID:Sz74PPpb.net]
とりあえず "料理 ; " の ';' は何だよって感じの所の修正をして欲しかったな
エラーが「メソッド名が重複」になるようなコードにしてから、問い合わせろよって感じ
わけわかんねーよw

778 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 06:55:57.02 ID:Sz74PPpb.net]
>>761
どうしてもそのようにしたければ、二段階に分けてやればいいんじゃねかな
インターフェイスが正解だが
public class 行動 { }
public abstract class A
{
 public abstract 行動 instance { get; }
}
public abstract class BBase<T> : A where T : 行動
{
 public override 行動 instance { get; }
}
public abstract class B<T> : BBase<T> where T : 行動
{
 public new T instance { get; }
}
public class 料理 : 行動 { }
public class 所望の利用方法 : B<料理>
{
}
リフレクション関係の.Net Frameworkのソースを読んでいたらこういうのに出会ったよ
以前のバージョンで公開してしまったが、互換性を維持しつつ改めて中身隠して継承したいという感じの部分で

779 名前:デフォルトの名無しさん [2015/08/28(金) 10:09:33.73 ID:bO0aCwDR.net]
>>767
それだと基底クラスにキャストされているときに呼ばれると基底のメソッドが呼ばれてしまうので今回の要件ではまずいです。



780 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 11:43:18.34 ID:Sz74PPpb.net]
>>768
基底クラスの変更はBBaseの方でやるの、二段階に分けるという事

781 名前:デフォルトの名無しさん [2015/08/28(金) 15:45:12.11 ID:O/DjZ5xn.net]
BBase<T>からその上位のBのinstanceを呼べないのでまずいです。

782 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 15:48:24.22 ID:Sz74PPpb.net]
なんでそこが問題やねんwww
まぁ、互換性がうんぬんとかクリティアルな問題がある訳じゃなさそうだし interface 版でいいと思う
それでやれば良かろう

783 名前:デフォルトの名無しさん [2015/08/28(金) 17:04:25.71 ID:bO0aCwDR.net]
>>771

784 名前:
そこがクリティカルだと何度も申し上げていますが。
解決したのでもういいです。
[]
[ここ壊れてます]

785 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 17:05:03.05 ID:ZmO5l3R/.net]
へーすごいじゃん

786 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 19:26:06.38 ID:jkdHSky5.net]
式木が全然わかんねぇ
動的に検索条件変えるのにつかいたいが

787 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 19:27:16.67 ID:GiTthi+A.net]
bbaseってのはババアのSE(システンエンジニア)のことですよね?

788 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 19:58:34.57 ID:Lygpatgh.net]
リソースの解放順序をコントロールするクラスを1回作ってしまえばDisposeの明示的呼び出しは完全に不要になるね

789 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 20:01:28.39 ID:LXLt4eax.net]
またDispose君か
フランスパン目に突き刺して死ね



790 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 20:05:55.57 ID:CjkSJ7ex.net]
>>774
アホなことは考えるな
普通にクエリビルダ使え

791 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 20:49:33.85 ID:Sz74PPpb.net]
>>776
いや、そこは普通にDispose使えよ、得体のしれないことするなw

792 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 20:55:43.87 ID:ls1PRuKg.net]
アンマネージドなリソースをIDisposableなオブジェクトでラップするのは基本だろ

え?
>756はそういうことを言いたいんじゃないの?

793 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 21:38:47.88 ID:8lfDGDPP.net]
Disposeを明示的に呼びだしている時点でおかしい

794 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 21:38:51.18 ID:cLOGe/lp.net]
>>776
意味がわからない
FormのDisposeはどうやったら不要になるの?

795 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 21:43:04.20 ID:Lygpatgh.net]
リソース全部にいちいちDispose呼ぶ派って最近C言語からC#に移ってきた人?

796 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 21:53:36.50 ID:IPCW/fdR.net]
using使ってもDisposeは呼びたくなる

797 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 21:55:20.42 ID:ls1PRuKg.net]
ツマンネ

798 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:19:38.38 ID:jMAaefta.net]
むしろc#やり込んで分かって来てからの方がIDispose使う頻度上がったけどな。
Disposeパターンちゃんと分かって無さそうだし、GC.SuppressFinalize()も使ったことないんだろうな。

799 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:21:47.32 ID:La0rg2tq.net]
Dispose漫談



800 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:36:10.25 ID:k07is2fO.net]
IDisposableを継承したオブジェクトを、
自分のクラスにコンポジションすると、
自分自身もIDisposableを実装する必要が出てきます
このように、どんどんと、IDisposableは伝染していきます
IDisposableの要らないクラスは、
メモリ以外のリソースを全く含まない、クラスだけです
終いには、IDisposableだらけになります
インテリジェントなクラスほど、IDisposableになります
これがGCの現実です

801 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:38:35.26 ID:ls1PRuKg.net]
それで?

802 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:41:22.64 ID:La0rg2tq.net]
へーすごいじゃん

803 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 11:45:01.96 ID:QWgZ6B7l.net]
荒れてる時に失礼します

2ヶ月くらいの初心者ですが
lab.tricorn.co.jp/toda/1088

ここにStateとStrategyの違いが書いてますが、構造上の違いは無いため
見分けるにはクラス名で見分けるしかないと書かれていますが、そうなのですか?

別にこの記事を批判してるわけじゃなく、私自身StateとStrategyの違いが
イマイチよく分からないだけです

804 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 15:37:43.17 ID:MYIvkVg2.net]
以下を実装しようと思っていますがフォーム外の
マウスの座標をどうすれば補足し、メインフォーム上にレンダリングすれば
良いかわかりません。どの様に実装すればよいでしょうか?

1.フォームを起動する。

2.[座標調査]ボタンをクリック

3.マウスをフォームの外に移動したら
「1.」の中央に配置されたラベルにX座標・Y座標を表示する。

805 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 15:43:14.58 ID:rdkBQaJ6.net]
Cursor.Positionでスクリーン座標でのマウスカーソル位置が取れる。
タイマで定期的に取るようにすればいいんじゃない?

806 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 16:16:36.49 ID:MYIvkVg2.net]
>>793
サンキュー

807 名前:デフォルトの名無しさん [2015/09/02(水) 21:43:47.52 ID:+Iu6xlmH.net]
Stateは離散的な状態によって、振る舞いを大きく変えるオブジェクトを実装するためのパターン
Strategyは動的に処理を切り替える為のパターンで、ぶっちゃけただの多態性の事だ
Strategyは基本的すぎてパターンと呼ぶほどのものではない
他の殆どのパターンでも漏れなくStrategyを使っている

808 名前:デフォルトの名無しさん [2015/09/02(水) 22:24:38.83 ID:2IVkMjjH.net]
stateなんてstrategyを外か内のどっちから差し替えるぐらいの違いしかないし、デザインパターンとか偉そうに呼ぶもんでもない。

むしろ、switchで済むもんをstateパターン!とかドヤ顔でやるやつを生み出すクソパターンのひとつだわな。

809 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 23:16:57.02 ID:OPX/Zhtw.net]
デザパタって、
○○パターンで行こう、みたいなときもあれば
書いたあとに、あれ?これ△△パターンだな……みたいなこともあるし

参考程度でいいんでないかい?



810 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 23:21:25.69 ID:ZlVQUP4Q.net]
デザパタってのは本読んで賢くなったと勘違いしたバカが
ことあるごとにパターン名連呼するだけのもの

811 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 23:22:34.56 ID:AIAHCYFs.net]
>>798
2ch脳全開だなw
よくそういう被害妄想を恥ずかしげもなく開陳できるよなw

812 名前:デフォルトの名無しさん mailto:sage [2015/09/02(水) 23:32:33.81 ID:nxxrL6I9.net]
しかし、>>798の解釈のほうが少しだけ健全
デザパタを知ったように語る連中にくらべての話なw

813 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 09:12:04.06 ID:BI1c3JMp.net]
デザインパターンは共通言語みたいなもんだろ。

814 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 09:31:49.44 ID:j51sLT8G.net]
俺の周りのやつにはデザインパターンが通じない

815 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 10:45:14.16 ID:AQrjy02M.net]
>>798
デザパタってそういうもんじゃないの
〜パターンって言うだけでああ、あれねってなるから
いちいち詳細説明の手間(タイムコスト)が省ける

816 名前:デフォルトの名無しさん [2015/09/03(木) 12:50:32.25 ID:UAzBQfVm.net]
まず、手間(タイムコスト)とか言い直す無駄な手間かけるのやめろよ

817 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 12:54:06.21 ID:Z05hlE1P.net]
>>804
小学生か。
俺は802じゃないけど、そういうのは無駄でも言い直しでもない。
曖昧さを減らすためのテクニックだ。
ヴァカじゃないのか

818 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 13:00:22.16 ID:Mtr7VddV.net]
そこまでのもんかよw

819 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 13:02:50.82 ID:NQZSp0fr.net]
命令口調君って馬鹿だな



820 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 13:03:00.42 ID:bflO1psv.net]
(言い争いも無駄なのでは?)

821 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 13:18:47.27 ID:6M6obrOu.net]
>>804
クスッときたw
なぜなら俺も同じ感想を抱いていたからw

822 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 15:37:10.76 ID:dGS6eFW0.net]
>>796
逆だろ
むしろ、stateパターンで書けるもんをswitchとかドヤ顔でやるやつを生み出さないためのパターンのひとつ。

823 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 15:43:23.59 ID:eSbMz5iN.net]
stateはあまり使うべきではないパターンの一つだろ
オブジェクトに変化する状態を持たせるのはなるべく避け、どうしても必要なところはなるべく明示的に、ってのが今風

824 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 16:18:18.81 ID:Z05hlE1P.net]
まあどっちにしろ馬鹿の一つ覚えの乱用は良くないね。
ケースバイケースで判断するしかない

825 名前:デフォルトの名無しさん [2015/09/03(木) 20:51:50.87 ID:AjZjPQkB.net]
質問させてください。
フォームを透明にするとデスクトップが見えると思います。
さらにラベルを半透明にすればデスクトップが透けて見えると思います。

ですが、ラベルを半透明にしてもフォームの透過色になってしまいます。
これの解決策はないでしょうか。

826 名前:デフォルトの名無しさん [2015/09/03(木) 20:53:39.88 ID:50OgoD3Z.net]
ステートはゲームとパーサー以外に使い道はないね

827 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:26:51.16 ID:4OSMUinY.net]
>>814
お前の狭い井戸の中の話はチラシの裏にでも書いとけ

828 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:30:09.14 ID:Mtr7VddV.net]
>>813
ふらっと行け

829 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:36:44.84 ID:t0UOlUCH.net]
とかくカタログ化のメリットをうたわれるが
それは理想でしかない
デザパタの理解の時点で不備が残るから
パターン名を出して語り合ってもチグハグなまま
断片的な理解で語って延々すれ違うのが関の山



830 名前:デフォルトの名無しさん [2015/09/03(木) 21:37:48.99 ID:AjZjPQkB.net]
>>816
すみません、初心者なのですが、フラットとはなんでしょうか

831 名前:デフォルトの名無しさん [2015/09/03(木) 21:59:03.17 ID:AjZjPQkB.net]
>>818 >>816
フラットがなにか分かりました、聴いてきます、ありがとうございます

832 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 22:30:08.90 ID:oJAsYsjQ.net]
>>811
これどういうこと?
むしろifとかswitch推奨ってこと?

833 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 22:35:31.33 ID:4OSMUinY.net]
>>820
まともなソフト組んだことのない奴の戯れ言なのでスルーでいい

834 名前:デフォルトの名無しさん [2015/09/03(木) 22:59:38.02 ID:UAzBQfVm.net]
10個のケースで処理は単純と
2個のケースで処理が複雑の場合どちらもクラス化するとは限らないし、switchでも関数でもオブジェクトでも見通しがいいのを選べばいい。

なぜなら、テストがあれば容易に修正が可能だからだ。

835 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 23:07:40.59 ID:8yoLLFnu.net]
>>820
最近は関数型からの流れで、クラスはイミュターブルにするべきだという流派が勢いを増しつつある
その考えに従うなら、stateパターンだろうがifだろうが自分自身のstateを勝手に変更するようなクラスは好ましくなくて、
差し替えやすくするにしてもコンストラクタでStrategyを渡しなさい、となるわけ

それからStrategyに比べてStateはその親が持ってる内部情報に強く依存することが多いので、
差し替えのメリットはあまりなくてコードが読みにくくなるだけの場合が多かったりする

836 名前:デフォルトの名無しさん [2015/09/04(金) 01:05:37.68 ID:lzz57wGL.net]
スイッチけ消せ派の二割ぐらいがコードの見やすさ以外のメリットを挙げられない日本のアイテー産業界の実情

837 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 09:18:55.15 ID:nWrrDgsE.net]
>822
テストは製品の品質を担保するためのものだろ
修正の容易さとは関係ない

838 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:00:23.91 ID:UHAkjTxW.net]
>>825
マジで言ってんのか?

839 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:21:37.40 ID:jQreaVPT.net]
通りすがりの俺も>>826と同じセリフを吐きたい



840 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:24:18.11 ID:uljmVnmx.net]
>>825
リファクタリングは名著だから一回くらい目を通しておいたほうがいいぞ

841 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:26:25.43 ID:/OouKiwm.net]
まあ低レベルなジャパニーズドカタとって自動テストを継続的に維持するのは不可能だからね
後々の修正以前に、新規開発を最期までグリーンを維持しながら完遂することすら奇跡

842 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:28:22.50 ID:wAnp+SYa.net]
旧石器時代レベルのマだな

843 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:29:33.09 ID:wAnp+SYa.net]
テストを検収通すためのエビデンスとしか捉えてないっていうね

844 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 00:34:41.72 ID:AEZT9dHU.net]
テストはあくまで修正の確認だろ
テストがあれば結果が保証される=安全な修正の場が提供される=修正がしやすい場が提供される

けれど、修正元のコードが容易に修正しやすいものかとは別問題でしょ

何だか、根本的に履き違えているみたいだな、俺が

勉強し直してきます。
顔真っ赤なんです。分かってください。
場違いなんでこれで最後にします

845 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 00:37:38.28 ID:FwcsIAPo.net]
>>832
動いてるものを弄ることの恐ろしさを知らないだろ
修正なんて結果の保証ができるかが全てと言っても過言ではない

846 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 00:45:48.20 ID:AEZT9dHU.net]
>833
そういってるんだけど
噛みつき方がおかしい

847 名前:デフォルトの名無しさん [2015/09/05(土) 01:21:45.82 ID:+/wEUIWT.net]
テストケースが用意してあって、いくら修正しても結果が合わないコードとか遭遇してみたいわ

848 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 06:31:10.03 ID:Jq+GEKLJ.net]
>>803
タイムコスト削減どころか患者扱いされるパターンが一般的
peace.2ch.net/test/read.cgi/tech/1441012744/133-142

849 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 07:44:13.00 ID:FwcsIAPo.net]
>>834
修正作業≒影響範囲と結果の確認作業
ということだよ
ソースコードの修正そのものは大した問題ではない



850 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 10:07:42.28 ID:McuB2/kQ.net]
>>832
修正って一言で言うからおかしくなる

1. 修正する箇所の決定
2. コードの修正
3. 修正箇所のテスト
4. リグレッションテスト

1. 〜 2. を修正って言えば >>825
1. 〜 4. なら >>822
が正しい

851 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 10:29:22.47 ID:yNAOhLZf.net]
そんな必死扱いて話続けるなよ
ショックだったのか?

852 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 11:28:54.82 ID:McuB2/kQ.net]
>>839
>>839
粘着してるのはお前だけ

853 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 11:40:46.30 ID:nF0Xae6t.net]
ITドカタには3,4が存在しないから同じ
問題なのは
5.リリース後に修正ミスが見つかるリスク

854 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 11:43:57.82 ID:yNAOhLZf.net]
そうかい
これ以上続けるならDisposeと同じように連投自演で荒らしてやる
分かったらおとなしくしてろ

855 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 11:49:32.74 ID:yNAOhLZf.net]
あるいはC#に関係があって、ふらっとでやるような話でない話をしろ
雑談がしたければ雑談スレかマ板に行け

856 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 12:04:12.51 ID:d+nPX/+M.net]
命令口調指摘厨


857 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 12:05:53.42 ID:9PP8hJsT.net]
┃↑
┗┛
荒らしは去れ
はよ仕事さがせよ

858 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 12:14:46.00 ID:ZNHlex0/.net]
「命令口調君って馬鹿だな」さんは、そろそろこのスレ10年近い大ベテランだぞ。
昨日今日現れたようなぽっと出の若造と一緒にしていい存在ではない。

859 名前:デフォルトの名無しさん [2015/09/05(土) 12:41:58.24 ID:d+nPX/+M.net]
んじゃ質問おねしゃっす

静的クラスと普通のクラスをstaticに持つのと、
どう使い分けしたらいいでしょうか。

べつにシングルトンにする必要はないオブジェクトですが、
プロセスではひとつしかインスタンス化しません。



860 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 12:47:44.60 ID:+EPImSa2.net]
質問をお願いします、だと?!

861 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 12:48:22.79 ID:pfZ6OLhC.net]
>>847
>普通のクラスをstaticに持つ
ってどういう意味?

862 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 12:49:23.73 ID:dHzp+WDi.net]
一般的には、アプリケーションのルートで普通にnewし、それを必要とするクラスにその都度渡すのが適切
全体で共有するからといってstaticでグローバル変数にしてしまうのは良くない
テストしにくくなるからね

863 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 13:35:50.94 ID:d+nPX/+M.net]
ご説ごもっとも
でも今回はstaticにします。

static class Hoge{}

or

class Hoget{}
...
public static Hoge hoge = new Hoge();


下の方が拡張性があるとかないですか

864 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 13:41:33.34 ID:5uKQXugM.net]
俺にはそれらが比較する物に見えない

865 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 14:08:16.36 ID:trE2W9oi.net]
>>851
毎回直接hogeにアクセスするなら拡張性はない
拡張性をもたせるなら、Hogeにインターフェイスを実装して、他のクラスはそのインターフェイスを通して利用するようにする
実際のHogeのインスタンスは外から渡す

866 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 15:14:06.63 ID:OLenB+FK.net]
849みたいな馬鹿はどうしようもない
クラスの持つ概念が何かを考えずに、
コンパイル通るかしか考えないんだろう

867 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 15:29:17.88 ID:ygimYbNM.net]
でもSingletonがあるとテストしにくいのは事実だよね
まぁきちんとインターフェースを切り出してモック作りゃいいだけなんだけどな

868 名前:デフォルトの名無しさん [2015/09/05(土) 15:42:26.30 ID:+/wEUIWT.net]
static classの必要性を感じない。
コンストラクタをプライベートにすればいいだけだし。

869 名前:デフォルトの名無しさん [2015/09/05(土) 15:53:29.93 ID:MzCBpk1s.net]
Javaのstaticクラスとごっちゃになりそう



870 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 17:53:50.96 ID:trE2W9oi.net]
>>854
849だけど、毎回newしろと言ってるんじゃないよ
Applicationオブジェクト(と寿命が一致するオブジェクト)のフィールドとして持つということ

871 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 18:10:54.10 ID:5uKQXugM.net]
DI!DI!
.NETのDIライブラリって何がデファクトなの

872 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 18:38:14.83 ID:uKtK2YVi.net]
拡張メソッドや小物の汎用メソッドはスタティックだな

873 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 19:12:43.32 ID:LfnRuzOf.net]
いまだにVS2010使ってるが何か問題ありますか?

874 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 19:36:56.63 ID:Ozz2pk1l.net]
それで困ってないなら問題ないんじゃ

875 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 19:40:50.40 ID:unwmwqiG.net]
>>861
.NET Framework 4.5使わないならいいんじゃね

876 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 09:57:58.21 ID:4IVIRjvm.net]
expressじゃなきゃいいんじゃない

877 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 18:59:07.66 ID:8RjKVv09.net]
dobon.net/vb/dotnet/system/getinstalledfonts.html
でフォントの一覧は取得出来たのですが、この中から等幅フォントだけを
取り出す方法を探しているのですが分かりません。
知っている人教えてください。

878 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 21:00:41.16 ID:xgRymLq/.net]
等幅フォントというカテゴリーが実在するかが問題だな

879 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 21:10:18.07 ID:WzVfDTMU.net]
Aとiの文字幅でも比較しろよ



880 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 21:14:00.57 ID:mOIVmWnr.net]
日本語のフォントフェイス名が「MS ゴシック」だったら等幅
この判定が最強

881 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 21:58:27.85 ID:zUrSP80h.net]
>>865
ググってみたが結構面倒臭そうだな...
https://social.msdn.microsoft.com/Forums/windows/en-US/5b582b96-ade5-4354-99cf-3fe64cc6b53b/determining-if-font-is-monospaced?forum=winforms

882 名前:デフォルトの名無しさん mailto:sage [2015/09/08(火) 12:09:21.14 ID:HZZtDHiw.net]
>>869
情報ありがとうございました。ここのやり方で出来ました。感謝です。

883 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 10:31:35.12 ID:Zqb1tFho.net]
linq.jsの質問したいんだが、いいかい??
jsスレよりLINQ好きはこっちのほうが多いと思うんで

884 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 10:34:40.84 ID:OdK7pfyp.net]
スルーされても涙をこらえられるなら、断ってんだし聞いてもいいんじゃね。

885 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 11:47:11.60 ID:G800rjof.net]
LINQスレでいいんじゃね?

886 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 12:09:30.83 ID:Zqb1tFho.net]
LINQスレあったのね
そっちに書いてきます

887 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 12:17:14.28 ID:XXlgiA9F.net]
jsならlodash使ったほうがいいよ
機能が豊富で利用者も多い

888 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 00:22:45.76 ID:fYJZeKZK.net]
文字列の暗号化を行うクラス名おしえてください
.NET Frameworkにあるやつでお願いします!

889 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 01:02:02.00 ID:8nVq9fpM.net]
System.Security.Cryptography.AESとかRSA



890 名前:デフォルトの名無しさん [2015/09/15(火) 02:50:53.79 ID:jPIqDLQl.net]
charをチャーと発音すると
ダサいですか?
(´・ω・`)

891 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 02:55:10.80 ID:8L2kzhog.net]
外人マはキャレットって発音してた
getcharの発音はカッコよかった

892 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 07:08:29.36 ID:gJJz7de7.net]
キャレットだと意味が変わるような・・・

893 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 07:16:22.30 ID:fovtyU1w.net]
キャラクターの略じゃなかったのか?

894 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 07:37:34.11 ID:c6kBSd9X.net]
>>878
ギター弾く人だろ

895 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 11:12:05.00 ID:XyyEatel.net]
気絶するほど悩ましい

896 名前:743 mailto:sage [2015/09/15(火) 15:21:22.42 ID:nRNQ5gNy.net]
返答頂けないようなのでふらっとの方で聞いてみます。

897 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 00:01:51.90 ID:Uf++h6JZ.net]
シャアでしょ

898 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 10:40:14.99 ID:7sbTeZHX.net]
キャスバル兄さん!

899 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 12:49:48.36 ID:ayKx8SBE.net]
基底クラス(スーパークラス)の参照型に、派生クラス(サブクラス)を渡すことはできないのでしょうか
C++では出来ました

一から作るならこんな設計しませんが、C++で作られたライブラリをラップする際に困ります



900 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 13:09:05.15 ID:R6jOKYfj.net]
>>887
できるよ

901 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 13:18:16.97 ID:gYRc3sT6.net]
この手の質問は何か隠し事をしている気がするんだよ

902 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 13:21:42.04 ID:807nK7Mg.net]
というかよく質問理解できるな
参照型に渡すとか俺には意味不明だ

903 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 17:35:09.33 ID:koLGUr+e.net]
C++のコードを晒してみれば

904 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 19:16:26.11 ID:+CviF6rc.net]
単にout付きで互換の型渡せるかって程度の話じゃないの
それかC++だと値としてオブジェクト渡せるから、
わざわざ参照と付け加えてるかのどちらか

905 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 20:00:45.32 ID:koLGUr+e.net]
void M( ref Base b)
{
 MessageBox.Show( b.ToString() );
 b= new Base();
}

Base b= new Derived();
M( ref b);   // OK

Derived d= = new Derived();
M( ref d );  // コンパイルエラー

こういうことかな?

906 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 21:03:54.81 ID:gm0njNEv.net]
いや、普通に

907 名前:基底クラスのフィールドやプロバティーにサブクラスを突っ込めるかという質問でしょ
C#のフィールドは、ヒープメモリーのアドレスが入っているポインタ(ちょっと違うが)だという意味ではC++で言う参照型でしょ
[]
[ここ壊れてます]

908 名前:886 mailto:sage [2015/09/16(水) 22:42:14.05 ID:F1cbGVxL.net]
分かりにくくてすみません。
こういうクラスがあって、
class Foo1
{
}
class Foo2 : Foo1
{
}
C++でこういうメソッドがあります
void hoge(Foo1 &foo1);

これをCLIでラップしたものが
void hoge(Foo1^% foo1);

C#から利用しようとすると
var foo1 = new Foo1();
var foo2 = new Foo2();
hoge(ref foo1); // OK
hoge(ref foo2); // コンパイルエラー

hogeメソッドでfoo1を書き換えないのであれば、CLIのラップをこうして、
void hoge(Foo1^ foo1);

C#ではこう
var foo2 = new Foo2();
hoge(foo2); // OK

しかし書き換えないという保証ができないと言われて……

909 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 22:47:50.03 ID:koLGUr+e.net]
(C++)
void hoge(Foo1 &foo1);

の相当は

(C#)
void hoge( Foo1 foo1 ){};

だにょ
foo1の参照そのものは上書きされないよ
メンバーはいじれるよ



910 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 22:53:24.86 ID:gm0njNEv.net]
Interface IFoo
{
}

class foo1:IFoo
{
}

class foo2:foo1
{
}

hoge(ref IFoo foo2) でどう?

911 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 23:04:03.46 ID:FKycpPH3.net]
>>896
C#やC++/CLIのハンドル渡し(C#ならFoo foo, C++/CLIならFoo^ foo)に相当するのはC++のFoo* fooだよ

912 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 00:42:11.48 ID:PQCx+Vd2.net]
テキストボックス1〜テキストボックス100みたいなのを配列みたいに扱えますか?

913 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 00:47:54.38 ID:pD0MAiOr.net]
PanelやGroupBoxにまとめて入れてControlsでアクセスする
自分で手で配列に入れるのはやめろ

914 名前:デフォルトの名無しさん [2015/09/17(木) 04:08:04.20 ID:4HLEYCrX.net]
ラーメンクラスを作る場合、
パラメータとメソッドは
どういった具合にしたらいいんですか?
(´・ω・`)

915 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 04:23:23.59 ID:Q0AcoQbB.net]
ラーメンクラスの目的によるとしか

916 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 04:42:43.98 ID:cshgYIFM.net]
3分待つ機能と食べる機能は全ラーメンクラスに継承しろ

917 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 06:29:30.95 ID:mooKI9/d.net]
addトッピングメソッドとトッピングパラメータ(List型?)は基底クラスに持つべき

918 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 06:53:55.88 ID:WDJU3Zw5.net]
>>901
bool Wait(int minit)

919 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 10:42:31.84 ID:Z358njol.net]
ラーメンは全てインスタントラーメンかカップラーメンである

というわけでもないでしょ



920 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 11:33:26.73 ID:ptLmoXeB.net]
ツマンネ

921 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 11:41:24.96 ID:rrdPtXos.net]
>>907
オモシロイヤツヲヒトツタノムヨ

922 名前:デフォルトの名無しさん [2015/09/17(木) 20:52:11.24 ID:Gg0L/PBZ.net]
旧ADOにあったRecordset.GetStringは廃止されたの?
昔(.NET1.1?)はADO.NETにもあったはず…

923 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 22:35:12.65 ID:W5SHLev9.net]
Hogeデータプロバイダ名前空間の中
HogeDataReader.GetString()

924 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 22:44:44.40 ID:PQCx+Vd2.net]
>>899
これおしえてください!

925 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 23:10:36.06 ID:CxP5vej7.net]
一旦配列に入れてしまえば後は自由でしょ

926 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 23:36:24.55 ID:4dvMz6Vq.net]
>>910
たしかそれだったと思うけど、今のSqlDataReader.GetStringは、列番号必須で区切り文字指定のない全く別物…

>>912
Webページへの高速出力が目的なので、ループ出力より高速じゃないと意味ない…

そのかわり1.1の頃より速くなってるから、なんでもループ処理でOKよってことなのかな
当時は圧倒的に速度が違ったけど

927 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 23:37:32.60 ID:4dvMz6Vq.net]
>>912
ん?>>911へのレスかw
失礼しました

928 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 01:22:36.27 ID:aVZSqO61.net]
>>912
object型の配列に部品を格納する感じですか?

929 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 02:29:27.98 ID:YsR93Rd4.net]
c# コンポーネント 配列 でググりなさい



930 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 07:18:13.22 ID:fS8raEaD.net]
>>911
>>900で答え出てるだろ
プログラミングの基本的な指針として、地道な手作業は可能な限り避けるのがよい

931 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 13:12:04.38 ID:aVZSqO61.net]
>>916
>>917
ありがとうございます。

932 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 22:22:58.29 ID:cJiNMIaZ.net]
多次元配列をコピーするのって、一つずつforループでやるしかないのでしょうか?

933 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 22:28:49.66 ID:fS8raEaD.net]
Cloneするだけ
まあその前に初心者なら多次元配列は捨てた方がいい

934 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 00:27:37.44 ID:ImfPowRm.net]
>>919
LINQを使え!

935 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 01:27:07.29 ID:2AI6YCMk.net]
逆引き系の本を一冊買うとしたら、何かお勧めありますか?
主にUnityで使うつもりなのでVisualC#に偏っている必要は全くないのですが

936 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 03:14:00.13 ID:Zufot1+5.net]
そういうのはもう書籍の時代じゃとっくにないよ。
web検索禁止の職場(そんなのあるの?)ぐらいしか需要ないし。

937 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 05:23:44.41 ID:2AI6YCMk.net]
もしかして、Webで逆引き書籍に近いものがあるんですか?

938 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 06:36:09.44 ID:nNq1xWLG.net]
C# hogehogeする方法

でぐぐれば大抵はみつかるでしょ

939 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 18:39:56.56 ID:ONkilyrE.net]
同じ品質の情報をまとめて仕入れるには本が一番手っ取り早いだろ



940 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 02:02:40.73 ID:rYu6JiJC.net]
>>919
職場のバカがDeepCopyとかいうメソッドを作ったのでどんなバカなコード書いてるのかと覗いてみたら
シリアライズして逆シリアライズしていた。
このバカはきっと「俺天才?」とか思ってるんだろうと思った

941 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 04:57:39.45 ID:GwThY85s.net]
>>922
職場にVS2005時代の秀和システムの逆引き本があって
毎年新人がそれ参考にするんだよ。それどころか、読めと薦める奴すらいる。
それはゴミだ、捨てろと言っても誰も聞かない。

942 名前:253 mailto:sage [2015/09/20(日) 07:15:00.84 ID:O6Xw3ijC.net]
>>928
お前が捨てればいいし
そもそももっとまともな本買えばそんな本誰も見向きしなくなるだろ
まともな本があるかどうかは知らんけど

943 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 12:53:26.70 ID:b8irudVx.net]
>>919
ジャグ配列をコピーするプログラムをLINQで組んでみた

ideone.com/73tdUp

a2をあらかじめnewしとかないといけないのが問題だけど
これもLINQに入れれればいいな

944 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 14:36:59.39 ID:GwThY85s.net]
>>929
共用図書として管理されてて、棚卸しがあるから勝手に捨てられん。
会社は本を買ってくれない。業務や自己研鑚に必要な本も自腹購入。

945 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 14:43:13.35 ID:PY77Iv4D.net]
>>927
何か問題あるの?
Webで探せばすぐ出てくるコードだが。

946 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 15:07:04.60 ID:O6Xw3ijC.net]
>>931
そんなアホ会社に勤めてる自分を恨めよ

947 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 15:13:53.07 ID:atv7oNrq.net]
やめてください
そういうのはマ板でやってください

948 名前:デフォルトの名無しさん mailto:sage [2015/09/21(月) 17:32:41.08 ID:Qf1YaYyL.net]
そんなその逆引き本ってゴミなん?

949 名前:デフォルトの名無しさん mailto:sage [2015/09/21(月) 18:56:36.66 ID:isL5PIxi.net]
ネット禁止の職場だと神



950 名前:デフォルトの名無しさん mailto:sage [2015/09/22(火) 22:52:37.30 ID:9Yiwc7mM.net]
VS2005を使う必要があるなら構わないが
最新の環境で10年前のC#本は最早疫病神だろ。

951 名前:デフォルトの名無しさん mailto:sage [2015/09/22(火) 23:34:32.61 ID:yQAByzEz.net]
またいつものそういう絵に描いたようなダメな奴の発想のご開陳ですか。

逆引き本の類はC#の本というよりBCLの本で、BCLはC#ほど変化があるとは思えない。
だからそのまま使える部分も多いと思うけど。

952 名前:デフォルトの名無しさん mailto:sage [2015/09/22(火) 23:45:20.37 ID:ukiPrkhN.net]
思う思うってうるせえんだよ何一つ断定的ないカスが。

953 名前:デフォルトの名無しさん mailto:sage [2015/09/22(火) 23:47:05.01 ID:+2wZ1QC+.net]
ダメなのは本ではなくコピペグラマ
そういう意味では本の方がコピペできない分だけマシ

954 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 00:43:49.47 ID:JvX9Z5l/.net]
うちの職場はコピペ指向が主流

955 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 00:59:08.66 ID:hI1vJLTN.net]
コピペで済ます奴ほどラムダ式やLINQやTaskを避ける謎習性
自分の見たことない、理解できない文法はコピペがためらわれるらしい
傍から見てて笑っちまうよ

956 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:02:59.07 ID:DJdG/okP.net]
>>942
コピペの理由が「今まで実績あるソースだから」だもんな
同じコード見る身にもなってみろと・・・

957 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:03:09.50 ID:vQpke5kW.net]
むしろコピペされたコードの大部分を理解出来ていないだろ
理解出来ないものをコピペするから始末に負えない

958 名前:デフォルトの名無しさん [2015/09/23(水) 01:23:59.67 ID:X+JzAFdp.net]
最近はタイプセーフより、シリアライズ可能なようにするのが俺ん中でブーム。
判定は文字列や数字。
コピペも多くなるけどね。
オブジェクト思考と関数型の重み付けはセンスを問われるね

959 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:59:25.10 ID:vuM6eIZV.net]
プロジェクトの途中でいきなり妙な宗教に目覚めるのだけ止めてくれたらあとは何でもいい



960 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 09:13:51.73 ID:kAhgYRFO.net]
コメントでプログラムの内容の意図をしっかり書いてくれればコピペでも何でもいい

961 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 09:27:57.00 ID:DOrhv1Zg.net]
>>947
> コメントでプログラムの内容の意図をしっかり書いてくれれば

そんな奴はコピペなんてしない

962 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 12:28:14.16 ID:brsC0ei6.net]
テスト結果をエクセル方眼紙で図形とか多用して美しいレポートに仕上げてくる奴に限って
ソースはコピペまみれ

963 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 12:47:19.41 ID:pVjwfoZv.net]
それを言うなら、2chくんだりでクダ巻いてる奴なんか例外なく無能。

964 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 16:20:04.65 ID:4xka67Z0.net]
それは否定できない

965 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 16:27:06.58 ID:xXat8bOk.net]
コピペそのものの何が悪いかに言及できるやつはいない

966 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 16:45:48.88 ID:4xka67Z0.net]
何故その書き方になるのか理解しないでコピペされるのは嫌だよね

967 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 16:58:49.24 ID:lW5FhXsG.net]
嫌というか、コピペしたまんまでエラー処理とかもろくに組み込んでないコードを持ってこられても。
実際ネットに転がってるコードなんて目的の動作をさせることのみに焦点を絞ってるんだから。
挙げ句にコピー元がバグってるんだからボクは悪くないもん!とか言われた日には。

968 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 17:24:32.25 ID:xkmM0J9H.net]
レビューの時に答えられないコード持ってくんなチンカス

969 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 17:29:59.86 ID:DOrhv1Zg.net]
>>952
マジレスしとくと、
本来同じ機能を実現するルーチンが複数になることで不具合修正や機能追加時の変更漏れが発生しやすくなる
って言うのが一番でかいと思う



970 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 19:22:36.11 ID:z8WDBc2F.net]
それは自分のソース内のコピペであって
今話してるのは外からのコピペだと思うんだが

971 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 20:24:34.98 ID:srG8yqao.net]
サンプル改造して使うのはどこでもアタリマエにやる
問題は改造できんやつだ

972 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 20:37:36.98 ID:Edj0jzP7.net]
>>958
結局コピー元の動作を理解できていないという問題に行き着くんだわ

973 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 20:47:09.15 ID:DAYusJ9Y.net]
どうでもいい話だけど、コピペが問題になるのは、

(1) コピペ部分がブラックボックスとして成立してないか、または

(2) (そのコードを管理する人間にとって)ホワイトボックスでない場合

974 名前:デフォルトの名無しさん [2015/09/24(木) 04:47:23.85 ID:EdI1Xy7C.net]
よくパスワード保存して次回から省略する機能ってあるじゃないですか
暗号化してconfigファイルに保存しようかと思ったんですが、
configファイルをコピーしちゃえばデコード後のパスワード知らなくても通っちゃうじゃないですか
普通どうするんでしょう?

975 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 05:22:56.13 ID:CMBCqBI4.net]
PCごとに固有になるようにする

976 名前:960 mailto:sage [2015/09/24(木) 06:20:27.73 ID:EdI1Xy7C.net]
>>962
PC固有の情報はないという噂ですが…
暗号化キーをMACアドレスにしておき、その事実を隠しておけば、
とりあえずまっとうな会社と認められるでしょうか?

977 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 07:45:02.78 ID:jOCdVqmS.net]
普通は、単純にそのユーザーしかアクセスできない場所に置く。あるいはそういう場所に置いた
秘密キーで暗号化する。

978 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 07:59:52.17 ID:TiSlAdHm.net]
まっとうではないと判断されるな

979 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 08:10:23.88 ID:EdI1Xy7C.net]
>>964
そのユーザーしかアクセスできないことを信用していいなら暗号化する必要もないのではないでしょうか?



980 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 08:20:40.51 ID:QTVnOSJ6.net]
自分が最初に何を言ったか覚えているのか?

981 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 09:08:56.95 ID:P59Gpqf+.net]
firefoxはオープンソースじゃなかったっけ
見てみればいい

982 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 09:21:57.08 ID:hqSpqpAb.net]
>>966
気づいたか。パスワードを保存するセキュアな方法は存在しないので全力で回避する事。

983 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 09:40:28.95 ID:EdI1Xy7C.net]
>>968
調べました
コピーされたらおしまいという事態を防ぐために、マスターパスワードという機能があるそうで、毎回入力が必要みたいです
コピーが心配なら毎回入力しろということですね
ということは自動パスワードの暗号化はあまり意味がないということになりますが、firefoxも一応暗号化してますね
ということで心配するのやめました

984 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 09:44:34.01 ID:EdI1Xy7C.net]
>>969
ローカルにある以上アタックも可能ですし、破られるかどうかは気にしてません
クレームが付かない常識的な仕様や方針を知りたかっただけです
firefoxの仕様見て、「保存してもいいけど保存したら危険です」のアナウンスでいいような気がしました

985 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 15:35:15.84 ID:p27rUZR0.net]
・・・あのな
安全のためにパスワードを入力するという方法を採るわけだ
それを省略すればイコール安全ではないとなぜわからない

986 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 16:28:03.06 ID:9oqv3+gF.net]
その安全性を何処まで保証すべきかってのとの天秤だよな。

中に何が入ってるかによるし、ライセンスキーとかの類いならキーの値段とユーザ数の天秤だろうし。
社用で使用するメールの閲覧パスワードだって一度入力して保存したまま覚えてないヤツなんてごまんといるだろうけど、
それが大きな問題になることなんてあんまりないし。
で、たいていの場合はそんなこと気にする価値がそのソフトにあるかと聞かれたら ? ってなるモノの方が多い。

PC 単位でのセキュリティでいいなら、その昔触ってたライセンス管理付きのソフトで、
HDD のシリアル番号+キーの種別を示すテキストをハッシュ化してそれを部分的に抜き出したモノなんてのを使ってたことがあった様な気がする。
保存先は無造作にソフトのインストールフォルダにファイル作ってたような。。

987 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 16:39:17.98 ID:l6wjQdp1.net]
ログインユーザーだけが読めるようにしとけばいいよ
暗号化はうっかり表示させた時、後ろで誰か見てたら困るべ

988 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 16:46:51.58 ID:fjowUJxZ.net]
>>974
パスワードの最大のメリットは、何かあった時「お前が悪い」で済ませられることにある

989 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 17:49:25.63 ID:zDZwJSqO.net]
>>971
普通にそれでいいと思う。

工夫すれば特定の環境下でのみデコード可能な暗号化なんてこともできるんだろうけど、
そのコストを正当化できる用途がどれだけあるのかなと。



990 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 18:03:00.11 ID:hqSpqpAb.net]
DPAPIでユーザーまたはPC固有の鍵で暗号出来るじゃん

991 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 22:09:03.96 ID:InMIs/J4.net]
なんだこの糞画質は

992 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 16:58:01.03 ID:KJgftwp5.net]
ここで聞くのがいいのかどうかわらないけど
EFのコードファーストでlocalDB作るにはどうしたらいいんだ?
既定では普通にSQLserverで作られてしまう

993 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 17:17:23.99 ID:IwY+2yrf.net]
connectionStrings 設定すりゃいいんじゃなかったかな

994 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 23:21:13.33 ID:4d8u8vME.net]
EFググるとSQL serverの情報ばっかりよな
oracle11gだとコードファーストできなかった

12cから対応してるらしいが

995 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 00:48:35.55 ID:0uPNs2Ie.net]
よく読んでないけどこれかな
ttp://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/CodeFirst/index.html

996 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 06:08:42.03 ID:dJryEewA.net]
980超えました

997 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 11:33:01.32 ID:KGnBWXC1.net]
次スレは>>971が立てる事になっている

998 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 15:18:03.90 ID:lPgGeQyi.net]
WebbrowserでPostするデータがUTF-8でURLエンコードされて送信されるのですが
これをSJISでURLエンコードする場合はどうすればいいのでしょうか?

999 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 16:18:19.26 ID:qD4Po1Vl.net]
他の言語でもずっと気になってたんだけど
引数ってメソッドに代入する前に計算してそれを放り込むのとメソッドの行で直接計算式書くのって
見た目的にきたねえのと余計な変数ができること以外なんか違いあるの?



1000 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 16:30:03.74 ID:uTIKCoPr.net]
あまりないと思うが、引数の評価順を変更する必要に迫られた場合
変数に格納しておくしかない

1001 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 16:43:14.88 ID:w+tHyIOy.net]
c#同士でプロセス間通信行いたいんだがググってもよくわからん
ipcを使うとかsendmessage使うってのは見かけたんだが二つの違いがわからない

1002 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 17:06:44.01 ID:uTIKCoPr.net]
IpcChannelはNamed pipesを使ってデータを送受信する
SendMessageはMessage queueを使ってデータを送受信する
C#(.NET)同士ならIpcChannelを使う方がいい
理由は楽だから

1003 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 17:39:41.05 ID:v7fSGmLa.net]
>>985
送信前にsjisに変換しろよ

1004 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 17:42:15.41 ID:v7fSGmLa.net]
>>986
>メソッドの行で直接計算式書くのって
そんな書き方は俺は認めない

1005 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 17:45:00.67 ID:bE/QWpmW.net]
>>986
他で使ってなければローカル変数はJITの最適化で消えるのでパフォーマンスには影響しない
一時変数に入れてるとデバッグで途中の値を見たいときに楽

1006 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 19:34:34.34 ID:QAy/TSxu.net]
次スレマダー

1007 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 20:45:56.05 ID:XoMNa86j.net]
>>991

hoge.Foo(a + b)

ですむところを

tmp = a + b
hgoe.Foo(tmp)

を強制するのか
そんなコーディングルールはいやだなぁ

1008 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 20:49:24.70 ID:aOm8ykiX.net]
デバッグしたい時に書き換えればいいと思う

1009 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 20:56:29.83 ID:XoMNa86j.net]
ウォッチウインドウで計算式入れれば良いんじゃないかと



1010 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 21:03:52.04 ID:VMIaqxNe.net]
VSのデバッガは優秀だから問題ないけど、スクリプト言語使ってると
エラーが出た行番号は出てるけどその行のどの式が原因なのか分からない場合がある
そういうときとりあえず一時変数に入れて行を分けたりするね

1011 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 21:11:12.67 ID:XoMNa86j.net]
ここはc#のスレ

1012 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 21:30:30.74 ID:1RpaQohZ.net]
でもラムダ式って一般に呼び出し部にベタで書くし、
それに慣れたら数式も普通に書いちゃうでしょ。
気に入らないかもしれないけど、慣れるしかないのでは。

1013 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 21:43:42.81 ID:Eb5jOjH8.net]
C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/tech/1443271409/

1014 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 21:48:18.67 ID:VMIaqxNe.net]
>>999
ラムダ式はそれ自体がエラーになったりすることは無いからね
ラムダはその評価結果が問題であって、ラムダ式自体の値には特に意味が無い

1015 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1016 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<232KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef