トップページ⇒tech
1002コメント276KB

C#, C♯, C#相談室 Part89 [転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2015/09/26(土) 21:43:29.25ID:Eb5jOjH8
■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

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

■前スレ
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1437808445/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
0002デフォルトの名無しさん2015/09/26(土) 21:58:07.51ID:W4J0LT9H
      __/l.
     /    トi `ヨ
   _ノ <◎》 ヒi・ ヨ ,.、
  /´        ヾニ'ノ    
  | i  ,    i ,,,.ノ'ヽニニ 7  
  レしイ`ー一レi. |   //,、
    ̄       ̄   Lニニノ
0003デフォルトの名無しさん2015/09/27(日) 00:36:06.41ID:Z8eHkRE5
前スレの987です
ipcとsendmessageの違い説明してもらってありがとう
追加で聴きたいんだがipcで文字列をサーバー側に送信するときってどうするの?
それらしいメソッドも見つけられなかった
0004デフォルトの名無しさん2015/09/27(日) 00:41:55.03ID:PJ9cwNS0
WCFでおk
0005デフォルトの名無しさん2015/09/27(日) 10:26:53.27ID:ULqoDcvQ
Wcfはやめておきな
もうオワコンだよ
0006デフォルトの名無しさん2015/09/27(日) 18:35:43.95ID:yseIsr3i
双方をサーバーにすればいいんじゃね?
0007デフォルトの名無しさん2015/09/27(日) 19:58:59.91ID:jTsd9hQM
色々と汎用性を考えたらsendmessageの方が有用だったのでそっちに変更したことアリ
0008デフォルトの名無しさん2015/09/28(月) 20:21:14.51ID:47Omh4YI
WPF何で勉強すりゃいいんだ...
ググっても初歩的なのしか出てこないし
書籍も良さげなのないし

知恵袋だかどっかではMSのHPのサンプル動かして
あとはオープンソース探して勉強しろとか言われてるし

MVVMの勉強は別でやるべきなのか?
0009デフォルトの名無しさん2015/09/28(月) 20:31:06.99ID:nBHOHTmc
WPFは勉強しないが正解
来年で10年になるけど誰も使ってない
0010デフォルトの名無しさん2015/09/28(月) 20:43:39.05ID:W1n2yTQ9
今の.NET標準のUIはASP.NET MVCだよ
0011デフォルトの名無しさん2015/09/28(月) 20:47:17.03ID:5W5jv3ql
↑どうしようもないバカ
0012デフォルトの名無しさん2015/09/28(月) 20:49:25.64ID:KOu+cy7g
formのほうがいい?
0013デフォルトの名無しさん2015/09/28(月) 21:06:03.74ID:VHL/k6m8
WPFのサンプルコードとかあるけど有名人の書いたコードでもダウンロード数が300とかだぞ
全世界で300人しか食いつかないんだぞ?
0014デフォルトの名無しさん2015/09/28(月) 21:14:57.50ID:VHL/k6m8
WPF触ってやめた人は数十万〜数百万人いるのではないだろうか?
食わず嫌いって事じゃなくて食って嫌いって人が多いと思う
これからも普及しないから勉強する必要はない
0015デフォルトの名無しさん2015/09/28(月) 21:17:27.18ID:xzhasA3e
silverlightで業務アプリ作っていた会社、元気にしてるかな
0016デフォルトの名無しさん2015/09/28(月) 21:24:29.26ID:ySQbp+8d
>>15
リプレイスで金稼げるじゃん
0017デフォルトの名無しさん2015/09/28(月) 21:25:19.52ID:ZQcFjZzd
windowsの業務系アプリケーションってformで作られてんの?
0018デフォルトの名無しさん2015/09/28(月) 21:26:29.62ID:VHL/k6m8
知り合いの会社がd社h社y社からsilverlightの仕事受注してたな…
目から水が出てくる…
0019デフォルトの名無しさん2015/09/28(月) 21:33:07.03ID:VHL/k6m8
>>17
VB6アプリ→javaアプリ→htmlベースってところじゃないか?

うちのはc++で主要コンポーネントを作ってwinformに貼ってる
0020デフォルトの名無しさん2015/09/28(月) 21:36:36.53ID:HHlxPx6I
wpfってそんなに人気無いのか
インターフェースがいじりやすいからよく使ってるんだが
0021デフォルトの名無しさん2015/09/28(月) 21:39:16.67ID:FPjw0UTs
糞フォームよりはきちんと設計してあるしよくできてる
だが良いものが普及するとは限らないのだよ
WPFの普及度は最悪だ
0022デフォルトの名無しさん2015/09/28(月) 22:12:50.86ID:DtOAXIl6
>>3
MarshalByRefObjectを継承した通信用のクラス作ったろ
そいつにメソッド実装すりゃいいんだよ
0023デフォルトの名無しさん2015/09/28(月) 22:14:39.79ID:W1n2yTQ9
今更.NET Remotingとか時代錯誤にも程があるだろ
0024デフォルトの名無しさん2015/09/28(月) 22:15:33.10ID:ZyrUKPY2
まぁ普通にWCF一択だな
0025デフォルトの名無しさん2015/09/28(月) 22:17:17.31ID:i42L2seC
asp.net MVCはまだ使われてる?
0026デフォルトの名無しさん2015/09/28(月) 22:42:48.02ID:DtOAXIl6
WCFは大げさすぎな時があるだろ
ちょっとプロセス間通信したいだけなのに
0027デフォルトの名無しさん2015/09/28(月) 22:53:57.68ID:qO0J1M5O
Wpfの問題の一つは、素で全てのイベントがバインド出来ないことだな
ビヘイビアなんか簡単なものだが、そこまで辿り着く前にギブアップする人も多い
0028デフォルトの名無しさん2015/09/28(月) 22:55:37.93ID:W1n2yTQ9
Remotingと比べて特に大袈裟とは思わないが
使ったことないだけじゃね?
まあWXX系の名前が付いてるだけで大袈裟そうなイメージがあるのは分かるが、
WCFに関しては比較的シンプルだしフレームワークというほどアプリの構造を規定するようなものでもない
0029デフォルトの名無しさん2015/09/28(月) 23:44:53.25ID:vgM4ZS+6
Asp.net Web apiがあるからなぁ
セキュリティ要件とか何らかの理由がなければWcfは使う価値観無し
0030デフォルトの名無しさん2015/09/28(月) 23:46:10.93ID:A3yzbLho
WCFは初期の説明がどこも駄目すぎた
あれじゃappconfigにしか接続先書けんように誤解する
0031デフォルトの名無しさん2015/09/29(火) 00:04:10.31ID:oOGIUwwe
WCFでセルフホストして名前付きパイプでバインディングするだけの簡単な作業だな
0032デフォルトの名無しさん2015/09/29(火) 00:11:50.95ID:xUqh6GV8
ついでにサンプルがほぼ全部SOAPなのもあかんかった
IIS建てるくらいなら普通にHTTPアクセスするわ
0033デフォルトの名無しさん2015/09/29(火) 16:18:05.62ID:NDjZX+li
>>8
WPFはXAMLの書き方とバインディングをさらっと勉強して
後はMVVMの理解に時間を費やすべきだろう。
つーかMVVM理解してないと正しいWPFの使い方が分からんと思う。
0034デフォルトの名無しさん2015/09/29(火) 19:28:07.46ID:acQqRnNE
>>33
やっぱそういう感じか
MVVMパターンなフレームワークって他にある?
0035デフォルトの名無しさん2015/09/29(火) 22:00:16.22ID:NcGQK+Xr
WCFはシステムにごみを残すから…
0036デフォルトの名無しさん2015/09/29(火) 22:02:36.62ID:NcGQK+Xr
WPFはメモリリーク問題のころにいろいろと嫌な思い出があるのでそこでやめた
0037デフォルトの名無しさん2015/09/29(火) 22:25:47.17ID:+KF25K9W
>>34
最近はMVVMというとWebのデザインパターンだよ
ビューに特化したモデルにUIをバインドするってのは
モダンなWeb開発じゃ普通に行われてる
VueとかKnockoutとかAngularとか
0038デフォルトの名無しさん2015/09/29(火) 22:54:19.79ID:qVFuDZbI
WebのMVVMフレームワークの楽さは段違いだけどね
なんでこんなに野暮ったい作りにしたのかね
WPFは
0039デフォルトの名無しさん2015/09/29(火) 23:14:37.99ID:5ZVAdYEK
Mvvmはダイアログとか逆にめんどくせえよ
素人のお客様はダイアログメッセージ大好きだから使わないってわけにもいかないしくそが
mvpのほうが日本の現場のやり方に適合してる
0040デフォルトの名無しさん2015/09/29(火) 23:18:26.71ID:SqFlqVze
逆じゃねーだろ。
冗長化することで疎結合を図るもんなんだから順だろ。
0041デフォルトの名無しさん2015/09/29(火) 23:25:56.44ID:NcGQK+Xr
単にコード書けばいいだけなのに宗教論争が出てくるところがうざい
0042デフォルトの名無しさん2015/09/30(水) 00:06:14.04ID:u3/16ewm
WPFはDobonみたいなサイトがないのが辛い
0043デフォルトの名無しさん2015/09/30(水) 00:17:50.71ID:P6f9n+3Y
>>37
angularは少し触ってるんよね
双方向バインドとかはいいんだけど
DIあたりがまだいまいち...
0044デフォルトの名無しさん2015/09/30(水) 14:10:35.76ID:/7e79CqG
WPFはビデオアクセラレータ詐欺が致命的
速くねえんじゃ面倒なだけやん
0045デフォルトの名無しさん2015/10/01(木) 17:21:34.69ID:ASS/6Yz0
>>42
流行ってないから作る人もいないと言う事?
0046デフォルトの名無しさん2015/10/01(木) 20:20:50.31ID:TZq8STMW
絶対に移行したくないでござるから
PHP5.2もStruts(無印)もVB6もバリバリ現役でござる
0047デフォルトの名無しさん2015/10/03(土) 00:09:13.50ID:Keh2Ns9c
イベントソーシングの利点が分かりません
C#のサンプルでメリットを説明してくだだい
0048デフォルトの名無しさん2015/10/03(土) 01:47:55.03ID:lM4fZrRH
将棋アプリとかの再生機能。
0049デフォルトの名無しさん2015/10/04(日) 00:20:49.49ID:Vt6Jil15
オーバーライドを強制しないインターフェイスって定義出来ませんか?
オーバーライドしなかった場合空のメソッドを暗黙的に実装して、戻り値がある場合は初期値(nullや0やfalse)を返すようにしたいです。
0050デフォルトの名無しさん2015/10/04(日) 00:24:15.38ID:E3In34i6
Javaに転職して下さい
0051デフォルトの名無しさん2015/10/04(日) 00:26:36.62ID:K/b1ABC4
インターフェースのデフォルト実装はできない
拡張メソッドで頑張れ
0052デフォルトの名無しさん2015/10/04(日) 00:29:17.30ID:2RSKP97g
インターフェースじゃなくて抽象クラスじゃダメなの?
0053デフォルトの名無しさん2015/10/04(日) 00:31:22.57ID:Vt6Jil15
>>50
javaから来たんだがjavaってそんな事出来た?
0054デフォルトの名無しさん2015/10/04(日) 00:47:11.48ID:sYhIU9Uv
俺もjava出身だけどできた記憶はねえな
0055デフォルトの名無しさん2015/10/04(日) 00:47:22.38ID:GuH6DZcU
今のJavaはできる
0056デフォルトの名無しさん2015/10/04(日) 00:50:36.50ID:sYhIU9Uv
へえ、java8からdefault methodsなんてのが入ったのか
0057デフォルトの名無しさん2015/10/04(日) 00:51:05.31ID:Vt6Jil15
java凄いな
0058デフォルトの名無しさん2015/10/04(日) 00:51:44.63ID:Vt6Jil15
>>56
えっ俺3ヶ月前にjavaから移ってきたけどそんなの知らんぞ
0059デフォルトの名無しさん2015/10/04(日) 00:54:15.30ID:K/b1ABC4
お前が勉強してないだけだろ
0060デフォルトの名無しさん2015/10/04(日) 00:55:28.30ID:z9vnEhIM
スッキリJAVA入門にも書いてあったと思うぞ..
0061デフォルトの名無しさん2015/10/04(日) 02:31:21.63ID:/6Igeukh
なんか筋悪そうな機能だな。
そもそもインターフェイスって何だっけって思っちゃう。

C#が出た時、Java界隈のOOP原理主義者みたいのが凄い拒否反応だったような記憶があるけど
そういう連中が何て言ってるのか聞いてみたい気がする。
0062デフォルトの名無しさん2015/10/04(日) 02:45:56.51ID:rWuKCJFV
高木のひろみちゅがdelegateをさんざっぱらディスってた頃が懐かしいのう
0063デフォルトの名無しさん2015/10/04(日) 02:53:35.34ID:iiWOg/+e
インテリはいつだって過激なことしかやらないからね
ちかたないね
0064デフォルトの名無しさん2015/10/04(日) 03:15:03.16ID:zHOzyLwf
>>61
なんで?
インタフェースがあってデフォルト実装を持たすだけじゃん。
頭硬い
0065デフォルトの名無しさん2015/10/04(日) 04:23:37.92ID:sYhIU9Uv
昨日言ったことなんて覚えていないさあ
0066デフォルトの名無しさん2015/10/04(日) 06:21:43.98ID:mWTPZ0uY
今のJAVAは
new Thread( () -> {System.out.println("sub thread");} )
だからな
0067デフォルトの名無しさん2015/10/04(日) 19:20:20.48ID:BBaweDvN
LINQを初めて知った時に
求めていたものはこれだっ!って感動しました
みなさんはどうでした?
0068デフォルトの名無しさん2015/10/04(日) 19:40:29.64ID:k/Vv5opt
ドメインモデルアンチパターンは完全に終わったなって思った
0069デフォルトの名無しさん2015/10/04(日) 19:47:10.70ID:n9SWOsb2
LINQ見たときは、読みづれーなー、と思いました
0070デフォルトの名無しさん2015/10/04(日) 20:04:20.62ID:FsLwYc7A
>>67
最初だけだった。
linq使いまくるとコードが読みづらい。
今では滅多に使わない
0071デフォルトの名無しさん2015/10/04(日) 20:40:06.35ID:F7DfZVqD
Linq使いまくるとコードが読みにくいって
どんなコード書いてんだよw
0072デフォルトの名無しさん2015/10/04(日) 20:47:27.03ID:BBaweDvN
>>70
滅多に使わないってことは
コレクション操作するときも
foreachとif文書く感じ?

普通メソッド形式で書くだろうから
whereで絞って、selectして、orderbydescして、先頭n個取って来る
みたいにメソッドチェーン通りに処理が分かると思うんだけど。
0073デフォルトの名無しさん2015/10/04(日) 20:50:57.86ID:FsLwYc7A
>>72
そのとおり。
0074デフォルトの名無しさん2015/10/04(日) 21:07:29.40ID:F7DfZVqD
>>73
いやーどう考えても foreach と if 文オンリーの方が
コードが読みにくくないか?
0075デフォルトの名無しさん2015/10/04(日) 21:16:05.68ID:FsLwYc7A
>>74
そんな事ないわよ。for if で十分よ。
0076デフォルトの名無しさん2015/10/04(日) 21:18:52.52ID:F7DfZVqD
>>75
そこまで言うなら何も言わないわ
☆(ゝω・)vキャピ
0077デフォルトの名無しさん2015/10/04(日) 21:19:07.05ID:X+pziR5V
こーゆーのがレガシーコードを量産するのね
0078デフォルトの名無しさん2015/10/04(日) 21:19:12.76ID:2RSKP97g
>>72
読み辛いって言っているのは多分ラムダ表記のことなんじゃない?
あのメソッドチェーンが読み辛いなんてことは流石に無いと信じたい
0079デフォルトの名無しさん2015/10/04(日) 21:27:17.53ID:GuH6DZcU
for if の方が意味的な密度が下がるからある意味読みやすい
COBOLの
ADD 1 TO HOGE.
MOVE HOGE TO OUTPUT_HOGE.
が読みやすいというのと一緒
0080デフォルトの名無しさん2015/10/04(日) 21:32:09.27ID:F7DfZVqD
レガシープログラマの鑑だな
0081デフォルトの名無しさん2015/10/04(日) 21:43:56.71ID:zHOzyLwf
linqはインテリセンスが汚染されるから、データ処理がメインじゃなきゃforeachで回すな
0082デフォルトの名無しさん2015/10/05(月) 00:47:56.95ID:LmMVGWnX
気分で決めるかな
気分で物事を決められる立場にいるから
0083デフォルトの名無しさん2015/10/05(月) 01:19:30.73ID:IBdfcwn9
ニートとか?
0084デフォルトの名無しさん2015/10/05(月) 01:43:47.39ID:7gRuVKiR
やまだくん、座布団持ってきて!
0085デフォルトの名無しさん2015/10/05(月) 01:55:09.54ID:b3HB7/qz
linqを知らない人は読めないが、逆は読める
ならforで回してるほうが読みやすいということだ(QED)
0086デフォルトの名無しさん2015/10/05(月) 07:51:51.63ID:Hq8/NA/P
さすがにC#やっててLINQも使えない奴に合わせる必要ないでしょ
0087デフォルトの名無しさん2015/10/05(月) 11:13:15.36ID:1iyaU5vD
メソッド形式ばっかり使ってるわ。
クエリ式はやっぱり読みづらいし感覚的に好きになれない。
0088デフォルトの名無しさん2015/10/05(月) 12:54:06.99ID:6whxSJRO
メソッド式に虫酸が走る俺はどうやら少数派のようだ
クエリ式では出来ないこともあるから嫌々使うこともあるけど
0089デフォルトの名無しさん2015/10/05(月) 13:50:25.54ID:Hq8/NA/P
クエリ形式のがいいとか言ってるのは
SQL大好きな老害とかやろなぁ

jQueryでメソッドチェーンしないんだろうか
0090デフォルトの名無しさん2015/10/05(月) 14:04:40.42ID:4nGRPUCN
そこで低品質の代名詞樽jQueryが出てくるのはギャグのつもりなのか?
0091デフォルトの名無しさん2015/10/05(月) 15:29:13.32ID:l+YmXvD7
LINQ使おうが使うまいがコードの読みやすさはコーダーの品質に依存する
一般的に言って、新しい物を知っているコーダーはそうでないコーダーに比べて品質が高い傾向がある
LINQ使わないとしてもね
0092デフォルトの名無しさん2015/10/05(月) 15:39:00.45ID:Gxee2tr0
自分が書いたコードをここに貼って見せなさいよ。
0093デフォルトの名無しさん2015/10/05(月) 19:38:50.94ID:b/j1ivXN
Linq 使わないって言ってるレガシーオヤジは 
Entity Framework とか使ったこと無いのか?w
0094デフォルトの名無しさん2015/10/05(月) 19:43:12.16ID:wH6k7s5h
EF使ってなくともコレクション操作でお世話になるからなあ
0095デフォルトの名無しさん2015/10/05(月) 21:41:26.63ID:m/PM7Fjo
EntityFrameworkって
ストレスフルなだけのゴミからスクラップ廃材くらいには
レベルアップしたの?
0096デフォルトの名無しさん2015/10/05(月) 21:45:04.36ID:AH/y3T7l
少なくともウンコ盛りのアホな設定ファイル群は要らなくなった
ただ廃材でないかどうかは微妙
0097デフォルトの名無しさん2015/10/05(月) 23:49:44.26ID:tRTFuR2/
Rxのことも忘れないでください

クエリ式は、ラムダの記述を減らせるのがメリットだと思う
後、EFだとSQLがイメージし易い
0098デフォルトの名無しさん2015/10/05(月) 23:59:02.02ID:1LF/2R+b
>>91
> 一般的に言って、新しい物を知っているコーダーはそうでないコーダーに比べて品質が高い傾向がある

そんなの聞いたことないし、単なる思い込みだろ
この手の思い込みが激しい奴のコードの品質は低い傾向があるみたいだけど w
0099デフォルトの名無しさん2015/10/06(火) 00:16:06.89ID:TrEyw8kb
まあ人間いろんなタイプがあるから一概には言えんよ。当たり前だけど。

フットワークが軽くて新しいこととかトリビアルな知識はやたら持ってるけど
応用力とか設計力がない(要するにあんまり地頭が良くない)タイプもいるし、
逆にせっかくそこそこ知能は高いのに勉強嫌いで古い知識で止まってるタイプもいる。

オールマイティータイプもいる(これはごく少数だけど)
0100デフォルトの名無しさん2015/10/06(火) 00:48:20.22ID:yuX2pqxS
新しい技術に脊髄反射で拒否反応を示す
職場のお荷物のIT土方が湧いてるなw
0101デフォルトの名無しさん2015/10/06(火) 00:51:55.15ID:yuX2pqxS
>>98
お前みたいなのはレガシーコードを書いているという自覚すら無い
コピペプログラマだ
0102デフォルトの名無しさん2015/10/06(火) 01:05:12.17ID:TrEyw8kb
>>101みたいのを見てると精神分析学を知らないことは幸せなことだと思う。
自分の言動の(本当はみじめで哀れかもしれない)動機を本人は知らずに済むのだからな。
0103デフォルトの名無しさん2015/10/06(火) 01:06:18.36ID:mXRqVUnf
>>101-102
思い込み君チース w
0104デフォルトの名無しさん2015/10/06(火) 01:31:09.57ID:yuX2pqxS
久しぶりに覗いてみたけど
2chのマ版はすっかり過疎ってるしレベルも極端に低い
匿名掲示板の限界かw
0105デフォルトの名無しさん2015/10/06(火) 01:41:40.66ID:mXRqVUnf
マ板?
レベル以前の問題だな
こいつのコード、レビューしたらこの手のミスがボロボロ出てくるんだろうな w
それ以前にコード書けるかどうかは知らんけど
0106デフォルトの名無しさん2015/10/06(火) 07:04:31.85ID:14/sy/Q9
LINQが使っているIEnumerableに定義されている拡張メソッドの理解がどうもすっきりとせずに辛い。混乱してくる。

IEnumerable<TSource>という型があったとすると、次のように拡張メソッドが定義される。(extendmethodメソッドなんてLINQにはないけど、例として)


public static IEnumerable<TResult> extendmethod<TSorce, TResult>(this IEnumerable<TSource> source, Func<TSource, IEnumerable<TResult>>)
{
中身は知らない;(質問0:LINQを使うだけなら知る必要はないですか?)
}

これによって、IEnumerable<anyType>インターフェイスを継承したオブジェクトなら、extendmethodメソッドが使えるようになるわけだと思う。(質問1:合ってますでしょうか)

で、extendmethodメソッドは、引数として、Func<TSource, IEnumerable<TResult>>ビルトインデリゲートのみを採っている。(this修飾のは、拡張メソッドの定義用で引数でない)
このデリゲートの定義で、TSourceはデリゲートの引数型、IEnumerable<TResult>は戻り型になっている。
しかし、メソッド名extendmethodのすぐあとにある<TSorce, TResult> って何なのでしょうか。どこで使われるんでしょうか。引数型だけではなぜ定義不足なのかわかりません。これが一番わからないです。(質問2)


よろしくお願いします。
0107デフォルトの名無しさん2015/10/06(火) 07:30:25.83ID:7FNxeZR/
質問0
yieldを使って実装されている。難しくないからやってみたらいい。

質問1
合っている。

質問2
>引数として、Func<TSource, IEnumerable<TResult>>ビルトインデリゲートのみを採っている。
これは間違い。thisパラメータはextensionmethodを呼ぶときに.(ドット)の左側の値が暗黙的に渡る以外は普通の引数。
>メソッド名extendmethodのすぐあとにある<TSorce, TResult> って何なのでしょうか。
ジェネリックの型パラメータ。List<T>の<T>と同じで、「任意の型に置き換えられる」ことをコンパイラに指示している。
hoge.extensionmethod(x => x.y)
として呼び出したとき、hogeがIEnumerable<Hoge>型であれば、
コンパイラはTSourceにHogeが暗黙的に指定されたと推論する。
同様に、x.yがint型であればTSourceの型はint型になる。
型引数はもちろん手動で hoge.extensionmethod<Hoge, int>( と指定することもできる。
0108デフォルトの名無しさん2015/10/06(火) 12:38:22.34ID:14/sy/Q9
>>107
親切にお答えくださってありがとうございます。
ぼんやりと見えてきた感じがします。(まだその程度)


>型引数はもちろん手動で hoge.extensionmethod<Hoge, int>( と指定することもできる。

これは、面白いです。
extendmethod<TSorce, TResult>の、わざわざ角かっこ内に定義されたジェネリック型指定が活きてきたからです。
つまり、extendmethod<TSorce, TResult>のように、ジェネリック型を定義することではじめてコード内でその型のプレースホルダを使えるようになることがわかりました。

次のように言えるわけでしょうか。

「
hoge が、IEnumerable<Hoge>型のオブジェクトであるとき、そして、x.yであらわされる値がint型であるとき、
次のようにして拡張メソッドを呼び出すことができる。
また、使用する拡張メソッドの定義は、次のとおり)
public static IEnumerable<TResult> extensionmethod<TSorce, TResult>(this IEnumerable<TSource> source, Func<TSource, int> f) {}

この拡張メソッド呼び出し方:

1、ノーマルな呼び出し方(このとき、2点は暗黙に指定されている。以下2、3の呼び出し方でこれらをそれぞれ明示的にしていく)
hoge.extendmethod(x => x.y)

2、メソッド内で使われるジェネリック型を、明示的に、指定する
hoge.extendmethod<Hoge, int>(x => x.y)
このとき、ラムダ式のxは、TSourceなので、すなわち、Hoge型ということになる。(質問:合っていますでしょうか)

3、拡張メソッドであることも、明示的に、表しながら呼び出す
hoge.extendmethod<Hoge, int>(this hoge, x => x.y)
」
01091082015/10/06(火) 12:39:00.18ID:14/sy/Q9
メソッド名に続くこういうジェネリック型指定、たとえばMethod<T1,T2>のような書き方は普段はつかっていませんでした。
Methodは引数の型だけを意識していました。
普通のクラス内にメソッドを定義するときにも、こういう形式は使えるんだと思いました。(質問 B:以下のコードは正しいでしょうか。)

public string Method<T1>(T1 z)
{
return T1.ToString();
}

ありがとうございます。
0110デフォルトの名無しさん2015/10/06(火) 13:10:56.41ID:RmS10x6f
>>108
>3、拡張メソッドであることも、明示的に、表しながら呼び出す
>hoge.extendmethod<Hoge, int>(this hoge, x => x.y)

実体は静的メソッドなんだからそれはない
定義されてるクラスをFooとして
Foo.extendedMethod( hoge, x=>x.y );
なら可


>質問 B:以下のコードは正しいでしょうか。

正しくない。

public string Method<T1>(T1 z)
{
 return z.ToString();
}

あとこの<T1>は必須だよ
01111082015/10/06(火) 14:34:29.84ID:14/sy/Q9
>>110
すみません、ありがとうございます。

>Foo.extendedMethod( hoge, x=>x.y );

this修飾子は、呼び出す側には不要ってことなんですね。


>return z.ToString();

そうか、引数定義で指定したメソッド内変数zが、ジェネリックT1で型打ちされているから、
これでいいわけか。
なるほど。ありがとうございます。

あとは、コンパイラに指摘されながら、覚えていきたいと思います。


ご親切にお相手くださってありがとうございました。
0112デフォルトの名無しさん2015/10/07(水) 12:05:17.27ID:tDhsttHF
sharpdevelopでリリースビルドしようとするとエラーでる
log4netは32bitでターゲットcpuをanycpuにしてるからっぽいんだがどうやったらターゲットをx86にできんの?
0113デフォルトの名無しさん2015/10/07(水) 12:20:03.23ID:40NgKpJy
さすがに今時SharpDevelopはないわ
WinならVSCE, MacやLinuxならVSCodeかMonoDevelop
0114デフォルトの名無しさん2015/10/07(水) 12:52:22.89ID:1Tzy0x1l
LINQすら使えないやつは、C#使うんじゃねーよww
0115デフォルトの名無しさん2015/10/07(水) 13:17:18.10ID:9sdQQKJG
芝は心の安寧を求める意識の現れ
0116デフォルトの名無しさん2015/10/07(水) 19:26:33.40ID:F4sBdgXs
テストをインチキプログラムで突破する類似品に注意vwvwvwvw
0117デフォルトの名無しさん2015/10/07(水) 20:53:19.01ID:B5U/bW9V
Enumeratorってなんて発音するの?
いーなめれいたー?  えにゅみれいたー?
paramsってぱらむすでいいのかな
0118デフォルトの名無しさん2015/10/07(水) 21:10:26.95ID:LRcqoY9G
発音記号を見ろ
無理やり日本語読みすると「いなむれーた」と「ぱらむ」で過半数程度には通じる
0119デフォルトの名無しさん2015/10/07(水) 22:50:51.42ID:3pa+NQnn
えにゅーめらぼー
0120デフォルトの名無しさん2015/10/09(金) 03:17:38.95ID:AWj2PSbP
あるクラスがあって、このクラスに継承可能で複数設定できる属性がつけられてる
このクラスを継承すると、その属性も継承するわけだが、属性は継承したくないんだ
継承したクラスで、元のクラスについてる属性消す方法ってないかな?
0121デフォルトの名無しさん2015/10/09(金) 03:21:23.16ID:bnFBmvSl
属性にはスコープをつけられる。
継承したら無効とか。

継承元の属性をいじれない場合はしらん。
0122デフォルトの名無しさん2015/10/09(金) 03:42:47.55ID:AWj2PSbP
>>121
属性そのものをいじりたいんじゃなくて、継承元クラスについてる属性を消したいんだよ

その継承元クラスについてる属性のAttributeUsageはInherited=true, AllowMultiple=trueだが
それを変えたいわけじゃない
0123デフォルトの名無しさん2015/10/09(金) 16:27:25.69ID:1E5VI5Cy
まあ無理だろ
読み取る側が継承してる属性なんか取ってこなくていいって言うことはできるけど
0124デフォルトの名無しさん2015/10/09(金) 17:31:11.35ID:AWj2PSbP
>>123
やっぱり無理か
読み取り側を変更するぐらいなら、渡すクラスも一から自作するわ
なんでプロパティじゃなくて属性なんかで設定するようにしやがったんだろう

なんとなく使い分けてるけど
プロパティで実装するべきか、属性で設定するべきか、使い分けの指針とかあるのかな?
設定する基準がインスタンス単位かクラス単位か?
0125デフォルトの名無しさん2015/10/09(金) 19:38:57.34ID:Zss3YWYL
>プロパティで実装するべきか、属性で設定するべきか

全然別物だろ
ラップしたら
0126デフォルトの名無しさん2015/10/09(金) 21:07:35.97ID:CFgeSmkK
カスタム属性は、メタ情報というかタグというか…

例えばEnumのフィールドに別名(日本語名)が欲しい場合に使う
0127デフォルトの名無しさん2015/10/09(金) 21:14:25.60ID:0JeYvXK2
メタ情報は必要だけど
メタ情報で日本語書くよりは
Enumのメンバーを日本語にするのが吉
0128デフォルトの名無しさん2015/10/09(金) 21:25:12.13ID:AWj2PSbP
>>126
メタ情報っていう用語も実際のとこ、俺にはちゃんと説明できない用語だが
単なるタグだっていうなら、動作に影響するようなものは属性で制御すべきじゃないのかと

たとえば検証に関してなら、エラーメッセージは属性が適当かもしれんが
最大桁数や、エラーチェックするかどうかは属性で制御するのが適当だろうか?

>>127
それはまさに、通常の情報なのかメタ情報なのかの違いだと思うが
その意見は、メタ情報じゃなく通常の情報としてインプリメントしろって意見だろ
0129デフォルトの名無しさん2015/10/09(金) 21:36:36.32ID:CFgeSmkK
>>128
例えばデータを格納するプロパティに属性付けて最大桁数やらチェック種別Enumを入れるのもいいよ
エラー種別Enumにはエラー検証用の正規表現付けたり

エラーメッセージはエラー検証メソッドで生成させるかな

>>127
インテリセンス的にどうよって思ってやったことない
0130デフォルトの名無しさん2015/10/09(金) 21:38:21.20ID:XIlHZiEB
いやEnumのメンバー名はメタ情報の一つだよ
変数名はプログラムそのものについての自己記述情報に他ならない
>>127は2重にメタデータを持つことはDRYに反するよねというだけの問題
0131デフォルトの名無しさん2015/10/09(金) 21:44:10.25ID:Zss3YWYL
メタってのはようするに当該クラスの外部ってことだろ
それ自身がを超えた制御情報ってだけで

べつに属性だろうが外部クラスの定数だろうが
好きにしたらいいんじゃね
0132デフォルトの名無しさん2015/10/09(金) 21:57:49.30ID:AWj2PSbP
>>130
なるほど、Enumのメンバー名がメタ情報だってのは理解できる
2重にメタデータもつなってのも納得した

では、属性の使いどころはどこだろう
元の言語仕様でサポートされてない開発者独自のメタ情報の表現のため?
じゃあメタじゃない情報を属性で扱うってのはやっぱり下策なのだろうか
0133デフォルトの名無しさん2015/10/09(金) 22:57:53.19ID:HsR0vRx2
外部じゃなくて上位だよ
0134デフォルトの名無しさん2015/10/09(金) 23:01:13.11ID:HsR0vRx2
夫見逃すところだった
enumのメンバー名はメタじゃないぜええええええ

なぜなら文字列からパースできるから
0135デフォルトの名無しさん2015/10/09(金) 23:03:16.07ID:CFgeSmkK
>>132
>>129に使用例書いただろ
0136デフォルトの名無しさん2015/10/09(金) 23:06:04.38ID:XIlHZiEB
>>134
あれリフレクションで実装されてるんだぜ
カスタム属性で日本語名付けられるようにしたとしても、ほとんど同じ実装になる
だって組み込みのメタデータかカスタム属性で与えられたメタデータかだけの違いしかないからね
0137デフォルトの名無しさん2015/10/09(金) 23:10:15.20ID:HsR0vRx2
今の話でリフレクションを持ち出すといろんなものがメタ扱いになってしまうw
0138デフォルトの名無しさん2015/10/09(金) 23:14:51.18ID:lI8PbTGr
なぜswitchでstring使えないんですか?
0139デフォルトの名無しさん2015/10/09(金) 23:18:41.11ID:HsR0vRx2
それってC++かjavaじゃね?
0140デフォルトの名無しさん2015/10/09(金) 23:48:22.88ID:XIlHZiEB
>>137
意味がわからない
俺は>>134のレスで文字列からパースできるからメタじゃないという謎の理屈を見て、
きっと「文字列からパースできる」→「なんか特別な仕組み」→「メタじゃない!」という思考なのだろうと推測した
だからenumのparseがリフレクションで実装されていることを示すことにより、
文字列からパースできるからといって何ら特別ではないことを証明したつもりだったんだが、的外れだったようだ
真剣に疑問だから「文字列からパースできる」→「?」→「メタじゃない!」の?の部分を教えてくれ
0141デフォルトの名無しさん2015/10/10(土) 00:13:08.97ID:VY+pcMt2
パース可能 言語レベルで対応されている メタじゃない
0142デフォルトの名無しさん2015/10/10(土) 00:31:50.62ID:rHFZYJSj
そりゃ誰がどう見ても言語レベルで対応されてるけど
それにパース可能かどうかがどう関係するのかが全く理解できない
DateTimeはParseがあるからメタじゃない? RectangleはParseがないからメタ?
メタって一体何?
ちなみに.NETの公式の用語としては、メタデータはメソッド本体を除くクラスとメンバに関する全ての情報を指す
0143デフォルトの名無しさん2015/10/10(土) 05:24:02.05ID:/nOfalKF
EnumのParseはC#の言語仕様には無い
0144デフォルトの名無しさん2015/10/10(土) 10:00:53.58ID:chRrQaCq
>>138
定数じゃないとあかんで
0145デフォルトの名無しさん2015/10/10(土) 10:25:12.24ID:EHQzzmJM
>>144は文盲
一つ後のレスも読めないらしい
0146デフォルトの名無しさん2015/10/10(土) 10:27:04.87ID:rHFZYJSj
変数は無理って意味でしょ
別に間違ってない
0147デフォルトの名無しさん2015/10/10(土) 10:47:14.46ID:chRrQaCq
>>145
煽るなよクズ
0148デフォルトの名無しさん2015/10/10(土) 21:02:17.87ID:6MWep/bm
属性は言語仕様を変えることなくコンパイラやらプログラ厶用に機能を追加できるというのが肝だと聞いた
0149デフォルトの名無しさん2015/10/10(土) 21:11:41.59ID:OjkSZXQt
属性は、メンバーとか型に追加の情報なり識別子なり持たせる役目だと思う。
0150デフォルトの名無しさん2015/10/11(日) 14:23:33.79ID:lDigt0qz
\(^o^)/ぬるりっちょ
0151デフォルトの名無しさん2015/10/12(月) 22:40:22.83ID:pwM6df0l
List<object> list=new List<hoge>;
的なのが出来ない理由分かったぞ!
もしこれが出来たら、listはhogeとhogeと子クラスしか入らないはずなのに(特定メソッドを持っている事が保障される)、objectイントランスとかが入ってしまうからだ。
もしhogeにargs()メソッドがあるとして
List<object> list=new List<hoge>;
list.Add(new object());
list[0].args();
ってやるとおかしくなるもんね 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0152デフォルトの名無しさん2015/10/12(月) 23:04:21.79ID:e5VIXU4j
ほうほう、ではなぜ
Object[] a = new Strin[1];
ができるのですか
0153デフォルトの名無しさん2015/10/12(月) 23:12:03.39ID:pwM6df0l
>>152
知らん
0154デフォルトの名無しさん2015/10/12(月) 23:16:57.36ID:pwM6df0l
object[] o = new string[1];
o[0] = new object();
出来たけど起動したらパソコンぶっこわれた
0155デフォルトの名無しさん2015/10/13(火) 00:46:06.78ID:AkH9qfzr
>>151
いや、できるだろ。
指定型じゃないobjectをaddしたら例外吐くと思うが。
ジェネリックの共変性とかでできなくなったのか?
0156デフォルトの名無しさん2015/10/13(火) 00:56:55.40ID:rx5Up+1Q
List<object> は object 型じゃないから、違う型である List<hoge> を代入出来ないだけじゃねーの。
だから、
object list = new List<hoge>;
とか、
List<object> list = new List<object>; list.Add( new Hoge() );
とかは出来るんじゃね?
0157デフォルトの名無しさん2015/10/13(火) 07:14:34.67ID:IPzu3dLL
ジェネリックの共変や反変を使用するには
型パラメータにそれぞれin、outを指定する必要がある
inやoutはインターフェースまたはデリゲートにしか指定できない
また、inまたはoutを指定した型パラメータはそれぞれ引数(入力)または戻り値(出力)にしか使えなくなる
たとえばIReadOnlyList<out T>やIEnumerable<out T>などの読み取り専用インターフェースはout Tなので
List<hoge>をIReadOnlyList<object>やIEnumerable<object>にキャストしたりすることはできる
0158デフォルトの名無しさん2015/10/13(火) 18:40:15.12ID:1yUdPEbp
配列の共変性は例外
0159デフォルトの名無しさん2015/10/14(水) 14:19:58.33ID:roB5XZwg
>System.InvalidOperationException: シーケンスに、一致する要素は含まれてません

なんで会話体なんだよw
ぐぐったらぐーぐるさんに

もしかして シーケンスに、一致する要素は含まれていません

って怒られたわ
0160デフォルトの名無しさん2015/10/15(木) 19:23:17.82ID:plKY4Q25
ちょっと聞きたいんだがシリアル通信で対向側から100バイト分のデータが送られてきたときに100バイト取得出来るときと40バイト60バイトみたいに複数回に分けて送られてくるのはなんでなの?
0161デフォルトの名無しさん2015/10/15(木) 20:48:58.18ID:3PxZRlNz
>>160
知るかよw
どんな質問だよw
0162デフォルトの名無しさん2015/10/15(木) 20:52:27.20ID:R/ItuJii
>>160
メーカーに聞きなよ
つかC#関係ないじゃん
0163デフォルトの名無しさん2015/10/15(木) 21:15:23.90ID:3PxZRlNz
>>160
場違いな質問だけどまあちょっとだけフォロー。

今時シリアルポートが付いてるPCの方が少なくと思うからどうせUSB-シリアルの変換ブリッジ経由のアクセスだと思うけど、
USBはRS-232Cと違ってパケット単位の送受信になるから、アクセスの仕方によっては
見かけ上そのように見える可能性はあると思う。

まあ、たぶんこれは考え過ぎで関係ない。
恐らくデバイス側の仕様の線だろう。
0164デフォルトの名無しさん2015/10/15(木) 22:14:59.79ID:cazvS2P7
>>160
シリアル通信には『40バイト60バイトみたいに複数回に分けて送られ』
などという考えはありません。
まず「シリアル」通信とはどのような考えの通信なのかを勉強し直してください。
0165デフォルトの名無しさん2015/10/15(木) 22:50:13.49ID:0i22usD/
シリアル通信自体にはなくても、
シリアル → OS のバッファ → ファイルハンドル経由で受信 とかしてれば OS のバッファからはき出すタイミングと
ファイルハンドル経由で読み取るタイミングとの関係で途中で切れることもあるんじゃね。

163 の言ってる USB のパケ単位の受信でも同じ要領なんだろうし。(たぶん)
0166デフォルトの名無しさん2015/10/15(木) 23:09:35.66ID:3PxZRlNz
まあ厳密に言えばUSBだって物理層レベルではただのシリアル通信だし、
232Cだって少なくともPCでは、一番下の水準だってハードウェアバッファに対してまとめて読み書きしてる
だけなんだけどさ。
0167デフォルトの名無しさん2015/10/15(木) 23:50:33.81ID:GlsuvrM1
40バイトしか届いていない瞬間に読み出せば
40バイトしか読みとれないだろう
それを「複数回に分けて送られてくる」とは言わないぜ
100バイト届いているのに40バイトしか読みとれないことは考えにくい
0168デフォルトの名無しさん2015/10/16(金) 00:03:40.24ID:A8PPNIqS
FTDIってUSB-232Cの変換ブリッジICのメーカーのドキュメント見たら
バルク転送のパケットのペイロードの64byteのうち、2バイトはシステム(FTDIのICとドライバーの間のやりとり)が使って
残りの62バイトが正味のペイロードみたいだから、>>163に書いたような理由かもしれんね。

http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-04_DataLatencyFlow.pdf
0169デフォルトの名無しさん2015/10/16(金) 00:30:04.83ID:KAwMDrmB
と言うか、基本はデータ長を識別出来るようにして送った上で、
データ長分のデータをきちんと受け取ってから処理するようにすれば済む話で、
普通はそういう風に実装するよな。

パケ通信とかでもこの手の質問はよく挙がる。
0170デフォルトの名無しさん2015/10/16(金) 08:14:43.34ID:w2ONMRNp
ソリューションエクスプローラで、自分で作成したフォルダを右クリックして
追加-クラスで新規作成すると、namespace プロジェクト名.Class
って拡張子(.Class)がついてしまうんだけど、これならないように設定できないの?
0171デフォルトの名無しさん2015/10/16(金) 09:13:29.49ID:IIEWzpZc
拡張子ちゃうで
0172デフォルトの名無しさん2015/10/16(金) 21:29:35.57ID:oF9r0LvQ
>>170
ttp://stackoverflow.com/questions/3317141/automatically-add-namespace-when-adding-new-item
これと逆のことをすればいい
0173デフォルトの名無しさん2015/10/16(金) 23:51:28.24ID:iL1w7ncH
特定メソッドのオーバーロードが用意されている型のみを引数で受け取ることは出来ませんか?
0174デフォルトの名無しさん2015/10/16(金) 23:56:16.88ID:/26VfrL0
>>173
何を言ってるのか全然わからない
0175デフォルトの名無しさん2015/10/16(金) 23:59:55.94ID:iL1w7ncH
static int hoge(a args);
static int hoge(b args);
static int hoge(c args);
という関数があったとすると

static int f(hoge() args){
return hoge(args);
}

みたいな事は出来ないかなと思って
0176デフォルトの名無しさん2015/10/17(土) 00:03:58.16ID:XvNYZLvx
ジェネリックを使えばよいんじゃね?
0177デフォルトの名無しさん2015/10/17(土) 00:35:45.30ID:FN3G7dO/
static int f<T>(Func<T, int> hoge, T args)
だな
0178デフォルトの名無しさん2015/10/17(土) 00:41:26.06ID:XvNYZLvx
C#のことは全然知りませんが

static int f<T>( T args )
{
  return hoge( args );
}

これではダメなんですかね?
0179デフォルトの名無しさん2015/10/21(水) 08:22:48.75ID:bMkc0D2x
独学なので教えて欲しいのだけど
メソッド書いたときにほとんどの場合returnに戻り値を付けずにクラスのフィールド値を書き換えて
すませているんだけど、パフォーマンス的にそれでもいいの?
書き方の作法として、できるだけ戻り値で返してフィールドに
値を残さないとかそういうものってあるのかな
0180デフォルトの名無しさん2015/10/21(水) 10:58:03.82ID:/9+8IY9r
パフォーマンスを聞きたいのか作法を聞きたいのか焦点がぼけてる
0181デフォルトの名無しさん2015/10/21(水) 10:58:33.71ID:TCTaTEQd
作法というかメソッドの目的による。
object.ToString が文字列を返さないとか、object.setValue が値を返すがフィールドを変化させないとかが合理的だろうか?
0182デフォルトの名無しさん2015/10/21(水) 11:01:30.64ID:t8SS3rgX
すごい、こんぽんてきなところで、C#とまったくむかんけいなしつもんだ…
0183デフォルトの名無しさん2015/10/21(水) 12:36:32.28ID:NrGyflQ0
>>179
「C# プロパティ」で検索するときっとピッタリのものが見つかる
0184デフォルトの名無しさん2015/10/21(水) 17:25:02.26ID:vLvdh1RP
自動実装プロパティだとJITが最適化してくれるからほぼフィールドアクセスと変わらない。
というか、その程度、気にしたところで誤差の範疇でしかないだろ
0185デフォルトの名無しさん2015/10/21(水) 18:39:25.56ID:DYiNz1wT
ASP.Netが今度色々今っぽいグラントとか載るみたいやけど
皆々様はウェッブ開発はC#とNodeならどちらが樂ですか?
ASPでフロントにReactjs使ってる人、いるのかなあ。日本語のやってます情報ひとつもない
0186デフォルトの名無しさん2015/10/21(水) 18:50:00.22ID:/9+8IY9r
nodeはようやくLTSが出たばっかりだし
C#を使ってるくらいだから「ようやくプロダクション時の候補として選べるな」くらいに思ってんでは
0187デフォルトの名無しさん2015/10/21(水) 19:52:42.76ID:QYO898Dn
web入門にはnodeの方が取っ付きやすいだろう
aspは通信処理が隠蔽され過ぎてて初心者にはかえって入り難いと思う
0188デフォルトの名無しさん2015/10/21(水) 21:05:51.44ID:6ZAFfyFg
>aspは通信処理が隠蔽され過ぎてて
例えば?
0189デフォルトの名無しさん2015/10/21(水) 21:12:22.08ID:vLvdh1RP
ブラックボックスになってて、裏側で何してるかわかりにくいってことだろ
0190デフォルトの名無しさん2015/10/22(木) 15:01:52.95ID:EVhgfJB8
>>160
遅いけども
serialPort1.ReadBufferSize
の、値を大きくしてみ
0191デフォルトの名無しさん2015/10/22(木) 16:18:31.37ID:IMT9I6Q/
>>190
そんなの無関係。
受信バッファをオーバーフローしたデータは単に捨てられるだけ。
0192デフォルトの名無しさん2015/10/22(木) 16:22:15.21ID:IMT9I6Q/
ああ、フロー制御された場合を想定してるのか。
一応ありうるけど可能性は低いな
0193デフォルトの名無しさん2015/10/23(金) 06:05:58.46ID:GwYAWrq0
オブジェクトの初期化(フィールドの復元)は、コンストラクタで行うべきだと痛感した。

このオブジェクトの通常のsetプロパティーを使って、初期化(フィールド復元)コードを作成したら、
妙なバグに悩まされて、6時間!(見当をつけたメソッド内に、デバッグ用の変数をあちこちに設置して、ようやく見つけた。)

この通常のsetプロパティの正常な動作は、同じgetプロパティーに依存するようになっていた。(自分でそのように作っていた)
以下、バグ発生の仕組み↓

1、setアクセサで「プライベート変数を初期化」しようとする。これが目的である。(プライベート変数は初期化できていない。)
2、setアクセサ内には、getアクセサ経由で「同プライベート変数」に依存するコードが存在している。ところが、この変数はまだ初期化されていない。
3、初期化されていない変数の影響で、setアクセサがおかしい動作をする。(変数は初期化されないまま。)!バグ発生!

もし、ここで、コンストラクタを使って、直接プライベート変数を初期化していたら、こんなことにはならなかった。
そしてオブジェクトにアクセスして、setアクセサでさらに値を変更しても、
たとえsetアクセサ内でgetアクセサに依存するコードがあったとしても、動作していた。


長くなりましたが、おねがいします。
(1)setアクセサ内で、同じプロパティのgetアクセサに依存するコードを書くことは、良くないんでしょうか。禁則に当たりますか?
(2)オブジェクトの初期化は、絶対に、コンストラクタで行うべきでしょうか。
(3)熟練プログラマは、デバッグせずとも、エスパーでバグの住処を言い当てられるのでしょうか。
(「思い込み」から逃れられずに、早々に詳細なデバッグをかけず、結局6時間もかかってしまいました。)
(4)バグが、VisualStudioで開いている方のプロジェクトでなくて、
別のソリューションでビルドされたdllファイルに閉じられたクラスに存在する場合、
デバッグをかけるために、わざわざ別ソリューションのその対象のクラスのみをこちらのプロジェクトにコピー&ペーストして一度統合するしかないんでしょうか。
0194デフォルトの名無しさん2015/10/23(金) 07:36:25.62ID:FoOVnDir
>>193
問題を履き違えている
(1) プロパティに限った話ではない。
  今回「デバッグに時間がかかった」のは別のメソッド(getter)経由で未初期化フィールドを参照していたことに
  気づかなかったためであり、同じプロパティのgetアクセサに限らず一般のメソッドであっても
  「同プライベート変数」でなくても問題は発生しうる。
  結局自分の書いたコードの動作を理解していないことが原因であって、規則で縛ってどうにかなる問題ではない。
(2) 問題の本質ではない。絶対に、動作を自分で理解していないコードを書かないこと。
  とはいえ常に最小粒度の命令レベルまで全て把握しろというのは無理な話なので、
  理解しやすくするためにカプセル化や不変オブジェクトなどの様々な手法が存在する。
  コンストラクタでまとめて直接初期化する方が理解しやすいのならそうすればいい。
(3) エスパーできるかどうかは経験の問題だが、デバッグするにしてもコードの各地点でそれぞれ
  どういう状態になっていてほしいのかを正しく理解していれば問題箇所の特定は機械的にやれるはず。
  そのとき把握する必要のある情報の範囲が狭いほどデバッグは容易なので、
  一般的にはなるべくそれを局所化するのがデバッグしやすいコードを書くコツ。
(4) pdbファイルがあればデバッグ可能。
0195デフォルトの名無しさん2015/10/23(金) 08:00:05.12ID:VM5bh9Hg
名前空間を複数形にするかどうかはどうやって決めればいいですか?
0196デフォルトの名無しさん2015/10/23(金) 13:10:38.44ID:7JhC24+l
プロパティ内で色々やらせるのはよくないよな
例外処理できないし
0197デフォルトの名無しさん2015/10/23(金) 15:02:38.35ID:+AiXCDdV
なんで例外処理できないと思った?
0198デフォルトの名無しさん2015/10/24(土) 12:04:22.22ID:/s9N4mON
>>179
パフォーマンスも保守性も可読性も最悪
どうしても必要でなければオブジェクトの状態を更新してはならない
0199デフォルトの名無しさん2015/10/24(土) 17:04:51.29ID:dOGyJCjw
>>179
クラス内で使い回すからそうしているんだろうけど、そのメソッドを利用する側はどういう結果を出されたかわからないわけです。まあフィールドを見ればわかるけど。それにクラスを分離しようとするときもフィールドに依存していると面倒なことになる
0200デフォルトの名無しさん2015/10/24(土) 17:17:56.73ID:qC5jNYSK
>>199
問題を混同してるな。
それは本来必要のないはずのフィールドを持っちゃった場合の問題。

否定的な意見が多いけど、フィールドなりプロパティなり保持してるデータを更新するのに、

_hoge = GetHoge();

だろうが
UpdateHoge();

だろうが同じこと。
前者の方が分かりやすいとかそんなことないよ。
0201デフォルトの名無しさん2015/10/24(土) 17:29:30.83ID:tJFEMZX0
そもそも更新する必要があるのかは一考するべきだけどな。
更新することが目的ではなくて、その更新された結果を使って何かをするのが目的なんだろ?
なら更新しなくてもその「何か」をするメソッドを直接呼び出せばいい。
そういう考え方を理解すると、プロパティや状態更新はかなり少なくできるようになるよ。
0202デフォルトの名無しさん2015/10/24(土) 18:03:13.79ID:wB/X7nCW
本人不在なのによく問題や目的を断定したりできるっすね
妄想力旺盛なようで羨ましい
0203デフォルトの名無しさん2015/10/24(土) 18:17:39.17ID:qC5jNYSK
なるほど、お前さんの読解力の欠如の問題とは思わないんだ。

まあ、確かに質問者は>>200に書いたように2つの問題を混同している可能性がある。
というか、まあたぶんそうだろう。

恐らく本当に知りたいのは戻り値を返さないメソッドの是非じゃなくて、
保持する必要のない一時データをフィールドで持つことの是非だろう。

こんなのはもちろん非に決まってる。
0204デフォルトの名無しさん2015/10/24(土) 18:56:14.20ID:wB/X7nCW
その「たぶん」をいいたいが為に何分掛けたんすか?
君の人生って安いんだね
0205デフォルトの名無しさん2015/10/24(土) 19:01:56.68ID:Qmn5VnV2
休みの日に複数スレで煽りを入れているような人間が
一体誰を馬鹿にできるんだろうか?
底辺君
0206デフォルトの名無しさん2015/10/24(土) 20:21:21.69ID:n9apvFnD
メソッドの戻り値で返す場合がしっくりする文脈もあるし、
メソッドがオブジェクトのフィールドの状態を変更して済ませた方が良い場合もあると思う。

対外的な文脈においては、戻り値で返す方がわかりやすいと思う。
自販機(オブジェクト)で言えば、ボタン(メソッド)を押せばジュース(戻り値)が出てくるような感じ。
そして、ジュースが売れたという事実は、自販機内のフィールドに記述される。
0207デフォルトの名無しさん2015/10/24(土) 22:24:05.60ID:dOGyJCjw
>>200
Updateてメソッド名で戻り値がないなんて気持ち悪くて使いたくないな。
0208デフォルトの名無しさん2015/10/24(土) 22:34:23.98ID:dOGyJCjw
自分が初心者の時を振り返ってみると
ひとつのクラスでなんでも済ませようとしたり、役割分担ができてないのが原因。恐らくそのクラスにあるのがおかしいメソッドだと思うよ。
0209デフォルトの名無しさん2015/10/24(土) 22:40:26.57ID:fd/dB9hc
更新するメソッドで戻り値がないのはよくあるだろ
返すとしたら更新したかどうかのフラグとか?
0210デフォルトの名無しさん2015/10/24(土) 23:06:00.58ID:7oDBCbbL
>>207
Updateって単語から、更新すべき値が返ってくるとはあまり考えないな。
更新結果がbool値で返って来るのなら予想するけど。
0211デフォルトの名無しさん2015/10/25(日) 00:09:00.78ID:e8QLZtXl
>>206
今回の場合その例えで言うと、ボタンは自販機の内側にあって外部から押せない状態で、
出てくるはずのジュースも自販機のどこかに落ち込んでるんだと思うよ。
だから自分でも違和感があるんでしょうよ。
それにパフォーマンスとかなんで初心者が考えるんだろうね。そんなこと考えるのはまともに動くアプリができてからやればいいのにって思いまーす。
0212デフォルトの名無しさん2015/10/25(日) 00:20:54.69ID:e8QLZtXl
最初の頃はカプセル化が理解できなかったな。実際全部自分で作っているわけだし内部構造も把握しているわけで、クラス利用する側も利用される側も全部自分なので発想の切り替えがなかなかできなかったよ。
0213デフォルトの名無しさん2015/10/25(日) 16:39:21.40ID:1HXJB/EU
オブジェクト指向なんて学ぼうとしてはいけないと思うわ。
継承とかカプセル化とか、ある程度、複雑なものを作るときに初めて存在価値に気付くわけだし。
0214デフォルトの名無しさん2015/10/25(日) 16:42:50.05ID:A/yOhDl2
ゴッドクラスを一つ作れば何も問題ない
神に任せれば何でもやってくれる
0215デフォルトの名無しさん2015/10/25(日) 17:55:25.32ID:B7WANnu5
>>214
物が落下することを考える場合、
オブジェクト指向で、「物」に落下という動きを実装するのが一般的だと思う。
しかし、実際は、重力によって「物」が加速させられたわけだから、「地球」オブジェクトの重力イベントに、
各「物」のイベントハンドラーを登録する必要がある。
ゴッドは、ラッパーなんですか?
0216デフォルトの名無しさん2015/10/25(日) 18:03:56.15ID:4FhC3Gim
>>215
物理シミュレーションなら
あらゆる「物」の相互作用を「神」が計算して「物」の「力」プロパティを更新
それによって発生する「物」の変位を「物」の更新メソッドで求めて位置を更新
という流れになる
0217デフォルトの名無しさん2015/10/25(日) 18:11:18.28ID:l/fL5071
そこまで神が計算をするなら

>「物」の変位を「物」の更新メソッドで求めて位置を更新

もはや、これも「神」が計算すりゃ良くね?
0218デフォルトの名無しさん2015/10/25(日) 18:13:42.25ID:UpnA5iMK
世界をシミュレートするには世界の外に出ないといけない
0219デフォルトの名無しさん2015/10/25(日) 18:15:10.75ID:MI/upuKE
なんだかアホな話になってるけど、三体問題って聞いたことないのかな
0220デフォルトの名無しさん2015/10/25(日) 18:29:46.19ID:4FhC3Gim
>>217
力まで求められてるなら変位はオブジェクト自身の性質(質量や慣性モーメント)のみで決まるからオブジェクト自身に持たせてもいい
0221デフォルトの名無しさん2015/10/25(日) 18:45:02.54ID:ip/vnDdd
くだらない話をしているうちに
文明はどんどん発達していく…
0222デフォルトの名無しさん2015/10/25(日) 18:49:08.47ID:4coy8BX6
文明(笑)
0223デフォルトの名無しさん2015/10/25(日) 19:52:20.96ID:B7WANnu5
>>219
神でなければ実装できない処理の話のことですよね
0224デフォルトの名無しさん2015/10/25(日) 20:38:05.14ID:1HXJB/EU
神は神でも邪神だろw
0225デフォルトの名無しさん2015/10/25(日) 20:54:13.91ID:ruGH96NV
どっちかというと貧乏神‥
0226デフォルトの名無しさん2015/10/26(月) 00:28:32.09ID:i/Pr50pl
異教徒どもめ
0227デフォルトの名無しさん2015/10/27(火) 17:46:22.69ID:xjXQWbVB
コンボボックスのコレクションに動的に追加するのに、xmlを利用して設定ファイルとして作っておいて
読み込ませた後、いままではプロパティの値を一つ一つAddしてたんだけど、
項目が200ほどあるので格納用クラスのプロパティを配列に入れて一気に回したい
プロパティを配列に一気に入れるには何か方法がありますか?
(プロパティ名は連番をつけている Item001 Item002・・・)
0228デフォルトの名無しさん2015/10/27(火) 18:16:00.37ID:sDzKh5al
>>227
それは、こんな感じのクラスがあるということか?
class Hoge {
  public string Item001 { get; set; }
  public string Item002 { get; set; }
   ....
  public string Item200 { get; set; }
}

非効率だがリフレクションでやれないこともない

var tmp = new Hoge();
var items = tmp.GetType().GetProperties()
  .Where( x => x.Name.StartsWith( "Item" ) )
  .Select( x => x.GetValue( tmp ) )
  .OfType<string>()
  .ToArray();
0229デフォルトの名無しさん2015/10/27(火) 18:37:39.63ID:AF18ul7Z
>>227
問題はそこじゃないだろ
<items>
<item>a</item>
<item>b</item>
<item>c</item>
・・・
</items>
こういうxmlにして、読み込む段階でコレクションとして読めばいいだけのこと
0230デフォルトの名無しさん2015/10/27(火) 18:44:38.34ID:LyVSHq6d
>(プロパティ名は連番をつけている Item001 Item002・・・)

(ノ∀`)アチャー
0231デフォルトの名無しさん2015/10/27(火) 19:07:33.01ID:iNYJ0klc
俺はむしろLINQ使った方が読みやすいと思うがなあ。メソッド式の方ね。
0232デフォルトの名無しさん2015/10/27(火) 19:45:43.85ID:lOeUxmUq
PropertyInfo[] info = obj.GetType().GetProperties();
02332272015/10/28(水) 00:46:39.63ID:xiejTC4w
みなさんレスどうもです
>>229
Listで一気に読みこませて無事コンボボックスに設定できました
0234デフォルトの名無しさん2015/10/28(水) 02:28:55.47ID:EDNJzsKV
プロパティ200個って…
正気の沙汰ではない
0235デフォルトの名無しさん2015/10/28(水) 18:14:23.99ID:rjKxrYR0
業務システムではよくあること。
プログラミングの目的がプログラミングの人には信じられないかもしれないが。
0236デフォルトの名無しさん2015/10/28(水) 18:30:25.71ID:3nTbM/Mv
あーこれはキリッってつけたくなるレスだわ
我慢できない

プログラミングの目的がプログラミングの人には信じられないかもしれないが。キリッ
0237デフォルトの名無しさん2015/10/28(水) 18:41:16.23ID:j5VggJ8Q
未だに .NET 1.1を使ってそうだなw
0238デフォルトの名無しさん2015/10/28(水) 20:22:26.76ID:lvqGKJHt
>>219
何だよそれ?
0239デフォルトの名無しさん2015/10/28(水) 20:40:08.70ID:3nTbM/Mv
>>238
宇宙に2つの星しかないとする
そうするとニュートン力学で簡単に振る舞いを記述できる

しかし星が3つ4つと増えていくと互いに及ぼす重力の影響の計算が複雑になっていって
事実上計算不可能になるという問題のこと
0240デフォルトの名無しさん2015/10/28(水) 20:51:44.91ID:8s7NCB3J
いやム板的には余裕で計算できるぞ
解析的に解けないだけだ
0241デフォルトの名無しさん2015/10/28(水) 21:06:10.72ID:Q/PXF6pR
>>219
つまりジェットストリームアタックはかわせないって事?
0242デフォルトの名無しさん2015/10/28(水) 22:58:34.15ID:zTRdryA5
滑ってて悲しいね
0243デフォルトの名無しさん2015/10/29(木) 00:29:14.00ID:pm6XZBWM
お前は踏み台にされたんだよ
0244デフォルトの名無しさん2015/10/29(木) 08:50:32.75ID:D2KeTagd
さすがドム
滑りだけは上手だ
0245デフォルトの名無しさん2015/10/29(木) 11:20:17.03ID:nhE9MuJP
ドム板だったのか
0246デフォルトの名無しさん2015/10/29(木) 15:05:47.50ID:VvBy2VYR
>>240
そこまでは、神は与えなかったんですね。
「計算機でも作って、回せなww」
0247デフォルトの名無しさん2015/10/31(土) 21:53:19.69ID:iqPkH1iD
オブジェクト指向は必要ないとかいって

aspx.csファイルのコードが30Kstepのプログラム作ってるやつ
0248デフォルトの名無しさん2015/10/31(土) 21:57:36.78ID:9dOg6vGq
少数精鋭でまともに作ったら数分の1の工数でできちゃうことが客にバレたら業界が崩壊するからな
世の中クソコードのおかげでうまく回ってるんだからそれでいいんだよ
0249デフォルトの名無しさん2015/11/01(日) 10:36:19.05ID:e1qJyonr
linuxはいまだにcなんだろ
オブジェクト指向に移行したらいいのに
0250デフォルトの名無しさん2015/11/01(日) 11:44:17.28ID:8yFkftFr
以下、LinusによるC++罵倒文禁止
0251デフォルトの名無しさん2015/11/02(月) 08:06:06.56ID:c5cJUF33
実行時に動的に読み込むアセンブリにある型をAssemblyクラスのGetTypeではなく
TypeクラスのGetTypeで取得する方法はありますか?
0252デフォルトの名無しさん2015/11/02(月) 10:41:52.13ID:bqedN87E
ロード済みなんであれば、完全限定修飾名指定すればとれるけど
たとえばSystem.Windows.Forms.Formならこういう名前
System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
0253デフォルトの名無しさん2015/11/02(月) 10:51:18.97ID:6BSNMQg5
timer.Tick += ( s, e ) =>
{
  ....;
  timer.Stop();
  timer.Dispose();
  GC.KeepAlive( timer );
};

こういうGC.KeepAliveに意味ある?
0254デフォルトの名無しさん2015/11/02(月) 10:55:28.48ID:lz5NDAKO
>>253
その場合は、無意味。
0255デフォルトの名無しさん2015/11/02(月) 10:56:46.82ID:dQRiL6jM
ない
System.Windows.Forms.Timerが動作中にGCされることはない
0256デフォルトの名無しさん2015/11/02(月) 11:52:26.99ID:6BSNMQg5
なるほど!  
GCHandle.Alloc/Freeしてるみたいだ
0257デフォルトの名無しさん2015/11/07(土) 23:40:41.15ID:9rSB2KP/
formの裏に50,000行のソースがある会社で仕事したことあるよ
オブジェクト指向と言わないまでも、構造化ぐらいはまともに考えて欲しいもんだよ
0258デフォルトの名無しさん2015/11/07(土) 23:42:22.59ID:qRUcE/WB
関数増やすのに稟議が要るんだよ
お前が変わりに出るってか
数あわせの派遣のくせに
0259デフォルトの名無しさん2015/11/07(土) 23:55:03.18ID:9rSB2KP/
>>258
そうかごめん…
0260デフォルトの名無しさん2015/11/08(日) 01:08:51.96ID:ci/t1530
稟議w
要るわけねえ
0261デフォルトの名無しさん2015/11/08(日) 01:39:16.20ID:95anV8J8
ワロタwwwwwwwww
0262デフォルトの名無しさん2015/11/08(日) 01:48:13.18ID:/v0dgtRX
IBMかNTTならあってもおかしくない
0263デフォルトの名無しさん2015/11/08(日) 01:54:37.49ID:t8ezhEA7
関数1個増やすのにいちいち設計仕様書に起こしてレビューする現場もあるな
そんな現場では往々にして関数増やすと手間かかって仕方ないから1個のハンドラに数百〜数千行詰め込んだり
とんでもない糞な開発が行われる
02642582015/11/08(日) 01:58:11.25ID:qE8APb0L
まあ聞いた話ですよ
事実確認はしてないw
0265デフォルトの名無しさん2015/11/08(日) 02:13:03.52ID:gurkCxJi
>>263
手間を減らすために関数化するもんじゃないのかな…?なんだか本末転倒だな
0266デフォルトの名無しさん2015/11/08(日) 10:38:47.39ID:0Yb3YEtr
C#とMySQLの連携についてご相談です
WindowsFormアプリで外部サーバのMySqlと接続して処理させているのですが、
接続文字列に記述したパスワードは当然平文で流れますよね?
SSLで暗号化まではできたのですが、公開鍵認証でできればもっと良いのかと考えています
が、大抵MySqlの公開鍵認証を紹介したサイトだと、コマンドラインから鍵ファイルを指定して接続・・・
というところまではあったとしても、WindowsFormでの事例はなくどうしたものかと・・・
接続文字列に鍵の場所を指定してという感じでいけるのでしょうか(といってもそういう事例の書式が見つからない)

識者の皆様、解決のヒントがあればご教授ください
02672662015/11/08(日) 11:30:36.12ID:0Yb3YEtr
レス待ち中に調べていてなんとなくなのですが・・・
Mysqlに直で鍵認証ではなくSSHで鍵認証を伴った接続をして、
ローカル接続でMysqlに接続するというほうが賢明でしょうか?
これなら事例があるのでできそうですが、できたとして今度はVisualStudio上でデータソースから
TableAdapterの作成はできないですよね 開発中はテストサーバに直でつなげるようにして
TableAdapterの設計をして、本番は接続文字列を書き換えて対応する感じでよいのかな・・・

独学初心者なので見当違いな文章でしたらすみません
0268デフォルトの名無しさん2015/11/09(月) 12:30:18.38ID:7FJWPJQr
接続文字列内の資格情報を隠すオプションあったよね
それじゃいかんのか
0269デフォルトの名無しさん2015/11/09(月) 15:30:20.71ID:Z/Tj9+xS
.net 4.0のサポートが来年1月に切れるけど、
既存ユーザーはどうなるんでしょうか。
4.6あたりをインストールするようWindowsUpdateで促されるのかな?
0270デフォルトの名無しさん2015/11/09(月) 18:27:27.22ID:lpQ26d6h
>>269
4.5.2を使えと言う事だな
https://support.microsoft.com/ja-jp/gp/framework_faq

WindowsUpdateでどうなるかは、OSが何かにもよって変わるんじゃないかな
0271デフォルトの名無しさん2015/11/09(月) 18:45:53.75ID:RXSUHG1b
C#ってセンスいいな。
C++使いの俺は感心したわ。
ライブラリの出来とか。
0272デフォルトの名無しさん2015/11/09(月) 19:21:02.26ID:dQJbva46
ライブラリはだいたいJavaのパクりだけどね
Javaをベースに、Javaの無駄に複雑だったり使いにくかったりする部分をVBやDelphiの知見に基づいて改良したもの
0273デフォルトの名無しさん2015/11/09(月) 19:31:34.33ID:s3Itz59O
Javaのぱくりっていつの時代の話をしているんだ…
0274デフォルトの名無しさん2015/11/09(月) 19:49:55.67ID:RXSUHG1b
Javaはゴミでしょw
C#とは比較にならないw
0275デフォルトの名無しさん2015/11/09(月) 19:54:13.57ID:AkXykSSl
Visual J++がルーツなのは確かではある
アレはSwingより遥かに出来は良かったな
0276デフォルトの名無しさん2015/11/10(火) 16:59:00.58ID:4ECeuS0N
Javaって最近になってようやくλとかlinq実装したんだろ
C#と比べたら周回遅れじゃん
0277デフォルトの名無しさん2015/11/10(火) 17:50:37.35ID:6z08Kp2Q
保守的な言語だからそれで良い
0278デフォルトの名無しさん2015/11/10(火) 20:12:51.67ID:z1KBGWzI
使う変数はすべて先頭で定義ってのは、スコープがわからなくなるから危険だと思うんだ
0279デフォルトの名無しさん2015/11/10(火) 20:34:31.82ID:mVStRMDa
誰に対して言ってんだ
0280デフォルトの名無しさん2015/11/10(火) 21:12:01.94ID:o04/+i6c
見えない敵と戦い続ける
それが統合失調症のさだめ
0281デフォルトの名無しさん2015/11/10(火) 21:23:21.35ID:mVStRMDa
誤爆という可能性も
0282デフォルトの名無しさん2015/11/10(火) 21:26:44.99ID:6z08Kp2Q
実は>>278は存在しなかったのではないか?
0283デフォルトの名無しさん2015/11/10(火) 22:11:24.50ID:PonwMr1x
はるか昔にPL/Iって言語を教わった時に、プロシージャの途中でローカル変数を定義できるってのは衝撃的だったわ
0284デフォルトの名無しさん2015/11/10(火) 22:53:27.73ID:oB74JuWl
>>283
俺は逆に PL/I 使ってからC使ったから、何でできないのよ…
って感じだったわ
0285デフォルトの名無しさん2015/11/10(火) 22:56:59.99ID:ysgs5SCx
20代でCOBOLとPL/IとJCLをバリバリ使ってる俺みたいなのもいる
もちろん悪夢だが、50年使われる理由もわかる
こういうオーパーツ的な凄さって今の言語には無いよね
0286デフォルトの名無しさん2015/11/10(火) 23:18:45.71ID:PonwMr1x
そういやCとUNIXって、PL/IとMULTIXってOSから生まれたんだよな
何がどう幸いするか神のみぞ知るって話だな
0287デフォルトの名無しさん2015/11/10(火) 23:38:48.71ID:ip0jn96x
オーパーツというならやっぱりLISPだな。今でもどこか新しい。
0288デフォルトの名無しさん2015/11/11(水) 00:34:50.01ID:mIMmAf8M
LISPは頭一つ飛び抜けていると思う
プログラミング言語の一種ではなくプログラミング言語そのもの
S式は、XML,JSON,SQLのあるべき姿であるという表現があるがまさにそれだと思う

LISPを通じてオレは初めてプログラマになれたと思う
0289デフォルトの名無しさん2015/11/11(水) 00:35:39.17ID:RuyjG4nL
LISP って何処で使ってるの?
0290uy ◆Qawu9.2l1E 2015/11/11(水) 02:12:44.14ID:uYSp+fPE
Lispは冗長だから使われてないよ

設定ファイルで使うにしても

S式
(var 1)
C
var = 1
LLのハッシュ
var : 1


Lispより優れた選択肢はあるから


Lispとは概念
「 S 式 」、つまり
リストと再帰のみでプログラミングが完結するという事を教えてくれる言語

それを本で読んだ。とかその程度の曖昧な知識ではなく
実際にコードで書ききった者のみが、真理を知る事が出来るのです
0291デフォルトの名無しさん2015/11/11(水) 02:28:04.78ID:F7mlWIYm
Lispはカッコオバケ
0292デフォルトの名無しさん2015/11/11(水) 08:30:45.55ID:8YEsHhL+
perl は $
php は %
objective-c は @

lisp は ()
0293デフォルトの名無しさん2015/11/11(水) 23:09:21.93ID:K7PzVuiY
CLANNADは?
0294デフォルトの名無しさん2015/11/11(水) 23:38:01.19ID:q7R6O0K0
じんせ
0295デフォルトの名無しさん2015/11/12(木) 10:18:43.54ID:sljIQlRZ
Null条件演算子マンセー!!
0296デフォルトの名無しさん2015/11/12(木) 23:25:50.05ID:BjHL8Bou
S式は構文木そのままを人間が書くようなものでしょ
マクロで操作しやすいという長所を活かせないと有り難みがない
0297デフォルトの名無しさん2015/11/13(金) 01:17:52.66ID:5ZkQwuSs
C#のお話してよ(´・ω・`)
0298デフォルトの名無しさん2015/11/13(金) 01:22:12.94ID:nKXJjPck
言語仕様も読まないお前らに正しい言葉を教えてやろう

?? ヌル合体演算子
@"" ちくごてき文字列リテラル
0299デフォルトの名無しさん2015/11/13(金) 06:30:58.71ID:v46Ke5nq
var moge = hoge?.Hage()?.Foo?.Bar()?.Baz ?? piyo;
0300デフォルトの名無しさん2015/11/13(金) 10:19:18.73ID:v46Ke5nq
オープンソースのC#/Roslynプロジェクトで見たこと、感じた教訓
http://www.buildinsider.net/column/iwanaga-nobuyuki/001
0301デフォルトの名無しさん2015/11/13(金) 13:51:31.21ID:+1eGYaPq
↑参考になるわ
private protectedってなんだよwww
0302デフォルトの名無しさん2015/11/13(金) 18:13:30.64ID:mEKMOedd
>最近の自己紹介は「C#でググれ」。
0303デフォルトの名無しさん2015/11/13(金) 18:34:09.64ID:v46Ke5nq
++C++の人
0304デフォルトの名無しさん2015/11/14(土) 00:52:53.03ID:pbuT/4As
こういう記事みると改めて国内の技術者って技術力や知識は高いけどモノづくりのセンスないなと思う
日本人てのがそもそも下請けみたいな根性しみついてんのかね
0305デフォルトの名無しさん2015/11/14(土) 00:59:53.53ID:zC8KxVmn
技術力があっても、時代遅れの無能に合わせた結果、時代遅れなものが出来上がるんじゃないの?
0306デフォルトの名無しさん2015/11/14(土) 01:16:51.81ID:pbuT/4As
ごめん、それだった
ユーザーの頭が悪すぎるんだったよな
日本は馬鹿ほど金もってるんだよな
0307デフォルトの名無しさん2015/11/14(土) 01:42:03.05ID:EGGLhsQ0
日本人のプログラマーは
 自分たち=優秀
 日本のプログラマー=優秀
 顧客=バカ
だと本気で思ってるんだな。
バカは自分たちなのに気づかないらしい
0308デフォルトの名無しさん2015/11/14(土) 01:56:16.75ID:PWAfQw+v
>>307
自分を棚上げするつもりもないけど、実態は(30年以上前から言われてるけど)
エンジニアと言うにはあまりにお粗末な無能な奴が圧倒的に多い。

っていうか、『Cプログラマ診断室』(だったっけ?)の時代よりさらにレベル下がってるような気が。
0309デフォルトの名無しさん2015/11/14(土) 02:03:32.60ID:zC8KxVmn
古いやり方のまま変えようとしないからなー。
未だにC#使ってるにも変わらずLINQ禁止とかあるみたいだし。
0310デフォルトの名無しさん2015/11/14(土) 02:16:14.13ID:T7cDyZTE
うちはJava屋のおっさんに仕切られてるのでプロパティさえ禁止だよ
辞めたくなる
0311デフォルトの名無しさん2015/11/14(土) 02:20:13.49ID:pbuT/4As
こっちはC#6やドラフトの7や.NET5の仕様なんかを自分の出来る範囲で追いかけてるのに現実の案件は3.0未満のレガシー環境ばかり・・・
未だにDataSetが使われ続けてるとか日本のこの業界は終わってるんだよ
0312デフォルトの名無しさん2015/11/14(土) 03:28:09.98ID:dhRNvGMu
不満があるのなら自分でシステムやサービスを作って起業すれば良い
今の業界がどれだけ遅れているかを示し、自分のところなら最新の技術をもってご提案いたしますと営業をかけてみろ
こういったことをやらないから誰かの下に付くことになって、意見を封殺される破目になる
技術はあるが自由に使えない似たような連中を集めて、ベンチャーを立ち上げてみろ
0313デフォルトの名無しさん2015/11/14(土) 07:38:02.17ID:VsNFnlBh
で、それがうちの経営にどう利益をもたらすの?と聞かれてあうあうするのがオチ
ビジネスがわかるオタクが少ないのが問題なんだよね
0314デフォルトの名無しさん2015/11/14(土) 09:02:14.30ID:BTesK7+M
楽に書いてたくさん売りゃいい
おわり
0315デフォルトの名無しさん2015/11/14(土) 09:10:32.17ID:aTpTLiZf
奴隷のくせに態度でかいよね
0316デフォルトの名無しさん2015/11/14(土) 09:19:56.16ID:zC8KxVmn
これが日本がITにおいて時代遅れな理由だろうなw
0317デフォルトの名無しさん2015/11/14(土) 09:30:52.13ID:VsNFnlBh
少々システムトラブルで業務が止まって客に影響が出ようが
結果的にそれを上回る利益を生み出せればいいわけだけど、
ジャップのユーザー企業は「お客様は神様(笑)」だからリスクを取れないんだよね
0318デフォルトの名無しさん2015/11/14(土) 09:35:45.29ID:rhvNvbw/
>>317
そういうのはリスクって言わない。
ただの欠陥だから。馬鹿じゃないの。
0319デフォルトの名無しさん2015/11/14(土) 09:42:39.48ID:VsNFnlBh
>>318
新進気鋭のWebベンチャーみたいなのって実際品質低いよ
規模が小さいうちは確かに開発手法や個人の技能に大きく左右されるけど、
大規模なシステムになると結局は品質との兼ね合いになる
0320デフォルトの名無しさん2015/11/14(土) 10:19:31.38ID:aTpTLiZf
繋がっているように見えて話が繋がってないのはワザとか
口八丁が幅を利かせたのも保守派を助長した理由の一つだと思う
0321デフォルトの名無しさん2015/11/14(土) 11:44:40.79ID:nWZFA7uQ
保守派って何よw
0322デフォルトの名無しさん2015/11/14(土) 12:48:29.87ID:CbtKXtTb
>>311
無知でごめんよDataSetはテーブルアクセスする際普通に使うもんだと思ってた
今は違うの?Linqとか?
0323デフォルトの名無しさん2015/11/14(土) 17:01:18.18ID:jrhg0wMX
EFでもDataSetでもなく、DataReaderが正義だと思う俺は少数派なのかな?
0324デフォルトの名無しさん2015/11/14(土) 17:43:36.04ID:W3zZ8zJZ
いえ正常です
EntityFrameworkやDatasetの使い手とバカには強い相関が見られます
0325デフォルトの名無しさん2015/11/14(土) 20:56:53.86ID:DC4jVrJk
private protectedは欲しかったんだ

意味的にはinternal & protected
0326デフォルトの名無しさん2015/11/18(水) 00:21:03.45ID:5OYOt2YD
EFまでいかなくても
dapperでマッピングでええやん。


てか昔はWeb上のサービスもUIとかショボかったから業務システムとの差はそれほど感じなかったんだろうけど
今はひどいよな。ユーザーは、今風のUIがいい、とかSPAなイメージを伝えても

時代遅れのSEは、古臭いUIしか作れないし、JSやcss使いこなせないし、チェックボタンクリックするたびにサーバーにポストする
糞システム作ってるし、この先益々差が広がるだろうなとおもう
0327デフォルトの名無しさん2015/11/18(水) 00:56:23.88ID:XBTkD2/m
違うだろ、俺らの責任じゃない。
元デザイナーでデザインできる俺みたいなPGがUI/UXについて提案してもユーザーが必要性感じてないんだからどうしようもない。
そういう仕事しかしたことない元請けSIerも理解できないから当然できない。
とりあえず大手電機メーカー子会社のSIerは全部潰れてほしいわ
0328デフォルトの名無しさん2015/11/18(水) 01:26:53.56ID:G1zKx1et
>チェックボタンクリックするたびにサーバーにポストする

これはASP.NETが悪い
0329デフォルトの名無しさん2015/11/18(水) 15:00:27.61ID:eyPmmAxS
ほらこれみてみろよ

>「iPadへの入力ミス」が原因でボーイング737型機が機体接触事故を起こしていたことが判明
>http://gigazine.net/news/20151117-boeing-tailstrike-ipad-data-entry-fail/

業務アプリで必要なのが何なのか良く分かるだろ
0330デフォルトの名無しさん2015/11/18(水) 15:05:40.40ID:4O1y0zjC
>>328
>>チェックボタンクリックするたびにサーバーにポストする
>
>これはASP.NETが悪い
ポストバックしなきゃいいだろ
0331デフォルトの名無しさん2015/11/18(水) 15:17:41.77ID:gmCJUuig
WinRT使えばええんか?
0332デフォルトの名無しさん2015/11/18(水) 19:45:21.77ID:ZNU9suRo
C#erはVisualBasic名前空間を使うと負けだと思っている
0333デフォルトの名無しさん2015/11/18(水) 19:52:48.32ID:8OGiKQJm
>>332
同意。
というか、あんなもの使うぐらいなら自分で実装したほうが速い。
0334デフォルトの名無しさん2015/11/18(水) 20:20:48.56ID:6wIN3wsR
でも俺ちょこっとしたツールとかだと、TextFieldParserとかStrConvはベンリーだと思う
0335デフォルトの名無しさん2015/11/18(水) 21:10:53.15ID:0vgBTr94
StrConvだけ使ってる
0336デフォルトの名無しさん2015/11/18(水) 21:54:31.83ID:iQfA831r
StrConvは自前で同様の機能実装してしまった
0337デフォルトの名無しさん2015/11/18(水) 22:46:48.24ID:X6m0znIl
利尻Conv
0338デフォルトの名無しさん2015/11/18(水) 23:00:10.99ID:HHDQD9WE
理解するのに一拍かかったわ
0339デフォルトの名無しさん2015/11/18(水) 23:12:41.12ID:x3x3aG8E
Conv能力が低いな
0340デフォルトの名無しさん2015/11/18(水) 23:25:04.46ID:YUBLStYB
CSVなんか
var data = File.ReadAllLines(filename).Select (x => x.Split(',')).ToArray();
でええやん
0341デフォルトの名無しさん2015/11/18(水) 23:26:32.65ID:x3x3aG8E
アホがばれるからだまとき
0342デフォルトの名無しさん2015/11/18(水) 23:49:44.24ID:wwHYyo98
>>329
日本語能力と論理的思考だな
原文は知らんが少なくともこの日本語は説明が成り立っていない
0343デフォルトの名無しさん2015/11/19(木) 00:11:24.26ID:Qo/umcST
StrConvというか、そのなかのToWide、ToNallowだけかな…
stringクラスの拡張メソッドにしとくと、なにげによく使うんです
0344デフォルトの名無しさん2015/11/19(木) 00:16:12.39ID:FuaAO5L3
StrConvなんてVBerでも使わないよw
あんなのVB6からの移植用の機能だぞw
0345デフォルトの名無しさん2015/11/19(木) 00:24:16.57ID:KDEPfKnj
使えるもんはつこたらええ
0346デフォルトの名無しさん2015/11/19(木) 01:59:10.01ID:9nDdReYG
StrConvとかいう舐めたネーミングが許せんわ
いかにもVB6のセンス
0347デフォルトの名無しさん2015/11/19(木) 02:47:51.51ID:Q69wQH7X
そこは歴史に敬意を払うとこじゃねえのw
利用を強制されてるもんじゃないんだからw
0348デフォルトの名無しさん2015/11/19(木) 02:55:25.63ID:pMZsVAsr
VBっていうより昔のCとかUNIXのノリかな
0349デフォルトの名無しさん2015/11/19(木) 06:04:51.36ID:yq8an3Lp
まぁVBだろうがある物は使わせてもらう
0350デフォルトの名無しさん2015/11/19(木) 10:13:52.72ID:j6gYHvV7
毎回IsNumericを貼り付けてる
0351デフォルトの名無しさん2015/11/19(木) 20:07:28.86ID:auiYy3TC
まあせめてStringConverterかな(笑)
ちなみにどう読んでる?俺はストラコンブ
0352デフォルトの名無しさん2015/11/19(木) 20:19:18.13ID:Pe05dlRc
flgとか微妙な省略している割に
長大な識別子は省略されていないソースを読んだ時に感じる
砂を噛んだような不愉快さ
0353デフォルトの名無しさん2015/11/19(木) 20:48:49.94ID:VA8QX+EW
i18nが略称の王者だな
0354デフォルトの名無しさん2015/11/19(木) 21:01:53.78ID:EomE3goY
TextFieldParserもデータに改行が入ってると読めない地雷だからな…
0355デフォルトの名無しさん2015/11/19(木) 21:56:13.55ID:w8FY9rn8
>>354
むしろ固定長の読み込みが文字数で、バイト数に対応してないとこをどうにかしてほしい
0356デフォルトの名無しさん2015/11/19(木) 22:28:50.03ID:tuRe1SPF
>>355
うわ、固定長ファイルの読み込みってバイト単位の切り出しがキモじゃん
それできない時点でどう考えても使い物にならないわ
0357デフォルトの名無しさん2015/11/19(木) 23:04:38.15ID:/GuEQnmn
>>353
その略称を考案した奴凄いよな
0358デフォルトの名無しさん2015/11/20(金) 00:08:07.00ID:6faEBo3j
>>357
DECの人やで
https://ja.wikipedia.org/wiki/%E3%83%8C%E3%83%A1%E3%83%AD%E3%83%8B%E3%83%A0
0359デフォルトの名無しさん2015/11/20(金) 15:02:34.58ID:4Z48XOb6
intDeta
0360デフォルトの名無しさん2015/11/20(金) 15:47:50.10ID:50zp9/ge
>>353
i18nに該当する別の単語はないのかな?
もしあれば混乱しそうだ
0361デフォルトの名無しさん2015/11/20(金) 20:37:10.79ID:I81aKI5b
俺のアカウント名はp11a
0362デフォルトの名無しさん2015/11/20(金) 21:08:06.47ID:+55qipus
ウィーフィーの規格みたいだな!
0363デフォルトの名無しさん2015/11/20(金) 21:48:08.47ID:3Hd/TC01
>>352
後輩がフラッグと呼んでいるのを訊いて目からうろこだったな。この業界の人はフラグというけど
旗は英語でフラッグと読むのが普通だった
0364デフォルトの名無しさん2015/11/21(土) 00:03:43.84ID:vY02tg2U
>>363
カエルじゃないんだからフラッグなんて言わないと思うw
普通にチェッカーフラグだしフラグシップだ。
0365デフォルトの名無しさん2015/11/21(土) 00:27:04.73ID:LNOlZUw+
s1x
0366デフォルトの名無しさん2015/11/21(土) 00:42:43.76ID:QnKZX1iR
かえるはカタカナ表記だとフロッグが一般的じゃないかなあ

チェッカーフラグはぐーぐるさんに「もしかして:チェッカーフラッグ」言われてもうた
0367デフォルトの名無しさん2015/11/21(土) 00:46:21.16ID:9hhZMgm3
フラグは割とフツーに言う気がするけどな
死亡フラグとか恋愛フラグとか言うやん
最近はローカル変数でもisとかhasとかつけるからflag自体あんまりつかわへんけど
0368デフォルトの名無しさん2015/11/21(土) 00:56:45.59ID:QnKZX1iR
ああ、いや俺もそれは使うよ
フラグとフラッグの使い分けって面白いなと思っただけで他意のない横槍でした

どうもboolなフラグはフラッグと呼ばれてない様子
まあゲーマー用語として広まって定着したのかな
0369デフォルトの名無しさん2015/11/22(日) 20:15:29.76ID:ZvtPZZWZ
まず相手に伝えるための言葉なんだから伝わればいいんだよ
ルー大柴みたいに四六時中カタカナ用語を織り混ぜて会話するやついるが気持ち悪いんだよな
心理学ではそれは自信のなさの裏返しで自分を大きく見せたいコンプレックスらしいが、兎に角うざい
素人であるユーザー相手にコンサルする分にはいいかもしれんが、専門職の俺らに通用すると思ってる時点で馬鹿なんだよな
0370デフォルトの名無しさん2015/11/22(日) 22:55:15.68ID:DXq6XAe4
よくわからん被害妄想だw
それこそコンプレックスの産物にしか思えないが自覚がないんだから凄いわw
0371デフォルトの名無しさん2015/11/24(火) 23:46:40.10ID:VFqon6vc
ファイルを暗号化する手法が結構多く見られていてよくあるのがファイルの先頭にsaltとかIVを
埋め込んでいるのがあるんだけど、メモリストリーム使って文字列を暗号化するときにも
バイト配列にsaltとIVをつないで一緒に保存してもいいものなの?
他のサンプルソースのうち、メソッドの頭にIVとか直書きしてるものあるけど、それって危なくないの?
0372デフォルトの名無しさん2015/11/25(水) 00:12:27.44ID:/p4JxLKY
まあなんらかの形でIV埋め込まなきゃ解凍できないし
0373デフォルトの名無しさん2015/11/25(水) 01:41:28.14ID:wwtRzQvg
ニッポンの平均最低月給と人口の都道府県別、市町村別ランキング
求人情報113,957件の平均最低月給196,400円 ♬

あなたの住む街は第何位?平均最低月給はいくら???
http://jobinjapan.jp/area/
0374デフォルトの名無しさん2015/11/25(水) 10:00:10.90ID:XX3uU+t0
>>372
ありがとう

追加で質問なんだけど、デコードしたあと文字列見るとエンコードするときに埋め込まれたダミーが残って
\0が16の倍数の残り分後ろにつくんだけど、特にネットで落ちてるサンプル見るとそれに対する処理が
見受けられないんだけど、単純に暗号化複合化の記述がおかしいのか、
そうなるのが当然で、あとは自分で処理するレベルのものなのでしょうか
0375デフォルトの名無しさん2015/11/25(水) 10:16:17.92ID:5wB+dJF6
ダミー?パディングのことだろうか
自分で処理するのが普通
0376デフォルトの名無しさん2015/11/25(水) 12:11:57.78ID:Ma3qeykF
PaddingがZerosになってない限り、読み込まれることはないはずだけど
CryptoStream::Readの返値見てないとかなら知らん
03773742015/11/25(水) 14:34:31.59ID:mt/VYpXM
レスありがとうございます

PaddingはPKCS7にしてます

ちなみに
CryptoStream Mydecrypt = new CryptoStream(input, decryptor, CryptoStreamMode.Read);
Mydecrypt.Read(output, 0, output.Length);
としてたあとに
output.ToArray()でbyte配列に格納してます
Mydecrypt.Readの処理後にoutputにはパディングされた部分に0で入っているので、
それをToArrayすれば当然それも配列に入っているのだと理解してます

暗号化するときにはFlushFinalBlockなりCloseすれば元のデータの終わりがわかるんだと思うのですが、
復号するときにはどこまでが元のデータでどこまでがパディングされたものか、
FlushFinalBlockのような処理は用意されてないんでしょうか 
それとも>>376さんのいうようにZerosになってない限り自動で終わりを判別して返してくれるんでしょうか
(そうだとしたら、どこかでおかしな記述をしてるんだとは思いますが・・・)
0378デフォルトの名無しさん2015/11/25(水) 15:36:31.44ID:eV7P+bdC
System.Math.Round(0.5)とかSystem.Math.Round(-0.5)の戻り値が0なんだけど。
何なのこの糞言語。
0379デフォルトの名無しさん2015/11/25(水) 15:54:31.31ID:rHMnfdo0
戻り値
型: System.Double
a に最も近い整数。 a の小数部が 2 つの整数 (一方が偶数で、もう一方が奇数) の中間にある場合は、偶数が返されます。 このメソッドは、整数型ではなく Double を返します。

だから仕方ないな

Console.WriteLine(Math.Ceiling(0.5) + " " + Math.Floor(-0.5));

切り上げにはみたいな書き方をする
0380デフォルトの名無しさん2015/11/25(水) 16:16:16.65ID:Ma3qeykF
>>377
だからReadの返値だってばさ
0381デフォルトの名無しさん2015/11/25(水) 16:23:53.16ID:tXkV+f/F
>>378のコードはdouble値と小数を==で比較するような糞ロジックで溢れているのだろう
0382デフォルトの名無しさん2015/11/25(水) 16:24:13.41ID:TdJGHa8X
>>378
MSDNのMath.Round メソッドのページに書かれてるよ

このメソッドの動作は IEEE 規格 754、セクション 4 に従います。 このような丸めは、近似値への丸めまたは銀行型丸めと呼ばれることがあります。 これにより、常に中間値を単一方向に丸めるために発生する丸め誤差が最小限に抑えられます。
Round メソッドが使用する丸めの種類を制御するには、Math.Round(Double, MidpointRounding) オーバーロードを呼び出します。

下みたいに書けばいいんじゃないかな
System.Math.Round(0.5, MidpointRounding.AwayFromZero)
0383デフォルトの名無しさん2015/11/25(水) 16:28:27.15ID:2e0lZK3J
>>378
http://dobon.net/vb/dotnet/programing/round.html

System.Math.Round(0.5,MidpointRounding.AwayFromZero);
って書くんや
03843742015/11/25(水) 16:37:18.69ID:mt/VYpXM
>>380
返値は7でした

0じゃないということは正しく終わりを見てもらえてないってことですよね・・・
0385デフォルトの名無しさん2015/11/25(水) 16:57:39.93ID:FMs/A05F
>場合によっては、この丸めのエラーを重要なことができます。

なるほど、この丸めのエラーを重用なことができるのか
0386デフォルトの名無しさん2015/11/25(水) 17:21:58.69ID:vs30+rKr
そもそもDoubleの値がぴったり0.5になることなんてリテラル以外まずあり得ないだろ
Decimal使えよ
03873742015/11/25(水) 17:32:39.48ID:mt/VYpXM
ちょっとどつぼにはまって訳がわからなくなってきたのですが、

たとえば文字列が 5byte分あったとして、byte配列にしたときに残りの11については
パディングされて埋められますよね
デバックしていてパディングの後の値を見ると、後の11byteには0ではない値が入っているようでした
0で埋められると思っていたのですが、これはコードがおかしいのか私の理解が間違ってたかどちらでしょうか

パディングで埋められたものが、デコード時に元の5byte分が復元されて、
それより後の値は0で埋まって(暗号部分までがしっかり認識区別されて)返ってくるのでしょうか?
(すなわち、16の倍数byte分返ってくる)
それとも本来は5byte分のみ返ってくるのでしょうか
0388デフォルトの名無しさん2015/11/25(水) 17:57:51.59ID:5wB+dJF6
pkcs7なら11バイトパディングがあれば11で埋まってるんじゃないか
何でパディングするかは決まってるが、常に0というわけじゃないぞ
0389デフォルトの名無しさん2015/11/25(水) 18:16:09.91ID:mt/VYpXM
>>388
そうですよね・・・0で埋まると思ってました

>>376さんの言ってる事がようやく理解できました・・・orz
デコードされたbyte配列から、返値の値だけ出力ストリームに書き出したらうまくいきました

MemoryStream output = new MemoryStream();

var len = MydecryStrm.Read(buffer, 0, buffer.Length);

output.Write(buffer, 0, len);

あってんのかな・・・
0390デフォルトの名無しさん2015/11/25(水) 18:48:30.22ID:8yT/lcxa
>>386
0.5ってもろに2の基数で表現できる数だと思うんだけどw
03913862015/11/25(水) 18:54:51.58ID:tXkV+f/F
>>390
だから「リテラル以外」って言ってるでしょ
0392デフォルトの名無しさん2015/11/25(水) 18:56:24.86ID:8yT/lcxa
>>391
なるほどすまんかったw
0393デフォルトの名無しさん2015/11/25(水) 19:53:05.95ID:h3PXmhK/
ジェネリクスで数値型のみって出来ない?
図形の構造体が不便
0394デフォルトの名無しさん2015/11/25(水) 20:08:56.06ID:8nRfByHy
できまふぇん
0395デフォルトの名無しさん2015/11/25(水) 20:12:54.04ID:1zLf2/VR
>>393
C#のジェネリックだと、それは無理。
0396デフォルトの名無しさん2015/11/25(水) 20:24:59.67ID:reKtKMrl
IConvertibleだっけ? で制約して少しは
0397デフォルトの名無しさん2015/11/25(水) 20:32:25.22ID:1zLf2/VR
where T : struct , IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T>
ぐらいやっておけば、ある程度、保証できるだろうが、Tの演算子を解決できないので、数値型としては、致命的だろう。
dynamicにキャストすればできるがパフォーマンス悪くなるだろうしなー。
0398デフォルトの名無しさん2015/11/25(水) 20:39:16.08ID:h3PXmhK/
>>397
ゲーム用だからパフォーマンス悪いのはNG
一つづつコピペは嫌だな・・・
0399デフォルトの名無しさん2015/11/25(水) 21:24:32.82ID:vs30+rKr
図形ならdoubleオンリーで十分でしょ
無駄な汎用性
0400デフォルトの名無しさん2015/11/25(水) 21:36:42.28ID:/dJ6YH5t
intを使いたいときもあるのでは?
でもdoubleとintの二つで十分だな。
0401デフォルトの名無しさん2015/11/25(水) 21:42:36.50ID:puppJQzH
そうします
0402デフォルトの名無しさん2015/11/25(水) 22:07:31.65ID:vs30+rKr
doubleはintの値域を完全に誤差なしで表現できるからdoubleさえあれば十分だよ
まずありえないが、万一doubleじゃ遅すぎるとかメモリを食いすぎるとか実際に問題になればint版を作ればいい
0403デフォルトの名無しさん2015/11/25(水) 23:00:55.11ID:puppJQzH
>>402
メモリって出来るだけ小さいほうがいいと思うんですけど・・・
あとはint専用メソッドでのキャストが面倒だし
0404デフォルトの名無しさん2015/11/25(水) 23:06:11.07ID:1zLf2/VR
何で動かすかは知らんが、intとdoubleのメモリ使用量の差なんて、気にしなくても良いだろう。
0405デフォルトの名無しさん2015/11/25(水) 23:07:44.54ID:5wB+dJF6
レジスタとかSSE(AVX)観点からのツッコミは禁止します
こんな素人のガキにそんなことを説いても仕方有りません
わかるでしょ?あなた大人でしょ?
0406デフォルトの名無しさん2015/11/25(水) 23:26:36.71ID:BOe/at8N
これふらっとに居たUnityでゲーム作りたいんですけど?君だよ
向こうで相手にされなくなったからこっちに来たのか
0407デフォルトの名無しさん2015/11/26(木) 00:07:28.22ID:Hq8pnJS9
decimalでいいだろ
0408デフォルトの名無しさん2015/11/26(木) 00:10:18.88ID:lRbPvEyn
decimalは、ちょっと効率悪いんじゃないかな?
0409デフォルトの名無しさん2015/11/26(木) 07:11:25.70ID:bJkKvp09
>>408
なぜ?容量くいすぎ?
0410デフォルトの名無しさん2015/11/26(木) 07:44:33.83ID:tBrlRgSz
パフォーマンスを気にする初心者はコーディング前に必ず
「動かないソフトウェアのパフォーマンスはゼロである」と10回唱えなさい
0411デフォルトの名無しさん2015/11/26(木) 08:32:48.63ID:uG3Gqvd0
そりゃニーモニックレベルでサポートされているdoubleやintに比べりゃdecimalは非効率だろうね
0412デフォルトの名無しさん2015/11/26(木) 12:17:53.24ID:EjvQUqKT
Windows10にしたらデザイン画面上のレイアウトがぶっ壊れてしまいました
でもコンパイルするとWin8で開発してた状態が維持されてます
ということは、Win10のデザイン画面上で整えるとコンパイル後に崩壊しそうです
デザイン画面をWin8互換にする方法はあるでしょうか?(VS2013)
04134122015/11/26(木) 12:49:20.51ID:EjvQUqKT
Win8互換という言い方は変でしたね
現状Win10同士でもデザイン画面とコンパイル後が一致しないので、これを正しい状態に修正する方法が知りたいです
0414デフォルトの名無しさん2015/11/26(木) 13:01:57.24ID:zuyebkBK
>>412-413
何を言ってるのかさっぱり分からない。
推敲って物を知らないのか。
04154122015/11/26(木) 13:05:13.05ID:EjvQUqKT
>>414
OSをWindows8.1からWindows10にアップグレードしたら、
VS2103のデザイン画面上のレイアウトとコンパイル後のレイアウトが著しく異なる状態になったので、
修正方法が知りたいです
0416デフォルトの名無しさん2015/11/26(木) 13:06:34.04ID:EjvQUqKT
>>414
間違えましたw

OSをWindows8.1からWindows10にアップグレードしたら、
VS2013のデザイン画面上のレイアウトとコンパイル後のレイアウトが著しく異なる状態になったので、
修正方法が知りたいです
0417デフォルトの名無しさん2015/11/26(木) 13:29:28.65ID:wLo/SUaP
少し冷静になってはどうですか
はやる気持ちを抑えて
0418デフォルトの名無しさん2015/11/26(木) 13:31:41.06ID:zuyebkBK
>>416
まだ何を言ってるのかよく分からんけど、Windows Form?
だとしたら自動スケーリングの仕様に起因する問題かね。

Windows10入れてないからよく知らないけど、たぶん直接的にはシステムフォントの違い
(Formのフォントを既定値のままにした時に設定されるフォントの違い)から来てると推測。

最初にプロジェクトを作った環境でFormのフォントを(既定値のままじゃなくて)明示的に指定するか、
AutoScaleModeをDpiに変更すれば治ると思うけど。

もちろん今の環境で修正してもいいけど、恐らくデザインの修正が必用になる分面倒くさい。
04194122015/11/26(木) 14:26:44.77ID:EjvQUqKT
>>418
Windows Formです

フォントを変えてもレイアウトは変わりませんでした

Dpiにすると、ボタン型チェックボックスとボタンの高さがコンパイル後の画面では狂ってしまいます
他も全般的に狙ったレイアウトにならず微妙に汚くなります
0420デフォルトの名無しさん2015/11/26(木) 14:30:47.94ID:lRbPvEyn
>>419
Win10は、使ったこと無いけど、AutoScaleMode.Noneにしてスケール調整しないようにしてみては?
0421デフォルトの名無しさん2015/11/26(木) 14:59:05.28ID:zuyebkBK
>>419
だから、最初にそのプロジェクトを作ったのと別の環境でAutoScaleModeを修正する場合は
恐らくデザイン(Formやコントロールのサイズ)を手動で修正しないとダメ。
04224122015/11/26(木) 15:32:43.03ID:EjvQUqKT
>>420
Noneはデザイン時からもっと大幅に変化します(ボタンが巨大になったり)

>>421
手動で修正したものに対し、コンパイル後の画面が狂うんです
高さ28のボタン型チェックボックスに対し、ボタンの高さは33にしないと揃いません
こうするとデザイン画面上ではボタンの方が大きいですが、実行すると揃います

ガイドで均等に揃えた縦方向の隙間も不揃いになるので、実行しては再調整を繰り返します
左右の隙間もデザイン時より狭くなるので、実行してから再調整が必要です

ログイン画面のような、フォームにコントロールを直接置いた単純なレイアウトでは特に問題ないですが、
タブコントロールの中にテーブルレイアウト、その中にパネル、その中に小さなコントロールをたくさん置くと狂いが目立ちます
0423デフォルトの名無しさん2015/11/26(木) 16:37:00.62ID:uhVdTG0g
画面のDPIはどうなってんの?
0424デフォルトの名無しさん2015/11/26(木) 16:46:03.36ID:lRbPvEyn
こういうところがフォームだとつらいところなんだろうなー。
0425デフォルトの名無しさん2015/11/26(木) 16:51:58.32ID:zKve/pIE
同じかわかんないけど・・・
ソースレベルでDPIに変更したら派手に崩れた経験があって
最初は手作業で直してたんだけど、再度デザイン画面で表示している状態で
DPIに変更したら自動的に修正されてレイアウトが維持されたよ

前の状態を正常に表示できる環境かつデザイン画面の状態でDPIに変更してから
新しい環境に持って行ってみたら?
可能性のひとつでしかないけど・・・
0426デフォルトの名無しさん2015/11/26(木) 18:21:50.50ID:zuyebkBK
どこぞで読んだけど、確かFormデザイナ自体がDPIが違う環境で
プロジェクトが開かれることを想定した設計になってないんだよな。

それにしても、新しい環境でAutoScaleModeをDpiに変えてデザインをやり直したら
>>422が言ってるような現象は起こらないはずだと思うんだけど。
0427デフォルトの名無しさん2015/11/26(木) 18:26:41.47ID:0NR9O6jg
俺も >>425 だと思うなぁ
前開発環境が無いならOSのスケール変更すれば行けるよ
0428デフォルトの名無しさん2015/11/26(木) 21:37:03.87ID:uhVdTG0g
PerMonitorDPIとかってすごい機能だけど
WinFormsとはほぼ相容れない機能だよな
いままでそんなこと想定して作ってきたものなんてほぼ存在しないだろ
0429デフォルトの名無しさん2015/11/26(木) 21:42:19.08ID:lRbPvEyn
いい加減、WPFに移行しろってことなのかねぇ…
0430デフォルトの名無しさん2015/11/26(木) 22:35:57.85ID:uhVdTG0g
WPFですら想定してるのはSystemDPIだけだから
PerMonitorDPIに対応するには一手間必要だったりする
0431デフォルトの名無しさん2015/11/26(木) 23:02:29.24ID:YemXfTah
PerMonitorDPI自体中途半端だよね。

高DPIのタブレットをタブレットとして使ってる時と96dpiのモニターに繋いだ時でDPIの設定が
自動的に切り替わるように出来てもいいと思うんだが、こんな当たり前のことができない。

そもそもWindowsのDPIの設定って細かく指定できないから、高DPIモニタだと
ちょうど見やすい設定がそもそもできない。

今に始まったことじゃないけど、MS製品って全然eat your own dog foodじゃない。
ちょっと使ってみればわかるような不都合が多過ぎ。
0432デフォルトの名無しさん2015/11/27(金) 00:14:41.65ID:A193Z9lO
ttp://pc.watch.impress.co.jp/docs/column/4kshugyousou/20151125_732083.html
Win10でもグダグダらしいな
0433デフォルトの名無しさん2015/11/27(金) 01:53:39.06ID:xmWo3l8b
すくなくともゲームはOSのせいじゃないだろこれ
0434デフォルトの名無しさん2015/11/27(金) 02:57:35.54ID:/Io7/sFA
まあでもOSのせいかアプリの問題かはユーザーにとってはどうでもいいことだよね。
MSが開発者が間違いを起こさないような情報やプラットフォームを十分整備してるかというと...

https://msdn.microsoft.com/ja-jp/library/ms969894.aspx
こんな記事もあるぐらいだし、たしかVB5ぐらいからGUIの単位系がTWIPSとかいうのになってて
相当昔からMSはモニターが高DPI化することを予測してたはずなんだけど、なんでいまだにこんなにグダグダなのかね。
0435デフォルトの名無しさん2015/11/27(金) 03:19:17.61ID:YhNUO5F2
Direct3Dシーンが混じるとDIP単位と物理ピクセル単位が混在し
ストアアプリでもグダることは稀に良くある
0436デフォルトの名無しさん2015/11/27(金) 04:01:43.59ID:YhNUO5F2
写真のゲームの現象はなんだろな
リソース修飾子が適応される方法で自動的にscale-200の画像を読み込んだ上で
手動でスケーリングすべきD3D上のレイアウトを100%のまんま設定しちゃった感じかね
0437デフォルトの名無しさん2015/11/27(金) 08:47:11.55ID:4eLPK0ef
あと広告の場所がおかしくなることをよく見かける
ゲーム画面上に来ちゃってプレイできないことも
0438デフォルトの名無しさん2015/11/27(金) 13:49:45.57ID:fSrmbKqg
WinRTでは解決されるの?
0439デフォルトの名無しさん2015/11/27(金) 14:40:47.55ID:7QRTKik/
>>386
>そもそもDoubleの値がぴったり0.5になることなんてリテラル以外まずあり得ないだろ
君はc以外の言語使った事が無いだろ…
0440デフォルトの名無しさん2015/11/27(金) 15:08:55.10ID:Vijo2SgH
内部の浮動少数の表現が2進数か10進数かという問題かな
MSX-BASICは FOR I=0 TO 1 STEP 0.1 でもちゃんと10回回るけど
C言語は for(i = 0; i < 1; i += 0.1)で永久ループになるとか
0441デフォルトの名無しさん2015/11/27(金) 15:36:15.72ID:kVrLJTCh
なんか訳のわかんないこと言ってるけど、
PCの世界で実数の独自実装とかありえないからw

規格で決まってるしハードウェア実装されれますからw
それも別に最近の話じゃなくてもう30年とか前からそうですからw
0442デフォルトの名無しさん2015/11/27(金) 15:47:45.27ID:o8eCS6fy
ずれた話をやめろクソの三連星
0443デフォルトの名無しさん2015/11/27(金) 20:18:20.42ID:zdPRWeW7
>>440
i<1なら確実に止まるだろ
0444デフォルトの名無しさん2015/11/27(金) 20:38:40.96ID:hocUg2IA
>>443
int i なら無限ループじゃね?
0445デフォルトの名無しさん2015/11/27(金) 20:43:16.68ID:zdPRWeW7
それ浮動小数と何の関係もないよね
0446デフォルトの名無しさん2015/11/27(金) 20:45:43.76ID:Fe4SmbEP
>>441
嘘つきは去れ
0447デフォルトの名無しさん2015/11/27(金) 21:45:57.66ID:4eLPK0ef
>>445
ばーか
0448デフォルトの名無しさん2015/11/27(金) 22:11:41.70ID:RTiSWedD
Visual StudioのC#コンパイラーって
Monoのコンパイラーよりも頭悪いんじゃないの?っていう質問です。

まず、参考にしたページがこちら。

https://msdn.microsoft.com/ja-jp/library/ms182278.aspx

コンソールアプリにしてMainも入れたものがこちら。

using System;

namespace PerformanceLibrary
{
public class UnusedLocals
{
public void SomeMethod()
{
int unusedInteger;
string unusedString = "hello";
string[] unusedArray = Environment.GetLogicalDrives();
}

public static void Main()
{
Console.WriteLine("test");
}
}
}
0449デフォルトの名無しさん2015/11/27(金) 22:14:44.99ID:T6hvzlhk
Monoはコンパイラよりゴミのようなランタイムどうにかしたまえよ
http://www.slideshare.net/mobile/melpon/mono-is-dead
0450デフォルトの名無しさん2015/11/27(金) 22:21:15.30ID:3Bit5Cyo
これをVisual Studioでビルドした結果がこちら。

CS0168 変数'unusedInteger'は宣言されていますが、使用されていません。
CS0219 変数'unusedString'は割り当てられていますが、その値は使用されていません。

unusedArrayについてはノータッチ!
わざわざそういうページつくって
サンプルコードに変数の種類として配列バージョンの
unusedArrayを盛り込んだのに何で警告出さないの?
VSの昔のバージョンでは警告出してたけど、
どこかのバージョンからバグったのかな?
警告レベルを変更できるのかな?と思って調べてみたけど、
0から4までで4になってた(0にすると上の二つも出ない)。

ちなみにMonoでコンパイルした結果がこちら。

Program.cs(9,17): warning CS0168: The variable `unusedInteger' is declared but never used
Program.cs(10,20): warning CS0219: The variable `unusedString' is assigned but its value is never used
Program.cs(11,22): warning CS0219: The variable `unusedArray' is assigned but its value is never used
Compilation succeeded - 3 warning(s)

Monoは賢い。
0451デフォルトの名無しさん2015/11/27(金) 22:26:17.48ID:CDBWf9iP
>>386
1/2がぴったり0.5にならない環境ってどれだけあるんだろうか
0452デフォルトの名無しさん2015/11/27(金) 22:29:22.42ID:R9LWJ84c
>>451
バーカ
0453デフォルトの名無しさん2015/11/27(金) 22:34:46.03ID:3Bit5Cyo
>>449
Monoは死んだとか言って思いっきり恩恵に肖ってるじゃんかwww
わろたwww

Microsoftはどんどん.NETをオープンソース化してるし、
Monoもどんどんそれを取り込んでる
でも逆はしてない。
Monoの技術者の方が上をいってる場合もあるから、
そういうのは逆輸入するべきだな。
今回がその良い例。
0454デフォルトの名無しさん2015/11/27(金) 22:35:17.17ID:zdPRWeW7
>>451
値が1/2だと分かってるなら丸めもクソもないだろう
動的な計算の結果がX.5ぴったりになることはまずありえないということ
0455デフォルトの名無しさん2015/11/27(金) 22:44:19.51ID:RTiSWedD
というか、マイクロソフトは早くザマリン社を買収しろよ。
そしたらunity toolsみたいにザマリンも無料になるだろう。
そしたら今のアプリ開発unity一人勝ち状態に少しは波風を立てられる。
xamarinも無料のスターターあるけど、あれじゃダメ。
ツールの販売で儲けるシステムはもうトレンドじゃないってことにザマリン社は気づいてない。
大規模コミュニティーが出来あがりさえしてしまえば、いやでも儲かってしまうもの。
0456デフォルトの名無しさん2015/11/27(金) 22:48:18.71ID:x4TWqBrm
>>455
Project Astoriaが終わった今、それだよな。
0457デフォルトの名無しさん2015/11/27(金) 22:48:33.15ID:N+pkdLyq
浮動小数点の演算結果なんて、コンパイラとか実行環境に左右されるんだから、
1/2 = 0.5になるはずとかいうのが間違ってるんじゃないか?

誤差があるものとして扱うしかない。
0458デフォルトの名無しさん2015/11/27(金) 22:52:37.44ID:IPnSJeRh
普通は浮動小数点で小数を扱う時点で、特定の値ぴったりになることはないという大前提をおくもんでしょ
このケースでは誤差が発生しないから…とかいちいち個別に考えてプログラミングするのなんて事実上不可能
比較は常に x - 0.5 < ε
0459デフォルトの名無しさん2015/11/27(金) 22:55:27.89ID:hBuCorfy
>コンパイラとか実行環境に左右される
左右される例を挙げてみろよ
0460デフォルトの名無しさん2015/11/27(金) 22:58:49.26ID:IcCvW6oa
C#言語仕様5.0版で変わることがあると書かれてるのにこのバカは。
ちなみに実際にXeonとCore-i5で変わったことはある。
0461デフォルトの名無しさん2015/11/27(金) 23:00:00.98ID:CDBWf9iP
>>454
変数でも同じことだよ。
doubleの変数a,bがあるとき、それぞれに整数1と2を代入したら仮数部はどちらもall-0。
その割り算で誤差が出る処理系って思いつかん。2と4でも4と8でも同じこと。
0462デフォルトの名無しさん2015/11/27(金) 23:08:43.20ID:N+pkdLyq
x86とx64で違ったり、SIMD使うか使わないかで演算結果違うケースもあるらしい。
0463デフォルトの名無しさん2015/11/27(金) 23:19:18.83ID:zdPRWeW7
>>461
整数だと分かってるケースはまああるだろうね
問題は、変数の計算の結果、小数点以下が.5付近の値になるとき、
高確率でぴったり.5になるケースがあるか?ということだよ
0464デフォルトの名無しさん2015/11/27(金) 23:22:32.10ID:CDBWf9iP
そんな話はしてない。

>そもそもDoubleの値がぴったり0.5になることなんてリテラル以外まずあり得ないだろ
0465デフォルトの名無しさん2015/11/27(金) 23:22:59.12ID:BmEzTRfI
文章が頭悪そうだからダメだと思うよ
浮動小数点に誤差は付き物って一言言えばいいだけなのに
0466デフォルトの名無しさん2015/11/27(金) 23:24:12.05ID:zdPRWeW7
もともと丸めをどうするかという話なんだから、
整数/2とか最初から答えが分かりきってる例は論外だろう
0467デフォルトの名無しさん2015/11/27(金) 23:35:04.00ID:sk2COmOU
頭悪そうなチンカスが会話してんじゃねえ
0468デフォルトの名無しさん2015/11/27(金) 23:35:37.73ID:IPnSJeRh
ぴったり0.5になることは「現実的には」リテラル以外ではまずありえない
終了
0469デフォルトの名無しさん2015/11/27(金) 23:41:12.61ID:3Bit5Cyo
くだらん会話してないで俺とC#の未来を語ろうw
>>448,>>450ってマイクロソフトにバグ報告した方がいいのかな?
0470デフォルトの名無しさん2015/11/27(金) 23:45:35.43ID:sk2COmOU
Connectでやれ
0471デフォルトの名無しさん2015/11/27(金) 23:54:53.42ID:CDBWf9iP
>>466
だから丸めの話に関連して、「x.5ぴったり」という値が「まずありえない」のかどうかを話している。
で、任意の整数/2という計算で「x.5ぴったり」は容易に発生するし、浮動小数点変数に
整数を代入することも珍しくはない。
0472デフォルトの名無しさん2015/11/27(金) 23:59:02.34ID:N+pkdLyq
ぴったりになることもあれば、ならないで誤差が出ることもある。
以上
0473デフォルトの名無しさん2015/11/28(土) 00:41:51.51ID:R0seH/nX
いまは1/2=0.5の話をしてるんだろ?
0474デフォルトの名無しさん2015/11/28(土) 00:46:27.21ID:CPGEE3Eu
>>473
死ね
0475デフォルトの名無しさん2015/11/28(土) 00:46:35.37ID:dohK3Eb1
何を下らない議論をしているんだよ。
浮動小数点演算では誤差を考慮して行えば何も問題無いだろ。コンピュータが0.5を表現出来ようが出来まいがプログラムで数学的厳密性を考慮して計算すれば良いだけの話だろ。
0476デフォルトの名無しさん2015/11/28(土) 00:48:37.16ID:CPGEE3Eu
>>475
どうすればいいかの話なんてお呼びじゃねえ死ね
0477デフォルトの名無しさん2015/11/28(土) 00:54:18.52ID:zD5oBQF6
だったら何の話をしてるんだよw
0478デフォルトの名無しさん2015/11/28(土) 00:57:04.56ID:dohK3Eb1
>>477
それすら分からない連中なんだろう
0479デフォルトの名無しさん2015/11/28(土) 01:01:52.62ID:CPGEE3Eu
>>478
くどい、死ね
0480デフォルトの名無しさん2015/11/28(土) 01:14:51.91ID:CG0HQ1xP
>>477
だから丸めの話だって。
x.5ぴったりという値は>>386が言うような「まずあり得ない」というほど珍しいものではなく、
それをどちら側に丸めるかってのは無視できない問題。
そこのところを考慮してバイアスがないよう決められたのが>>382の最近接偶数丸め。
0481デフォルトの名無しさん2015/11/28(土) 01:19:17.54ID:dohK3Eb1
>>480
>それをどちら側に丸めるかってのは無視できない問題。
無視すると問題になるに決まっているだろ。
無視しなければいい。
0482デフォルトの名無しさん2015/11/28(土) 01:28:27.00ID:TS6MNNBj
>>480
まあ確かに>>386は極論と言うか言い過ぎ。
なんとなく言いたいことは分かるけどね。

ただ>>480もの言ってることもよく分からん。
何でそこで銀行丸めが出てくるのか全然意味が分からない。
関係ないよそれ。

銀行丸めはあくまで統計的に偏りを出さない(切り捨てと切り上げの頻度が同じ)
っていう以上の意味はないでしょ。
0483デフォルトの名無しさん2015/11/28(土) 01:36:22.72ID:TmObUkEZ
この話題自体意味なんか無いから目くじら立てんなよ
0484デフォルトの名無しさん2015/11/28(土) 07:02:16.70ID:CG0HQ1xP
>>482
関係ないも何も、>>378>>379>>382と0.5(中間値)の丸めの話があって>>386なんだから
その話しかしてないよ。
0485デフォルトの名無しさん2015/11/28(土) 07:32:39.47ID:3Q3OpRos
>>482の言ってるのは、
統計的に偏りを出さない以上の意味はなく、人間が直感的に考える「丸め」の感覚とは異なるものである。
ぴったり.5になるケースを個別にとやかく問題にするのは馬鹿げている。
という意味じゃないの?
ぴったり.5になることを期待してるような使い方では.49999…は.5と同じ扱いになってほしいと思うなあ
0486デフォルトの名無しさん2015/11/28(土) 08:24:59.17ID:LJi42WgO
お金の計算するアプリを作りたいんだが、
何も考えずにdecimal使ってればいい?
0487デフォルトの名無しさん2015/11/28(土) 08:53:51.44ID:M/Wigktg
>>486
お金の計算って言ってもピンキリだけど、家計簿程度なら int で十分じゃね
0488デフォルトの名無しさん2015/11/28(土) 09:43:55.17ID:zD5oBQF6
>>486
ゲームとか速度が命取りなるようなものじゃなければ、decimal使っておくのが妥当だと思うよ。
まあ、>>487の言うとおり、個人の家計簿程度ならintだと思うけど。
0489デフォルトの名無しさん2015/11/28(土) 13:11:42.07ID:QbwUMUmL
おれのお小遣い帳ならshortで十分(´;ω;`)
0490デフォルトの名無しさん2015/11/28(土) 13:42:36.25ID:aVxFw+2d
>>489
( ´・ω・`)人(´・ω・` )ナカーマ
0491デフォルトの名無しさん2015/11/28(土) 13:45:37.93ID:5OEdUYoh
お前らビンボー人がw
俺なんかushortだぞww
倍だ倍wwww
0492デフォルトの名無しさん2015/11/28(土) 13:54:38.55ID:UfOs/0ot
できる漢はboolで管理
諭吉さんがあるのかどうか分かれば十分
0493デフォルトの名無しさん2015/11/28(土) 15:50:02.48ID:IVslLxwX
65535超えたらオーバーフロー
でも0から減らすことはできない
0494デフォルトの名無しさん2015/11/28(土) 17:59:19.29ID:9mbCQUXF
俺の年収を記述するには int の範囲では狭すぎる
04954862015/11/28(土) 18:02:49.41ID:LJi42WgO
みんなレスどうもっす
>>487
経費計算ソフトで、%使う計算もあるからdecimal使う事にする

速度は使う者がそんな早く操作できないので大丈夫
でも体感的にかわるもんなの?
データ自体は1000件×20項目くらいなんだけど
0496デフォルトの名無しさん2015/11/28(土) 18:06:20.86ID:CPGEE3Eu
端末の性能によりけり
0497デフォルトの名無しさん2015/11/28(土) 18:11:33.84ID:ksR2x4ij
んなもん20年前のマシンでも何の問題にもならん
0498デフォルトの名無しさん2015/11/28(土) 18:34:48.14ID:zD5oBQF6
>>495
体感じゃまずわからんから安心しな。
せいぜい0.01秒変わるかどうかの差だから
0499デフォルトの名無しさん2015/11/28(土) 19:33:01.62ID:R0seH/nX
まあ実際やってみるのがいいと思うがね。
勉強だと思って。
0500デフォルトの名無しさん2015/11/28(土) 20:28:58.85ID:7NNOrcDp
お前らが金を預けている銀行システムのコアにはメインフレームという化け物がいて
固定小数点のゾーン十進数とかパック十進数とかいう
decimalなんか比較にならないくらいとんでもなく非効率で遅いものを使って計算してるんだぜ
0501デフォルトの名無しさん2015/11/28(土) 20:37:15.59ID:EIRgKjTk
急にどうしたの?発作?
0502デフォルトの名無しさん2015/11/28(土) 21:09:18.27ID:Net63fUy
メインフレームだとCどころかアセンブラは現役
COBOLとかの高級言語しかできなくても、トラブル発生時に
解析する人が必要。
0503デフォルトの名無しさん2015/11/28(土) 22:08:07.75ID:M/Wigktg
>>500
> 固定小数点のゾーン十進数とかパック十進数とかいう

専用命令持ってるし
0504デフォルトの名無しさん2015/11/29(日) 01:09:17.40ID:iw6LdXNF
俺様のハートを記述するにはstring型

string oresama = "∞"

nullとガチで勝負したい
0505デフォルトの名無しさん2015/11/29(日) 01:14:04.95ID:p79SyPYw
酔っ払って書き込むのやめようよ
0506デフォルトの名無しさん2015/11/29(日) 14:38:19.75ID:TFfaE6VD
セミコロンがないからエラー
0507デフォルトの名無しさん2015/11/29(日) 15:34:12.67ID:eq/AtsQL
>>486
横着しないで最初にMoneyクラスを作れよ
手抜きのコードを保守するコストも考えろ
0508デフォルトの名無しさん2015/11/29(日) 15:35:44.18ID:VGwxfEJu
>>507
そんな事したら行数が多くなって実行速度が遅くなるじゃん
0509デフォルトの名無しさん2015/11/29(日) 15:59:37.96ID:tmRC242U
などどわけのわからないことを言っており…
0510デフォルトの名無しさん2015/11/29(日) 16:09:26.08ID:djg7Qs12
ナイスジョーク
0511デフォルトの名無しさん2015/11/29(日) 19:10:47.24ID:WJtFeUZ3
C#に限らないんだけど、漢数字を抜き出して数値化してくれる便利ライブラリって無いかな
0512デフォルトの名無しさん2015/11/29(日) 19:21:48.78ID:SV1OvDWQ
簡単だから自分で作れよ
0513デフォルトの名無しさん2015/11/29(日) 19:28:16.71ID:euqwPPlR
結構難しいだろ
0514デフォルトの名無しさん2015/11/29(日) 19:30:16.94ID:MBzCl3Wg
いや簡単だろ
0515デフォルトの名無しさん2015/11/29(日) 19:31:44.03ID:KHHzkYUW
簡単だけどデバッグが面倒だろ。
確かにライブラリにあっても悪くないね。
ただローカルだから標準には絶対に入らないよな。
0516デフォルトの名無しさん2015/11/29(日) 19:40:53.11ID:KHHzkYUW
ちょっと調べたらExcelにはNUMBERSTRINGという関数があるんだと。(数字→漢数字)
これでテストパターンを網羅的に作って後は頑張れってとこかな。
0517デフォルトの名無しさん2015/11/29(日) 19:58:41.71ID:IyY/Y7He
>>511
お題スレにでも投げてみたらw
0518デフォルトの名無しさん2015/11/29(日) 20:02:58.19ID:y4EB3thr
壱億参千六百四十八万七千弐百丗壱
0519デフォルトの名無しさん2015/11/29(日) 20:22:12.76ID:+GY3VOc+
一から九まで捜索して置換して変換するだけじゃないのか?
0520デフォルトの名無しさん2015/11/29(日) 20:25:12.52ID:euqwPPlR
当然だろw
0521デフォルトの名無しさん2015/11/29(日) 20:27:16.49ID:SV1OvDWQ
519が書いたプログラムは怖すぎて動かしたくないわ
0522デフォルトの名無しさん2015/11/29(日) 20:33:34.74ID:u9W6NI2Q
捜索だものな
0523デフォルトの名無しさん2015/11/29(日) 21:05:01.11ID:tYzWNDRy
百億五千万十四なんて変換するのめんどくさかったわ
0524デフォルトの名無しさん2015/11/29(日) 21:08:48.24ID:c+9MHjtm
結構面倒そうだな
百億万 とか並びがおかしかったらパースエラーにしないといけないしな
0525デフォルトの名無しさん2015/11/29(日) 21:11:35.38ID:s4Vhq+xc
億千万!億千万!
0526デフォルトの名無しさん2015/11/29(日) 21:12:03.76ID:bSaCWs8b
ちょっと考えればそんなに難しいルールじゃない
0527デフォルトの名無しさん2015/11/29(日) 21:17:07.74ID:nSM5QZwS
誰かdnfを持て
0528デフォルトの名無しさん2015/11/29(日) 21:20:10.49ID:ejXKaOWL
十百万とか百千みたいなイレギュラーなのもOKな場合があるね
テスターになってプログラマを虐めたい
0529デフォルトの名無しさん2015/11/29(日) 21:26:32.63ID:f4C0b/v+
>>524
だが、百億千はエラーにしてはいけない。
0530デフォルトの名無しさん2015/11/29(日) 21:38:34.14ID:y4EB3thr
胸騒ぎがする
0531デフォルトの名無しさん2015/11/29(日) 21:39:48.99ID:y4EB3thr
>>524
10000010000
と解釈すればいいだろ
0532デフォルトの名無しさん2015/11/29(日) 22:14:06.84ID:tYzWNDRy
五十百万って普通にアリなんだよな
0533デフォルトの名無しさん2015/11/29(日) 22:23:25.31ID:g6SxEua+
そもそも何から漢数字を抜き出すのか
場合によっては抜き出す処理も面倒そう
0534デフォルトの名無しさん2015/11/29(日) 23:02:31.19ID:cE/sMobR
ガチで作って公開したら間違いなく喜ばれるな
0535デフォルトの名無しさん2015/11/29(日) 23:57:44.94ID:25n6W2ii
億や万の境界で部分文字列に分解して
やれば出来るだろ。
正規表現だけでは難しいかな。最後に足し算しなくちゃいけないから。
まあでも30分もあればC#で作れるな。
0536デフォルトの名無しさん2015/11/30(月) 00:46:09.25ID:KJhtuNJw
興味あるな。30分は俺だと無理だな…
仕様案とユニットテスト切り分けて終わるなw
0537デフォルトの名無しさん2015/11/30(月) 01:39:07.48ID:swJhYAtg
ローマ数字(MCMXCIXとかのやつ)は割と簡単だったしたいしたことなさそう
0538デフォルトの名無しさん2015/11/30(月) 02:01:48.57ID:j2AV1rzp
もし自然言語の文章から抜き出すとしたら百二百三百は文章の意味が分からないと抜き出せない
まあ例外的だしそこまで考える必要はないだろうけどね
0539デフォルトの名無しさん2015/11/30(月) 02:25:20.95ID:d8RoQtAL
くだらん話はとっとと打ち切れよ
誰が使うんだ>>511みたいなライブラリを
0540デフォルトの名無しさん2015/11/30(月) 03:10:10.19ID:swJhYAtg
なら他にネタ持ってくればいい
0541デフォルトの名無しさん2015/11/30(月) 03:22:26.51ID:aGVvH0zt
確かにそんなものライブラリとして取り込むぐらいなら自作したほうがマシか。
0542デフォルトの名無しさん2015/12/01(火) 22:35:59.70ID:CB8Qy8vW
あとDateDiffとかね
0543デフォルトの名無しさん2015/12/01(火) 22:52:45.48ID:eJscJCcA
和暦表示をどう取り扱うか悩みながらやっているんだけど、
昭和から平成になったときって、和暦表示を入れてるソフトは大変だったものなの?
元号が変わったらそのとき悩めばいいのかな・・・
0544デフォルトの名無しさん2015/12/01(火) 23:13:25.32ID:7ywWDMYa
2000年問題の再来か2038年問題の先取りかな
0545デフォルトの名無しさん2015/12/02(水) 00:20:22.68ID:ifhUOscs
>>543
和暦の変換関数なんてどこの会社も自作してたんじゃないかな
アセンブリ1つ入れ替えればオッケーてかんじで
ドットネットならカルチャー使って変換さとけば、アップデートで対応してくれるんじゃないかしら?
0546デフォルトの名無しさん2015/12/02(水) 01:55:11.66ID:TZRtbVKD
平成の大合併のときにAccess(IMEだったかも)についてる郵便番号辞書の更新が追いつかなくて困ったな
連結フィールドだから手入力できなくて

C#的には拡張メソッドでToWareki()とか作っとけば
0547デフォルトの名無しさん2015/12/02(水) 01:59:49.58ID:dJVeh+KE
>>543
西暦 和暦 変換
などでググればサンプルが有るだろう
0548デフォルトの名無しさん2015/12/02(水) 03:35:10.83ID:CIxFiRBU
お前らがごちゃごちゃ行ってる間に作ってみたぞ。
リンク貼っておくから勝手に使ってくれ。
0549デフォルトの名無しさん2015/12/02(水) 06:42:29.64ID:A/t6m0d3
バカには見えないリンクか……
05505432015/12/02(水) 10:50:39.88ID:+n3iONQm
みなさまレスどうもです
とりあえず、カルチャー使ってできるところまではいけました
思ったほど混乱はなかったんですね

全く別の相談ですが、
データベースからDataSetの中のDataTableに格納しているんですが、
データベースから持ってきたテーブルに一時的に列を追加しようと
DataSetName.TableName.Columns.Add("列名", typeof(String))
としてみたんですが、新規行追加しようとしてNewRow()で作成しても
追加した列が反映されてないんですよね
なぜなんでしょ?
やりたいことは、データベースには暗号化された文字列、引っ張ってきた文字列を
一時的に追加した列に復号化して格納
GridViewなどでいじったあとに、暗号化して元の列に格納、一時的に作った列を削除
最初から空の(一時格納用)列を作っておいたほうがよいのですかね
0551デフォルトの名無しさん2015/12/02(水) 10:59:49.90ID:Yx3EZPfk
ソース貼った方が早いと思う
0552デフォルトの名無しさん2015/12/02(水) 11:04:41.59ID:HMWgmCF8
>>550
> 最初から空の(一時格納用)列を作っておいたほうがよいのですかね
そうですね
フィールドマッピングしてなければDBに依存しないので
0553デフォルトの名無しさん2015/12/02(水) 11:29:34.60ID:wOhUoovz
結果にコミットしてなかったり
0554デフォルトの名無しさん2015/12/02(水) 12:39:43.62ID:a+N/oIDV
ブーチブーブチ
0555デフォルトの名無しさん2015/12/02(水) 17:52:48.84ID:A/t6m0d3
scripting apiってすごくね?
アプリにユーザーの書いたスクリプトとか実行させまくりんぐなんでしょ?
0556デフォルトの名無しさん2015/12/02(水) 17:54:17.00ID:8TtImMj4
それはそれで怖いなw
0557デフォルトの名無しさん2015/12/02(水) 22:09:37.50ID:+XfiM1Lg
コンパイラプラットフォームってこれから使いこなせないと失業しますか?
0558デフォルトの名無しさん2015/12/02(水) 22:15:23.54ID:8TtImMj4
知らんがなw
使えればいいだろうけど、別にどうでもいいんじゃないの?
LINQすら使えないようなところから、WPFだのUWP、RX使うようなところまでピンキリだろうし
0559デフォルトの名無しさん2015/12/02(水) 22:21:11.52ID:Qa/hqLXl
仕事するならASP.NET MVCとEFでも覚えたほうがよっぽど有効
0560デフォルトの名無しさん2015/12/02(水) 23:57:21.39ID:dJVeh+KE
>>559
efって何なの?
使わなくてもdb操作出来るんでしょ?
0561デフォルトの名無しさん2015/12/03(木) 00:52:17.98ID:+UZVagMp
efを知らない設定なのに【db】と書いちまうマヌケって
0562デフォルトの名無しさん2015/12/03(木) 02:06:45.58ID:R7RcesKX
うーん、LINQとかのMS固有のアーキテクチャ使ったプロジェクトとかやりたくないな
そりゃ使いこなせれば生産性は上がるんだろうけど
プロジェクトに集められた人間が全員MS固有のアーキテクチャに精通してるわけないし
たいていJavaあがりやらC++あがりやらがごっちゃに集まったメンツでやるし
普通にSqlClientでシコシコSQL文字列書いてもらったほうがあとあとメンテナンスもしやすそう
0563デフォルトの名無しさん2015/12/03(木) 02:43:09.44ID:IeIyErJl
monoなUnityでも普通に使えるんだけどね
まあ単に>>558の言う固有の事情だよ
RX系なんかは言語またいで拡散中だしな
Java上がり(で留まってる人たち)に配慮するのか切るのかって上長や人事レベルの話でしょ

極端な話、単なる新技術否定にも聞こえちゃう
使えるものは使う、少なくとも時間を割いて価値を検証するってだけの話

生SQLなんてPHP案件でさえチューニング段階になるまで滅多に聞かん時代ですよ
0564デフォルトの名無しさん2015/12/03(木) 02:43:48.17ID:F5OD5ya2
linqとか他の言語にも移植されてるんだが。
0565デフォルトの名無しさん2015/12/03(木) 05:08:14.44ID:SZ9YfCYb
C#スレに居るのに「マイクロソフト固有の〜」っての、ギャグにしか聞こえない
0566デフォルトの名無しさん2015/12/03(木) 11:58:04.44ID:R7RcesKX
C#なんかDelphiなりJavaなりやった人ならとっつきやすい言語でしょ
そこがいいんだから余計複雑にするようなことされると
今プログラマ少ないんだから触れる人少なくなって困るんだわ
0567デフォルトの名無しさん2015/12/03(木) 12:03:31.98ID:R7RcesKX
Perlがあれだけ嫌煙されてるのだって結局自由に書け過ぎて可読性がぁ〜ってやつじゃん
私は読めるからいいけど私みたいな人間がいっぱいいるわけじゃない
0568デフォルトの名無しさん2015/12/03(木) 12:21:46.11ID:TXcQUy5+
戯言は墓場の運動会で叫んでろジジイ
0569デフォルトの名無しさん2015/12/03(木) 12:25:45.15ID:WAV/7C8W
COBOLができなきゃ一人前じゃないよw
0570デフォルトの名無しさん2015/12/03(木) 12:26:31.87ID:6hdwCziJ
>>562 が日本の低レベルな業務案件の現状だけど、まぁースレ違いかな。
0571デフォルトの名無しさん2015/12/03(木) 12:29:50.04ID:WAV/7C8W
>>570
ここは相談室なんだよ
あなたの書き込みはスレ違いもいいとこ
0572デフォルトの名無しさん2015/12/03(木) 12:32:34.21ID:WAV/7C8W
>>570
ごめん間違えた

>>569
ここは相談室なんだよ
あなたの書き込みはスレ違いもいいとこ
0573デフォルトの名無しさん2015/12/03(木) 12:40:53.33ID:H/wm0iTR
>>561
efがdbに使える暗いわ知ってるわ。
君は何と戦っているんだ?童貞で悶々としているのか?
0574デフォルトの名無しさん2015/12/03(木) 12:54:22.89ID:TXcQUy5+
唐突に童貞とか言い出しちゃう童貞って…素敵
0575デフォルトの名無しさん2015/12/03(木) 13:03:02.99ID:IgpEN7lw
マ板でやれ
0576デフォルトの名無しさん2015/12/03(木) 17:49:42.56ID:o7FY711k
COBOLやるとコピペ癖が付くから有害
出戻りや保守の不可能なシステムにしたくなければCOBOL経験の長いPGは門前払いした方がいい
0577デフォルトの名無しさん2015/12/03(木) 19:50:55.99ID:v/LFX2b8
COBOLは無くなるとか言われてたけど、未だにホスト側が2進化10進数の案件多いから
間違いなく死ぬまで残ってそう・・・
0578デフォルトの名無しさん2015/12/03(木) 20:00:26.35ID:kT1lh8Yx
コピペ癖は言語によらない。
向上心の無い無責任な人のコードは、ほとんどがそれだよ。
0579デフォルトの名無しさん2015/12/03(木) 20:06:18.66ID:L8NnW0bJ
COBOLのコピペはちょっと違う。他はweb丸写しのことだけど、こっちはメソッドとか関数の概念が希薄なので
関数を書かずに同じ処理をコピペでコーディングする

まいったか!
0580デフォルトの名無しさん2015/12/03(木) 20:08:38.36ID:/eiNyZ2X
プロコピパー
0581デフォルトの名無しさん2015/12/03(木) 20:11:58.33ID:HLFYFSWi
>>579
そしてスパゲッティになる
0582デフォルトの名無しさん2015/12/03(木) 20:15:29.95ID:lfpcI0/L
コピペ厨「動けばいいんだよw」

そして後で泣きをみる。
0583デフォルトの名無しさん2015/12/03(木) 20:26:47.81ID:WWwBwXla
>>581
COBOLは意外とスパゲッティにはならないんだぜ。
なぜなら、一つ一つのプログラムが小さいから。
汎用機のシステムって、イメージ的には多数の実行ファイルをバッチファイルで順番に実行していくような感じなんだ。
各実行ファイルは入力としてファイルを受け取り、処理結果としてファイルを出力し、それがまた次のステップの入力になる。
これはこれでうまくできた仕組みなんだけど、この開発スタイルこそがコピペを産む大きな原因でもある。
0584デフォルトの名無しさん2015/12/03(木) 20:37:19.56ID:IgpEN7lw
スレチだから死んでくれませんかね?
0585デフォルトの名無しさん2015/12/03(木) 20:38:25.44ID:HLFYFSWi
>>583
UIを含むプログラムだって有るんだぜ
COBOL=batchっていつの時代だよ
0586デフォルトの名無しさん2015/12/03(木) 20:40:08.60ID:WAV/7C8W
お前ら自分のエンビロンメントディビジョンぐらい書けよ
0587デフォルトの名無しさん2015/12/03(木) 20:46:55.44ID:WAV/7C8W
かと言ってアイデンティフィケーションディビジョンを飛ばすのはよくないよ
0588デフォルトの名無しさん2015/12/03(木) 20:53:14.94ID:kUqimHXC
>>585
COBOLでWebシステムとか冗談みたいな仕事もやったことあるけど、
汎用機のシステム開発技術で現代においても見るべきところがあるのはバッチだけだと思ってる
まあスレ違いだが、C#でもCOBOLみたいな糞プログラムはいくらでもあるから、
敵を知るという意味でバッチ処理くらいは知っておいて損はないと思うよ
「なんでこうなってしまったのか」の背景を知ってれば、犯人達とのコミュニケーションも円滑になるし、対策もしやすい
0589デフォルトの名無しさん2015/12/03(木) 20:56:07.14ID:WAV/7C8W
俺のインスタンスはどこに行ったんだ?
0590デフォルトの名無しさん2015/12/03(木) 21:15:36.91ID:zCQ/Nhg2
>>585
> UIを含むプログラムだって有るんだぜ

だから何?
今だに COBOL で作られたソフトの大半は >>583 みたいな作り方されてるだろ
・〇〇ができる
からと言って
・〇〇が普通
にはならんよ
0591デフォルトの名無しさん2015/12/03(木) 21:16:47.50ID:SZ9YfCYb
スレチだから余所へ行け
0592デフォルトの名無しさん2015/12/03(木) 21:23:47.44ID:lfpcI0/L
>>589
さっきGCに回収されたよ。
0593デフォルトの名無しさん2015/12/04(金) 01:36:29.13ID:3fb9KlbU
>>592
それな
0594デフォルトの名無しさん2015/12/04(金) 15:24:59.31ID:Wl0CweWM
async / await を使うと公開したくない型がリフレクション的に公開されてしまうというのに遭遇したんだけど。
あるアセンブリをリフレクションで触る(GetTypes)と、そのアセンブリ内で遅延ロードする予定の他のアセンブリを要求されて
そこで例外発生(ReflectionTypeLoadException)。asyn/awaitを外すとなんともない。

小一時間悩んだわー
しかもasync/awaitの使い初めだったのでトラウマ
0595デフォルトの名無しさん2015/12/05(土) 00:00:02.01ID:CUTJ2/7u
試してみたいからソース貼って
0596デフォルトの名無しさん2015/12/05(土) 01:50:25.21ID:9iAlg6YD
イカリでよければ
0597デフォルトの名無しさん2015/12/05(土) 10:31:55.23ID:0jIicOJL
>>431
イカリとか…カゴメ一択だろ
0598デフォルトの名無しさん2015/12/05(土) 11:55:05.71ID:CETO+Tr2
ソースを貼るのはムリっぽいけど概要だけ
-----------------------------
// hoge アセンブリ

public コンストラクタ(){
 AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
}

async void Hoge(){ 
 ...
 await notYetLoadedObject.DoAsync();
 ...
}

Assembly CurrentDomain_AssemblyResolve( object sender, ResolveEventArgs args ){
 switch( args.Name ){
  case "notYetLoadedObject":
   return Assembly.Load( "notYetLoadedObject.dll" );
 }
}
-------------------------
// 別アセンブリから、↑のアセンブリをロードする
var asm = Assembly.Load( "hoge");
foreach( Type t in asm.GetTypes() )    // ←ここで ReflectionTypeLoadException


Reflectorで覗いてみたら案の定asyncで使う入れ子クラスがコンパイラによって定義されてて、
そのせいなんじゃないかなーと。awaitやめたら例外は起こらなくなったよ。
0599デフォルトの名無しさん2015/12/05(土) 12:06:42.89ID:yatsIiwz
このソースコードが出せないおつむでは難しいだろうな
0600デフォルトの名無しさん2015/12/05(土) 13:02:29.57ID:CETO+Tr2
おむつは履いてません
0601デフォルトの名無しさん2015/12/05(土) 13:06:25.17ID:qkyvrywZ
念力集中ピキピキドカン

たちまちおつむが大噴火
0602デフォルトの名無しさん2015/12/05(土) 13:30:01.24ID:nZCGLVCw
何故、そんなめんどくさいことしなければならないのか。
0603デフォルトの名無しさん2015/12/06(日) 14:19:17.53ID:K53q116f
>>552
遅くなりましたが、仰せの通りやってみました

デザイナーでDataSetに空の列を追加
→DataTable読み込み時に、暗号化列(byte[])からデコードしたものを空の列(String)に挿入
→(ユーザ)Gridでいじる
→一時作成列をエンコードしたものを暗号化列に書き戻した上で
TableAdapterをUpdate
しかし、Updateのところで同時実行違反がでてしまいます
ぐぐっても原因がわからず・・・
UpdateCommandには空の列は含めておらず、最初に読み出した列のみUpdateしているのですが
0604デフォルトの名無しさん2015/12/06(日) 15:03:56.30ID:7tYybPsT
>>603
PK設定してない、とかいうオチだったらこのスレのみんなが激怒するぞw
0605デフォルトの名無しさん2015/12/07(月) 22:35:47.46ID:VFEIJJIC
VS2013で作ってたソフトをこのまえVS2015に移行したんだが、
最近、デバッグができなくて困ってたわけ。
GUIソフトでマルチスレッドだから何かデフォ設定とか
変わったのかな〜とか思ってたけど、どうしても原因がわからなかった。
最近、Update1が出ていることを知り、ダメ元でインストールしてみると、
普通にデバッグが出来るではないか!!!!!

ろくにテストもせずにリリースしてんじゃねーぞ!マイクロソフト!!
0606デフォルトの名無しさん2015/12/08(火) 07:01:41.43ID:QxmgGgsj
メンゴメンゴ
0607デフォルトの名無しさん2015/12/08(火) 18:49:04.45ID:VVs+cNRt
>>606
許した
0608デフォルトの名無しさん2015/12/08(火) 23:16:39.70ID:G3Ui7hoB
>>605
全部このおっさんのせい
http://www.jasa.or.jp/et/ET2014/conf/images/i01.jpg
0609デフォルトの名無しさん2015/12/08(火) 23:19:01.12ID:d/CrjRsp
今さらだけどDapperクソ便利だな
0610デフォルトの名無しさん2015/12/08(火) 23:26:47.05ID:VCOeEoWo
インチキマジックでもやってそうなおっさんだと思った
0611デフォルトの名無しさん2015/12/08(火) 23:56:12.38ID:ZrcjdAX/
いやそりゃマジックはインチキだろうよw
プロレスに八百長言うような無粋な発言だと思う
0612デフォルトの名無しさん2015/12/10(木) 23:31:09.05ID:drKqxwby
Automapperもスゲー便利やんけ
外部のライブラリはめんどくさそうであんまり使ってなかったけど使わん方が面倒なことしてたわ
0613デフォルトの名無しさん2015/12/11(金) 00:47:45.77ID:mQH0NEVy
昔PLにEFやDapperの導入を提案して拒否られた
数千行をDataSetでゴリゴリ書いた結果、億の赤字が出ましたとさ
0614デフォルトの名無しさん2015/12/11(金) 01:32:37.67ID:BAeiaDLy
数千行で億とかスゲー単価でプログラマー雇ってるんだな
0615デフォルトの名無しさん2015/12/11(金) 01:57:17.92ID:MbyU/AgB
億って30人規模のプロジェクトでも上が無能だと割と簡単に達するよ
発言権与えられてなかったし責務は感じてないが
0616デフォルトの名無しさん2015/12/11(金) 02:21:47.30ID:f48gwmmB
コーディングの工数で足が出たのかバグか何かで損害が出たのかどっちだ
0617デフォルトの名無しさん2015/12/11(金) 08:14:33.05ID:7DodXpQ6
10ks でもざっくり1千万オーダーだし、ロジック部分じゃないからレビューとテストを普通にやってりゃ深刻なバグもでないだろうし
要するに元々赤字案件で、赤字額が少し増えたのを盛ってるだけでしょ
0618デフォルトの名無しさん2015/12/11(金) 08:22:47.92ID:fv8D2Nj8
ドカタ現場にヘタにDapperなんて導入したらSQLがあちこちに書き散らされて悲惨なことになりそう
0619デフォルトの名無しさん2015/12/11(金) 08:35:41.78ID:1PFhVuMy
朝っぱらからお疲れっすドカタサン
0620デフォルトの名無しさん2015/12/11(金) 09:01:18.86ID:eZF98QpG
仮にライブラリ使えないとしてもそれが必要な機能なら簡易版を作ってからやらないのか
0621デフォルトの名無しさん2015/12/11(金) 12:15:03.04ID:WshY0HPZ
データアクセスもビジネスロジックもすべてaspx.csに入ってるよ

modelやエンティティもすべてDataTableで扱うから同じ定義があちこちにあるよ。クラス分割はしないよ

cssやjavascriptもすべてaspxのheadの中に書いてあるよ

うちの会社のプログラミングだよ
0622デフォルトの名無しさん2015/12/11(金) 12:25:57.90ID:lQa1iSl4
プリコンパイルヘッダーが存在しない時代のC++みたいな
0623デフォルトの名無しさん2015/12/12(土) 00:10:12.96ID:bo67ft1i
こわい
0624デフォルトの名無しさん2015/12/12(土) 12:04:14.04ID:P8YtCA4+
今更なんですが、シフトとか何のために使うんでしょうか?2進数はわかってますが、どんな場面で使うのか理解できません
0625デフォルトの名無しさん2015/12/12(土) 12:29:27.92ID:SZ+61dJq
>>624
意味不明だよな画像処理とかなのかな・・・
いきなり2進数のシフトについて書かれてたり2進数や16進数への変換とか
まず何に使うか説明しろよって思う
0626デフォルトの名無しさん2015/12/12(土) 12:40:59.21ID:TaCH5voL
小学生向けのC#の本でも読んでろよ幼稚な
0627デフォルトの名無しさん2015/12/12(土) 12:48:17.84ID:SZ+61dJq
>>626
お前には聞いてないよ引っ込んでろ!
0628デフォルトの名無しさん2015/12/12(土) 12:56:22.38ID:WmSAg11c
画像処理関係なら例えば
よく使われる色の表現として、A(不透明度)、R、G、Bの4つの値のセットで色を表すというのがある
それぞれが0-255の値をとる場合、各8バイトだから4つで計32ビット、つまり、詰め込めばint型の値一つで色を表せる
詰め込むにはビット演算でこうする
(a << 24) | (r << 16) | (g << 8) | b
C#のプログラミングでこういう技術を積極的に使うのは良くないけど、
既存フォーマットのデータの読み書きでどうしても必要になることはあるわけ
0629デフォルトの名無しさん2015/12/12(土) 13:00:57.62ID:SZ+61dJq
>>628
既存フォーマットによって利用する場面が出てくるんですね
すごく参考になりました!ありがとうございます
06306282015/12/12(土) 13:06:03.37ID:WmSAg11c
>>628
わかると思うけど訂正
✕各8バイト
○各8ビット
0631デフォルトの名無しさん2015/12/12(土) 13:08:28.88ID:k/Oa/Qiw
>>624
例えばウィンドウメッセージでは32bitのパラメータを上位下位で分けて
2つの16bitのパラメータとしてやりとりする場合がある。

そういう場合は必用というか、少なくともあった方がいいでしょ。
共用体使ってもできるけど。
0632デフォルトの名無しさん2015/12/12(土) 13:29:20.30ID:RrFopTx4
>>624
小学校の算数で筆算とかやったこと無いのか?
ずらしながら足したりしてるだろ
それがわかってない状態で
> 2進数はわかってます
とか言うのはどうかと思う
0633デフォルトの名無しさん2015/12/12(土) 13:38:02.71ID:5PTzOc6m
この程度はふらっとでやってくれ
0634デフォルトの名無しさん2015/12/12(土) 19:31:27.23ID:yzl9BXRv
>>632
筆算でずらす?アホなこといってんなよ。おまえこそ数学わかってんのか?
0635デフォルトの名無しさん2015/12/12(土) 19:56:55.36ID:RrFopTx4
>>634
数学 w
算数と数学の区別もつかないのかよ
0636デフォルトの名無しさん2015/12/12(土) 20:13:09.49ID:5dKoSKZv
1の位の計算、10の位の計算、100の位の計算、・・・とかのことじゃないの
単純な多倍長演算は筆算のアルゴリズムでシフトとキャリーで実装できる

特定のnビットが1になってるかを調べるのはn-1ビット右シフトすると最下位ビットで判定可能
とかはシフトの勉強するときに出てきたと思うけど
C#の話題でいくとFlags属性つけたEnumでOR演算したほうがソースが分かり易い

あと昔は正の数値を2倍にしたいとき x *= 2 より x <<= 1のほうがちょっと速かった
0637デフォルトの名無しさん2015/12/12(土) 21:40:28.58ID:AwwUCViP
C#になぜシフト演算子があるのか
答えは簡単
CPUにそういう機能がるから
CPUにシフト演算を行う機能があるのに
C#で使えなかったら残念だろ
0638デフォルトの名無しさん2015/12/12(土) 22:10:44.56ID:7G0ybzbE
いらないよ
百歩譲ってもビット演算クラスのシフトメソッドにすべきだった
演算子なんていらないのに
0639デフォルトの名無しさん2015/12/12(土) 22:18:23.93ID:PGJfOnmJ
演算子でいいだろw
0640デフォルトの名無しさん2015/12/12(土) 22:23:04.24ID:o/oZvQme
ビット演算のためにnewしたりユーティリティ呼んだりしたくないけどなあ
生データ扱うとき重宝するじゃん
普段使わなくとも低レベルライブラリがアルゴリズム実装に多様する、速度に関わる大事な要素だよ
クラスライブラリに押し込んだらそんだけバイトコードもややこしくなるし。標準ライブラリが速度稼げなくなりかねない損失のある設計だよ

使わない演算子あって困ったことでもあったん?
0641デフォルトの名無しさん2015/12/12(土) 22:26:28.08ID:TgXyk9Wg
演算子は目に悪い
0642デフォルトの名無しさん2015/12/12(土) 22:27:32.81ID:RrFopTx4
>>637
ならキァリーフラグやスタッタポインタも扱える様にしてくれ
0643デフォルトの名無しさん2015/12/12(土) 22:29:14.63ID:Az48DLkg
共用体が無いのだから、ビット演算子はビット単位でパックされたデータを扱うのに必須でしょ。
いちいちメソッド呼んでたら遅くて使い物にならないよ。
暗号化とかでも使うな。
0644デフォルトの名無しさん2015/12/12(土) 22:36:09.56ID:LM4caT06
共用体はあるぞ
LayoutKind.ExplicitとFieldOffsetを使えばできる
俺は演算子があっていいと思うが、仮にメソッドでも
コンパイラやJITがCPUの命令に置き換えてしまえばいいんだから遅くはならないよ
実際ライブラリレベルで実装されてるように見せかけて実はコンパイラやJITに細工してる機能はたくさんある
0645デフォルトの名無しさん2015/12/12(土) 22:45:08.61ID:SZ+61dJq
みんなコーディングシートはどこの使ってるの?
0646デフォルトの名無しさん2015/12/12(土) 23:28:06.83ID:SOz9vBuk
なくて怒るのはわかるけど
あって怒る理由は何?
0647デフォルトの名無しさん2015/12/12(土) 23:31:24.45ID:TgXyk9Wg
>>646
プログラマとは思えない疑問だね
0648デフォルトの名無しさん2015/12/13(日) 00:09:07.70ID:1ET048aA
シフトは要るだろw
0649デフォルトの名無しさん2015/12/13(日) 02:33:57.06ID:S5USnmm8
くだらねー話するの止めてくんないか素人君
0650デフォルトの名無しさん2015/12/13(日) 03:06:18.04ID:ZBOFhSnX
使いたい人は使えばいいし、
使い方が分からない人は使わなくても代わりのやり方はある
0651デフォルトの名無しさん2015/12/13(日) 03:08:36.81ID:ZBOFhSnX
>>645
Googleでコーディングシートで画像検索して印刷
Excelで自作するのもいいぞ
0652デフォルトの名無しさん2015/12/13(日) 05:42:55.98ID:dMx4dI39
スタッタポインタ
0653デフォルトの名無しさん2015/12/13(日) 05:43:49.16ID:dMx4dI39
みんなBitVectorとか使わないの?
0654デフォルトの名無しさん2015/12/13(日) 10:01:36.81ID:+vfdgVrV
コーディングシートなんて使ってるのおじいちゃん世代だけだろ
おじいちゃん世代は開発とは別の仕事してるよ
0655デフォルトの名無しさん2015/12/15(火) 09:21:02.33ID:uO/Iyxda
ペーストが許可されていない他プログラムに対してC#プログラムから漢字を入力するにはどうすればいいんでしょうか?
IMEでは実現していることを考えると不可能ではないように思えます。
0656デフォルトの名無しさん2015/12/15(火) 17:20:05.15ID:RbKX96Xx
エディットコントロール?
ウィンドウメッセージで文字送信するとか
0657デフォルトの名無しさん2015/12/15(火) 20:22:18.93ID:vFrNVpNS
再帰的なJsonをパースしてうまくアクセスしたいんだけど
いいライブラリないですか?

具体的には
JSONA
[{"a":[{"ca":"5"}.{"ca":10}]},
{"a":[{"ca":"8"}.{"ca":"2"}]}]
みたいに配列とオブジェクト(マップ)がネストしているような状態です。

しかも下のJSONBのような階層関係のことなるJSONも同時に処理したいというイメージなんです。
JSONB
[{"b":"5","c":"10"},{"b":"43","c":"10"}
0658デフォルトの名無しさん2015/12/15(火) 21:31:10.43ID:vRVqaoZM
JSON.NETで一発
0659デフォルトの名無しさん2015/12/15(火) 22:27:16.43ID:8cpdaSjZ
本格的に扱うならJSON.NET
お手軽に扱うならDynamicJSON
0660デフォルトの名無しさん2015/12/15(火) 22:39:15.11ID:vRVqaoZM
JSON.NETもdynamicは使えるからあえてDynamicJSON使う理由はないよ
ASP.NET MVCでも採用されてるJSON.NETがデファクトスタンダードで決まり
0661デフォルトの名無しさん2015/12/15(火) 23:47:00.98ID:8cpdaSjZ
そうなのか。
DynamicJSONは、参照(DLL)増やさずに使える点では、お手軽だと思う。
後々の事まで考えるとJSON.NETにしとくほうが良いかな。
0662デフォルトの名無しさん2015/12/16(水) 12:43:06.96ID:CPvphYol
FTPの接続についてデスクトップAPPとサービスとで挙動が異なります。

【デスクトップAPPで実行】
 接続A,BともにKeepAliveを有効にすると、双方接続が維持されている
【Windowsサービスで実行】
 接続A,Bのどちらかしか、維持されない
 EX)Aの後にBを繋ぐと、Aが切れる、その後、Aを繋ぐとBが切れる

サービスの動作で、接続AB共に維持する方法はないでしょうか?
よろしくお願いいたします。

ソースはこちらにアップしました。
http://ideone.com/9nuy9q

※FTPサーバーは Cerberus FTP Server -Enterprise を使用
0663デフォルトの名無しさん2015/12/17(木) 00:51:27.02ID:YtP4wiyG
ネットワークモニタで当然、パケットは観察してると思うけどそこからわかることは?
KeepAliveパケットは実際出ている?
サーバー側から切断されているのか、クライアントから切断しているのか。
0664デフォルトの名無しさん2015/12/17(木) 06:41:37.94ID:wKzIyU7U
スレ違いは去れ
どうせパッシブのポートが一個しか定義してないんだろ
0665デフォルトの名無しさん2015/12/17(木) 20:29:37.40ID:LTWslrQI
あ、そうか!
ありがと〜
てへぺろ
0666デフォルトの名無しさん2015/12/18(金) 15:14:43.10ID:v5Jh6fJn
MySQLからDataTableに読み込んでるんだが、
NewRow()してデータ入れて、Rows.Addしていくと
となぜか主キーでAutoIncrementにしているIDが-1ずつ減っていく
なぜじゃ?
0667デフォルトの名無しさん2015/12/18(金) 18:54:15.32ID:CQZpaylB
-1ずつ減る
ということは1ずつ増える
0668デフォルトの名無しさん2015/12/18(金) 18:57:59.32ID:SCoLvcEg
ワロタ
0669デフォルトの名無しさん2015/12/18(金) 19:52:00.00ID:2x6o6/cH
>>667
挙動的に何もおかしくないな
0670デフォルトの名無しさん2015/12/18(金) 20:33:01.25ID:KTvZ3JCz
新しいネタ投下か
0671デフォルトの名無しさん2015/12/18(金) 20:34:48.88ID:5uMc3rQu
360°考えが変わったわ みたいなやつと同じか
0672デフォルトの名無しさん2015/12/18(金) 23:26:13.03ID:95zCi6v5
プログラマはMacを使ってるってマジ?
http://hayabusa3.2ch.net/test/read.cgi/news/1450395043/
0673デフォルトの名無しさん2015/12/19(土) 01:18:59.04ID:nQ3HVimS
三食のうち、どれかがマックになる可能性は高いだろうな
0674デフォルトの名無しさん2015/12/19(土) 04:18:23.86ID:hjqdTz0x
近所はいま改装工事中で食えんわ
閉店しなかっただけでもよしとするか
0675デフォルトの名無しさん2015/12/19(土) 06:28:36.86ID:Gzv3Ch94
お前らまだあんなの食ってるのかよ
そもそも高いし会社の態度も気に入らんから食わなくなったわ
0676デフォルトの名無しさん2015/12/19(土) 09:15:56.03ID:LmTofW7R
フレッシュネスなら毎日食いたい
0677デフォルトの名無しさん2015/12/19(土) 10:38:14.84ID:JvWGGUhp
偉大なる皆さまのお力をお借りしたいです。
Windows Forms Data Chart コントロール(UltraDataChart)を利用して、
CategoryDateTimeXAxisを用いた時、時間表現が上手くいかないのです。
06786772015/12/19(土) 10:47:28.56ID:JvWGGUhp
途中で途切れちゃった

Windows Forms Data Chart コントロール(UltraDataChart)を利用して、
CategoryDateTimeXAxisを用いた時、時間表現が上手くいかないのです。
2015/01/01 0:00:00→2015/01/01 0:00:00と時間部分が変化ないんです。
Labelの設定とか何かコツがあるんでしょうか?
0679デフォルトの名無しさん2015/12/19(土) 10:59:54.21ID:Q6OQsIKr
マックシェイクはおいしいけど他は残念
0680デフォルトの名無しさん2015/12/19(土) 12:59:07.22ID:wQAf1JwJ
シェイクが美味しいなんて、個人が特定されないネットではいいけど、外では言うなよ
お里が知れるぜ
0681デフォルトの名無しさん2015/12/19(土) 13:42:34.49ID:nLbzSKo0
>>678
知らんけど、開始時刻と終了時刻の値に実際に0が入ってるんじゃないか?
06826772015/12/19(土) 13:56:41.41ID:JvWGGUhp
>>681
というわけじゃないんです。
グラフ自体も問題ないし、日付データもDateTime型で、
問題ない漢字です...とほほ
0683デフォルトの名無しさん2015/12/19(土) 14:02:11.69ID:nLbzSKo0
>>682
それじゃ分からんだろ。
どんな値が入ってるんだよ?
06846772015/12/19(土) 14:10:09.74ID:JvWGGUhp
データを入れとくクラスはこんな構成
public class PlotData{
public DateTime Date { get; set; }
public float Value { get; set; }
}
んで、データクラスを入れるデータセットは、ObservableCollection<PlotData>としています。
データ生成は以下な感じ
static public ObservableCollection<PlotData> CreateData(DateTime beginDateTime, int count){
ObservableCollection<PlotData> results = new ObservableCollection<PlotData>();
if (0 < count)
{
float angleF = 0.0f;
float valueF = 0.0f;
DateTime curDateTime = beginDateTime;
for (int i = 0; i < count; i++)
{
valueF = (float)Math.Sin((((double)angleF * (double)Math.PI)) / (double)180);
results.Add(new PlotData(){ Date = curDateTime, Value = valueF});
angleF += 1;
curDateTime = curDateTime.AddMinutes(1);
}
}
return results;
}
06856772015/12/19(土) 14:12:07.88ID:JvWGGUhp
Formではこんな感じ
public partial class Form1 : Form{
ObservableCollection<PlotData> _dataSource = new ObservableCollection<PlotData>();
public Form1(){
_dataSource = PlotData.CreateData(new DateTime(2015, 1, 1, 0, 0, 0), 3600);
InitializeComponent();
CategoryDateTimeXAxis axisX = null;
NumericYAxis axisY = null;
LineSeries seriesLine = null;
List<CategoryDateTimeXAxis> listCategoryDateTimeXAxis = null;
List<NumericYAxis> listNumericYAxis = null;
List<LineSeries> listLineSeries = null;
ultraDataChart1.HorizontalZoomable = true;
ultraDataChart1.VerticalZoomable = true;
listCategoryDateTimeXAxis = ultraDataChart1.Axes.OfType<CategoryDateTimeXAxis>().ToList();
listNumericYAxis = ultraDataChart1.Axes.OfType<NumericYAxis>().ToList();
listLineSeries = ultraDataChart1.Series.OfType<LineSeries>().ToList();
axisX = listCategoryDateTimeXAxis[0];
axisY = listNumericYAxis[0];
axisX.DataSource = _dataSource;
axisX.DateTimeMemberPath = "Date";
axisX.Label = "Date";
seriesLine = listLineSeries[0];
seriesLine.DataSource = _dataSource;
seriesLine.ValueMemberPath = "Value";
seriesLine.XAxis = axisX;
seriesLine.YAxis = axisY;
seriesLine.MarkerType = MarkerType.None;

ultraDataChart1.Refresh();
}
}
06866772015/12/19(土) 14:18:21.24ID:JvWGGUhp
上、インターバルが抜けてた
axisX.Interval = new TimeSpan(6, 0, 0);

_dataSourceの中で、
Dateは
2015/01/01 0:00:00, 2015/01/01 0:01:00, 2015/01/01 0:03:00 ....
で、Valueは
0.0, 0.0174524058, 0.0348994955, 0.0523359552 ....
となってます。

がチャートでは、
2015/01/01 0:00:00, 2015/01/01 0:00:00, 2015/01/01 0:00:00, 2015/01/01 0:00:00,
2015/01/02 0:00:00, 2015/01/02 0:00:00...

と表現されます。
0687デフォルトの名無しさん2015/12/19(土) 15:41:11.36ID:iGl1qWMt
>>677
UltraDataChartに関しては未知なのだが
ObservableCollectionに格納されるPlotDataクラスにINotifyPropertyChangedを実装してないからじゃないの?
0688デフォルトの名無しさん2015/12/19(土) 17:07:50.80ID:ulixXBbF
しらんけど、データからラベル表示できるようなソフトなら
その際のフォーマット指定することぐらいできると思うけどどうなんだ
06896772015/12/19(土) 17:20:32.86ID:JvWGGUhp
>>687
PlotData実装してみたいけどダメでした。
イベントは生成されてるみたいですが...
06906872015/12/19(土) 22:59:22.31ID:iGl1qWMt
>>689
無料トライアル入れての検証まではできんので、無責任なアドバイスでスマン!
てっきりバインドの問題かとオモタけど、違うようなら
>>686 のデータ見る限りでは、 >>688 の指摘のように書式フォーマット指定に要因するように思えるけど…

CategoryDateTimeXAxis Labelプロパティで指定できそうだけどな。
>>685 のコードだと
axisX.Label = "Date";
って設定してるところをなんとかできないのかな?

また見当違いだったら申し訳ない
0691デフォルトの名無しさん2015/12/20(日) 00:33:55.34ID:2rc7g9LR
濡れるわ
0692デフォルトの名無しさん2015/12/20(日) 01:15:42.69ID:2R1JBddu
フォームでざいなのツールボックス消えた
0693デフォルトの名無しさん2015/12/20(日) 01:18:30.34ID:ay4CLjB+
>>692
表示メニューから出せるでしょ
0694デフォルトの名無しさん2015/12/20(日) 01:26:26.51ID:2R1JBddu
>>693
それが見つからなくて困ってる
0695デフォルトの名無しさん2015/12/20(日) 01:58:51.13ID:2R1JBddu
もしかしてvs2015ってフォーム対応してない?新しいプロジェクトの作成でフォームアプリが選択できてたのに(2013では)15だと出来ない
0696デフォルトの名無しさん2015/12/20(日) 02:46:56.59ID:oN+gSJrs
clojurescriptの本第二版が待ちきれないので読んでみたけど
簡潔かつ必要十分な表現で、非常に良書だな

Clojure関係の本はやっぱ読んでて楽しいわ
0697デフォルトの名無しさん2015/12/20(日) 02:48:07.22ID:oN+gSJrs
スレ間違いました、ごめんなさい
06986772015/12/20(日) 09:58:22.19ID:iqhtrjda
>>690
休日遅い時間にありがとうございます。

axisX.Label =
06996772015/12/20(日) 10:00:28.99ID:iqhtrjda
>>690
休日遅い時間にありがとうございます。

axisX.Labelを"Date"とすると、
上記のような「2015/01/01 0:00:00」...となります。

で、「しめしめ。このプロパティを指定するのだな...」と
axisX.LabelをDate:Tにすると、まったく表示されません。
「Date:D」でも同様ですね。
0700デフォルトの名無しさん2015/12/20(日) 12:34:25.84ID:+GsxPPfS
Unityでゲーム作ってるんですがプログラムの規模が少し大きくなってきてスパゲティコードになってしまいました
他の人がアイテムやスキルの管理、使用をどう実装しているのか気になります
サンプルコードが載ってるサイトがあれば教えてください
Unity以外でもゲーム作りの参考になるサンプルコードが載っているオススメのサイトもあれば教えてください
0701デフォルトの名無しさん2015/12/20(日) 12:43:44.90ID:gcjL+cZo
DB
コードがいかに汚かろうがデータモデルさえ守れば破綻はしない
0702デフォルトの名無しさん2015/12/20(日) 12:56:30.99ID:f+w1bwG3
>>699
TimeとかDateTimeとか?
07036772015/12/20(日) 13:00:35.40ID:iqhtrjda
>>687
>>688
>>702
ぬぁーカタルシスの浄化!
地獄の灼熱が、私を浄化してくれる!!!

こういうの作って
string OnAxisXFormatLabel(AxisLabelInfo info)
{
string results = string.Empty;
if (true == info.HasDate)
{
results = info.DateValue.ToString(”yyyy/MM/dd HH:mm”);
}
return results;
}

685のどっかにこういう事しとく
axisX.FormatLabel += OnAxisXFormatLabel;

嫁よ、今からパルコに行くから許してくれ!
0704デフォルトの名無しさん2015/12/20(日) 13:50:52.76ID:+GsxPPfS
>>701
なるほどDBについて勉強してみます
アイテムの追加や削除、ソートなどに便利そうですね

現状ではアイテムを使う関数からプレーヤー、バトルキャラクター、敵キャラクター、アイテム袋、ステータス画面、アイテムを選択するためのボタンなどいろんなところにアクセスしていて一部を変更するといろんな場所を変更しなくてはならないプログラムになっています
もっと保守性の高い設計にするために参考になるようなサイトはありますか?
できればコードが載ってるとありがたいですが、クラス図とか大まかなものでも構いません
0705デフォルトの名無しさん2015/12/20(日) 15:48:48.45ID:n9ftC4u4
GOFパターンをぐぐってみるとかかな
0706デフォルトの名無しさん2015/12/20(日) 15:59:49.47ID:HXRBhwTH
>>704
まずはDDDだな
開発に関わるための最低限のボーダーラインが学習出来る
07076772015/12/20(日) 18:30:51.43ID:iqhtrjda
4℃のネックレスと組曲Sのワンピを買わされました。
・・・・悩んでた方が良かったのかな
0708デフォルトの名無しさん2015/12/20(日) 19:36:09.41ID:VMy7yAQe
677に何があったのか
0709デフォルトの名無しさん2015/12/21(月) 11:24:09.79ID:f01jDEfL
>>705
GoFのデザインパターンはちょうど勉強中でどう応用しようか考えてるところでした
>>706
ドメイン駆動設計はオブジェクト志向の開発の指針になりそうですねありがとうございます
これも実際に実装するときにどうしようか悩みそうですが勉強してみます
0710デフォルトの名無しさん2015/12/23(水) 10:05:34.00ID:SDeCgRh6
C#でかかれた3D物理エンジンありますか?
0711デフォルトの名無しさん2015/12/23(水) 11:49:35.80ID:oyIiOywp
まともなのは無い。
0712デフォルトの名無しさん2015/12/23(水) 13:52:01.94ID:F7FK9/Ld
XNA って結局どうなったの
0713デフォルトの名無しさん2015/12/23(水) 18:52:13.12ID:mIjtz3M4
MSが飽きて終了
0714デフォルトの名無しさん2015/12/23(水) 19:51:17.70ID:w28CJbba
>>713
やっぱりJavaやっとけばいいの?
0715デフォルトの名無しさん2015/12/23(水) 19:52:14.39ID:6O8xjb3q
もうゲームはC++/CX + DX12だぞ
もうというか過去から現在までC#が主流だったことなんてないけどなw
Unityも国内じゃまともなゲーム作ってるところ1社もないだろ、萌えオタ向けのガチャゲーばかりだよ
0716デフォルトの名無しさん2015/12/23(水) 19:56:38.42ID:tREciCeD
ゲームならUnrealEngineでもいいぞ
0717デフォルトの名無しさん2015/12/23(水) 22:59:28.88ID:k8JPIpcW
ツール類は圧倒的にC#だけどな。
表面しか見れない奴は困っちゃうね。
0718デフォルトの名無しさん2015/12/23(水) 23:32:22.46ID:JaeaaX8T
構造体のデフォルトコンストラクタを封じたいのだけどどうすれば良いの
0719デフォルトの名無しさん2015/12/23(水) 23:47:02.12ID:sUZCBNnf
>>718
不可能
構造体はあくまで値なので、それを受け取る側でエラーを出すのが筋
0720デフォルトの名無しさん2015/12/23(水) 23:51:36.84ID:fiBTvI7H
さて、不可能で納得するかな?
仕様改定しろ糞言語って来るかな?
0721デフォルトの名無しさん2015/12/24(木) 01:23:47.46ID:+OAEjoT0
>>718
何のために?
0722デフォルトの名無しさん2015/12/24(木) 01:39:54.80ID:1wOMDP/r
ドヤ顔でゲームの話するのは
大抵学生
大人になってもそんな会話しかしないつもりか
0723デフォルトの名無しさん2015/12/24(木) 01:48:27.71ID:cSfgUy1F
お!なんて大人なレスなんだ
俺はいつまでも子供でいたいものだ
0724デフォルトの名無しさん2015/12/24(木) 12:43:46.55ID:oleYmseW
2chのHTMLをdatに変換するライブラリ作りたいんだけど不正アクセス禁止法に引っかからないかな?
0725デフォルトの名無しさん2015/12/24(木) 13:16:13.67ID:RJHDS6Ak
>>724
ありえんでしょw
それが犯罪を構成するならブラウザは全部アウトだw
0726デフォルトの名無しさん2015/12/24(木) 14:10:00.16ID:oleYmseW
>>725
ならAPIを使わずに書き込むのは?
HTMLのソース見たらどこにPOST送信すればいいか大体分かるんだけど
0727デフォルトの名無しさん2015/12/24(木) 15:37:29.89ID:+j6W2baw
自分だけでお遊びでやるだけならどうにかなるもんじゃないけど
今はAPIを介さないスクレイピング等は明確に禁止してるから
アプリで公開したりするなら組織的に圧力かけてくるだろうねえ
0728デフォルトの名無しさん2015/12/24(木) 15:49:31.51ID:RJHDS6Ak
>>726
当然問題ない。
0729デフォルトの名無しさん2015/12/24(木) 17:09:28.16ID:0m9JgROr
ビビりは何をするのも止めとけw
素直に死んどけ
0730デフォルトの名無しさん2015/12/24(木) 17:11:34.25ID:L45sX0/9
前にyoutubeみながら2chにスレ立てて書き込めるの作ろうとしたけど
まさに書き込み絡みで諦めたことあるわ
0731デフォルトの名無しさん2015/12/24(木) 17:28:39.22ID:holCYtlN
>>726
ブラウザだってhtmlのソース見ながら書き込んでるべ
0732デフォルトの名無しさん2015/12/24(木) 17:45:42.16ID:oleYmseW
>>731
なら公開しないで自分専用の便利ソフトとして使うなら大丈夫か
0733デフォルトの名無しさん2015/12/24(木) 19:07:16.23ID:RJHDS6Ak
>>732
公開したって問題ないって。
誰にでもオープンになっている物にアクセスして罪になるわけないじゃん。

犯罪を構成するのは、管理者によるアクセス制限を管理者が許諾してない人間や方法で
かいくぐった場合だけ。
0734デフォルトの名無しさん2015/12/24(木) 19:13:16.49ID:7/G2aj/P
そりゃ不正アクセス防止法の構成要件の話だろ
民事上の契約不履行とは文字通り世界が違うぜ

とは言え、2chと契約なんかしてる奴なんかいないだろうし
問題ないな
0735デフォルトの名無しさん2015/12/24(木) 19:27:40.27ID:L45sX0/9
ローカルから書き込みしても、リファラとの組み合わせで弾かれるような気がするけど
そんなことないのかね
専ブラとかが使ってるAPI使うには契約が必要とか見て諦めた記憶がある
0736デフォルトの名無しさん2015/12/24(木) 19:33:04.33ID:Pi/jPgdh
Firefox にせよ G. Chrome にせよ「俺の認めたアドインしかインストールさせん」
って感じだし、iPhone や Android もそうだよね
いやな世の中だなあ
0737デフォルトの名無しさん2015/12/24(木) 21:16:02.70ID:9Fqtt12b
なぜプレプリント印刷の位置合わせという苦行がこの業界からなくならないのか…
0738デフォルトの名無しさん2015/12/24(木) 21:39:11.53ID:IhRYzZ9F
今年3月の時点からすでに変換プロクシが雨後の筍のように出てきただろ
使ってないのか
0739デフォルトの名無しさん2015/12/25(金) 17:55:44.02ID:QkV6dKPg
C#でWordファイルにExcelの表を挿入する方法ってありますか?
0740デフォルトの名無しさん2015/12/25(金) 19:02:06.63ID:7cN0w2Ab
>>739
OpenXMLとかClosedXML使えば?
0741デフォルトの名無しさん2015/12/25(金) 23:51:19.17ID:GJTQ+jTD
XamarinやUnityを使うことなくmono上で動くソフトを作る方法ってどっかで解説されてないもんかな?
iOS/Android向けのアプリを書くにはXamarinを契約するしかないんだろか・・・・
0742デフォルトの名無しさん2015/12/26(土) 01:10:58.42ID:LNn7Eo9t
えっと。osxにmono入れていきなりコマンドラインできゃっきゃうふふしてexeさん孕ませた上に実行したりしてたけど。そういう話ではなく?
0743デフォルトの名無しさん2015/12/26(土) 01:13:08.66ID:LNn7Eo9t
iOS/Android向けビルドとなるとUnityがIL2CPPで頑張ってるあたりから色々厄介そうだなとは思う
0744デフォルトの名無しさん2015/12/26(土) 07:44:12.80ID:KoYH9+bG
今ならDNXだろう
>>741がAndroid/iOSに対応させればMSに就職できるぞ
0745デフォルトの名無しさん2015/12/26(土) 17:01:40.15ID:on0ePHeY
起動したらタスクトレイで待機して、特定のキーを押したら別アプリケーション(メモ帳とか)のテキストボックス(現在選択されている物。選択されてなかったら何もしない)を取得して、編集した後、さっきのテキストボックスに貼り付けることって出来ますか?
0746デフォルトの名無しさん2015/12/26(土) 17:14:34.29ID:jqu4cTVa
物による
Get/SetWindowText/WM_GET/SETTEXTが効くようなコントロールなら容易
メモ帳は効くはず(少なくともWin7までは)

そうでないなら、対象のプログラムの動作を自分で解析する必要があり
こんな質問をしているレベルでは太刀打ちできない
0747デフォルトの名無しさん2015/12/27(日) 01:44:34.93ID:r1oeWZPX
>>715
C++/CXてはじめて知った。ネイティブコード吐くのか
C++/CLIは終了しちゃう?つってもまぁもともとゲーム向けに使う言語ではないか・・・
0748デフォルトの名無しさん2015/12/27(日) 01:51:53.77ID:KvpPTqZL
C++/CXはあまりにもプラットフォームに依存しすぎててちょっとな
完全にVB6時代に回帰してる
0749デフォルトの名無しさん2015/12/27(日) 02:01:13.14ID:/kKhf1RB
C#/VB/JSと違ってC++/CXはストアアプリ対応のために言語そのものにCOMのための拡張を入れまくっている
まさにVB6、極めて筋の悪い技術
0750デフォルトの名無しさん2015/12/27(日) 03:07:14.15ID:yAAa0qz2
プラットフォームべったりの言語だって必用でしょ。
0751デフォルトの名無しさん2015/12/27(日) 03:37:07.10ID:NH+KDjDi
プラットフォームが有用ならね…
今のところプラットフォームというよりゴミ捨て場だけど
0752デフォルトの名無しさん2015/12/27(日) 04:37:49.73ID:pJIBBhpC
C++/CXはネイティブなC++にランタイム用の構文拡張を単純に追加しただけだし
C++のようななにかであるC++/CLIよりはよほど筋は良いと思うけどねえ

ストアアプリでXAML部はC#、D3D等ネイティブ資産による実装はC++/CX、両方でWin2Dとかやってるけど
相互運用性はC#とC++/CLIでやるよりもマシだと感じたわ
ランタイムコンポーネントへのアクセスがマネージ参照じゃなくて
ObjCのARC的でC++側として扱い易いってのが大きいのかしら?

まあ言語が別れている以上ラッパー書く面倒臭さは依然として残るけど
0753デフォルトの名無しさん2015/12/27(日) 09:13:36.88ID:60o500cJ
>C++/CXはネイティブなC++にランタイム用の構文拡張を単純に追加しただけだし

それいったら、C++/CLIはネイティブなC++に.NET用の拡張C++を混在させたものとも言える。
ネイティブ側はただのC++だしな。
0754デフォルトの名無しさん2015/12/27(日) 09:14:11.00ID:3+U7SUzZ
C++という奇形言語について
0755デフォルトの名無しさん2015/12/27(日) 13:43:43.82ID:7VOe6PB/
C++のスレでやれ
0756デフォルトの名無しさん2015/12/27(日) 18:16:31.78ID:r1oeWZPX
C++スレだとC++/CLIは滅多に話題にならないんだよなぁ
あっちはネイティブC++オンリーの人ばっかだし
このスレもC#オンリーの人は多いだろうけど、C++/CLIは主にC#との相互運用がメインだろうから、あながちスレチでもない
0757デフォルトの名無しさん2015/12/27(日) 18:21:37.75ID:r1oeWZPX
と思ったら、くだすれC++/CLIって専スレがあったな
案の定過疎ってるけどw
0758デフォルトの名無しさん2015/12/28(月) 03:38:32.05ID:/FmhwdjV
Reverse P/InvokeがあればC++/CLIなど不要
0759デフォルトの名無しさん2015/12/28(月) 06:51:14.39ID:6T2MnD1Y
P/Invokeは直接C++関数呼べないからいちいちCラッパー作るのが面倒くさい。
0760デフォルトの名無しさん2015/12/28(月) 08:28:21.07ID:oTm93Y0M
元のAPIを逐次翻訳した完全なラッパーを作ろうなどと考えるのが間違い
お前はラッパーを作りたいのか? アプリが作りたいのか?
後者なら部分的にC++(CLIでもCXでもない)で書いて「アプリに即した」APIを公開してC#からP/Invokeするだけだ
0761デフォルトの名無しさん2015/12/28(月) 08:58:04.15ID:6T2MnD1Y
逆におまえはP/Invokeを使うことが目的なのかと訊きたいわ。
C++/CLI使えばアプリの内部にCの界面を作るなんてナンセンスなことをしなくてもいいのに。
0762デフォルトの名無しさん2015/12/28(月) 09:14:09.86ID:oTm93Y0M
というより、C++/CLIを使いたくない
C++/CLIを使っていて一瞬たりともマネージドとアンマネージドの境界を意識しないで済むことなんて無い
CLI関連の機能ってVS2015で軒並みdeprecated指定されたしもう終わりだよ
0763デフォルトの名無しさん2015/12/28(月) 12:04:17.94ID:yBuy0GzU
C#スレだってゆってんじゃん(´・ω・`)
0764デフォルトの名無しさん2015/12/28(月) 12:14:03.81ID:cHNPinqm
CLR性質から考えれば言語を限定する事自体が間違いだとわかる
C#の話題はCLRの話題でありCLRの話題はC++/CLIの話題でありVB.NETの話題でもある
C#スレは必然的にC++/CLIの話題を許容しなければならない
0765デフォルトの名無しさん2015/12/28(月) 12:16:47.94ID:FlnOP8R3
>>763
気にすんな
0766デフォルトの名無しさん2015/12/28(月) 12:16:52.39ID:yBuy0GzU
難しいこと言うなよ…(´・ω・`)
0767デフォルトの名無しさん2015/12/28(月) 12:42:23.15ID:dgI6+oKo
>>764
ネイティブにコンパイルできるからCも FORTRAN も同じだ
ってか?
アホすぎるだろ w
0768デフォルトの名無しさん2015/12/28(月) 14:02:52.31ID:qm2ajh4N
別にキモヲタアニメやアイドルの話をしてるんじゃないからいいよ。

いつも思うが、スレ違いだの何だのいう話が一番下らないし、そういうことを言い出す奴が何か建設的な
ことを言ってるの見たことない。たぶん「スレ違いだ」ぐらいのことしか言えない奴がそう言いたくて言ってるだけ。
0769デフォルトの名無しさん2015/12/28(月) 14:11:01.70ID:AEb8H0zx
お前のレスも建設的じゃないな
0770デフォルトの名無しさん2015/12/28(月) 16:24:13.76ID:JJlxJ852
そこらの馬の骨が自分はいいと思うかどうかなどと安っぽい自己承認欲求晒す必要はないよ
今すぐ帰省ラッシュの車列に飛び込んであの世でやってて
0771デフォルトの名無しさん2015/12/28(月) 16:50:07.66ID:ii0XqEOi
馬とか骨とか言うなよ(´・ω・`)
0772デフォルトの名無しさん2015/12/28(月) 23:22:37.30ID:1thNl0hM
グルー言語の重要性は今後も変わらんでしょ
C++/CLIが終わってもその後継が必ず出るはず
0773デフォルトの名無しさん2015/12/28(月) 23:26:30.52ID:+mraESXV
ネイティブ+netのDLL作れないから本当の意味では役に立ってない
0774デフォルトの名無しさん2015/12/29(火) 03:05:14.56ID:0suvvLUX
C++/CLIのアセンブリをILSpyにかけたらどうなるんだろ
0775デフォルトの名無しさん2015/12/29(火) 07:14:07.54ID:t1eAt09g
>>773
作れるだろ?
0776デフォルトの名無しさん2015/12/29(火) 12:34:17.48ID:Ua6Qvm9g
混在アセンブリ使うとごちゃごちゃうるせーから嫌い
0777デフォルトの名無しさん2016/01/02(土) 21:08:13.71ID:8GFmFo5+
下記の式で360を3.5で割った時だけ剰余の結果がおかしくなります。
誤差を除けば0になるはずです。
y = 720.0 % (360.0 / 3.1); // y = 23.2258064516129
y = 720.0 % (360.0 / 3.2); // y = 45
y = 720.0 % (360.0 / 3.3); // y = 65.4545454545454
y = 720.0 % (360.0 / 3.4); // y = 84.7058823529411
y = 720.0 % (360.0 / 3.5); // y = 102.857142857143 ←これの結果がおかしい
y = 720.0 % (360.0 / 3.6); // y = 20
y = 720.0 % (360.0 / 3.7); // y = 38.918918918919
y = 720.0 % (360.0 / 3.8); // y = 56.8421052631578
y = 720.0 % (360.0 / 3.9); // y = 73.8461538461539
y = 720.0 % (360.0 / 4.0); // y = 0

で、360.0/3.5の結果である102.857142857143の末尾の数字を
変えながらテストすると、

y = 720.0 % 102.857142857140; // y = 1.99662508748588E-11
y = 720.0 % 102.857142857141; // y = 1.30029320644098E-11
y = 720.0 % 102.857142857142; // y = 6.03961325396085E-12
y = 720.0 % 102.857142857143; // y = 102.857142857142 ←これの結果がおかしい
y = 720.0 % 102.857142857144; // y = 102.857142857136 ←これの結果がおかしい
y = 720.0 % 102.857142857145; // y = 102.85714285713 ←これの結果がおかしい
y = 720.0 % 102.857142857146; // y = 102.857142857124 ←これの結果がおかしい
y = 720.0 % 102.857142857147; // y = 102.857142857118 ←これの結果がおかしい

と、102.857142857143以上になるとうまく計算できないことが分かりました。
でも何故なんでしょうか。
0778デフォルトの名無しさん2016/01/02(土) 21:15:56.91ID:blGu690e
仕様です
0779デフォルトの名無しさん2016/01/02(土) 21:20:54.62ID:DfBrs5YB
>>777
電卓で計算してみた感じ全然おかしくないけど。
何か勘違いしてないか?

落ち着いて
720 - 102.857142857143 * 6
を計算してみてみ?

それにそもそも、計算機の実数計算に誤差がないという前提そのものが間違ってる。
0780デフォルトの名無しさん2016/01/02(土) 21:25:12.47ID:8GFmFo5+
>>778

その仕様を教えて頂けると助かります。
0781デフォルトの名無しさん2016/01/02(土) 21:26:11.70ID:blGu690e
>>780
仕様書
0782デフォルトの名無しさん2016/01/02(土) 21:35:34.44ID:8GFmFo5+
>>779

納得しました。
720 - 102.857142857143 * 7になる直前って事みたいですね。
ありがとうございました。
0783デフォルトの名無しさん2016/01/06(水) 20:03:39.54ID:yZLT+FeO
mvc4
ef
を使用してて、
modelにリポジトリーパターン適用
リポジトリーのインターフェイスをジェネリックで作って型にはdbから取得する項目のプロパティが列挙されている

この状態でef poco gendraterを使用し.ttに各テーブルのクラスができるじゃん?

このクラスをジェネリックにぶち込むこみインターフェイスを継承したクラスでゴニョゴニョすれば単一テーブルのデータはとれる

これテーブル結合して2つのテーブルの異なる項目を取得したいとき、その項目のプロパティが列挙されたクラスって自作するしかないん?

ちなみに、2つのテーブルは糞db設計でリレーションははられてないから、ナビゲーションは使えないと思ってる
0784デフォルトの名無しさん2016/01/07(木) 13:11:08.30ID:oYgL+fra
HashSetを使うためにsystem.core.dllを参照したいのですが、参照の追加メニューにsystem.coreがありません
どうやって追加すればいいのでしょうか?
0785デフォルトの名無しさん2016/01/07(木) 13:32:29.21ID:nXbcU6mx
追加できませんよ



…デフォルトで追加されているから
0786デフォルトの名無しさん2016/01/07(木) 13:39:04.53ID:oYgL+fra
>>785
でもHashSetが使えません
usingはしています
0787デフォルトの名無しさん2016/01/07(木) 13:41:20.38ID:f/QCXn4Z
>>777
後は多分これ
http://dobon.net/vb/dotnet/beginner/floatingpointerror.html
0788デフォルトの名無しさん2016/01/07(木) 15:29:18.97ID:lB6FHsa5
>>786
.net 3.5以降か?
0789デフォルトの名無しさん2016/01/07(木) 15:36:24.00ID:otJTPujq
>>786
Framworkのバージョンが古いとかじゃないの
0790デフォルトの名無しさん2016/01/07(木) 15:48:04.50ID:oYgL+fra
プロジェクト作りなおしたら何故か出来ました
すみません
0791デフォルトの名無しさん2016/01/09(土) 17:46:23.07ID:JKavzolF
よく使う.netライブラリが知りたい。c#で書かれた新しい記事ないのかな https://msdn.microsoft.com/ja-jp/library/ms973806.aspx
0792デフォルトの名無しさん2016/01/09(土) 22:32:36.28ID:F9wlSitu
MSDNを全部読め
0793デフォルトの名無しさん2016/01/10(日) 15:13:27.27ID:G9FCRkLf
>>791
よく使う
こんなのは人それぞれ
0794デフォルトの名無しさん2016/01/11(月) 22:18:12.20ID:lsFJfu6K
delegateの実用例を教えてください
そんなに便利なのか
いまひとつイメージがつきません
0795デフォルトの名無しさん2016/01/11(月) 22:22:14.59ID:E66NlO7o
>>794
マルチスレドで使うんじゃない?
0796デフォルトの名無しさん2016/01/11(月) 22:28:26.02ID:wadaEUFt
イベントハンドラ
0797デフォルトの名無しさん2016/01/12(火) 11:36:17.73ID:GNtPd9VH
LabelやTextboxへの表示
0798sage2016/01/13(水) 20:38:04.02ID:xCpN16lJ
ListBox.ObjectCollectionって定義を見るとICollectionのIsSynchronized
とか実装してないように見えるのですがどうなっているのでしょうか。
0799デフォルトの名無しさん2016/01/13(水) 21:04:12.03ID:RNXcePSc
明示的実装
インターフェースにキャストすれば使える
0800デフォルトの名無しさん2016/01/13(水) 22:05:43.64ID:xCpN16lJ
あぁ、ということは定義表示で見えてないだけで実際は実装しているということですね。
納得しました。ありがとうございました。
0801デフォルトの名無しさん2016/01/16(土) 18:11:48.18ID:kQ++eYvW
delegateは主にストラテジーパターンのためにあります
0802デフォルトの名無しさん2016/01/16(土) 18:47:25.35ID:mrSXSynU
分かり易いサイト紹介してよ!
0803デフォルトの名無しさん2016/01/17(日) 08:27:23.21ID:5K5mCT9M
うちの会社のC#のプログラムの保守メンテナンスを担当してくれる人を探してるんですがフリーのエンジニアってどこにいれば会えるのでしょうか。mixiあった時はコミュニティに投稿すればよかったのですが。。
0804デフォルトの名無しさん2016/01/17(日) 08:31:42.33ID:0FS/VC3G
何故フリーのエンジニアにこだわるのだろうか
まさか無料のエンジニア
0805デフォルトの名無しさん2016/01/17(日) 08:40:31.44ID:m/ljt4oc
ゲス臭いぜ
0806デフォルトの名無しさん2016/01/17(日) 09:29:55.16ID:MLXXnKHy
国産システムって納期に間に合えばいい動けばいいが基本だから保守したくない
0807デフォルトの名無しさん2016/01/17(日) 13:01:51.00ID:/ve+f9+4
求人票に「オープンソースのエンジニア」って書いてあって
DNAでも公開されてんのかよって突っ込んだのを思い出した
0808デフォルトの名無しさん2016/01/17(日) 13:17:05.79ID:MLXXnKHy
身元がはっきりしているってことだろ
中国人とかが来たら嫌じゃん?
0809デフォルトの名無しさん2016/01/17(日) 15:30:32.65ID:AlKN+XH4
それは本気でいっているのか
0810デフォルトの名無しさん2016/01/17(日) 16:12:25.26ID:OKy8woE5
身元がしっかりしてて言葉が通じて産業スパイ行為を一切しないのなら中国人でもいいよ
0811デフォルトの名無しさん2016/01/17(日) 16:13:09.43ID:FugsQaG7
そんな中国人は居ねえ
0812デフォルトの名無しさん2016/01/17(日) 16:16:02.77ID:aiIYPsch
人種差別はよそでやって
0813デフォルトの名無しさん2016/01/17(日) 16:24:32.07ID:HIxL+QT3
一般的に国籍を人種とは言いません
0814デフォルトの名無しさん2016/01/17(日) 20:44:13.81ID:82LIilCd
(キリッ
0815デフォルトの名無しさん2016/01/17(日) 21:42:20.11ID:7AwZoLrq
>>803
転職したい。
私を誘って欲しい。
0816デフォルトの名無しさん2016/01/17(日) 21:49:06.55ID:Gi6vEldr
「フリーの」ってとこからして、なんか要望があって必要なときだけメンテ頼みたいとか
そういう感じでは
0817デフォルトの名無しさん2016/01/17(日) 22:35:50.47ID:AlKN+XH4
金かけたくないんでしょ
0818デフォルトの名無しさん2016/01/17(日) 23:14:53.06ID:D8ah+tTv
便利な人になあれ
0819デフォルトの名無しさん2016/01/18(月) 09:18:49.35ID:M94/HkrH
とんでもないもの渡されて
気づいた時には音信不通とかでもいいのよ
0820デフォルトの名無しさん2016/01/18(月) 10:58:23.73ID:wR1uf3x6
803です。フリーの方が会社よりも安いので。
会社の方が身元しっかりしてていいのかもって思えてきました。
中国人は信用できません。二度と使わん。
0821デフォルトの名無しさん2016/01/18(月) 11:07:13.20ID:tUyA7SIE
中国人とかフリーにメンテ任すとか…おまえどんだけメンタル強いんだよw
0822デフォルトの名無しさん2016/01/18(月) 12:11:09.46ID:vfhYYxU5
安物買いの銭失いって言葉の通りになりそうだ
もうなってる?
0823デフォルトの名無しさん2016/01/18(月) 12:42:54.69ID:OT4uxeBj
国家単位でもうなってる
0824デフォルトの名無しさん2016/01/18(月) 12:44:53.11ID:3Y6rVwlf
安物買いで命失った人もいるんですよ><
0825デフォルトの名無しさん2016/01/18(月) 17:47:50.77ID:ly7yBitA
中国人でもちゃんと監督すれば徐々に日本ナイズされていくんだけどな
まあ日本人のほうが話が遥かに早いが
全てが浅はかな感じだわ
0826デフォルトの名無しさん2016/01/18(月) 18:06:46.58ID:W8u/G5+r
中国人、韓国人、インド人は信用できない
0827デフォルトの名無しさん2016/01/18(月) 20:02:57.65ID:pw6UDtYr
>>825
監督するコストは?
運の要素もあるだろうが、相当デカく見積もる必要あるぞ。
0828デフォルトの名無しさん2016/01/18(月) 20:09:40.97ID:F1xgkElH
日本人も大差ないけどな
0829デフォルトの名無しさん2016/01/18(月) 20:21:52.78ID:ly7yBitA
>>827
安く済むってのが幻想だってこと
0830デフォルトの名無しさん2016/01/18(月) 20:37:30.40ID:tv0b2zna
>>828
至言w
0831デフォルトの名無しさん2016/01/18(月) 20:56:40.39ID:+u4EKvRT
格安スキーバスツアーから何も学ばなかったのか
0832デフォルトの名無しさん2016/01/18(月) 22:49:13.94ID:Sd13IcTr
学んだこと:死ぬときは死ぬ
0833デフォルトの名無しさん2016/01/18(月) 22:50:32.04ID:4n8xvv+p
それは震災で身に染みたのでもういいです
0834デフォルトの名無しさん2016/01/18(月) 23:04:29.53ID:KyMS6dV3
死ぬ奴はナニやっても死ぬ
0835デフォルトの名無しさん2016/01/19(火) 00:05:37.21ID:Dg01n2dN
死して屍拾うもの無し
0836デフォルトの名無しさん2016/01/19(火) 12:15:47.00ID:vsW11Ok5
リストを宣言するとき

IList〈 int 〉list = new List〈 int〉()
↑こうやった方がいいんですか?
0837デフォルトの名無しさん2016/01/19(火) 12:19:14.63ID:+BtOVkV0
>>836
var list = new List<int>()
0838デフォルトの名無しさん2016/01/19(火) 12:20:39.25ID:vsW11Ok5
>>837
そうですか。いや、java板と喧嘩しちゃいましてw

javaの人達とは認識が違うようですね。
0839デフォルトの名無しさん2016/01/19(火) 12:30:58.91ID:OR89TOQ5
ああ、インターフェースだと別の実装に差し替えられるからって奴だろ
varがなくIDEの機能もクソなJavaでは必要だったんだよ
C#の場合は外部公開する所だけインターフェースにしとけば十分
0840デフォルトの名無しさん2016/01/19(火) 12:32:03.02ID:9Rb1UiHl
Javaは無駄に複雑にするのが正義だからね
一般的には、なるべく簡潔に書いた方がよい
0841デフォルトの名無しさん2016/01/19(火) 12:41:37.11ID:vsW11Ok5
java板で質問したらなぜか酷くボコられました。
やっぱりc#最高です。
0842デフォルトの名無しさん2016/01/19(火) 12:49:44.18ID:dI7rBn4J
JavaとかナンチャッテPGの集大成だもんな
0843デフォルトの名無しさん2016/01/19(火) 12:54:26.90ID:ZtO/vzqU
メソッドの引数は、インターフェース使ったほうがいい場合もあるね
List<>で受けるよりICollection<>で受けたほうが使い回しがきく
0844デフォルトの名無しさん2016/01/19(火) 13:22:02.99ID:ClRHlYnm
共変性が有るからキャストとか要らないしね。
0845デフォルトの名無しさん2016/01/19(火) 14:20:41.79ID:ZpgE7lZU
>>841
Java質問相談スレッド見てきたけど、
こいつはなんというかまぁ日本語から勉強してねレベルな感じ。
0846デフォルトの名無しさん2016/01/19(火) 18:53:01.82ID:T4l/VMi8
trackBarをMAX20 MIN0で設定し
パラメータのように使いたいです。

数値をLとRで2つ保有し、LとRのパワーバランスで
trackBarを調整したいのですがどのような数式で
実装していいか壁にぶつかっており、ご教示いただけないでしょうか
LとRが同じ数値のとき、trackBar.valueは中心値の10のイメージです。

出力したい例
L   R   trackBarvalue
-10  10   20(MAX)
10  -10   0(MIN)
5   10   15
10   5   5
0    0    0
8 -3 5
-3 8 15
0847デフォルトの名無しさん2016/01/19(火) 19:05:09.76ID:ca4y/mLD
10-(L-R)/2じゃあかんのか
0848デフォルトの名無しさん2016/01/19(火) 19:18:26.38ID:T4l/VMi8
>>846
すみません、L0 R0の場合はtrackbarは10(中心値)でした。

>>847
それだと0 0の時、5になりませんか?
0849デフォルトの名無しさん2016/01/19(火) 20:53:53.78ID:ClRHlYnm
>>848
計算してみろよ
0850デフォルトの名無しさん2016/01/19(火) 20:58:42.69ID:9RLBZfMa
流石に書き込んだ後に気づいたと思いたいな
0851デフォルトの名無しさん2016/01/19(火) 21:29:41.79ID:OWcc7WP1
10-0/2=
0852デフォルトの名無しさん2016/01/19(火) 23:52:22.83ID:072exUvu
>>849
>>850
あ、ありがとうございます!
0853デフォルトの名無しさん2016/01/20(水) 09:07:56.83ID:VSZG+GVx
最近は算数できない子でもプログラム組む世の中になったのか
0854デフォルトの名無しさん2016/01/20(水) 16:49:46.35ID:7+Sb7zKm
ぶ、文系プログラマだから・・・
関係無いかw
0855デフォルトの名無しさん2016/01/20(水) 17:52:03.05ID:bGVLNxMM
煽るなよ
0856デフォルトの名無しさん2016/01/20(水) 23:31:03.19ID:NCZhL0AS
下記のようなコードを書いたのですが、
? funcs = dict["a"]; の部分の型は何になるのでしょうか?
varなら取りあえず動くのですが
型も解らず動かしているのは良くないと思いまして
よろしくお願いします

static void Main(string[] args)
{
var dict = new Dictionary<string, Action<string>>();
dict.Add("a",(string str) =>
{
Console.WriteLine(str);
});
? funcs = dict["a"];
funcs("hoge");
}
0857デフォルトの名無しさん2016/01/20(水) 23:41:24.65ID:MU9BRiY9
>>856
Action<string>だけど、VSならvarにカーソル当てれば型がポップアップ表示されるよ
0858デフォルトの名無しさん2016/01/21(木) 01:59:07.07ID:7akH8FTO
NuGetのNuってなんですか?
0859デフォルトの名無しさん2016/01/21(木) 02:39:02.79ID:Jdl8/hrx
>>856
GetType()ぐらい知っておきな。
まぁvsの機能で十分だが。
0860デフォルトの名無しさん2016/01/21(木) 06:54:11.89ID:jus49kmC
>>856
> ? funcs = dict["a"];
また新しい構文ができたのかと思った…
0861デフォルトの名無しさん2016/01/21(木) 17:34:41.69ID:RPiYWnpn
NuGetのNuってなんですか?(怒)
0862デフォルトの名無しさん2016/01/21(木) 18:01:48.45ID:8Nf1Fcgm
JavaでJUnitみたいに頭にJ付けるのに対応して、.NETのOSSプロダクトにはNを付けることがある
で、発音しやすいようにu入れてナゲット
0863デフォルトの名無しさん2016/01/21(木) 18:16:53.32ID:7akH8FTO
>>862
ありがとうございます
0864デフォルトの名無しさん2016/01/21(木) 18:51:50.84ID:unJFG+YR
ヌゲットだよw騙されるな
0865デフォルトの名無しさん2016/01/21(木) 18:53:20.28ID:EZBArsRf
.NETだからNeGetにすれば良いのに。
0866デフォルトの名無しさん2016/01/21(木) 19:05:30.67ID:m1sHn+qf
ゲッターって強いのかな
0867デフォルトの名無しさん2016/01/21(木) 20:11:33.35ID:7akH8FTO
>>864
それはググれたので大丈夫
0868デフォルトの名無しさん2016/01/21(木) 20:15:02.53ID:7akH8FTO
dot netだからDGetやDoGetもありうる
0869デフォルトの名無しさん2016/01/21(木) 22:02:00.32ID:y7YSJqpw
作者によるとnew getだそうです
http://haacked.com/archive/2010/10/29/nupack-is-now-nuget.aspx/
nu jazzとかNuBusと同じ感じかな
0870デフォルトの名無しさん2016/01/21(木) 22:13:16.88ID:/lFAagBD
>>862
そこまで来たらN+uGet→ You Get って考えるわ
0871デフォルトの名無しさん2016/01/22(金) 08:15:04.38ID:yGQ3buO4
Dictionaryの定義見れば解る話でもある。

Dictionary dic = new;
dic.Add(1, "abc");
と書けたら素敵かもw
C#7.0に期待するかww
0872デフォルトの名無しさん2016/01/22(金) 16:22:15.72ID:XQFGUhiE
static以外のメソッドで戻り値がvoidの物は、自分自身を返すようにして欲しい
0873デフォルトの名無しさん2016/01/22(金) 16:36:27.49ID:sYC1tQRV
withか
メソッドチェーンになる接続詞みたいなのがあるといいなと思うことはある。
0874デフォルトの名無しさん2016/01/22(金) 20:44:13.25ID:KhXVHsnG
>>872
自分でそう書けばいいだけだろ
0875デフォルトの名無しさん2016/01/22(金) 21:09:40.08ID:V2GGZsCs
分かってて煽ってんのか理解力が貧弱なのかどっちだろ
0876デフォルトの名無しさん2016/01/22(金) 22:29:26.73ID:yGQ3buO4
voidだと破壊的になってしまうので、新たに$thisキーワードにするとか。
0877デフォルトの名無しさん2016/01/22(金) 22:35:04.95ID:rIc5SKSO
分かってて煽ってんのか知能が低いのかどっちだろ
0878デフォルトの名無しさん2016/01/22(金) 22:36:33.77ID:Q4+JRRd4
>>875
理解力が貧弱なんだろ

お前のな
0879デフォルトの名無しさん2016/01/22(金) 23:47:25.33ID:OQDPjL6S
>Action<string>だけど、VSならvarにカーソル当てれば型がポップアップ表示されるよ

ご教示頂いた通りでした。ありがとうございます

ただ、カーソル当てるのは知っていたのですが
Action<in T>とか出てきて、意味が解りませんでした

なんでこれで解るのかなといつも不思議です
0880デフォルトの名無しさん2016/01/23(土) 23:24:07.17ID:fVBN/N0G
Tじゃなく全ての型を列挙しろって?やだよそんなの。
0881デフォルトの名無しさん2016/01/25(月) 16:49:44.64ID:cdS+Tdbg
下の方にT is System.Stringとか出るじゃん
0882デフォルトの名無しさん2016/01/25(月) 18:29:20.05ID:kopU1hNv
>>879
ジェネリックで何でも使えるようになってる。
書いた人間が解らなければどうしようもないな。
0883デフォルトの名無しさん2016/01/26(火) 01:12:46.63ID:88T0+SoF
>>872
そういうの、どんなときに欲しくなるの?
0884デフォルトの名無しさん2016/01/26(火) 01:59:12.56ID:jdu+65G0
インスタンスの識別子を省略したい時でしょ
好ましいかどうかには言及しないが
そんくらい分かれよw
0885デフォルトの名無しさん2016/01/26(火) 09:10:54.84ID:dsuMfxzR
>>884
そもそもメソッドを呼び出すときにインスタンスが必要なわけで、其のインスタントが返って来たところで特別使い道ないように見えるが

var b = a.hoge(); → a.hoge(); var b=a;
0886デフォルトの名無しさん2016/01/26(火) 09:14:34.83ID:JiHES+ka
想像力が貧困なのか無知なのかどっちだろ
0887デフォルトの名無しさん2016/01/26(火) 09:30:28.15ID:dsuMfxzR
>>886
無知でわからないから具体的なコード書いてもらえませんか?
0888デフォルトの名無しさん2016/01/26(火) 09:38:50.60ID:MJMTDL/C
メソッドチェーンしたいんだろ。
戻り値voidのメソッドだけメソッドチェーンできても不格好だけど。
スマート厨は本当に目先のことしか考えてないんだなって。
0889デフォルトの名無しさん2016/01/26(火) 09:39:53.78ID:MJMTDL/C
>>887
お前はインスタントラーメンでも食ってろよ。
0890デフォルトの名無しさん2016/01/26(火) 10:26:37.51ID:yh75JYqa
>>888
まあ好き好きだろうけれど、自分の職場には居て欲しくないかも。
0891デフォルトの名無しさん2016/01/26(火) 10:36:36.36ID:QJcgwGnj
きっと誰かもお前のことをそう思ってるよ
0892デフォルトの名無しさん2016/01/26(火) 12:23:31.63ID:eg9d5ajk
普通に拡張メソッドでいいやん
0893デフォルトの名無しさん2016/01/26(火) 12:57:57.38ID:oDaIQ00Q
必!殺!メソッドチェイン!
0894デフォルトの名無しさん2016/01/26(火) 17:00:37.20ID:4iavm3T1
まだ>>872の話続いてたのか
でもどうせ返すものないんだし出来たら便利と思わない?
0895デフォルトの名無しさん2016/01/26(火) 17:58:44.94ID:fPoW1lYF
voidじゃなくて、returnを書かなくて済むnil型は、欲しいと思う時はある。
Func<>一本になるし。
これとは別で、return this を書かなくて済む何かの型があると便利だと思う時もたまにある。
0896デフォルトの名無しさん2016/01/26(火) 18:44:32.21ID:AIXU4xsB
そういうのはただreturnを省略するんじゃなくて関数型に近づけていくのが筋だろう
メソッドやプロパティをラムダ式で定義できるようになったから、
あとはラムダ式の中でletで一時変数定義ができるようになれば完璧
0897デフォルトの名無しさん2016/01/26(火) 19:55:51.50ID:fPoW1lYF
ラムダ式の中の let は切実に欲しい。
0898デフォルトの名無しさん2016/01/26(火) 20:21:02.22ID:vn2Q4vZq
int hoge(x, y) => let z = x * y in 2 * z;
ここまで来たら完全に関数型言語だな
キーワードを増やさなくていいし
0899デフォルトの名無しさん2016/01/26(火) 20:46:15.14ID:eg9d5ajk
クロージャ?
0900デフォルトの名無しさん2016/01/26(火) 21:46:25.88ID:fPoW1lYF
int hoge(x, y) => let [z=x*y, a=x-y] a * z

↑で違和感ないw
0901デフォルトの名無しさん2016/01/26(火) 22:57:49.27ID:wii0htjs
Page派生クラスは引数付きのコンストラクタは呼び出せないのですか?
0902 ◆i5Sv7me8hA 2016/01/27(水) 00:22:15.62ID:tjdPu0Qp
TabPageコントロールの上のタブスイッチャーの部分でホイールを回すとタブを移動できるようにする方法はありませんか?
JaneStyleのように
0903デフォルトの名無しさん2016/01/27(水) 00:46:14.67ID:tYkYQITg
C#には節操ないと言われるくらいの即物的な進化をしてほしい
0904デフォルトの名無しさん2016/01/27(水) 01:02:53.30ID:YLB6obvG
using static は便利だろうが何か違うだろ
0905デフォルトの名無しさん2016/01/27(水) 07:46:11.31ID:aloDWtjb
いっそstaticなんて廃止すればいい
0906デフォルトの名無しさん2016/01/27(水) 12:43:28.45ID:KuP8fqwp
staticクラスの意味が分かりません。
拡張クラスぐらいしか使う意味なくないてすか?
普通のクラスでもstaticっぽいことできるし。
0907デフォルトの名無しさん2016/01/27(水) 13:30:18.97ID:b7e91MPN
https://msdn.microsoft.com/ja-jp/library/79b3xss3.aspx
別に使いたくなかったら使わなくてもいいんだよ。
性質を利用者に明示したり、そのクラスとしてしてほしくない処理
(複数インスタンス化とか継承とか)を
コンパイラが検出できるようにするだけだから

たとえばprivateやreadonly修飾子だって使わなくたって作業できる
0908デフォルトの名無しさん2016/01/27(水) 14:02:58.82ID:YLB6obvG
using static は4.6から使えるようになった機能で、宣言するとstaticメソッドをクラス名を省略して使えるようなる

using static Math
class hage
{
void hoge()
{
  var a =Sqrt(2);
}
}
ってな具合で

便利だろうけど理不尽だわ
0909デフォルトの名無しさん2016/01/27(水) 14:36:28.37ID:C7dzp8Y8
static使うと早くなるの?
0910デフォルトの名無しさん2016/01/27(水) 15:34:38.65ID:p0IOb7as
やっぱりJavaのほうがいいのかな
0911デフォルトの名無しさん2016/01/27(水) 17:41:41.94ID:yaeTeYfT
>>908
これ知らなかった。けどあんまり有用性高くなさそう。
0912デフォルトの名無しさん2016/01/27(水) 18:18:47.13ID:WyV/PLDZ
>>911
数学演算しまくるファイルがMath地獄になったりすると見にくいから、そういう時に使う
あんまり使う機会はないだろうけど、影響も小さいし存在するメリットが上回ったんだろう
0913デフォルトの名無しさん2016/01/27(水) 18:35:49.80ID:yaeTeYfT
>>912
そういう業務なら重宝されるのね。
varが有用だから似たようなもんか。
0914デフォルトの名無しさん2016/01/27(水) 18:53:11.81ID:YThZ+6g1
VB上がりのプログラマが嬉々としてstaticクラスを量産するぞ
危険すぎる
0915デフォルトの名無しさん2016/01/27(水) 19:42:24.57ID:rZNOxBjL
javaで定数宣言ファイルを静的インポートしてた
0916デフォルトの名無しさん2016/01/27(水) 19:58:55.24ID:iyeBNd+2
拡張メソッドもそうだけど、やりすぎると真実が見えなくなる
0917デフォルトの名無しさん2016/01/27(水) 20:19:16.11ID:vDIuwjF/
馬鹿の一つ覚えだから適度って言葉が分からないんだねしょうがないね
0918デフォルトの名無しさん2016/01/27(水) 20:20:27.88ID:ODr2GTmu
static class が継承できないのは謎
0919デフォルトの名無しさん2016/01/27(水) 20:58:03.91ID:rZNOxBjL
http://marupeke296.com/COL_2D_No12_CupsuleVsCupsule.html
ここのソースコードc言語みたいで何やってるか分からないんだけど・・・
どうやって読めばいいんですかね?c#に使いたいんですが・・・
ちなみにc#のカプセルはx1,y1,x2,y2,rで表してる
そもそもベクトルって何だ?
0920デフォルトの名無しさん2016/01/27(水) 21:04:21.32ID:5KKilkf6
ベクトルなんて呼び方してんのカタカナ覚えした馬鹿なジャップくらいだけどな
0921デフォルトの名無しさん2016/01/27(水) 21:23:39.95ID:EJoH7BSZ
Devcon.exeを使わないでデバイスの無効化する方法ってありますか?
.netのAPIでは出来ないでしょうか。
0922デフォルトの名無しさん2016/01/27(水) 21:25:57.32ID:s8XRJ16I
>>919
ゲームか?
高校の理系程度の数学は必須だよ
0923デフォルトの名無しさん2016/01/27(水) 23:08:26.64ID:eULyfEEH
ベクトル モートル ビール
0924デフォルトの名無しさん2016/01/28(木) 09:26:34.20ID:MjXasdvH
モバイルスーツ
0925デフォルトの名無しさん2016/01/28(木) 16:56:11.35ID:x0mP2QOr
やっとカプセルの当たり判定移植できた!
関数が関数の継承している意味が分からなかったけど初期化してただけだったのね
0926デフォルトの名無しさん2016/01/28(木) 17:18:01.02ID:x0mP2QOr
もう一つ質問
Line(Dot(A,B),Dot(C,D))と、Line(Vec2(A,B),Vec2(C,D))って同じ線分になる?
0927デフォルトの名無しさん2016/01/28(木) 18:08:25.84ID:3zc/7JDU
>>926
意味不明すぎる
ドット積はベクトル同士の積で、結果はスカラーだぞ
2つのスカラーA,Bのドット積とか意味不明だし、その結果得られたスカラー値2つじゃ線分にならんだろ
悪いこと言わないから数学勉強しろ
0928デフォルトの名無しさん2016/02/01(月) 13:32:48.35ID:gmWomOLn
ドット積じゃなくて始点・終点やろ
0929デフォルトの名無しさん2016/02/01(月) 16:13:47.27ID:dRJvSEmL
でも
Line(Dot(A,B),Dot(C,D))
ってそもそも成り立つんかね
Lineの始点も終点もスカラーになるわけで
一次元になると思うんだが・・・
Line(Vec2(A,B),Vec2(C,D))
って書いてるってことは、二次元座標が前提なんでしょ
0930デフォルトの名無しさん2016/02/02(火) 17:01:44.81ID:KQWPy41G
A.DLLを参照するB.EXEがあったとします。
もしA.DLLにあったクラスCが削除された場合でもB.EXEはクラスCを
使用するまで動くことは出来るようですが意図したものではありません。
根本的に問題があるとは思いますがA.DLLがB.EXEを完全に動かせるか
を確認する方法はないでしょうか。
0931デフォルトの名無しさん2016/02/02(火) 17:51:19.35ID:fP2RU4DT
お互いにメンテ可能ならバージョン番号を交換しなはれとしか
0932デフォルトの名無しさん2016/02/02(火) 19:30:27.65ID:QMKjMh/z
バージョン管理をするだけの話だね
0933デフォルトの名無しさん2016/02/03(水) 15:29:34.65ID:ZDGOLsIi
そもそも外部に公開したものを削除するなってのが・・・
0934デフォルトの名無しさん2016/02/03(水) 15:46:27.20ID:RELgcZb9
>>933は馬鹿
>>932の通り普段からA.DLLを署名してバージョン管理しておくのが正解
0935デフォルトの名無しさん2016/02/03(水) 17:45:50.72ID:Lo/KbLMx
バージョン管理すると、なんで動作保証が出来るの?
0936デフォルトの名無しさん2016/02/03(水) 19:35:23.33ID:SF3O1Oce
頭おかしいんじゃねえのか
0937デフォルトの名無しさん2016/02/03(水) 19:41:02.87ID:MI56WbPy
>>930
今一つ判らないけれど、A.DLLの実装機能を確認をしたいと云う事かな?
A.DLLに実装されていたクラスC意外の機能をテストモジュールを通して判定する事で良いと思う。
仕様変更が発生した時、DLLの変更とテストモジュールの確認内容の変更で済む。

最終動作でクラスCが無いと動作しない云々ならば方向が違ってくるので
もう少し”何をしたいのか”明確にした方が良いと思う。
0938デフォルトの名無しさん2016/02/03(水) 19:50:49.17ID:rOEw4Jzy
A.DLLとB.EXEを自分が管理しているかどうかも重要だろ
それを明示しないで丸一日以上レス無しとかやる気が感じられない
0939デフォルトの名無しさん2016/02/03(水) 21:33:05.96ID:LzOdDJ9a
B.EXE が必要な実装を A.DLL が持ってるかを確認したいんだよね。
動的ロードして、B.EXE が使ってる関数なりクラスなりを片っ端から呼んでみればいいんじゃね。

OS とか特定のアプリが用意した DLL を自作のソフトで使うなんてよくある事じゃん。
保証が欲しいなら作った人に聞くしかないけど、答えてはくれないだろうね。
0940デフォルトの名無しさん2016/02/03(水) 21:34:07.38ID:GIe1mAKD
普通に考えたら自分で管理してないとわかるだろ
0941デフォルトの名無しさん2016/02/03(水) 22:09:31.51ID:eknpwZEf
だよね
0942デフォルトの名無しさん2016/02/03(水) 22:57:21.11ID:4yo/6pJu
落ちる動作を試しにさせればいいだけだろ
別プロセスでさ
何も難しいことないよな
0943デフォルトの名無しさん2016/02/03(水) 23:35:14.67ID:GIe1mAKD
参照がないエラーとか普通にキャッチできるの?
0944デフォルトの名無しさん2016/02/03(水) 23:40:23.62ID:unol2DYF
DLLに含まれる関数の一覧を取得(エクスポート)すればいいんでないの?
0945デフォルトの名無しさん2016/02/03(水) 23:52:53.01ID:4yo/6pJu
>>943
実用的に考えたらそんなの厳密に区別する必要性がない
0946デフォルトの名無しさん2016/02/03(水) 23:54:13.78ID:GIe1mAKD
リフレクション使えるかどうかわからんのにどうやって?
0947デフォルトの名無しさん2016/02/04(木) 09:53:37.09ID:cZxKqYB+
バイナリで読み込んでメタテーブル調べるだけ
0948デフォルトの名無しさん2016/02/04(木) 12:10:47.16ID:V/kEUtw0
まじていってるなら相当アレですな
0949デフォルトの名無しさん2016/02/04(木) 12:18:50.05ID:vqMYghiB
マジてっ!?
0950デフォルトの名無しさん2016/02/04(木) 12:31:06.81ID:vqMYghiB
やることはconfigureスクリプトの環境チェックと変わらんだろ
お前らはどうでもいいことまで綺麗にやろうとし過ぎなんだ
0951デフォルトの名無しさん2016/02/04(木) 21:46:01.06ID:N+wmyYP9
つまんねー話題が続いてるな
メタテーブルとかかたっぱしから読んでみるとか子供みたいな答えがでてるし・・・

普通に専用のメソッド用意しといて問い合わせしろよ
0952デフォルトの名無しさん2016/02/04(木) 21:56:48.36ID:yIf1A9KF
そんな素人考えじゃなにもできないぞ
0953デフォルトの名無しさん2016/02/04(木) 22:05:20.51ID:N+wmyYP9
じゃお前は落ちる動作とかリフレクションとかわざわざ使っとけよ

俺は機能問い合わせメソッド作っといて戻り値で判定するから
0954デフォルトの名無しさん2016/02/04(木) 22:20:18.39ID:vqMYghiB
ちゃんとお前の人生TerminateProcessしとけよ
0955デフォルトの名無しさん2016/02/04(木) 22:29:38.87ID:pyKOZnex
質問者不在仕様不明で話を続ける脳味噌チンカスの集団
0956デフォルトの名無しさん2016/02/04(木) 22:57:58.19ID:yIf1A9KF
>>953
何も理解せずに話していたのかこいつ
0957デフォルトの名無しさん2016/02/05(金) 19:34:51.24ID:KfH59ET+
DLLが自分で管理しているものじゃないってのが今回の前提なのに彼は分かってないみたいだね
0958デフォルトの名無しさん2016/02/05(金) 20:18:03.28ID:awzjuRq3
いま戻り値で判断してるから素人は黙ってて
0959デフォルトの名無しさん2016/02/05(金) 20:29:36.97ID:lu0JzWaI
ツイッタとかでもAPIなんてコロコロ変わるからな…
0960デフォルトの名無しさん2016/02/06(土) 10:52:13.78ID:21OGO6t2
C#で書かれたオープンソースのロールベース権限管理フレームワークはありませんか?
09619302016/02/07(日) 19:57:22.06ID:8RGhua4f
 だいぶ遅くなりました。
仰る通りA.DLLは管理外で頻繁に更新されており、それを参照したEXEが
管理内外と複数存在する状態です。最低でもA.DLLを差し替えた場合に
使用するEXEが参照エラーを起こさないかをコンパイラを使わず確認する
方法もしくはツールでもあればと思った次第です。
 諸事情によりこれ以外の方法は使えない状況なのですが簡単には出来
なさそうですね。みなさん色々とご意見ありがとうございました。
0962デフォルトの名無しさん2016/02/07(日) 20:27:32.01ID:cG7Y6173
dependency walkerでわかるんじゃね?
0963デフォルトの名無しさん2016/02/07(日) 20:44:34.87ID:pWy8u6IO
戻り値で判断すれば万事解決だと言うのにwwwww
これだから素人はいけませんなwwwww
0964デフォルトの名無しさん2016/02/07(日) 20:52:28.50ID:CwqYz5FT
普通に使ってもらう事を前提にしたDLLなら機能問い合わせのAPIある筈だし
無くても最低でもバージョンは管理はされている

それが無いってことは使ってもらう事が前提じゃないDLLな訳で
0965デフォルトの名無しさん2016/02/07(日) 23:37:37.67ID:WrZYf6Db
もうこの話を続ける意味はない
0966デフォルトの名無しさん2016/02/08(月) 00:05:04.86ID:t4nfvp5Z
安いプライドが掛かってる奴はまだまだ食い下がるからよく見とけ
0967デフォルトの名無しさん2016/02/08(月) 07:04:44.48ID:UacuPnd4
>>963
バカは黙ってろ
0968デフォルトの名無しさん2016/02/08(月) 07:58:25.97ID:RkImS1Kj
よーしパパ機能問い合わせメソッド作っといて戻り値で判定しちゃうぞー
0969デフォルトの名無しさん2016/02/08(月) 09:51:01.97ID:RAwTopR6
朝から戻り値はやめろ!
0970デフォルトの名無しさん2016/02/08(月) 17:38:27.37ID:GFLZdh1K
>>963
こいつはセキュリティホールだから解雇したほうがいいな
0971デフォルトの名無しさん2016/02/08(月) 17:49:52.32ID:O0E44PSM
>>942
落ちたプロセスをWindowsの問題レポートが掴んじゃうから上手く行かないよ。
0972デフォルトの名無しさん2016/02/10(水) 11:04:10.35ID:Pl/K9dah
interfaceを実装するとき以下のように2種類の書き方があるようなのですが
どのような違いがあるのでしょうか?
http://ideone.com/NX1anY
0973デフォルトの名無しさん2016/02/10(水) 11:17:06.80ID:Pl/K9dah
すいません把握しました。
http://ideone.com/TfI4uK

分かりづらくなりそうなので、
できるだけ同名の関数にしないようにします。
0974デフォルトの名無しさん2016/02/10(水) 21:03:46.59ID:ZQ/yQmxu
なんか理由があった気がするが明示的な実装は避けたほうがいい
理由は忘れた
0975デフォルトの名無しさん2016/02/10(水) 21:33:53.07ID:kIr2lIp7
理由も説明できないのに根拠もなく
避けた方がいいと主張する
お前は相当なバカだな
0976デフォルトの名無しさん2016/02/10(水) 23:16:59.28ID:ZQ/yQmxu
>>975
本物のバカ発見
死んだほうがいいよ
理由を思い出せなくても避けるべき理由がある事はわかってんだから避けるのが正解
-1か-10か-100か具体的な値はわからんが負の数という事がわかってるならSqrtしたらダメなのと同じな
これがわからないゴミはプログラマやったらダメだ今すぐ消えろ
0977デフォルトの名無しさん2016/02/10(水) 23:22:37.17ID:c7/bFnF1
理由を説明できないプログラマってダメすぎるだろ
0978デフォルトの名無しさん2016/02/10(水) 23:23:07.67ID:Q5KjD6K1
>>976
お前うざい消えろ
>>975
お前も消えろ
>>973
お前もだ
0979デフォルトの名無しさん2016/02/10(水) 23:29:33.75ID:0Hpi8KmG
次スレはここも半コテ制にした方がいいのかね
0980デフォルトの名無しさん2016/02/10(水) 23:30:19.94ID:ZQ/yQmxu
>>977
二流だな
プログラミングの本質は「こまけぇ事は知らんがこう動く契約になってる」の積み重ねだ
何かがそうなる理由を考え初めたらすぐにバカな事やってるなって自覚しないとダメだ
0981デフォルトの名無しさん2016/02/10(水) 23:32:06.15ID:yHiFRi/m
事実:>976は理由を思い出せない
事実:>976は「避けるべき理由がある」と思っている
>976の主張:避けるべき理由がある
>976の主張:理由を考えたら負け

これは本当の馬鹿かも知れない
0982デフォルトの名無しさん2016/02/10(水) 23:38:05.79ID:ZQ/yQmxu
>>981
短い文字列すら読めないバカか
間抜けな早とちりする前にちゃんと読めよwww
0983デフォルトの名無しさん2016/02/11(木) 00:00:54.14ID:M5CwB86R
いつもどおり、プログラムの話じゃなくてどうでもいいことが一番盛り上がってるな
平常運転です
0984デフォルトの名無しさん2016/02/11(木) 00:15:51.35ID:+Uw2l5tW
名前かぶりの回避っていうのもあるけど、そのクラスのインスタンスから直接呼べなくなるというのが大きい
メソッドがとても呼びにくくなる

あえてインターフェースの機能を隠す場合とか、理由があるときには避ける必要はない
意味もなく使うのは不便になったり、明示的実装に意味があるのかと悩むことになるのでやらないのが吉

わからない時は、標準ライブラリがどうしてるのかをみて構造を真似るのが一番
0985デフォルトの名無しさん2016/02/11(木) 00:56:27.10ID:JclLOiql
>>977
理由を即座に説明できる必要はないとは思うけどね
ちゃんと作業履歴なりコミットログなり自分で追えて、10分以内に思い出せる状態にできてるかどうかかな
最悪即座にぐぐって説明を補遺できれば仕事上はなんの問題もない

むしろ辛いのは、説明の準備もしないまま混乱した報告を上げてくる説明能力のない奴らだよ。
もちろんコードが常に自明な状態になってればいいんだけどさ、なかなかそうもいかんようだな
0986デフォルトの名無しさん2016/02/11(木) 04:08:01.96ID:ic8+fabm
嘘に塗れた2chで人に教えるのに根拠無しで何の説明も無しはなぁ。
情報の真偽を確かめるために調べる直すにしても、情報薄すぎてキーワードすら増えてないし。
0987デフォルトの名無しさん2016/02/11(木) 07:42:16.30ID:0cOkgFRV
それを言うならそもそも2chで人から教わろうってのが間違い
2chはしばしば便所の落書きに例えられる
便所の落書きから学ぼうとする人は居ない
0988デフォルトの名無しさん2016/02/11(木) 08:51:03.19ID:WJf9jt/h
2ちゃんから学ぶことは多いよ
世の中には >>987 みたいなアホがいることも2ちゃんで知ったし w
0989デフォルトの名無しさん2016/02/11(木) 08:58:03.58ID:OZhLkZUr
2ちゃんから学ぶことは多いよ
世の中には >>1-988 みたいなアホがいることも2ちゃんで知ったし w
0990デフォルトの名無しさん2016/02/11(木) 09:34:24.83ID:39BpDlfw
次スレは970だがどうなった
0991デフォルトの名無しさん2016/02/11(木) 11:30:35.91ID:0cOkgFRV
次スレは不要だろう
C#スレは分裂しているから不便だ
機能の凝集度を高める為にこのスレはここで止めよう
0992デフォルトの名無しさん2016/02/11(木) 12:45:25.78ID:pY241jb7
不要に一票だな。
なぜかこのスレは他より沸点の低い方々が多い気がする。
0993デフォルトの名無しさん2016/02/11(木) 12:48:23.34ID:xg5e2eV7
低沸点隔離所として必要
0994デフォルトの名無しさん2016/02/11(木) 17:49:38.19ID:AjrykRRH
荒らし避けで半コテ設定で建てようとしたけどダメだったのでやめとくわ
0995デフォルトの名無しさん2016/02/11(木) 19:16:30.02ID:JVKVUfPY
string org = "test desu yo";

foreach (string s in org.Split(new string[] { "<br>" }, StringSplitOptions.None))
{
Debug.Log(s);
}

これを実行すると何も表示されないのですが、
<br>が入っているかどうかわからない文章に対してsplitを通したい場合
事前に<br>の有無を確認してif文で分けるしか無いのでしょうか?
スマートなやり方があったら教えて下さいm(_ _)m
0996デフォルトの名無しさん2016/02/11(木) 19:23:31.95ID:JVKVUfPY
すみません勘違いしてましたセパレータが文中にない場合でも表示されました
失礼しましたー
0997デフォルトの名無しさん2016/02/11(木) 20:01:52.88ID:u+9ElwPt
うめ
0998デフォルトの名無しさん2016/02/11(木) 20:11:02.84ID:0OAFh+KU
次スレは?と思ったらもう立ってた
http://peace.2ch.net/test/read.cgi/tech/1455160063/

うめうめ
0999デフォルトの名無しさん2016/02/11(木) 21:02:48.23ID:6rGpnoDF
C++と違って平和だ。
1000デフォルトの名無しさん2016/02/11(木) 22:14:45.10ID:xFHLdcla
C++は今たいへんなことになってます
自分みたいな初級ユーザはいろんな意味で付いていけなくて困る
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。