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


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

ふらっと C#,C♯,C#(初心者用) Part115



1 名前:デフォルトの名無しさん mailto:sageteoff [2015/03/18(水) 18:08:26.52 ID:irwZfv9C.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part114
peace.2ch.net/test/read.cgi/tech/1419512512/

■関連スレ
C#, C♯, C#相談室 Part86
peace.2ch.net/test/read.cgi/tech/1419608259/

■コードを貼る場合は↓を使いましょう。
ideone.com/

446 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:21:08.75 ID:6hGp8vWg.net]
>>427
どういう読解力だよ

447 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:30:11.42 ID:Vz8/wQyv.net]
コンテナコントロールがある以上ツリー状なデータなわけだから
配列っていわれるとモヤモヤする

448 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:35:05.73 ID:dM0pmF2t.net]
>>432
424じゃないけど
お前が自分でリスト使うってって書いてるだろ
アホ

>万が一必用でもコードで明示的にList<T>なり何なりに突っ込む。

449 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:38:19.14 ID:EwfTb6QO.net]
>>433
アクセス方法が配列そのものだろバカか?

450 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:52:00.43 ID:gfkqninw.net]
ところで、WPFだと動的なコントロールの作成は楽なのけ?

451 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:11:41.72 ID:azDp/x2p.net]
お、荒れてるね

452 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:14:19.96 ID:MUnfOjBK.net]
WPFならItemTemplateを使えばコード書かずに楽勝
でもXAMLは学習コスト高めなので今時コントロール配列とか言ってる子には厳しいだろうな

453 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:31:50.11 ID:6hGp8vWg.net]
>>434
馬鹿かお前。

システムが暗黙的に作成するコントロール配列なんか使わずに
ユーザーコード上に明示的に宣言したList<T>を使うって言ってるのにどんな馬鹿だよ本当。

っていうか前の文節で

---
むしろコントロールをインデックスで指定しなきゃならんようなら
普通はバカみたいに同じ機能のコントロールを配置しなくて良いようにUIを見直すよ。
---

こう書いてるのにそっちは完全無視か馬鹿。
っていうか馬鹿は鳥頭だから2行以上前に書いてあることは覚えてないんだろうな

454 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:36:36.38 ID:Dosz5ijJ.net]
>>439


>システムが暗黙的に作成するコントロール配列なんか使わずに
>ユーザーコード上に明示的に宣言したList<T>を使う

自分が書いてる意味もわからない正真正銘の知的障害者
何を言っても無駄な社会のゴミ
早く自殺してね



455 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:11:47.34 ID:gfkqninw.net]
>>438
WPF流行ってないよね。
MSも新技術色々出してハードドル上げてどうするつもりなんだろ?
トンデモな勘違い野郎が間違った使い方するよ。

456 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:12:28.97 ID:gfkqninw.net]
ハードドルって何やねんw

457 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:19:21.52 ID:TC+xegdR.net]
M$が密かに開発しているソフトドルの機密を漏らした罪により >>442 は消される

458 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:26:36.50 ID:3k/uCjkF.net]
WPFはマイクロソフトが事実上捨ててるからその内silverlightみたいにサポート終了になるだろうね

459 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:29:26.73 ID:MUnfOjBK.net]
ビジネスアプリケーション向けの.NETの次世代UI技術は結局ASP.NET MVCに落ち着いたよ
極めて普通なWeb MVCアーキテクチャだからもう>>441のような批判は当たらない
XAMLなんかより遥かに分かりやすいから今からやるんならASP.NET MVCがいいよ

460 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:37:26.12 ID:6hGp8vWg.net]
またいつものwebに夢みてる時

461 名前:纃誤な人か []
[ここ壊れてます]

462 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:40:48.22 ID:MUnfOjBK.net]
>>446
MSが最近出したVisual Studio CodeはHTML5とJavaScriptで作られてるんだぜ

463 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:51:40.01 ID:3k/uCjkF.net]
HTML5とjavascriptは標準技術だからね
XAMLやASP.NET MVCみたいなローカル技術とは分けが違うよ

464 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:03:39.45 ID:MUnfOjBK.net]
>>448
ASP.NET MVCはサーバー側の技術で、クライアントに使うのは当然HTML5だ
実際使うかどうかはともかく、今時Web MVCを全く知らないって
さすがに開発者としてヤバいぞ



465 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:04:37.23 ID:CzRQDZeG.net]
>>447
操作感がsublime textやatomそっくりな件。

466 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:13:53.35 ID:gfkqninw.net]
>>445
別にasp.net mvcをdisってる分けじゃないんだが。

467 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:27:59.00 ID:3k/uCjkF.net]
>>449
MVCを全くしらないとかどこに書いてあるんだ?
おまえ頭おかしいぞ?
自分が知ってる狭い知識で語ってんじゃねえよ
身の程を知れ井の中の蛙

468 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:36:25.53 ID:azDp/x2p.net]
WebはどうでもいいけどXAMLは100万年掛けても流行らないから
MSはアプリ輸入の準備だけしててちょーだい

469 名前:デフォルトの名無しさん [2015/05/17(日) 23:02:16.91 ID:B6Xc4iyU.net]
リファクタリングしたらxamlも更新されるようにせんか!手動バインドとか恐ろしいわ

470 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 23:47:12.71 ID:fg7/jRp/.net]
MVCとASP.NET MVCの区別もつかないアホに構ってはいけない

471 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 23:57:17.18 ID:8oOUPadZ.net]
>>449
恥ずかしいゴミめw

472 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 00:12:02.48 ID:rY8mv9pb.net]
>>456
ローカル技術をクライアントサイド技術だと勘違いしてるって事かw

473 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 02:48:52.06 ID:iGSkgNue.net]
結局WindowsアプリのGUI作るのには何が一番いいの?

474 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 03:00:38.81 ID:tQ5Dyqi2.net]
Windows Forms



475 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 06:25:04.78 ID:rY8mv9pb.net]
高dipのディスプレイが普及したらXAMLなんだろうけど。

476 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 06:27:21.84 ID:4bXcOge2.net]
WinFormsでいいよ
わざわざXAMLやるくらいならそれこそHTMLの方がいい
VSCodeみたいにラップすることもできるし、ストアアプリでもHTML使えるんだし

477 名前:457 mailto:sage [2015/05/18(月) 06:28:53.40 ID:rY8mv9pb.net]
dip → dpi の間違い

478 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:06:37.40 ID:jdBOVrH8.net]
なんか、おれのくだらない質問から荒れてしまったみたいでなんかすみませんw

479 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:19:24.34 ID:92QLSF+E.net]
誰だテメーは
いきなり現れて

480 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:42:22.46 ID:jdBOVrH8.net]
>>406
こいつです

481 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:51:13.98 ID:oJXHJ+WI.net]
気にすんな
最近ふらっとスレには煽りたいだけの低能が集まってるみたい

482 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:07:17.02 ID:3eEkTQ9y.net]
いるね
レスのケツに必ず煽りがついてる人とか

483 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:27:22.37 ID:R6NuXwMZ.net]
集まってるって言うか、まともなやつらがいなくなっただけかと...

484 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:29:14.79 ID:wiNRRdg2.net]
5月の何時もの風景。



485 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:29:37.73 ID:7BvZDlvH.net]
>>1

486 名前:デフォルトの名無しさん [2015/05/18(月) 17:38:21.87 ID:LZCCaXsh.net]
C# でIEを操作しているのですが


ie.Quit(); をしてもブラウザが閉じないことがよくあります。

これを回避する方法はありますか?

もしくは、無理やりプロセス削除をするしか方法はないのでしょうか?

487 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 18:11:13.71 ID:oJXHJ+WI.net]
COMオブジェクトがリークしてんじゃねーの?
Marshal.ReleaseComObjectし忘れ。



488 名前:例えば
var hoge = ie.Document.getHogeHoge();

ie.DocumentのところでHTMLDocumentClassオブジェクトがリーク
[]
[ここ壊れてます]

489 名前:デフォルトの名無しさん [2015/05/18(月) 20:09:01.46 ID:IFcmf4XH.net]
まぁそれはよくある話だがIE自体がクソ
なんでわざわざIE向けのCode書きたくもない。

490 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:09:18.52 ID:KlK4atyI.net]
他のスレで書くとC++やJavaを進められるので、あえてここで聞いてみます
VSのC#が慣れた人がAndroidのビジネスアプリを作成する場合、何が一番良いのでしょう?
外部機器と通信して数値やグラフ表示する程度ですが

491 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:24:11.27 ID:Px7Puw/x.net]
そんな前置きを書くとC++とJava勧める奴がでるぞ

492 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:24:17.97 ID:Ll/HpEwU.net]
そんなもんASP.NET MVCで作ってブラウザで表示すりゃいいよ
ビジネスアプリならどのみち裏でサーバー動いてるんだろ?
わざわざAndroid固有の技術を覚える必要なんかない
もしどうしてもネイティヴの体裁にしたいならWebView貼って終わり

493 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:45:54.61 ID:Ll/HpEwU.net]
あと言語の問題だけじゃなくてデプロイやアップデートをどうするのかとか
紛失時のセキュリティとか、あらゆる面でWebの方が楽だ
JSから使えない端末側の機能が必要とかオフラインでも使えるようにしたいとか、
よほど強い理由がなければサーバ側に何を使うかともかくWebベースがいい

494 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 13:25:28.98 ID:BpuPofZt.net]
>>474
Javaでいいんじゃね。C#使えるならちょっと勉強すればJavaの文法は難しくないだろ
ライブラリやAPIはどっちにしろ覚えないとしょうがないだろうから

>>476-477
外部機器と通信というくだりをどう考えてるのか聞かせて欲しいもんだ



495 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 13:39:06.72 ID:D6hTeVWg.net]
なんでもそうだけど一番メジャーなもので作るのがいいよ。
だからJava

496 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 14:26:18.58 ID:Ll/HpEwU.net]
>>478
外部機器と通信というのが端末と機器の間で直接通信するという意味であるなら、
そもそも選択の余地はないだろうしそんなテクニカルな話で一般論の答えを求めても仕方ないと思うんだが

497 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 14:33:43.23 ID:D6hTeVWg.net]
通信だけ側でやって表示はWebViewでやればいい

498 名前:デフォルトの名無しさん [2015/05/19(火) 20:28:32.62 ID:Ye3mIF4/.net]
>>472
対策としてはどーすればいいの?

499 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 20:53:01.44 ID:7GmTMJUE.net]
リストを2つ用意してMVCモデルで設計するって
簡単に言ってどういう感じになるんでしょうか?

list1とlist2があったとすると、list2にlist1の参照を入れる?って事ですよね?

500 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:17:45.49 ID:baIIPGtU.net]
何言ってるんだかさっぱり分からん
誰がそうしろって言った?
そいつにMVCとはなんですかと聞け
たぶん一般的な意味とは違うんだろ

501 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:23:26.04 ID:DIo0U3oL.net]
>>482
いちおう変数で受けておいて使い終わったらMarshal.ReleaseComObjectする
効果ないかもしれない上に非常に面倒くさいけど。

var doc = ie.Document;
try
{
 var hoge = doc.getHogeHoge();
 try
 {
  ...
 }
 finally
 {
  Marshal.ReleaseComObject( hoge );
 }
}
finally
{
 Marshal.ReleaseComObject( doc );
}

IEとかってプロセスが再利用されるの期待して、すぐに死なないとかない?

502 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:35:43.77 ID:q3WQijmv.net]
>>485
なんか諸説あって何が正しいのかよく分からんけど、
少なくともExcelオートメーションに関する限り経験的には
ちゃんと変数に入れるだけで十分でReleaseComObjectは必要ない気が。

503 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) ]
[ここ壊れてます]

504 名前:21:47:37.66 ID:0y3JMzOX.net mailto: 何が正しいのかよく分からん場合にどうするか それだけじゃん []
[ここ壊れてます]



505 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:21:44.93 ID:WbxBVd4k.net]
>>486
Interop.Excelから使う分にはReleaseComObjectは不要だと思う。
CreateObjectでレイトバインディングする場合は、ドット1つ以上使わないようにして
オブジェクトを全部変数に入れて順番にReleaseComObjectする必要がある。

506 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:51:14.36 ID:q3WQijmv.net]
>>488
なるほどそういうものですか。

507 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:38:14.58 ID:gX6G9tdz.net]
>>485
試しにやってみましたが、効果ありませんでした。。。

508 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:49:51.58 ID:03XLPVPu.net]
それC++でやっても残ったな。quitできないタイミングがあったはず。プロセス落とすのがいいと思う

509 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 02:42:40.81 ID:gX6G9tdz.net]
>>491

ループ処理させながらieのプロセスを落としまくるとPCが不安定になりませんか?

510 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 06:31:47.64 ID:f7NgOdgI.net]
>>490
それは、プロセスが残ったままになる場合の対応だからね。
Quitの前にSleepやDoEvents的なものでウエイトさせると出来たりしないか?

511 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 08:33:09.09 ID:KFMNcacm.net]
IEの操作はvbsでやるに限る

512 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 07:07:47.85 ID:5AlY38lu.net]
初心者がLinq,ラムダ式に手出すのは早いですか?

513 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 07:28:51.30 ID:01TMmBFS.net]
文法も網羅してないのにもう中級者です!ってのもおかしい気がするが
個人的には

514 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 07:47:19.36 ID:MBfknsBq.net]
これらを理解できてたら手を出していい
・デリゲート
・オーバーライド、多態性
・Template Methodパターン、Observerパターン
・IEnumerable<T>の仕組み
・yieldの使い方
これだけわかってりゃLINQやラムダが何やってるのかはだいたい想像がつくはず



515 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:34:54.41 ID:/hDcy/Cl.net]
キャプチャの仕組み理解すれば普通に使っていいだろ

516 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:45:38.96 ID:il658Xe0.net]
LINQは使うと読み易くなることがあるが
壮大なオナニーLINQは害悪

517 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 09:16:37.76 ID:Tg0bXDwp.net]
なんでや、オナニーに使われるのはLINQに限ったことじゃないやろ

…関数型言語がポエム書きやオナニーに使われるのと同じで
ドヤりたい人を引きつける何かを備えてることは否定しないが

518 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 12:14:00.62 ID:NNS76vjx.net]
コントロールをドラッグして仮の枠を表示して、ドロップ先に線を描くのってどうやってやるの?
一時的にパネルを表示して仮の枠を描いて、ドロップ先もパネルを表示して線を描いておく感じですか?

519 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 13:12:17.42 ID:9WVVlPPq.net]
>>501
何を言ってるのか分かるように書かないと回答来ないよ

520 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 14:27:40.35 ID:/hDcy/Cl.net]
なんとなく分かった

コントロールをドラッグして他のコントロールの場所に挿入するみたいな感じかな
んでドラッグ中はinsertion markを描画すると

ドラッグでコントロールの場所をリアルタイムで変化させちゃうというベタな方法のつもりなのかな?
それだと移動先にマークを書くのが難しくなるわな

ToolStripのAllowItemReorderの実装のようにOLEドラッグ&ドロップでやるのが楽っぽいけど
マークもコンテナ描画イベントで描けるし
かなり凝ればドラッグ中のコントロールを半透明で描画したりも出来るし

521 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 14:55:03.12 ID:MBfknsBq.net]
枠を付けたい場所に最初からPanelを入れまくっておいて枠を非表示にしとくだけでよくね
それなら描画しやすいだけでなくイベントも簡単に拾える

522 名前: []
[ここ壊れてます]

523 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 16:21:42.63 ID:Md4oOCiG.net]
ItemsControlクラスのItemsとItemsSourceの違いがよく分かりません。
型とアクセサを見るにItemsSourceは新しく割り当てるとき用で、
Itemsはいま割り当てられているオブジェクトの取得用ってことでしょうか?
ItemsSourceを直接getすると何かマズいんでしょうか

524 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 16:35:02.91 ID:9WVVlPPq.net]
>>505
MSDNライブラリの説明を読んで分からなければサンプルを見る。
普通それで分かる。



525 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 20:29:48.64 ID:MBfknsBq.net]
>>505
ItemsSourceはコレクションをバインドするのに使う。
バインドするコレクションの要素はコントロールではなくて任意の型のオブジェクトで、
そのオブジェクトからどうやってコントロールを作るかをItemTemplateで定義する。
ItemsはItemsSourceの要素から生成されたコントロールのコレクション。
低レベルな制御をする場合以外は基本的にItemsは使わない。

526 名前:デフォルトの名無しさん [2015/05/21(木) 21:55:00.16 ID:Ps6etXnO.net]
下のようなプログラム

string[,] test = {{ "a","b" }};
ArrayList data = new ArrayList();
data.Add(test);

から、どのようにすれば
ArrayList に格納された string[,] test を取り出すことが出来るでしょうか?

foreach (string[,] func in data) {
Console.Write(data);
}

と書けば取り出せたのですが、
インデックスが0にも関わらず
foreach を使うのは、冗長な気がしており。。。

なお、ArrayList は使うべきでは無いのは解っておりますが、
扱いたい関数の返り値がArrayList のため、
やむなく使っております。

よろしくお願いします。

527 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 22:01:36.60 ID:MBfknsBq.net]
(string[,])data[0]
または data.Cast<string[,]>().FIrst()
dataが空の場合でもコケないようにしたければ上記Firstの代わりにFirstOrDefault

528 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 22:51:04.66 ID:VDw572dB.net]
見た目にエラーが無ければ結果の正しさなどどうでもいい
とはすごい発想ですね

529 名前:デフォルトの名無しさん [2015/05/21(木) 22:55:00.04 ID:Ps6etXnO.net]
>data.Cast<string[,]>().FIrst()

取り出すことが出来ました。

こんな取り出し方があるのですね。
勉強になります。

ありがとうございます。

530 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 23:07:34.12 ID:d30eeU2g.net]
え?
(string[,])data[0]
でよくないか?

531 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 09:59:36.37 ID:tJUwDPLO.net]
System.timers.timer動作中にRadioButtonを押すと、

有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Button1' がアクセスされました。

と、表示されてしまいます。
timer動作中の中どころかソリューション全体の中でもButton1を使用したり関連付ける部分は書いていないのですが・・・。

何か対応方法等ありますでしょうか?
よろしくお願いします。

532 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 10:06:46.74 ID:AYYhXMHp.net]
Nameプロパティが"Button1"ななんかのコントロールがあんじゃねーの?
あとSystem.Timers.Timerは分かってて使ってんだよね?

533 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 10:50:15.90 ID:tJUwDPLO.net]
>>514
Form1.Designers.csも検索してみましたが、"Button1"が他で使われている形跡はありませんでした。
見た目的には安定するSystem.Windows.Forms.Timerを使用してみたところ、
今度はtimerの中のParallel Forで止まる様になってしまいました。

534 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 11:35:09.17 ID:Eq73D2cp.net]
ユーザーコントロール操作しててその中で使われてるとかそんなんじゃね?
Button1にこだわらずにタイマのイベントハンドラ内でコントロール触ってるかどうかをとにかく確認



535 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 12:04:17.52 ID:tJUwDPLO.net]
とりあえず動作としては解決しました。
Button1を消したら今度はButton2でエラーが発生したので特定のコントロールは関係無かったです。

タイマーの中で余計な動きを見せない為にthis.SuspendLayout() とthis.ResumeLayout() を使っていたので、
こちらで引っかかっていました。
これらのメソッドについて、詳しく調べてみます。
ありがとうございました。

536 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 13:13:12.96 ID:JBwzRzqV.net]
あまり把握出来てないのでデバッグのヒントになりそうなやつ
1.例外ブレークポイント
2.スレッドウィンドウ
これでなんか分かるかも

537 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 13:16:00.51 ID:JBwzRzqV.net]
あととりあえず動かしたいならタイマーでやる事をthis.Invokeに変更

538 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 14:59:32.83 ID:G62CPnRd.net]
基本的な
コントロールは別スレッドから操作してはいけない
と言う事が理解できていない気がする

あとは勝手に別スレッドで実行される状況も理解できてない気も

539 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 16:29:40.04 ID:1VpTopWF.net]
>>513
SynchronizingObject

つ ttp://www.cactussoft.co.jp/Sarbo/divCompTimerEvntCS.html

540 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 20:08:10.21 ID:KArwiYHk.net]
VS2013です。
pictureBoxにLoadする画像の上にグリッドを描画したいです。
DrawLineで線分を描画することはできたのですが、破線を描画するにはどうすれば良いでしょうか?
MSDNでGraphicsクラスのメソッドを見てきたのですが、該当するものが無いようです。

541 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 20:27:32.93 ID:KArwiYHk.net]
すみません解決しました

542 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 04:35:31.71 ID:v33s9jMH.net]
質問です
Javaのsynchronized付きのメソッドを含むクラスをC#に移植しようとしているのですが、
GuardedSuspensionパターンで

Task.Run(() => new Task(ClientThread));
Task.Run(() => new Task(ServerThread));

とやるとすぐにプログラムが終了してしまいます

これを

Thread cl = new Thread(new ThreadStart(Client));
new Thread(new ThreadStart(Server));

とやると正常動作します

Taskはすぐに終了してしまうのでしょうか?

543 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 07:41:03.83 ID:R3oTKNZR.net]
プロセスにフォアグラウンドスレッドが存在しなくなると
バックグラウンドスレッドがまだ処理中でもプロセスは終了してしまう
これが原因ではないか

Taskは内部でスレッドプールを使っているが
スレッドプールのスレッドは全てバックグラウンドスレッドだ
フォアグラウンドスレッドが欲しいなら、自分でThreadを作成するべきだ

以下参考資料
https://msdn.microsoft.com/ja-jp/library/h339syd0%28v=vs.110%29.aspx
https://msdn.microsoft.com/ja-jp/library/0ka9477y(v=vs.110).aspx

544 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:34:14.87 ID:tMcWag84.net]
>>525
ありがとうございます
疑問がすっきり解決しました
Taskももう少し改良して欲しいですね・・・



545 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:48:49.67 ID:63j168JE.net]
改良?

546 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:51:40.44 ID:rowGmHFY.net]
Threadのようにいろいろ機能はあるけどThreadよりも使い勝手が良い、みたいな

547 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:54:40.42 ID:5Xzz88z5.net]
TaskScheduler自前で作りゃいいだけだけど
そもそもメインスレッドで待てばいいだろハゲ

548 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 14:34:51.52 ID:buubow6H.net]
.NET3.5ベースで開発しています
あるabstractクラス内のstaticメソッドを動的に舐めて
Dictionary<"メソッド名", メソッド型>に突っ込んでいく処理でつまづいております

codepad.org/uyDTOTDA

取得したメンバを実行するのはInvokeMemberすればいいのですが
今回のケースで探してもなかなか出てきませんでした
よろしくおねがいします

549 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 14:52:20.57 ID:wGou5fq6.net]
Task[] tsk = new Task[] {Task.Factory.StartNew(new Client),
                 Task.Factory.StartNew(new Server)
};
Task.WaitAll(tsk);

こういう風に書くと正常に動きました
お騒がせしました
そりゃMainに書いてりゃMainが終了すれば呼びだされたTaskも強制停止されて
終了してしまう事を忘れていました

550 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 15:19:52.31 ID:MKPJRGG4.net]
>>530
MethodInfo.CreateDelegate

551 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 15:31:25.76 ID:uOKH4JiO.net]
>>530みたいなことやるならMEF使えばいいのに

552 名前:527 mailto:sage [2015/05/25(月) 15:44:28.52 ID:buubow6H.net]
>>532,530

リプライありがとうございます
ご提案いただきましたMethodInfo.CreateDelegate、MEFは、残念ながら.NET 4からの機能です

https://msdn.microsoft.com/ja-jp/library/hh194376%28v=vs.110%29.aspx
https://msdn.microsoft.com/ja-jp/library/dd460648%28v=vs.110%29.aspx

553 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 16:54:45.18 ID:MKPJRGG4.net]
ああ、そうだったか
じゃあDelegate.CreateDelegateのほうで

554 名前:527 mailto:sage [2015/05/25(月) 17:09:02.90 ID:buubow6H.net]
>>535
ありがとうございます!
Delegate.CreateDelegateでいけました!

foreach (MemberInfo m in typeof(Module).GetMembers(BindingFlags.Static | BindingFlags.Public)) {
var del = System.Delegate.CreateDelegate(typeof(method_type), m as MethodInfo);
methods.Add(m.Name, del as method_type);
}



555 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 23:04:17.52 ID:+UFfY2ty.net]
Windowsアプリケーションを作成しているのですが、
private void button_Click(object sender , EventArgs e){ ~~~ }
button.Click += new EventHandler(this.button_Click);
と記述してあるのですが、内部的にどのような処理が行われているのでしょうか。

556 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 23:26:51.92 ID:uOKH4JiO.net]
>>537
button.Click += new EventHandler(…)は
button.add_Click(new EventHandler(…))と同じ
new EventHandler(this.button_Click)はJavaなら
new EventHandler {
 public void Invoke(object sender, EventArgs e) { this.button_Click(sender, e); }
}
に相当する
だからといって何がしたいのかは分からないだろうけど、それはObserverパターンを勉強しろ

557 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 03:24:56.20 ID:fbPfP2jD.net]
TrackBarで、つまみをつかんでいる(つまみの色が変わっている)
かどうかの判定ってできませんか?

558 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 03:30:46.44 ID:fbPfP2jD.net]
あと、チェックボックス付のListViewで、1行選択の解除をやりたいんだけど、
ListViewHitTestInfoでクリックしたサブアイテムのindexを取る方法ってありますか

559 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 04:12:33.48 ID:Ihaek877.net]
>>539
MouseDownとMouseUpのイベントを発生させるといいかも

>>540
こんなのは?

private void listView1_MouseDown(object sender, MouseEventArgs e)
{
ListViewHitTestInfo info = listView1.HitTest(new Point(e.X, e.Y));
int row = info.Item.Index;
int col = info.Item.SubItems.IndexOf(info.SubItem);
label1.Text = "row = " + row + ", col = " + col;
}

560 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 21:58:33.29 ID:XkW9VjQH.net]
WebClientで作成したインスタンスって破棄しないと影響でかいですか?
数秒毎にループでインスタンス作成しては読み取る処理してるんですが、同期処理のせいか重いです。非同期処理はこれから実装を検討してるんですが。

561 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:21:23.93 ID:ihueyhra.net]
>>542
放置プレイで何の問題も起きてないが。

562 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:35:44.05 ID:aznGlafD.net]
数秒毎って、攻撃と思われないように気をつけろよ

563 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:40:12.30 ID:1SVgoR5i.net]
相談室でやってろよ阿呆君

564 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:53:17.63 ID:ihueyhra.net]
>>542
毎回disposeするとHTTP Keep Alive効かないか



565 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 14:16:08.87 ID:SHzqDeqo.net]
>>546
効くだろ。

566 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 19:10:07.05 ID:d869LRaF.net]
>>547
Disposeでコネクション切断されるだろ。

567 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 20:02:27.61 ID:QF6UrsQ/.net]
544のコンピューターでは切断されたんだろうな

568 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 20:48:57.06 ID:kXESabcL.net]
で、結局gc任せでいいの?

569 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 21:01:06.10 ID:+zWW11JT.net]
Disposeによって内部のコネクションプールに戻されるとかじゃねぇの?
Disposeはしといた方が良いと思う

570 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 21:34:23.34 ID:1xJgnWA+.net]
ソース読むとWebClientはただのファクトリーで
Disposeは何もやってないように見える

571 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 14:56:19.16 ID:DRtbRWlm.net]
IDisposeを解放しないバカは死ね
ただしasync/awaitは除く

572 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 17:06:27.61 ID:UmMhJR2/.net]
開放しないとどのような弊害が起きるんでしょう。

573 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:10:40.93 ID:C+IOxaVu.net]
設計上意図されないタイミングで開放するバカもいる

574 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:15:33.23 ID:49aSQ4HZ.net]
一般的なIDisposable実装ではファイナライザでリソース解放するようになっているのでパフォーマンスが低下する



575 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:28:02.76 ID:2+UGB+5g.net]
>>556
適当なこと言うなよ

576 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:55:49.49 ID:y5cl7Y1T.net]
ファイナライザを持つオブジェクトは2回GCしないと消えないので、
GCにかかる時間や頻度、そしてメモリ使用量を増加させる原因になる
Disposeが明示的に呼ばれた場合はSuppressFinalizeでファイナライザを無効化することが推奨されてるから
明示的にDisposすることで結果としてパフォーマンスの向上につながる

577 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 19:37:57.72 ID:vFEdwQTI.net]
IDisposable実装してるクラスは明示的にdisposeした方が良いのが多いが
コネクションプール使ってるヤツは物理的にクローズされてパフォーマンスが落ちるのでものによるな。

578 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 19:45:22.76 ID:u87GwTIT.net]
>>559
例えば?w

579 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 19:53:15.04 ID:zOKa2SxY.net]
常にConnectionと一体になってるような粒度のオブジェクトしか設計したことないんやろ

580 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 20:57:24.50 ID:vFEdwQTI.net]
>>560
SqlConnection クラスとか

581 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 20:58:45.95 ID:d5Z165ny.net]
Disposeしたのに繋がってたら嫌じゃね?

582 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 20:58:57.87 ID:vFEdwQTI.net]
>>561
どういう意味?

583 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:03:22.68 ID:mQMhglYl.net]
SqlConnectionは Dispose = プールに返却 だからDisposeは必須だぞ
使い終わりを検知する方法がないのにどうやって使い回してると思ってたんだ

584 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:26:23.97 ID:zOKa2SxY.net]
落ちもついたところで今日はお開き



585 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:43:46.63 ID:d5Z165ny.net]
おやすみ〜

586 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 22:55:48.95 ID:vFEdwQTI.net]
>>565
コネクションクローズしとくだけで良いだろ。
どうせプロセスが終ればプロセス毎解放されるし。

587 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:13:09.23 ID:nd5twrZx.net]
>>558
>ファイナライザを持つオブジェクトは2回GCしないと消えない

その珍妙な説のソースは?

588 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:46:38.97 ID:T/VeDaq5.net]
>>569
「ソースはMSDN」くらい省略させてくれよ、常識だろ?
https://msdn.microsoft.com/ja-jp/library/ee787088.aspx

589 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:56:09.15 ID:oQYe81Za.net]
ソースが出せない人の常套句「ソースはMSDN」
もちろんリンク先にはソ書かれていない

590 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 00:36:38.12 ID:9foGZIMb.net]
MSDNって言われても初心者的にMSDNはわかりにくいんだよなぁ

591 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 00:55:02.32 ID:QGRYrQik.net]
参照型プロパティの初期化について質問です。

■実装方針
1.プロパティのnewは1度きりで、インスタンスは引き継ぐ。
(初期化しても引き継ぎたい値のコピーやnew処理コスト、コード量増加抑止を目的)
2.プロパティのInitializeは毎回実行。
3.Initializeの引数は

592 名前:Nラス毎に異なる。

■実装例
http://ideone.com/nQJ6VZ

■質問内容
1.Initialize内部では例外が無い前提で実装するのは、多人数開発においてアリか。
2.Initializeの成否でなく、thisを戻り値にする設計は、多人数開発においてアリか。
3.「m1 =(m1 ?? new M1()).Initialize」の部分が定形的なので、もっと省略したり単純化する方法はあるか。
4.実装方針に問題点はあるか?

以上、部分的にでもご意見いただければと思います。
[]
[ここ壊れてます]

593 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 01:29:44.63 ID:MabpreS8.net]
>>573
何のために、このような回りくどいやり方をするのでしょうか?

594 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 02:01:48.74 ID:rnPMXZrB.net]
>Initializeは毎回実行

初期化を複数回呼び出すことがおかしい。
何でInitializeがコンストラクターと別なの?



595 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 06:45:17.54 ID:EczZHdOg.net]
>>569
ごめんなさいは?

596 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 07:03:44.63 ID:EczZHdOg.net]
>>573

1. 例外がスローされる可能性を排除しては「いけない」し、そもそも「できない」。多人数だろうが個人だろうが。
2.
インスタンスを返すこのようなメソッドは静的にしたくなる。
成否と言ってるけどそもそもInitializeは失敗するのか? 失敗したインスタンスはどうするのか?
Initializeという名前だけど、毎回実行なら初期化というより単に情報を与えているだけな気が。
3. そういうレベルじゃなくね? m1, m2は初期化前に触られたらどうなんの?
4. なんか筋が悪いコードに見える

597 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 07:13:17.54 ID:crGWWGGX.net]
コンストラクタで例外投げたくないという話なら分からないでもないが、
Initializeでも投げないとなると、初期化に失敗してる可能性をプロパティ使用時に考慮しなければならない
Initialize呼び忘れのリスクもあるし、ミスを非常に生みやすいクソ設計といえるね

598 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 08:24:58.82 ID:HdJipRY3.net]
ビルダーパターンとメソッドチェーンに妙な感化でもされたのか

599 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 08:26:31.55 ID:E4eD717b.net]
初期化がメソッドチェーンに含まれる設計がクソ
初期化はコンストラクターでやれ

600 名前:570 mailto:sage [2015/05/31(日) 13:31:30.99 ID:QGRYrQik.net]
皆さん、ご意見ご指摘ありがとうございます。
後出しになってすみませんが、まず質問時の補足をさせていただきます。

■状況
現在WPFを勉強中です。
もともと初期化を以下のイメージで実装していました。
これでは、インスタンスの作成とモデル毎に異なる初期化の判別が冗長だと感じたのが今回の質問のきっかけです。
m1 = m1 ?? new M1();
m1.Initialize(hoge,"foo");
m2 = m2 ?? new M2();
m3 = m3 ?? new M3();
if (m3.IsInitialize) {
m3.Reset(dst);
}
else
{
m3.Initialize(dst);
}

■考え方
質問時のコードは、次の考え方を含んでいました。
・コンストラクタでの初期化が適当でないモデルを想定。(継承、シリアル化、バインディング、非同期、他)
・初期化⊃リセットと考え、Initializeにリセットの意味合いを持たせる。
・処理の抽象化とコード量を短縮することを目的に、Initializeをメソッドチェーンにする。
・初期化(リセット)が失敗した場合、エラー度合(処理を進めるのか終了するのか)は、タイミングや他モデルの状態に依存し、
初期化時に例外スローはせずにプロパティ参照時にエラー度合をチェックすべき。

続きます。

601 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 13:34:53.01 ID:QGRYrQik.net]
>>581の続きです。
今回私の考え方に誤りがあることが分かり、勉強になりました。

■反省
ご指摘を受けて、次の是正が必要だと認識しました。
・コンストラクタでの初期化が適当でないものだけ、Initializeを作成する。
・初期化とリセットを混同せず、別々に定義する。
・初期化でのメソッドチェーンはやめる。
・初期化失敗時に例外を投げて問題ない、エラー度合を判断できるクラス設計にすべき。

■お願い
反省点を認識したものの、具体的な実装が浮かびません。
上記コードのようなさまざまな参照型プロパティの初期化が必要な場合、どう効率的に実装するかご提示いただけないでしょうか?
Initializeを作らないというアプローチでもかまいません。

抽象的なお願いとなりますが、ご助力ください。

602 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 15:14:08.09 ID:HdJipRY3.net]
このモデルは本当にコンストラクタでの初期化が適当でないんだろうか

603 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 22:23:16.53 ID:GgyUUQ/3.net]
C#を使うなら諦めろということだ。どうしてもいやならC++を使えばよい。
placement newがある

604 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 22:36:02.70 ID:DItVGOoj.net]
プロパティを普通に作って??は消せよ



605 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 13:53:32.03 ID:ZLkEb6tw.net]
一つのクラスに色々詰め込みすぎだろ
一緒に初期化できないなら別のクラスにするのが筋
例えば永続化層は単なるデータとして分離しろ

606 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 10:57:10.02 ID:+73WPJDz.net]
バックグラウンドで文字列の置換を行っているのですが
DoWorkの引数を複数にした場合の書き方が分からず困っております。
どうすれば正常に動くのか教えてください。

ideone.com/ZATGGK

607 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 11:50:01.20 ID:3K9K5nvj.net]
this.backgroundWorker1.RunWorkerAsync(new object[] { this.workerArgument, this.workerArgument2 });

と引数を設定したんなら

object[] obj = (object[])e.Argument;
string str = (string)obj[0];
string str2 = (string)obj[1];
じゃね?

しかしFormがBackgroundWorkerを公開しちゃってるしよろしくないね
BackgroundWorkerなんて投げ捨ててTask使おうぜTask

608 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 12:42:25.68 ID:+73WPJDz.net]
>>588
教えていただいたとおりにしたところ正常に動作しました。
難しそうですがTaskというものも調べてみようと思います。
どうもありがとうございました。

609 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 20:50:03.01 ID:pCEddnCf.net]
ソレでもいいけど、Tuple使うのが常套手段じゃね?
www.atmarkit.co.jp/fdotnet/dotnettips/1024tuple/tuple.html

610 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 21:18:24.64 ID:16XnEFNb.net]
>>590
これってメソッドとかに渡す時、受け側はどう宣言するの?

611 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 21:29:11.90 ID:Km0g2dva.net]
asyncじゃあかんの?

612 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 23:36:06.84 ID:Xy74cFV6.net]
まだTupleとか言ってるバカがいるのか
タプルってのは var name, age = GetNameAndAge(); のようにして使うもんであり、
間違ってもitem1とかいう意味不明な名前でコードを暗号化するためのものではない
言語レベルでのサポートがない言語で使うべきではない

613 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 01:02:06.86 ID:N6yD348L.net]
dynamicはアカンの

614 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 04:04:12.25 ID:+cwo1qGY.net]
item1とか適当な名前でも問題ないぐらいの処理だからTuple使うわけで
ちゃんとした処理ならちゃんとしたクラス作るか匿名クラスかでやるわ



615 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:15:25.31 ID:Wh0ON4xv.net]
もう質問は解決してますよ
思想の話がしたければ電車に飛び込んだ後、地獄でゆっくりやれよクソカス

616 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:15:29.90 ID:amqoRlyA.net]
ほうほう
では匿名クラスを使ったサンプルとやらを見せて貰おうか

617 名前:デフォルトの名無しさん mailto:sage [2015/0 ]
[ここ壊れてます]

618 名前:6/03(水) 07:27:33.67 ID:Wh0ON4xv.net mailto: 地獄でやれって言ってんだろ痰壷野郎 []
[ここ壊れてます]

619 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:40:18.45 ID:QMuypoEX.net]
TupleはF#のために追加されただけだよ
C#も言語レベルでサポートしてほしい派だけど、
Tuple.CreateやらItem1やらを喜んで使うのはセンスを疑うわ

620 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:42:09.25 ID:u1dB80rd.net]
ウンコはトイレでしてもらえますか?臭いですよ

621 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 17:26:40.68 ID:o7sLDqXU.net]
Tupleは内部の隠ぺいされた範囲内でテンポラリーとして仕方なく使うものじゃないの?

622 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 18:57:18.34 ID:QadS+ygN.net]
型と順序だけ決まっていればいいならTuple
メンバーに名前を付けたいならクラスを定義する
名前を付けたいけど取り出すコードが近くにあるテンポラリなら匿名オブジェクト
名前をつけたいけどクラスを定義するのがダルいならdynamic

タプル型は変数に名前が欲しいかどうかであって、チンポラリとか関係無い

623 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 21:16:51.33 ID:90whoNkH.net]
>>601
クラス内部で使うデータ構造としてお手軽便利に使っておりますが。

624 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 22:09:17.51 ID:RjLZjXm6.net]
IComparerとかIEqualityComparerを実装するのに class と struct のどっちがお勧め?

継承する必要がないなら struct の方がいいんじゃないかと思うんだが



625 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 22:15:57.39 ID:tAqP6WbY.net]
>>604
その問題設定そのものが変

626 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 22:17:10.12 ID:QMuypoEX.net]
本当にそれだけの条件しか考慮しないならclassだろう
CompareやEqualsの呼ばれる頻度が高いならstructはコピーで遅くなる可能性があるし
struct+interfaceはボックス化避けるためにジェネリック多用しなきゃいけなくて不便だし
特殊化でメモリも食う

627 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:05:37.04 ID:hSX2tQGq.net]
ソートメソッド内でIComparerを引数にするメソッドが呼ばれてるからコピーが発生しまくるってこと?
Array.Sortの実装見ただけだけど

628 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:17:57.75 ID:nTFCM4h6.net]
それだけの条件って言うけど
どういう条件下ならstructを選ぶの?
選ぶ理由が全くない気がする

継承云々は問題に聞こえないし(sealedしとけよ)

629 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:21:11.61 ID:pwnhvS/Q.net]
だから問題設定がそもそも変なんだってw
そうとしか言いようがない。

630 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 08:12:26.92 ID:hSX2tQGq.net]
structの方がインスタンス化が早いので

でもソートメソッド内でコピーが発生する実装になってたらデメリットになるなと

631 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 08:32:19.38 ID:xuWz3vjX.net]
何か達成したい目的があって、IComparerを実装するのはその手段だろ?
IComparerを実装するのにどっちがいいかとか意味不明すぎる
Q. 新しい礼服を買ったので週末着ていきたいです。どこに行けばいいですか?
A. 葬式
みたいな質問

632 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 08:46:15.14 ID:bfstKBEm.net]
話の内容が理解できないなら無理してレスしなくてもいいんだよ?

633 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:20:31.70 ID:xy19AX+E.net]
条件提示してんだからそれについて解答すりゃええやん
どういう条件に変わればこっちを選ぶとか蛇足もいいとこ
答えられないから自分の答えられる実装の方がいいとかも論外

634 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:36:35.29 ID:SACPq2eU.net]
御託並べていい気に浸ってんじゃねえよ無職ハゲが



635 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 11:09:16.46 ID:xuWz3vjX.net]
そもそも条件なんか提示されてないに等しいだろ
俺は>>606だが、インターフェイスを強調するからには使用頻度が高いのだろうとか
恐らくパフォーマンスを重視しているのだろうとか
多くの勝手な想像を基にした回答だ
こういう意味不明な質問はまず目的を訊くのが一番手っ取り早くて確実なんだよ

636 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 11:45:56.80 ID:xy19AX+E.net]
classとstructのどっちがいいかと聞かれたらclassと答えとけばいいんじゃないかね
理由
コピーにかかるパフォーマンスとか計算できるぐらいなら質問してこないと判断

637 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 12:13:28.56 ID:03L4l+Cb.net]
理由になってないな。
質問者の質問がトンチンカンなら答える方もトンチンカンときてる

638 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 12:16:51.46 ID:6LXNtE4C.net]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘     
                /イ       ', l  ’     …わかった この話はやめよう
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l    ハイ!! やめやめ
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /

639 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 13:00:46.81 ID:+mmsYIdN.net]
マンガ脳の恐怖、まで読んだ。

640 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 14:25:28.39 ID:18shCTe3.net]
お前らVSはいくつつかってる?オラは2010だべ

641 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 15:17:58.42 ID:ualL+iXH.net]
2013 Community
Gitも使えるんで

642 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:04:23.30 ID:ziyE/dl1.net]
2010個もVS使うのかー

643 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:42:30.85 ID:9wvQs+dO.net]
典型的コミュ障

644 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 17:18:29.15 ID:d0k9FDEW.net]
2013ExpressアンインストせずCommunity入れたら、テンポラリにゴミが徐々に溜まってく不具合にあって
きちんとインストールし直すのに大変だった。



645 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:09:26.15 ID:TGIdieIs.net]
インターフェースからのメソッド呼び出しの質問

structをキャストしたインターフェースからのメソッド呼び出しが、classをキャストしたインターフェースからのメソッド呼び出しより遅いのは何故?
structのキャストはボックス化なので遅いのは分かるけど、メソッド呼び出しも?

>>604だが、IComparerをstructで実装するとソートが遅いのは分かった
くだらん質問してすまんかった
ideone.com/V6biVn

646 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 12:14:41.11 ID:ArINQc3s.net]
メソッドに隠し引数としてインスタンスが渡るときにアンボクシングが発生するからだろ
滅多に使わないから最適化も甘いんだろうな
structのときは代わりにジェネリックのwhere使うとボックス化を回避できるしメソッド呼び出しも速いよ

647 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 01:11:05.16 ID:04NM/uA4.net]
3つの値を保持できるコレクションクラスとか・・・ないですよね・・・?
KEY, val1, val2 みたいな・・・

648 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 04:49:06.42 ID:F9D1Moux.net]
Dictionary<TKey, TValue>のTValueを自前クラスもしくはTupleにするとか、KeyedCollection<T>を実装するとかいくらでも
KEYが特別な意味を持たないならList<T>でも

649 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 05:01:52.19 ID:04NM/uA4.net]
>>628
あーなるほど・・・
ありがとうございました

650 名前: []
[ここ壊れてます]

651 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 11:55:17.80 ID:DogIJv+Z.net]
C#で作ったFormアプリの画面デザインが
そのままhtmlに変換できてWebページに
簡単に作り変えられるような方法やツールは無いですか?

今、初めてhtml書いてWebページ作っているんですが難しいので困っています。

C#のformなら簡単に作れるのでそれがそのままhtmlに変換できればいいのですが。
情報お待ちしています。

652 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:03:44.31 ID:j3Nw075S.net]
ホームページ作成ソフト使え

653 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:06:50.35 ID:9TAyXKx2.net]
なかなか(C#スレとしては)新機軸な質問だな

654 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:19:39.72 ID:JRwr9maH.net]
html手書きしてんの?
勉強になるから続けなさい



655 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:37:08.53 ID:jpaAX+4P.net]
WebアプリでHTML/CSS/JavaScriptは三種の神器ではないか。
HTMLが手書き出来ないとはプログラム業界も末世じゃのぅ。

656 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:58:01.30 ID:tUGAzLyi.net]
そこでWPFの出番!?

657 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 13:19:53.17 ID:9TAyXKx2.net]
お呼びじゃないのよカスWPF

658 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 18:29:11.73 ID:G9GytojR.net]
そろそろWPF出てから10年たつね

659 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:26:53.90 ID:NFG7nQDY.net]
WPFは頭良くないと使えないよな

660 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:31:30.44 ID:jpaAX+4P.net]
Windows/Web FromがExcelでWPF/HTMLがWordって感じだな。
Wordはバカには使えないw

661 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:42:24.55 ID:zNSHofQv.net]
>>639
普通逆だと思うけどw

662 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:42:40.89 ID:NlzRnH5v.net]
HTMLというかWeb MVCはWPFに比べりゃバカ向きだぞ
バインディングなんて複雑な概念がなく、コード書いてHTMLをテキストで吐き出すだけという低脳仕様

663 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:53:31.02 ID:9TAyXKx2.net]
頭が良かったら壊れたアーキテクチャなんか選びませんわ

664 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:16:44.33 ID:jpaAX+4P.net]
>>641
世の中、低脳ばかりだからWPFが流行らないと言いたいのか。



665 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:22:45.51 ID:NlzRnH5v.net]
>>643
WPFが流行らないのは単に学習コストを正当化できないからでしょ
業務アプリに高度なビジュアル表現なんて必要ないし、
バインディングを活用して作るような量産型画面はWebで十分な場合が多い

666 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:38:39.71 ID:H1DMvpQ4.net]
MSは本質的に違うもものを統合しようとして失敗する癖があるな。
シェル+ブラウザ
デスクトップアプリ+Webアプリ
デスクトップ用OS+タブレットOS
他にも有る?いっぱいあるはず。

667 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:44:11.22 ID:eXSgfOqh.net]
企業でwpfの採用が進まず全く普及していない
需要が皆無なので学習者も増えずますます普及が遠のく
こんな悪循環か

668 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:48:12.15 ID:gPTqz+5d.net]
>>644
MVVMガーとかもあるけど結局パフォーマンスでしょ。
全てを保持モード一本で押し切るやり方は現実的じゃないのに結局それを中の人が認められなかった。

669 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:59:05.28 ID:F9D1Moux.net]
wpfはフォントによって文字が滲むのがな…

670 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:40:15.43 ID:2gM0oTMR.net]
>>645
MSに限らんが、Webのモデルをデスクトップに持ち込んでくるようになって
いろいろ使いづらくなったよな。

671 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:05:39.13 ID:jpaAX+4P.net]
>>648
高DPI対応にするにはWPFが必要なのに文字が滲むとは?

672 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:21:52.95 ID:9TAyXKx2.net]
TextFormattingModeとかTextRenderingModeを指定してないんでは
あとはUseLayoutRoundingとか?

たかがテキストくらいデフォルトでベストなソリューション提供しろよ
間抜けかお前はって思うけど

673 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 00:01:26.36 ID:41WPBkin.net]
WPFが悪いわけではないが
96dpiの糞モニターでクリアタイプは目に良くない
WinFormの糞フォントが最適

674 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 00:33:29.83 ID:3tKyuKE8.net]
クリアタイプはGDI+の機能ですw



675 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 03:30:23.96 ID:p+QzNCcW.net]
wpf+net3.5で文字.や画像が滲んだのは遠い記憶

676 名前:デフォルトの名無しさん [2015/06/07(日) 09:20:51.82 ID:bLu9Dp3Q.net]
ポストグレスに、データをインサートするため、
下記のようなコードを書いたのですが、
DataRowの"b"に該当する列にnullが出現すると、
「オブジェクトをDBNullから他のタイプにキャストすることはできません。」と
怒られてしまいます。

var com = new NpgsqlCommand(sqlStr, conn);
com.Parameters.Add(new NpgsqlParameter("a", DbType.String) { Value = row.Field<string>("a") });
↓オブジェクトをDBNullから他のタイプにキャストすることはできません。
com.Parameters.Add(new NpgsqlParameter("b", DbType.Double) { Value = Convert.ToDouble(row["b"]) });

どのようにすれば回避出来るでしょうか。
よろしくお願いします。

677 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 09:31:34.43 ID:8NCQzbFC.net]
不具合でも理不尽な仕様でもなく純粋にお前が間違ってるんだから回避という言い方はやめろ
row.Field<double?>(“b”)

678 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 09:34:38.34 ID:XmKcFN/K.net]
>>645
統合=シームレス=先進的!便利!普及!

みたいな思想が根底にあるんだと思うわ
違い(セキュリティの深刻度・UIのレベル)を完全に吸収できればそれもいいんだろうけど
中途半端に終わってるよな

679 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 14:29:09.63 ID:bLu9Dp3Q.net]
>>656
com.Parameters.Add(new NpgsqlParameter("b", DbType.Double?) { Value = row.Field<double>("b") });

という書き方は試していたのですが、DataRow側をキャストしてやらないと
意味が無いんですね。

よくよく考えると、なるほどと思うのですが、
ハマると何がおかしいのかも解らなくなり。

基本をしっかり勉強しようと思います。
ありがとうございます。

680 名前:デフォルトの名無しさん [2015/06/07(日) 14:38:28.12 ID:bLu9Dp3Q.net]
Silverlightが終わった時点で、
WPFもバッサリ切り捨てて欲しいと思う今日この頃。

WEBアプリと共通化できない時点で、WPFの魅力は
8割くらい消えたと思う。

余計なプラットフォームを増産するくらいなら、
フォームアプリのUIをリッチに進化させてくれるだけで
十分なのになぁ。

681 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 15:47:59.15 ID:NaIbOULp.net]
フォームを切り捨てるべき

682 名前:デフォルトの名無しさん [2015/06/07(日) 16:28:11.24 ID:bLu9Dp3Q.net]
>フォームを切り捨てるべき

1000件を超えるデータをDataGridに表示したとき、
スクロールが満足に出来なくて、
WPFに未来は無いと思ったけど、
やり方によって早くなるのアレ。

683 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 16:43:06.02 ID:FHoyYiwS.net]
そらそんなの重いに決まってる。仮想ビューにしとけよ

684 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 16:54:54.38 ID:XmKcFN/K.net]
ワロタ



685 名前:デフォルトの名無しさん [2015/06/07(日) 17:32:42.45 ID:LuDRIQ04.net]
ジェネリックスで特定のインターフェイスを食わせると、
そいつのNullオブジェクトを作って返すメソッドて可能?

686 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 17:37:36.05 ID:8NCQzbFC.net]
Castle DynamicProxyでも使えば

687 名前:デフォルトの名無しさん [2015/06/07(日) 17:43:25.91 ID:LuDRIQ04.net]
トン
ググってたらRealProxyってのが標準であるっぽいな、使い方調べてみるわ

688 名前:デフォルトの名無しさん [2015/06/07(日) 17:52:51.05 ID:LuDRIQ04.net]
調べたが、結論から言うとだめだった
後出しですまんが、ポータブルクラスライブラリの中で使いたかったんだ

689 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 18:12:22.29 ID:8NCQzbFC.net]
>>667
ストアアプリ対応を視野に入れるなら動的コード生成は使えないと思う
T4かビルドステップで静的生成するしかないな

690 名前:デフォルトの名無しさん [2015/06/10(水) 09:42:27.56 ID:ygS+rXar.net]
C#で自身を自動アップデートしたいのですがClickOnce以外で簡単な方法はないでしょうか?
Visual Studio 2013 Communityを使用しています。

691 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 20:09:37.98 ID:mqs3U/0V.net]
更新用のプロセスを起動して更新してもらったら 。

692 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 22:09:57.35 ID:kk1whmrM.net]
自身をリネームしてダウンロード、それを立ち上げたらリネームした古exeを削除でいけるってさ
でもこの方法だと互換性タブの内容とか初期化されそうだけど

693 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 23:42:51.42 ID:PClQRuuG.net]
前作った時は、更新チェック、更新するプログラムを先に起動させて
必要なら本体をダウンロード。なければ本体を実行
更新用のプログラムの更新が面倒だが、とりあえず放置したw

694 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 00:16:00.76 ID:APPInatq.net]
更新用のプログラムの更新は本体がする



695 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 00:32:40.92 ID:Js1obKtO.net]
マニフェスト適切に設定すればProgram Filesの中も書き換えられるんだっけ?

その辺クリアしても、適当にやるとインストーラーの自己修復機能が働いていろいろ
大惨事になりそうな気がw

696 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 04:32:28.69 ID:/dmUwZL+.net]
Blendに期待してやってみたが
なんだこれは
カラムの色を変えるだけでものすごく面倒
カラムの色を変えられると困るの?
普通変えたいだろ?
変えさせたくない理由でもあるのか?
ボタンが星形にできます?
なめんなよカス
誰がそんなのほしいんだよ

何が開発効率あがるだ
色変えられないならWinFormsと一緒だろうが
ふざけんな!

697 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:21:26.51 ID:RSM2GHGx.net]
>>674
アドバタイズショートカットを無効にしとけば問題なし。
マニフェスト設定うんぬんって何?

698 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:26:04.61 ID:/LMhdntT.net]
>>675
ビルマの星形死体が恵まれた痛みなの

699 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 12:57:44.67 ID:8v336KOJ.net]
>>675
まぁ単純なのだったらWinFormの方がはえーだろう

700 名前:デフォルトの名無しさん [2015/06/11(木) 14:00:29.61 ID:7IeLpwzz.net]
// 構成
public interface IHoge { event EventHandler Foo; }
internal static class IHogeEx
{
 public static void Dispatch(this IHoge hoge) { /*hoge.Foo発火*/ }
}
 :
// 使用例
var hoge = provider.GetService<IHoge>();
hoge.Dispatch();

上記のように、IHoge に拡張メソッドを生やして、そこからイベントを発火させたいんだけど、
何かスマートなやり方ないだろうか

701 名前:デフォルトの名無しさん [2015/06/11(木) 14:03:09.70 ID:y/M+seZQ.net]
MVVMフレームワークは何を使えば一番良いですか?
沢山あってどれを使っていいのかわからないので教えてください

702 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 14:30:38.84 ID:tam4srza.net]
>>679
インターフェイスに発火用のメソッドを追加しないなら、
ダウンキャストかdynamicで直接実装クラスの発火メソッドを呼ぶしかない

703 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 15:16:11.25 ID:hKCw6BKi.net]
スマートも糞もないよねえw

704 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 20:53:35.21 ID:kfIByvae.net]
string src =



705 名前:"abc1";
string dst = "abc2";

この場合"abc"と返してくれる
こんな感じで2つの文字列からマッチしたとこだけ
返してくれる関数って存在しますか?
[]
[ここ壊れてます]

706 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:02:35.81 ID:Rh7nLCb0.net]
「こんな感じ」なんて曖昧な要件に疑問を感じないならプログラマ辞めるべき

707 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:14:06.58 ID:0Pxomqre.net]
「マッチしたとこだけ」の仕様から詰めていこうか

まあ標準メソッドにはないだろうな

708 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:18:18.91 ID:Ufbw3rnf.net]
>>683
積集合でよければ、LINQのIntersect

string src = "abc1";
string dst = "abc2";

var results = src.Intersect(dst);

709 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:19:54.57 ID:tam4srza.net]
先頭からだけでいいなら
new string(src.Zip(dst, (x, y) => new[] { x, y }).TakeWhile(xy => xy[0] == xy[1]).Select(xy => x[0]).ToArray())

710 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:23:09.74 ID:Ufbw3rnf.net]
そうだよね
普通先頭からだよね

なにやってんだ、俺

711 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:45:19.58 ID:kfIByvae.net]
集合演算とかいうのを知らなかったこれ便利ですね
ありがとうございます

712 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 10:49:10.11 ID:2WRpjnt2.net]
684は順序依存だから集合演算というよりリスト演算やシーケンス演算と呼ぶべきだろ

713 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:07:40.50 ID:qBpXFxOz.net]
HDD内のすべてのファイル情報を保存したい
どういう形式で保存すればいいの?
新しく作ったプロジェクトからも簡単に読めるような
汎用的なのがあったら教えて

714 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:18:10.66 ID:quZXc/6x.net]
VHDにしてマウントすれば最強だろ



715 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:20:08.31 ID:tFsYlsAo.net]
>>691
情報なわけだろ?
MongoDBとかSQLite、テキスト的なものならJSONとか色々あるべさ。

716 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:29:40.61 ID:quZXc/6x.net]
渾身のギャグ空振り

717 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 22:44:32.47 ID:lGbqaeoG.net]
1つメソッドがあったとします。例 test(int A,int B)
このメソッドは割と多くの場所で呼んでいるのですが、引数を追加したくなりました。
test(int A,int B,string C)

参照を検索して1つ1つ手直しすると結構時間がかかってげんなりするのですが、
例えばCに一番多く使う単語"tarou"をメソッドの修正と一緒にすべての参照元にも追加できたら助かるのですが、
そういったまとめて修正するような方法ってないでしょうか?

718 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 22:50:30.69 ID:dm5ygxXA.net]
正規表現置換で全く問題なく置換できる気がする

719 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 22:53:12.22 ID:lGbqaeoG.net]
なるほど
そういう機能みたいなのはないですよね
正規表現で置換が一般的なのかな
正規表現で置換してみます
ありがとう

720 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:00:46.72 ID:PfZlC01y.net]
オーバーロードしたら?
アセンブリ内限定のメンバならオプション引数もアリ

721 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:01:53.04 ID:Kc7Sj0Rn.net]
正規表現がカンペキとな。
どれだけ693は頭が悪いんだ。
ところで692は釣り質問でいいんだよな?

722 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 23:03:55.51 ID:lGbqaeoG.net]
釣りじゃなくて割と真面目に困ってますよー
ぱっと調べてもまとめて修正するような方法見当たらなかったので、皆参照一覧にして手打ちしてるのかなと・・・
正規表現だと真ん中に追加するのが大変そうでした

723 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 23:10:45.98 ID:lGbqaeoG.net]
>>698
違う内容のメソッドを書きたいわけではなく、(引数が異なるほぼ空のメソッドでもう片方を呼べということだとは思うのですが)
追加修正のたびにオーバーロードを増やすのもちょっと抵抗あるので、オーバーロードは避けたいかもしれません
オプション引数というのはよく知らんかったので

724 名前:調べてみたら希望に合いそうなものでしたが、途中だけ省略するのは出来ないっぽいんですね
もう少し調べてみます
ありがとう
[]
[ここ壊れてます]



725 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:14:10.93 ID:5TqWIrUh.net]
オプション引数なんかよりよっぽどいいのに何が抵抗なんだろうな

726 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 23:19:45.78 ID:lGbqaeoG.net]
>>702
引数の修正の度に同じメソッドが大量にできたら分かり辛くありませんか?
修正の度に5個も6個もオーバーロード作って重ねていくのが一般的なのです?

727 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:20:59.14 ID:n696dST6.net]
メソッド増やしたくないならオプション引数でOK

いざとなったら名前付き引数もできるし
面倒だからあんまり使わないけど

728 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:29:40.51 ID:GYWzfYC0.net]
素直に引数を直した方がいいと思うがな。

729 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:32:47.43 ID:5TqWIrUh.net]
>>703
オプション引数出来たの4.0だからそれまでのものはそうだよ
あとはコンパイル時に補完される為外部に公開する場合後で変更できなくなって困る事、定数しか指定できない事から、基本的にオーバーロード使ってる
引数の組み合わせが膨大になるならオプション引数使うかな

730 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 04:19:23.11 ID:ds8D2Sdy.net]
引数が5回も6回も変更されて、そのたびに呼び出し元も全部修正するとか
そんな奴が設計するようなプロジェクトには関わりあいたくないなぁ

731 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 06:06:42.74 ID:KSn5zbP7.net]
>>707
ここふらっとスレですし
皆が皆、プロジェクトwとかに関わってるドカタじゃないわけで

732 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 08:00:57.79 ID:KmHyJDy9.net]
ドカタを馬鹿にしたな
埋めたろか

733 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 08:16:10.09 ID:CvpFt6eB.net]
ドカタが馬鹿にされるんじゃない
馬鹿だからドカタと呼ばれるんだ

734 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 10:25:20.60 ID:54ObALVU.net]
引数がお互いに関連の強いものだったら
クラスにまとめてそのオブジェクトで渡すようにしておけばいいし



735 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 11:47:39.05 ID:xsEqCEFL.net]
総務部長からドカタになったサラリーマンもいますけどなにか

736 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:02:19.55 ID:LG1+98Ox.net]
オブジェクトで渡します!

その結果↓
Show(new ShowArg("タイトル","内容",3,5,Beep.Short,Color.Red,640,480,5,5,5,5));

737 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:06:21.98 ID:Rkh+1gQ3.net]
>>712
総務って一番無能やん

738 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:18:07.18 ID:KSn5zbP7.net]
>>713
コンストラクタにもクラスでまとめてオブジェクトで渡すんだよ

739 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 14:58:17.94 ID:ds8D2Sdy.net]
>>715
そのコンストラクタに渡すオブジェクトのコンストラクタにもクラスでまとめて渡すわけですね

740 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 15:06:40.87 ID:AmgidL1k.net]
誰かゾフィー呼んでこい

741 名前:デフォルトの名無しさん [2015/06/16(火) 01:47:38.73 ID:jDZvQ/PE.net]
.NET4.5で追加されたHttpClientを使って、何を通信しようとしても通信せずに
HelloWorldだけ返すダミークライアントを作りたい

HttpClientのコンストラクタに空っぽのHttpResponseMessageを返す
ダミーのHttpMessageHandlerを食わせてリクエスト投げると
全く応答が帰ってこなくなるんだが、どう修正すればいいんだろう

742 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 03:46:48.21 ID:IOmyN/sL.net]
>>717
私は命を2つ持ってきた

743 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:03:42.49 ID:tzCZhzEY.net]
>>718
自己レス。
なんか原因はっきりしないけど、TaskCompletionSource<HttpResponseMessage>使わずに
Task<HttpResponseMessage>使ってて、何らかの要因でデッドロック起こしてたのが原因ぽい。
TaskCompletionSource<HttpResponseMessage>使ったらうまいことHttpClientをジャックすることができたぽい

744 名前:デフォルトの名無しさん [2015/06/16(火) 22:05:41.35 ID:P66hsbhM.net]
MVCで、コントローラ側での処理の正否を
ビュー側でメッセージ出力するため、
苦し紛れにViewBagをフラグ代わりに使ったのですが、
アンチパターンをしている気がしてなりません。

もっと王道的なやり方はあるでしょうか?

@if(ViewBag.Flag){
<script type="text/javascript">
$(function () {
 メッセージ出力処理
};
});
</script>
}

よろしくお願いします。



745 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:22:55.39 ID:y+ZRno0+.net]
>>721
flash messageってやつだな
リダイレクトを挟む場合が多いからそのままビューに返すんじゃなくてCookieに突っ込め

746 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:12:44.06 ID:/9CY7bHI.net]
>Cookieに突っ込め

HTTPの仕組みぐらい理解しろ

747 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:19:59.36 ID:F0xlXNRF.net]
>>723
一時的なメッセージにcookieを使うのは普通にあるぞ
もしくはセッション使う

748 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:29:54.96 ID:83TxfKRo.net]
そもそもHTTPの仕組みと何の関係が

749 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 16:14:47.37 ID:yetVKz/D.net]
こんな簡単なのでうまいこと非同期で動くのか?
qa.atmarkit.co.jp/q/9443

750 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 01:52:24.13 ID:8P85rytq.net]
プログラミング始めようと練習問題やってて
これは難解な問題だぞ・・・と複雑に作っちゃって悩みまくってやっとできたと思って答えみたらクソ単純だったこの怒りをどうすればいいですか

751 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:01:23.61 ID:Zk4Vy/pu.net]
ネンネしな

752 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:31:34.35 ID:luyYzeTf.net]
>>727
そこでこんなに簡素化できるんだと喜べないなら向いてない

753 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:44:55.44 ID:/ecUlEFr.net]
tooltipの最大横幅設定ってないの?
わからなかったから、TTM_GETMAXTIPWIDTH送ろうと思ってHWND取得しようとしたら公開されてないみたいだし

754 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 07:52:23.63 ID:MLPf1LVb.net]
Handleプロパティがinternalなんでリフレクションで取得だな



755 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:06:44.22 ID:SQas+mXZ.net]
>>730
試す気ないけど行けそうな気がする
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.popupeventargs(v=vs.110).aspx

ToolTipSizeプロパティ

756 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:29:08.45 ID:/ecUlEFr.net]
>732
Popupでリサイズすると表示位置も変更しなきゃならないみたい
コントロールのMouseEnterで、tooltipのShowメゾットを実行して、位置指定で表示できたんだけど、
ShowAlwaysをtrueにしてても、アクティブウインドウにしてないとtooltipを表示してくれない・・・
MouseEnterはアクティブでなくても動くんだけど、Showメゾットは動いてくれない?
ShowAlwaysはSetToolTipで関連付けた時だけ有効なのかな?
>731
MFCの6.0しか触ったことない超初心者なので、まったく意味不明な単語なんだけど、
ググッて調べてみます

757 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:48:48.18 ID:SQas+mXZ.net]
なかなか難儀なものだ

758 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 09:00:12.23 ID:MLPf1LVb.net]
ここらのコードみれば何やってるか分かるから
referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/ToolTip.cs,f38ab504e7bae391

リフレクションで取得なら
var hwnd = (IntPtr)typeof( ToolTip ).GetProperty( "Handle", BindingFlags.NonPublic | BindingFlags.Instance ).GetValue( toolTip, null );

759 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 02:26:32.06 ID:e7ddVa/R.net]


760 名前:C#では、このような事は出来ないのでしょうか?

if (mode == 1)
{
System.Windows.Forms.Button[] objs;
objs = new System.Windows.Forms.Button[len];
}
else
{
System.Windows.Forms.TextBox[] objs;
objs = new System.Windows.Forms.TextBox[len];
}
[]
[ここ壊れてます]

761 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 03:15:04.92 ID:TkbfpMuS.net]
できますよ。

762 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 07:50:23.16 ID:e7ddVa/R.net]
>>737
objsを使おうとすると、エラーになります。
やはり、c#ではこういった動的な割り当ては無理のようですね・・・

763 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 08:05:01.44 ID:CxQBllDu.net]
プログラミング向いてなさすぎて草

764 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 08:21:34.61 ID:YVDfker6.net]
順序立てで物事を進められない人間は何にも向いてない



765 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:01:27.03 ID:yHcBqTMw.net]
出来ない事を出来ると言い張るよりはマシでしょうけどね。
その程度ならc#知らない偽物でも出来ますから。

766 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:05:32.96 ID:PbyfPj3O.net]
>>741
煽って回答を引き出そうとする古典的手法ですね

767 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:06:00.47 ID:w3qLtTPG.net]
おいおい真性か?

…外に出さないからこうなるんですよ
避妊の話ですよ、もちろん
教育にコストが掛けられない家庭が子供を産むから
馬鹿の再生産が止まらないんですね

768 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:16:06.74 ID:Rpgf6TLH.net]
そうだな外に出すべきだったな。
スコープってプログラミング入門だとどの辺に来るかな。
変数ステートメント制御構造ブロックの次くらいか。

769 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:30:34.71 ID:OM/mL1R2.net]
Console.WriteLine("{0}unko{1}oshikko", oshiri, tinko);
こうだったり
Console.WriteLine(oshiri + "unko" + tinko + "oshikko");
こんなだったり解説サイトにとって違いますけどどっちが一般的とかあるんですか?
好みの問題?

770 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:55:39.70 ID:pkAyx7dR.net]
どっちでもいい
現実には書式指定が必要で前者しか使えないケースが多いから、統一するために常に前者を使う人もいるし
後者で十分なのに重い処理が走るのが気持ち悪いからとか分かりやすいからとかで後者が好きな人もいる

771 名前:デフォルトの名無しさん [2015/06/19(金) 13:56:50.97 ID:iLnBptiu.net]
文字列の中に {0} とか入ってない前提?

772 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:17:35.89 ID:0hBKkSHT.net]
@ if(flag == 1)
A if(1 == flag) 

どっちがいいとかありますか?

773 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:26:10.71 ID:CxQBllDu.net]
@がいい

774 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:46:44.67 ID:a3/nS/y/.net]
俺は1だが、=が足りなくてバグることあるからとかで2にしろってとこもあんな



775 名前:デフォルトの名無しさん [2015/06/19(金) 15:48:59.15 ID:iLnBptiu.net]
=が足りなくてって、、C#だぞ、、、
読んで自然な方で

776 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:57:58.99 ID:Kz33B61u.net]
>>748
@一択ですね。

777 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 16:08:36.21 ID:UZ90C/fG.net]
flagならbool型にしろ
bool型にできないならflagなんて名前つけるな
って言うところじゃないの?

778 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 17:55:12.81 ID:aR5XXTpt.net]
AはCやる人が良くやるけどC#では用無しだよ、警告ですらない
この文は型不一致エラーだから

779 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 17:59:21.88 ID:e+GzY/Uc.net]
『1==flag』
この書き方をする低能は自分が今までやってきたこと以外は受け入れ不能だなら
用無しなどと言っても無駄。
「ボクは今までこうしてきた」
これが低能の全て

780 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:01:04.33 ID:7lvdbQLv.net]
俺のflagは108式まであるで

781 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:03:16.40 ID:bQ8ksHOB.net]
>>748
俺だっら
bool isE

782 名前:qual_Ichi(int Flag)
っていう関数作るわ。
[]
[ここ壊れてます]

783 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:19:49.79 ID:r/i/iowz.net]
>>755
自分で自分のことを書いてることに気付きもしないあんたもどうかと思うけどねw

784 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:40:00.84 ID:iLnBptiu.net]
>>756
国コード入れて国旗の種類で使うとかねw



785 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:08:38.00 ID:0hBKkSHT.net]
Cやってきた人がAの書き方をしています
Aでも動くじゃないですか、何でダメなんですか
と言う相手を説得して@にさせるには、どういう論法で言えばいいですか?

786 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:27:58.72 ID:AG39fnfm.net]
わずかでも合理性がある限り説得は無意味
ルールで強制させるのみ

787 名前:デフォルトの名無しさん [2015/06/19(金) 19:28:02.10 ID:pnFSsBPf.net]
別に2でもよくね。理由があれば。
まあ、2の場面思い浮かばんけど。

788 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:28:28.86 ID:r/i/iowz.net]
>>760
別に説得する必要なんかない。
どっちでも同じだから。

確かにC#で(2)に固執するのもアホだが、それを言うなら(1)に固執するのも同じアホ。

789 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:32:49.13 ID:yksfiqHC.net]
同じアホでもC#でも2にするべきだってひとと1にするべきだってひとはアホの向く方向が違うから

790 名前:デフォルトの名無しさん [2015/06/19(金) 19:34:40.95 ID:pnFSsBPf.net]
どっちでも同じなら、1でも2でもいいし、ルールを強制しようがしまいがどうでもいい。
つまり、どうでもいい。

791 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:58:20.07 ID:aR5XXTpt.net]
用がない場合はルールを強制するのは愚行
ルールは必要最低限が鉄則

792 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:00:29.58 ID:PbyfPj3O.net]
でもそういうアホが集まってるところではルールで縛ったほうが安全かも

793 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:03:17.96 ID:7aVYy04Z.net]
そういうところではAはNGなのに丸コピぺはレビューでスルーされるという現象がよく見られる
形式的なルールで縛ろうとするのは上が無能で本質を理解していないことによる場合が多い

794 名前:デフォルトの名無しさん [2015/06/19(金) 22:20:43.34 ID:pnFSsBPf.net]
ルールを最低限にするのなら、ルールを最低限にするなどというルールを設けるんじゃない。早速矛盾してんだよ。



795 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:35:53.66 ID:8vlDffY6.net]
>>769
駄レス

796 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:30:15.86 ID:yM1kMDKK.net]
もしflgが1ならって思考に合わせた書き方をしたほうがいいに決まってる

もし1とflgが同じならなんて思考するやつはどこかおかしい

797 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:31:30.88 ID:P+7QrmPi.net]
2はコーディング規約としてはありがちだな
間違って=にした時に代入が出来なくてコンパイルエラーで検出出来るから。

798 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:32:56.84 ID:qQ/qlsDi.net]
>>771
低能は意味を考えないから
おかしいと感じないらしい

799 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:33:02.36 ID:P+7QrmPi.net]
おっとC#スレだったw
>>772はC言語の話しなww

800 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:37:17.22 ID:SQF/c2YL.net]
>>771
>>773
言っちゃ悪いけど、それは「ボキュは演算子の交換法則なんて知りません」って語るに落ちてるだけ。
ばっかじゃねえの本当。

恥ずかしげもなくむしろドヤ顔で勝ち誇ったように間抜けなことを言ってるんだから笑える

801 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:41:07.20 ID:qQ/qlsDi.net]
↑文脈とか意味を考えない低能の典型例
読みにくいだろ低能め

802 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:52:25.05 ID:yM1kMDKK.net]
とりあえず?で書くやつはバグが多すぎる

803 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 02:34:42.39 ID:6sbS7y/z.net]
func1(){

return {1,2,3};
}

var a=func1();
var b=a[0];
var c=a[1];
var d=a[2];

とかかな?

804 名前:デフォルトの名無しさん [2015/06/20(土) 15:00:31.13 ID:XTWPFSca.net]
CとC#が同じ高級言語で括られるのは違和感があるので



805 名前:すが、
第○世代言語とか呼び方はあるのでしょうか?
[]
[ここ壊れてます]

806 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 15:36:18.37 ID:s+YE9WtJ.net]
ありません

807 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 16:24:23.17 ID:P+7QrmPi.net]
Cが構造化言語、C#がオブジェクト指向言語ぐらいかな

808 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 18:58:22.36 ID:hdd6Iv+Z.net]
>>779
c言語は高級言語じゃないだろ。アセンブリ言語と高級言語の間くらいの言語だと思う。

809 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 19:02:41.29 ID:tDc6RR32.net]
一般的には高級言語だよ。この単語自体もう時代遅れでどうでもいい分類だがw
ttp://www.weblio.jp/content/%E9%AB%98%E7%B4%9A%E8%A8%80%E8%AA%9E
ttp://wiki.ju.edu.jo/ja/articles/%E9%AB%98/%E7%B4%9A/%E8%A8%80/%E9%AB%98%E7%B4%9A%E8%A8%80%E8%AA%9E.html

810 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 19:36:29.11 ID:YQlfkZgo.net]
C言語が生まれた当時なら最先端の高級言語だなw
時代と共に古くなって、今や高級とは言いづらいけど

811 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:14:40.77 ID:74rB06rU.net]
>>784
言語の古さと、高級言語かどうかは全然別の話でしょ
Cより古いものにも、FORTRANとかCOBOLとかPascalといった
高級言語があったわけだから

812 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:46:40.54 ID:KZdkN3xz.net]
最近は高級言語なんて死後に近いから、高級言語の本来の意味を知ってるのは
俺みたいなオジサンだけかもしれないね。

高級言語の「高級」はA級戦犯とかと同じで別にグレードが高いって意味じゃないのよw

813 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:47:56.56 ID:K7xzi7Ex.net]
性癖
悩ましい
敷居が高い
高級言語 ←new

814 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 22:20:48.72 ID:xyJjBRvk.net]
英wikipedia見てたら超高水準言語という区分があった



815 名前:デフォルトの名無しさん [2015/06/20(土) 23:29:40.23 ID:XTWPFSca.net]
>>783
>代表的な高級言語の種類としては、BASIC、FORTRAN、COBOL、C言語、C++、Java、Pascal、Lisp、Prolog、Smalltalkなどがある。

やはり、CとJAVAが同じ括りというのは、少し乱暴な気がします。

IT関係では、誰も気にしないんでしょうかねぇ。。。

816 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:44:44.79 ID:9Ukvdsb1.net]
そんな括りなんてどうでもいいと思うんだが
使わなきゃならない時にはそんな括りなんて何の意味も持ってないんだから

817 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:55:28.97 ID:fYXXUti6.net]
>>789は、そこで上げた言語だと、どの言語が同じ括りになると思うの?

818 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 00:44:13.38 ID:LtTYOS1I.net]
>>789
気にするのは大学生だけだよ
職場じゃそれ使って何ができるかの方が重要

819 名前:デフォルトの名無しさん [2015/06/21(日) 00:56:02.48 ID:oygMyh8G.net]
C#やJAVAのようなモダンな言語は、オブジェクト指向を採用していて
ジェネリックやラムダみたいなモダンな仕組があるのに対し、
制御で使われるような無印Cが、同じ高級言語扱いというのが
気になりまして。

世代がかなり違うんじゃないかなと思うんですよ。

まあ、実害なんて何も無いんでしょうけど。。。

820 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:00:01.67 ID:8J8Zrkqm.net]
>>789
だから高級って言葉の語感に引きずられるからそうなる。
だから死後だって言ってるじゃん。

821 名前:デフォルトの名無しさん [2015/06/21(日) 01:16:47.05 ID:oygMyh8G.net]
もう、高級言語なんて言葉は使わないんですね。

情報処理技術者試験の勉強で覚えたのですが、
情報古いよって感じですね。

5000円払って、古い話題を必死に覚えるとか、
勉強のモチベーションが下がりますね。

822 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:22:39.36 ID:8J8Zrkqm.net]
勉強とか言ってる割に高級言語って言葉の本来の意味を確認はしないのねw

823 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:26:19.30 ID:xl4g4Hja.net]
アセンブリ言語は高級言語?
マシン語だけが低級言語だよね?

824 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 03 ]
[ここ壊れてます]



825 名前::59:16.75 ID:0g6EdVmv.net mailto: 低脳には関係ないから安心して寝なさい []
[ここ壊れてます]

826 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 04:25:32.56 ID:Y9sFMHSn.net]
BitConverter.ToInt32(bytes, 0);
とすればバイト配列は整数に変換できますけど
配列ではなくバイト1つを整数に変換するにはどうするんですか?

827 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 06:43:11.87 ID:mTVvjbYS.net]
Oh...

int i = (int)b;

828 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 06:46:12.05 ID:0VYCqu5Y.net]
>>799
キャスト

829 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 07:20:02.94 ID:EnXta+1+.net]
>>793
高級言語と低級言語の2択で分けるとアセンブリ言語ととマシン語以外は高級言語の範疇だから
無印c言語は高級言語だね。

830 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 09:53:22.86 ID:xl4g4Hja.net]
論理回路とアセンブリ言語とC言語はやっておかないと
プログラミングできるとは言えないと思う

831 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:05:19.79 ID:faNvk/Nn.net]
include <stdio.h>

int main (void){

int a=0,b=0;

scanf ("%d",&a);
scanf ("%d",&b);

If ( a==b ) printf ("2つの数値はおなじです\n");
else if ( a>b) printf("一つ目のほうが大きいね\n");
else printf("2つ目のほうが大きいね\n");

return 0;
}




というプログラムなんですが2つめのscanfが入力待ちになりません

832 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:07:57.76 ID:LtTYOS1I.net]
ID:xl4g4Hja 低級かまってちゃん

833 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:35:35.74 ID:EnXta+1+.net]
>>804
scanf ("%d%d", &a, &b);

834 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:37:15.21 ID:0VYCqu5Y.net]
>>804
スレ違い
ここはC#言語のスレ、それはC言語



835 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 11:29:32.98 ID:UwfP1xrU.net]
ま、改行が入ってそれ捨てない限り無限待ちだな

836 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:05:53.87 ID:y0tN2zKc.net]
論理回路とアセンブリ言語とC言語やってないプログラマがクソほどいる件

837 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:19:07.33 ID:+krrUuSd.net]
>>809
論理回路?
ブール代数だろ

838 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:22:30.22 ID:PGSQ0zuB.net]
何だよブール代数ってw
論理回路は論理回路だろw

Cはともかくアセンブリとかカルノー図書いて論理圧縮とか
今時普通のプログラマにはまず要らん無駄知識だとは思うが、
さすがに言われてそれが何か知らないのはかなり恥ずかしいレベルだなw

839 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:23:42.09 ID:NbAxzy03.net]
どうしたオッサン。
午前中のミーティングで若手に虐められてこんなとこで愚痴ってんの?
死ねよ、今すぐ

840 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:30:05.89 ID:PGSQ0zuB.net]
>>812
精神分析学で言う」「投影」のいいサンプルだねおたくw

841 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:53:12.43 ID:+krrUuSd.net]
>>811
プログラミングに必要なのは納戸じゃなくてブール代数だろ

842 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 13:05:30.79 ID:i7SsAXTs.net]
あー、昔はブール代数って言わなかったのよ

843 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 14:29:24.68 ID:etNNMvNi.net]
>>814
そもそもブール代数って高校の数Iだろw
必用とか必用でないとかそういうレベルかよw

844 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 14:53:48.18 ID:ytIOVG8W.net]
アセンブリ言語アレルギー多すぎw
やってみればC#より簡単なことがわかるのに



845 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 15:00:27.86 ID:zYgzAJ7h.net]
アセンブラはデバッグでハマった時にC#など目じゃない悲惨さが待っています

846 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 15:11:27.95 ID:+krrUuSd.net]
>>817
c#のジェネリックリストをアセンブラで実装してくれ

847 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 15:30:57.40 ID:0p5/VSpX.net]
それは、既に実装されているのでわ?でないと、そもそも動いてないと思う>ジェネリックリスト

848 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 16:50:46.39 ID:+krrUuSd.net]
>>820
低水準言語にそんなものを期待されても

849 名前:デフォルトの名無しさん [2015/06/22(月) 19:27:41.51 ID:E8VLkWhf.net]
質問です
以下のようにnamespace

850 名前:に$rootnamespace$と指定してあるソースを見たのですが、
自分のプロジェクトで同じように指定してもエラーになります
これはどうやって設定すればいいのですか?

namespace $rootnamespace$
{
  ....
}
[]
[ここ壊れてます]

851 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:45:14.31 ID:tbUBo/lz.net]
置換用のプレースホルダだろう
ビルドの時にスクリプトで置換したりするんじゃね
C#はドルマーク使わないからね

852 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:45:33.78 ID:74RPk8kg.net]
>>822
それ、コードスニペット(のソース)じゃないの?w

853 名前:デフォルトの名無しさん [2015/06/22(月) 20:32:05.98 ID:E8VLkWhf.net]
>>823-824
普通に使用できるものではないんですね
ありがとうございました

854 名前:デフォルトの名無しさん [2015/06/22(月) 22:33:37.30 ID:kX4NZqJx.net]
.NETはC#一本で良いんじゃないかと思うのですが、
VB.NETを切らない理由は何なのでしょうか?



855 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:37:12.91 ID:LnmegFLf.net]
>>826
vb.netの方がシェアが多いから

856 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:39:33.29 ID:tbUBo/lz.net]
VB.NETを切ったりしたら大量の自殺者が出るだろ
社会正義のためだよ

857 名前:デフォルトの名無しさん [2015/06/22(月) 22:43:14.43 ID:kX4NZqJx.net]
VB.NETをやっている人間が、
VB無くなったらJAVAやると言っていたのですが、
VB使いの時点で、C#やるしか無いだろうなと思いました。

858 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:46:32.05 ID:tbUBo/lz.net]
ドカタワールドなら技術的な部分はノウハウ(笑)をコピペするだけだから
.NETとJavaの違いなんて大して問題にならんのよ

859 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:49:24.32 ID:kDeJuTTl.net]
うちの会社、俺がVB.NETからC#への移行を提案したけど
コードの移植が面倒だとか読めないだとか色々言われて結局VB.NETのままだよ
まぢ死んで欲しい

860 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:36:15.28 ID:uXQtn42r.net]
javaは甘くねえよなあ
OracleはMSみたいにおシモの世話なんかしない

861 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:38:32.00 ID:uXQtn42r.net]
たぶんMavenとかGradleのエラーが解決できなくて途方に暮れると思うんですけど(名推理)

862 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 07:46:08.06 ID:LhhNEn7L.net]
>>832
JavaFXの現状見ればそれがよくわかる。
しょせんDB屋。アプリケーション類はゴミ。

863 名前:デフォルトの名無しさん [2015/06/23(火) 07:49:00.71 ID:U2+OnFmB.net]
>>831
おめーが死ねってw
実際、c#移行したって使えねーんじゃ論外だろ。まず、現実見ろよ。

864 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 07:56:53.71 ID:LhhNEn7L.net]
>>831
会社としてはおまえが氏ねって思ってるよ。
それと、お前のその行為、間違いなく査定に引っかかってるから覚悟して
おけよ。

非常に身勝手な提案として認識されてるから。言語を変えるなんておまえ
のような三下が提起することじゃねぇんだよ。三流プログラマー君。



865 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 07:58:12.61 ID:7ayUCnwb.net]
マ板でやれ

866 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 08:06:23.29 ID:rzZlb/rV.net]
朝から元気だな

867 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 11:48:09.08 ID:9zw4MnHg.net]
会社選ぶときに主要言語を調べて入らないとこうなるんだな笑

868 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 13:23:49.18 ID:5RwnSh85.net]
社畜自慢はマ板でやれよ

869 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 15:31:00.12 ID:8ljnnXhY.net]
無職がマ板に行けるとでも?

870 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:14:19.04 ID:NJre/ebQ.net]
C#が仕事でかける職場は少ないけどな。自社製品主力かつスクラップ&ビルドが主流で、社内ツール作るかwindowアプリケーション作らないとC#は選択肢にならない

871 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:20:07.95 ID:iTFSMqDv.net]
ごめんね、それ以外でC# 仕事で使ってて

872 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:28:15.90 ID:26 ]
[ここ壊れてます]

873 名前:y4Wu4y.net mailto: >>842
今時社内でもウェブアプリが主流ですよ。
C#なんて要らんわ
[]
[ここ壊れてます]

874 名前:デフォルトの名無しさん [2015/06/23(火) 22:34:56.55 ID:tJjJE4PL.net]
OS別 アプリ開発言語

iOS = objective-c おおー
Android = JAVA いいねー
Windows = VB.NET へこーーーーーーーー

斜陽のMSらしいヘボ言語だよね。

C#なら、こんな負い目感じなかっただろうに。。。



875 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:39:28.60 ID:0NuC1wwg.net]
>>845
少なくともjavaよりvbの方がだいぶましw
vbはコ冗長になるけど(特にラムダとか酷い)出来ることはC#とそう違わないし

っていうか、10年前ならともかく今あえてC#じゃなくてVBを選択してる企業は
なかなかないと思うが

876 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 01:42:38.39 ID:q52g9Sr7.net]
ストラテジーパターンのメリットが分かりません

877 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 02:03:16.33 ID:x8P9P79s.net]
https://github.com/TakahashiShuuhei/DesignPatternPractice/blob/master/Strategy.cpp#L42

こういうのどうよ
これはC++だけど関数ポインタをdelegateで書いたりActionで書いたりする

878 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 15:02:35.40 ID:zRV+32S/.net]
>>831
教育と移行にかかる工数とスケジュール表を稟議書にまとめて提出しろ
ダメでも評価は上がるべ

879 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 15:59:30.08 ID:RTg8LFF8.net]
混ぜちゃえ

880 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 16:11:52.31 ID:NHniIMjV.net]
俺も混在でいいと思うけど
そのうちVBしかダメなやつ以外はC#に移行するだろ

881 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 17:06:57.61 ID:vFKyrOSk.net]
VB独自の機能使われるとC#のプロジェクトから参照した時に
いろいろ困ったことが起こるんだったような

882 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 17:30:33.90 ID:NVaEfsnd.net]
VB独自の機能…?あったっけ?.netになってから?

883 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:06:37.53 ID:no9AmW7J.net]
それに関しては多分CLSCompliantAttribute付けとけば警告してくれるんだよね?

884 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:28:20.96 ID:sRqUdszq.net]
>>853
引数付きプロパティとか。
名前付き引数もたぶんC#と微妙に違う。
場合によってはオーバーロードの解決法の違いも問題になるかも。
あとインターフェイス関係が結構違う。



885 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:44:50.16 ID:RTg8LFF8.net]
VB.NETでインターフェースを使ってるの見たことがない

886 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 03:30:46.63 ID:pZAotZeg.net]
今はオプション引数も対応してるし
困る事といえばVB.NET側の修正やらされる時くらいかな
C#に戻った時に、ついDimと書いてしまう

887 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 08:24:31.88 ID:XFqbgY05.net]
VBからC#を参照すると、refまたはoutでオーバーロードしてるメソッドが困ったことになるのは知ってる

888 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:11:36.76 ID:TDcnlZ9r.net]
そんなVB以下の糞を垂れ流す奴が悪い

889 名前:デフォルトの名無しさん [2015/06/25(木) 22:12:13.25 ID:RTWId8Mi.net]
>そんなVB以下の糞を垂れ流す奴が悪い

どういう理由でアンチパターンなのでしょうか?
後学のために教えてください。

890 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:37:06.83 ID:U7g+0mTH.net]
>>857
俺もつい
varって書いちまうわ

891 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 16:13:21.68 ID:U7E4+CJP.net]
>>738
理由は分からんが、実際エラーになるね。

892 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 16:50:56.90 ID:Z3cTZ1J0.net]
>>862
そんな演技してまで答えて欲しいのか?ゴミw

893 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 18:05:59.07 ID:l3ThfphX.net]
これは酷いwww

894 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:21:39.88 ID:oMjJ ]
[ここ壊れてます]



895 名前:ITJg.net mailto: 最初は煽ってたけど、居付かれて地縛霊になったら困るだろ……

Control[] objs;  // ←Controlの配列にしておく。ButtonもTextBoxもControlを継承しているの
if (mode == 1)
{
 objs = new System.Windows.Forms.Button[len];
}
else
{
 objs = new System.Windows.Forms.TextBox[len];
}
[]
[ここ壊れてます]

896 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:24:28.29 ID:OIUfWa0r.net]
スクリプト言語使いはスコープの概念を知らないか…

897 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:33:04.77 ID:jWa9J4oZ.net]
配列の共変性を使うのはお勧めしないな
Javaの負の遺産みたいなもんだ
>>865だと結局後で型チェック&ダウンキャストをしない限りは
わざわざ配列の型を作り分ける意味がないわけだし

898 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 04:21:47.51 ID:o3dT3qrp.net]
ここまで丁寧に教えてもらったなら、もう大丈夫だろう

899 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 04:43:08.62 ID:6yK3ftLr.net]
元の質問者は、型のシステムが理解できてないのか、スコープが理解できてないのかわからん
たぶん両方理解できてないんだろうけど

900 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:38:59.62 ID:iDD3CLpV.net]
>>867
もともと同じ変数に入れようとしてるわけだし、それは込みじゃね?

それになんかオブジェクト指向してる気がして楽しいだろ
初学者には楽しさも必要

901 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:39:37.05 ID:iDD3CLpV.net]
あーそれともダックタイピングを無意識に要求していたのかな

902 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:08:22.40 ID:R5WbdKN1.net]
int[] i = {1, 2}
という配列があるとして、i[0]をa変数に、i[1]をb変数に入れるのをスマートに行う方法はないでしょうか?

Pythonであれば
a, b = i
のようにできることをやりたいです。

今は
int a = i[0]
int b = i[1]
としているのですが、もっとスマートにする方法はないかと考えています。

903 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:10:53.30 ID:xbG7ljXN.net]
ない
C#はスクリプト言語ではないので、そういうタプル的な値を扱うときは
ちゃんとクラスを定義して使うのが普通

904 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:14:17.28 ID:xbG7ljXN.net]
ちなみにクラスを定義する簡単な方法としては、
var i = new { a = 1, b = 2 };
(使うときは Console.WriteLine(i.a)のようにする)
のように書ける匿名型という機能がある
System.Tupleなんてのもあるが言語でサポートされてる訳じゃないのでお勧めしない



905 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:34:09.37 ID:R5WbdKN1.net]
ありがとうございます。
そのiは実際にはReadLineで読み込んだ文字列をSplitしてintに変換したような配列になります。

なので、その配列に代入されているとインデクサでアクセスする必要が有るため、わかりやすい変数名をスマートに付けれる方法がないかと思っていました。
C#を勉強し始めたところでまだまだルールがわからず、スクリプト言語の考えを前提に持ってしまっているのかもしれません。


ありがとうございました。

906 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 21:23:40.36 ID:n+6r1LD8.net]
>var i = new { a = 1, b = 2 };

初心者ですがこれはじめて知った
無名関数は知ってたけど、これは便利だな

907 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 03:54:38.43 ID:w++X9/Nf.net]
2次元配列をforeachで回すのはどうすればよいのでしょう
以下はエラーが出てしまいます

int[,] cards = new int[100,2];
foreach (int[,] card in cards)

908 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 04:10:59.08 ID:x/T4p/ZN.net]
foreachを多次元配列に対して使うとSelectMany()メソッドみたいに平坦化してしまうから
気になるなら普通にfor文を使った方がいい

int[,] cards = new int[100, 2];
foreach (var card2 in cards) {
Console.Write(card2 + " ");
}
Console.WriteLine();

909 名前:デフォルトの名無しさん [2015/06/29(月) 23:24:49.10 ID:bidzkCNd.net]
こんばんは。
教えてください
VSでwebサイトを作っています。
SQLにある温度計データを引っ張ってきてグラフ

910 名前:化して
推移を見ています。

Chartとデータソースを使用していて問題なかったのですが、
過去分のデータが見たいなと思ったとき今のやり方では見れません。
(データソースの構成で最新100件でグラフにしています。)

そこで、ドロップダウンリストから年月を指定して
その中で100件のデータを引っ張りグラフ化したいです。

分からない点としては、正直、全部なのですが
SQLサーバーにdate(例:2015/06/29/23:00:00)temp(例:20.2)
とある場合はドロップダウンリストで年月を選択する方法がわかりません。

SQLサーバーに上のような形式で入っている時点で
年月のみ抽出というのは不可能なのでしょうか?

SQL言語の質問かもしれませんが
きっとクラスを作成するだろうと思い
こちらに記入しました。

どなたか知恵をお貸しください。
よろしくお願いします。
[]
[ここ壊れてます]

911 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:49:23.72 ID:lRRDyv15.net]
株価のチャートを自作したいす

912 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 00:05:34.96 ID:LiiqQaQT.net]
>>879
SELECT date, temp
FROM お前の表
WHERE ? <= date AND date <= ?
LIMIT 100
?にはそれぞれ開始日時と終了日時をバインドする

913 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:36:45.32 ID:RyZIYf8u.net]
between、、、

914 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:49:11.94 ID:9tUPOc+y.net]
null許容型(int?とか)ってあまり?使わない方が良いって聞いたんですが、なぜですか?



915 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:25:56.90 ID:AoMT9Nrc.net]
データベース以外でってこと?

916 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:58:23.92 ID:9tUPOc+y.net]
すみません、あやふやなんですが何かの掲示板(多分2ch)で
結構前に「null許容型はやめろ(クソ)」的なレスが結構続いてたので、聞いてみました

逆にデータベースでは、例えばBooleanならtrueとfalse以外「値が未設定」を表現するために
nullを使うと思いますが、そういう用途ではOK(問題ない)という事ですか?

また、逆に問題が出る使用例があれば教えて下さい。

917 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:24:21.76 ID:AoMT9Nrc.net]
>>885
ここ読んでさらに疑問があれば質問すれば
https://code.msdn.microsoft.com/windowsdesktop/7-null-null-null-48ae7f82

むやみに使うのではなく使うことで可読性が良くなりバグも減るなら使えばって感じのこと書いてある

918 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:35:41.24 ID:AoMT9Nrc.net]
データベースでNULLを排除したコードを書くのは非現実的だとも書いてある

919 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:55:25.65 ID:9tUPOc+y.net]
>>886
ありがとうございます

920 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 08:39:43.88 ID:6xoEPUUH.net]
>>881
convertでyymmにして拾うのとどっちが早いんでしょう
C#じゃないけど

921 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 15:26:37.90 ID:Sta9LMr5.net]
WebでSQLを使うときはSQLインジェクションが起こらないように注意して作らんとな

922 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:39:30.86 ID:kfPim06m.net]
WPFでボタンをクリックするとウェブページを非同期で取得するプログラムを
書いたのですが
自作ライブラリ内でこのように記述するとtask.Wait();でGUIが応答しなくなります
var task=GetWebPageAsync(webUri);
task.Wait();
string htmlText = task.Result ;
処理を追ってみるとGetWebPageAsyncメソッド内の下記の部分のあと
GUIが表示され処理が中断されるみたいです
HttpResponseMessage res = await client.GetAsync(uri);


923 名前:理由がよくわからないまま
string htmlText= await GetWebPageAsync(webUri);
と書き直すと処理が実行されました
何が問題なのでしょうか
[]
[ここ壊れてます]

924 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:55:31.70 ID:lMyegDBc.net]
>task.Wait();
>string htmlText = task.Result ;

ここでバリバリ終了を待ってるじゃん。バリバリ。



925 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:59:45.12 ID:kfPim06m.net]
もう一つわからないのが>>891で取得したデータを
HogeItemsに設定してListBoxにバインドしているのですが
ListBoxに表示されません
ページの取得とプロパティの値に設定は出来ています
MVVMフレームワークとしてPrismを使用してます

<ListBox ItemsSource="{Binding HogeItems}" Height="500">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

コンストラクタ内
SearchCommand = new DelegateCommand(() => {HogeSearch();});

private async void HogeSearch(){
var list = await Hoge.SearchAsync();
this.HogeItems = new ObservableCollection<HogeItem>(list);}

926 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:22:19.59 ID:kfPim06m.net]
>>892
それが下記サイトを参考にコンソールアプリで作っていたときは
問題なくタスク完了したのですが
WPFで利用するとGUIがフリーズしてタスクが完了しません
フリーズするだけならわかりますが、タスクが完了しないのがなぜなのかわかりません

.NET TIPS:Html Agility Packを使ってWebページをスクレイピングするには?[C#、VB] - @IT

www.atmarkit.co.jp/ait/articles/1501/27/news140.html


.NET TIPS:HttpClientクラスでWebページを取得するには?[C#、VB] - @IT

www.atmarkit.co.jp/ait/articles/1501/06/news086.html
上のページから抜粋
webTask.Wait(); // Mainメソッドではawaitできないので、処理が完了するまで待機する

927 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:30:33.50 ID:LLinkmjy.net]
HogeItemsプロパティの変更通知はちゃんとしてるのか?

928 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 15:38:30.48 ID:kfPim06m.net]
HogeItemのプロパティに変更通知を設定しないとだめだったんですね
ObservableCollectionに入れれば必要ないと思ってました

929 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 19:48:54.41 ID:DTddCrxB.net]
>>891
コンソールアプリとwpfみたいなguiアプリではTaskの実行コンテキストが違うからってのがあるかな。

メインでResultを受け取るには、awaitの後にConfigureAwait(false)が必要。
var ret = await Abc().ConfigureAwait(false);

別のやり方としては、WaitとかResultで受け取らず、ContinueWithで以降の処理を囲むという手もある。
まあ、この方法はイベントハンドラの中の改変量が多くなるけど

c# Task 実行コンテキスト 辺りの言葉で探してみるといいよ

930 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:12:55.47 ID:cqLm13Og.net]
知ってると思うけどasync/awaitを使う関数はTaskもしくはTask<T>を返さないといかんよ

931 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:52:29.17 ID:+trI441A.net]
>メインでResultを受け取るには、awaitの後にConfigureAwait(false)が必要。

何言ってるんだこのばかは

932 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 21:47:59.99 ID:lMyegDBc.net]
つまりスレの総意としては、「初心者にasync/awaitを触らすな」でおkだな

933 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 21:55:16.01 ID:TcFd+yBB.net]
>>898
正確には「イベント処理だけはvoidでそれ以外はTask/Task<T>を返すべき」って事だな

neue.cc/2013/10/10_429.html

ここに async void がまずい理由がうまくまとめられてる
あと

stackoverflow.com/questions/14177891/can-somebody-please-explain-async-await

こういう所を読めばasync/awaitの意味が直感的に理解できるだろ
最初からUIせずにまずコンソール画面

934 名前:で遊んでみるといいと思う []
[ここ壊れてます]



935 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:05:16.30 ID:8z426iG1.net]
そもそも結果を返さない非同期処理は避けるべきだろ
Taskで副作用やると簡単にスパゲッティの出来上がり

936 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:10:43.83 ID:TcFd+yBB.net]
だな
永久ループのTaskとか誰得

937 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:20:52.29 ID:/J4bS24z.net]
今までWeb系とかやったことなくてASP.NET MVC5実践プログラミングっての買って触ってみてるんだけど、
新しいWebサイト追加したらファイルがものすごい数できてワロタ・・・みんなこれをすいすい使えるとかすげえな・・・

938 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:34:28.57 ID:XZhIE+dJ.net]
大丈夫
ほとんどのドカタは理解せずに使ってるだけ

939 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:37:28.27 ID:jqzDD9Cy.net]
拡張子aspxで(特に速度面で)まともなサービスを見たことがない
理解せずにドカタが使ってるという指摘は恐らく正しいのだろう

940 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:40:59.12 ID:/J4bS24z.net]
まじか。まあ自分も触って2日目だから諦めずに進めるよ。がんばって一流の土方になるよ

941 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:41:40.43 ID:8z426iG1.net]
Webなんか所詮来たリクエストに文字列返すだけやで

942 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:43:07.86 ID:G2Z5fyBt.net]
ASP.NET MVCは.aspxより体感で10倍ぐらい遅い。
ログインページとかのチンケなビューを表示させるだけで
相当な処理時間を要する。

943 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:50:54.07 ID:/J4bS24z.net]
aspxっていうのはweb Formsっていう認識であってます?
ネットで調べたときはMVCが主流とあったので、先攻してMVCをやってるんだけど、
まだ結構業務とかでは使われてるものですかね?

一応赤間信幸さんのWebアプリケーション構築技法っていう本を
数百円でゲットしてあるので平行して進める予定です。

944 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:50:58.15 ID:fbUsRR4f.net]
MVCってそんなに遅いの?



945 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:53:29.97 ID:8z426iG1.net]
使い方が間違ってるだけ

946 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:14:50.49 ID:6NbSjz3o.net]
>>898
>>901
データバインディングと非同期 ? C# Advent Calendar 2014 | kekyoの丼
www.kekyo.net/2014/12/21/4638

※一部抜粋
この例は本物(CLR)のイベントハンドラではありませんが、
ICommandによって間接的に呼び出されるコールバックとして、
広義において同じと見なしても良いと思います。

このように説明されていたのでasync voidを使用したのですが問題有りますか?
そもそもAction型なので戻り値が設定できません

コンストラクタ内
SearchCommand = new DelegateCommand(() => {HogeSearch();});

private async void HogeSearch(){
var list = await Hoge.SearchAsync();
this.HogeItems = new ObservableCollection<HogeItem>(list);}

947 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:59:43.49 ID:Eju8VvyX.net]
>>913
そういうのは、イベントと同じで仕方なくasync voidを使うケースになるんじゃないかな。
それしか手段がないということで。

948 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:25:55.14 ID:izkJyB4/.net]
実行中の他のフォームに対してString^を渡したいんですけど、C#の超初心者なんで、
EnumWindowsでタイトルを探してHWND取得して、マーシャルした*TCHARでグローバルATOMを作成して
SendMessageで渡すという方法くらいしか思いつきません
なんかかっこいい方法ありませんか?

949 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:31:29.80 ID:tXGVZqg3.net]
async/awaitの使い方に関してはこの辺り読んどけ <

950 名前:br>
http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
https://msdn.microsoft.com/ja-jp/magazine/jj991977.aspx
[]
[ここ壊れてます]

951 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:47:17.82 ID:1taOWumU.net]
>>913
値を返す必要がない非同期なんだからTask.Factory.CreateNewでWaitなしでも同じ事だね

952 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:52:04.59 ID:1taOWumU.net]
おっと間違えてた
メソッドのなかでさらにawaitやってるんだからメソッドの中でTask.Factory.CreateNewやればいいな
asyncを使う必要性はむしろ例外が投げられた時に適切に対処出来るかどうかに関係する

953 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 08:03:29.48 ID:XweApYF/.net]
>>915
プロセス跨ぐならIPC
跨がないなら普通にメソッド呼べ

954 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 22:51:37.10 ID:4BNFPd6R.net]
ポリモーフィックな処理を書きたいときって
インターフェースを使うのと仮想メソッドを使うので理論的にはどっちが速いの?



955 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 23:39:26.50 ID:AiijB2ck.net]
変わらないんじゃないの?実測するしかないけど
abstructとvirtualの違いだよね?abstructは全てvirtualであるためなのか
virtualを付けるとコンパイルエラーになる

それからインターフェースのBaseを呼び出す事が出来ない

インターフェースは多重継承みたいな事をしたい時に使ってるけど

956 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:06:24.07 ID:t3F14P3X.net]
デフォルトのawaitの外側でWaitしたらあかんよ。

957 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:08:41.27 ID:t3F14P3X.net]
デッドロックするからね。
awaitは処理完了後UIスレッドに続きを実行させようとするが、Waitで完了待ちしてるからUIスレッドはいつまで待っても空かない。
双方待ちあってデッドロック。

958 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:10:44.89 ID:t3F14P3X.net]
それを防ぐにはawaitのときにConfigureAwait(false)するなりが必要。

959 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:13:12.96 ID:t3F14P3X.net]
つまり>>897は正しいわけだけどいきなりバカ言われて終わってるな。

960 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:17:28.88 ID:jZs8Gwbi.net]
Twitterと勘違いして単文連投してんのか?ボケ
片山MZも似たような病気発症してるよな
アスペに共通する病なのか?

961 名前:デフォルトの名無しさん [2015/07/03(金) 09:17:49.13 ID:aTUcbAAr.net]
WPFでDataGridのItemSourceにObservableCollection<MyData>をBindingしているのですが、
ObservableCollection<MyData>の特定のデータを変更した際に、DataGridのスクロールを変更があったデータの位置(行)に移動したいです。
どのようにすればいいでしょうか?

962 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:42:07.68 ID:3rp9Mnby.net]
>>925
ワロタ
たしかにそうだな

963 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:43:40.63 ID:mX8fKKOT.net]
VMの変更時にメッセンジャーとか使ってVに通知してScrollIntoViewすればいいんじゃない

964 名前:デフォルトの名無しさん [2015/07/03(金) 09:47:04.79 ID:aTUcbAAr.net]
>>929
ありがとうございます、やってみます



965 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:55:39.32 ID:xTjRlvwx.net]
>>930
ScrollIntoViewは仮想化切らないとマトモに動かないから中尉

966 名前:デフォルトの名無しさん [2015/07/03(金) 10:45:26.48 ID:JghQIuWO.net]
asp.net mvc でdbにsqliteを使うことはできますか?

967 名前:デフォルトの名無しさん [2015/07/03(金) 10:54:35.26 ID:aTUcbAAr.net]
>>931
ありがとうございます。
参考にさせて頂きます。

968 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:50:01.29 ID:7czX/gB0.net]
>>932
使えるって実用に耐えるかってことなら無理だね。
素直にSQL Serverを使うべき。

969 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 12:11:33.74 ID:SPEM/1YO.net]
>>920
インターフェイスは重い、仮想の方が速いってのが基本ではあるけど、最適化技術も進んでるので条件によってはほとんど変わらない。
まあでもやっぱり仮想の方が速いかな。

970 名前:デフォルトの名無しさん [2015/07/03(金) 12:23:00.35 ID:JghQIuWO.net]
>>934
実用に耐えれなくても大丈夫です。
sql serverだと勝手に色々

971 名前:やってくれて便利すぎるのでsqliteとかで中身理解しながら勉強したいなと思って []
[ここ壊れてます]

972 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 14:23:52.58 ID:rDeS7aaJ.net]
それはDBMSじゃなくてORMの問題かと
SQLServerでいいからEF使わないで直接DbConnectionでSQL投げたらいい

973 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:42:42.38 ID:7czX/gB0.net]
>>936
sqliteなんてサブセットだからちゃんとしたDBを学んだ人間が使うべきもの
勉強ならSQL ServerやPostgreSQLで学ぶべき

974 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:47:24.03 ID:uO8sjm4v.net]
別に何を使ったっていいだろ
sqliteはスタンドアローンで動くしユーザーやら何やらDBサーバー側の設定を気にせず使えるからとっかかりは楽だと思う



975 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:48:54.97 ID:lmzcW47C.net]
>>923
そうそうそうなんです、UIスレッドに戻ろうとして
Task.Waitで止まってます
わかりやすい、ありがとうございます
ってことは@ITのコードはコンソールアプリじゃないと機能しないようなものなんですね

976 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:51:50.93 ID:7czX/gB0.net]
>>939
じゃあそれでいいです。

977 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:06:51.66 ID:jZs8Gwbi.net]
だよな!

978 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:07:54.64 ID:lmzcW47C.net]
qwerty2501.hatenablog.com/entry/2014/04/24/235849
ここがすごくわかりやすく説明してた
上記サイトの一文
・基本的にはライブラリ内でawaitする場合はConfigureAwait(false)すること


自分の問題はここだった
WebPageをダウンロードするライブラリを利用するメインで
例外をキャッチしたかった

979 名前:デフォルトの名無しさん [2015/07/03(金) 19:24:19.48 ID:JghQIuWO.net]
>>937
まだ勉強不足なんですけと、dbcontextを継承してそれをいじくるんですかね?
来週色々試してみます!

980 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 19:58:43.81 ID:uMdddorU.net]
DBの勉強したいならEFの再発明を1回やっとけばおk

981 名前:デフォルトの名無しさん [2015/07/04(土) 02:55:41.29 ID:A6eGrjpU.net]
>>945
メンバ名とカラム名を自動で紐付けるような感じですよね

982 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 12:41:38.87 ID:u/y4FI+O.net]
それだけじゃないけどな
クエリの動的生成やら更新の追跡やら自前でやると結構めんどくさいよ

983 名前:デフォルトの名無しさん [2015/07/04(土) 13:34:46.43 ID:YKtPOMLD.net]
更新の追跡ってなんですか??

984 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:34:35.19 ID:Yn2KkVMN.net]
JavaのjBatchのようなバッチ処理のフレームワークありませんか?



985 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 16:55:53.12 ID:y9JP5enm.net]
www40.atwiki.jp/spellbound/pages/1405.html

ここを見てストップウォッチを作っているのですが、うまくいきません

基本的な事が出来たのでテストすると、1時間までは正常表示されるのですが
1時間以上経過すると「分」を表示する部分が「2時間235分」とか表示されてしまいます

// start押したら計測開始
time_A += Time.deltaTime;
// Textコンポに表示
timer_A.text = Mathf.Floor(time_A / 3600f).ToString() + "時間 " + Mathf.Floor(time_A / 60f).ToString() + "分 " + Mathf.Floor(time_A % 60f).ToString();

やってる事はunityですが質問はC#だと思うので、こちらで質問させて頂きました
何かアドヴァイスを頂きたいのですが、どうしたらいいでしょうか?

986 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 16:58:18.01 ID:YYyieqqT.net]
例えば2時間30分のときにtime_Aにはどんな値が入ってて、それを60で割って表示したらどんな値が出力される?

987 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:08:41.01 ID:y9JP5enm.net]
>>951
time_Aには9000・・・?
60で割ると150ですかね
あまり自信ないです・・・

988 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:12:12.71 ID:YYyieqqT.net]
>>952
150になるなら、2時間150分って表示されることになるだろ?だから150になるような計算じゃなくて30になるようにしないと駄目

989 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:15:47.28 ID:Rsiji3ml.net]
ヒントは秒の所に

990 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:17:33.59 ID:y9JP5enm.net]
>>953
あー・・・なるほど
たぶん分かったと思うので、試してみます
ありがとうございました。

991 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:25:47.09 ID:yvuAj/xu.net]
>>950
まんまstopwatchクラスとかあるんだが

992 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:42:25.14 ID:aXZfp9EM.net]
ま、誰もが一度は通る細道よ
もぞもぞっとしてああそうか、で終わりよ

993 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:30:09.15 ID:U6+aOXmn.net]
C#もメソッドの複数戻り値欲しい
対応する他の言語も増えてるんだし
あ、Tupleは論外です

994 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:41:53.84 ID:TS0XlDWE.net]
言語仕様にごちゃごちゃ言えるレベルかよ
コード書いてろよタコ



995 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:46:01.63 ID:ZxkWSQzJ.net]
その複数の戻り値を格納したクラスのオブジェクトを返せばいいだけでは

996 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:23:42.50 ID:pk39sm1t.net]
dynamicでむちゃくちゃシンプルに複数戻り値のメソッド記述できるだろ

997 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:53:13.21 ID:PjK/lpsq.net]
連想配列を使うのが流行ってる

998 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 11:46:55.79 ID:kBfZhVx2.net]
>>958
なぜ論外なのか教えてください

999 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:12:07.88 ID:qt5SIPya.net]
メソッドから複数の戻り値返せるような言語の例をあげて欲しいんだが

1000 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:15:50.25 ID:EDjn9D6L.net]
Go、Scala、python、perl、ruby

1001 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:17:20.40 ID:IXTBYhaq.net]
tuple返したらだめなん?

1002 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:18:44.80 ID:mRhwc0pv.net]
>>961
どうやるん?

1003 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:19:07.82 ID:sTXZljFQ.net]
>>960
それだと最大でメソッドごとにクラスが必要でクラスごとにプロパティを持つことになりますね
これが陳腐、非生産的なので複数戻り値をサポートする言語が増えています
>>961
dynamicは実行速度が低速なので論外です

1004 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:28:03.41 ID:WTwMH7IK.net]
C#にも匿名型があるじゃん



1005 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:30:19.81 ID:sTXZljFQ.net]
ほぅ、では匿名型で書いてみましょうか
どうなると思います?

1006 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:40:17.61 ID:qt5SIPya.net]
>>965
Goは確かにできるみたいだな。これは面白そうではあるけど
それ以外で直接、複数戻り値返せるのはなさそうだけど?
あくまで戻してるのは配列やリストだろ。それを複数変数に一括代入できるだけで
だったらC#でもオブジェクトの配列でも戻せば良いんじゃね
オブジェクト指向としての設計方針がどうなのかはしらんが

匿名クラスが戻り値に指定出来れば面白いかもしれんのだがなぁ
出来ない事は無いような気がするんだが、やらない方針なのか

1007 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:43:35.50 ID:pk39sm1t.net]
>>967
private void button1_Click(object sender, EventArgs e)
{
var packed = GetHoge ();
if (packed.IsOK)
{
textBox1.Text = packed.Name;
}
}

private dynamic GetHoge ()
{
return new { Name = "ほげ", IsOK = true };
}

1008 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:48:04.38 ID:TS0XlDWE.net]
うんこに触りまくりだなキミら

1009 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:49:18.70 ID:pk39sm1t.net]
>>968
速度が必要なところではクラスを使って問題ないところでdynamic
使い分けがめんどくさいなら他の言語に行けば

1010 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:54:29.41 ID:EDjn9D6L.net]
>>971
内部的にはどの言語も戻してるのは配列やリストだし、C#でも同じことはできるが
例えばperlなら下のように簡単にできるってのがメリットってだけだからな

sub a { return (123, "abc"); }
my ($aaa, $bbb) = a();

1011 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:00:51.91 ID:mRhwc0pv.net]
>>972
ありがとー
名無しクラスで

1012 名前:返すのか []
[ここ壊れてます]

1013 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:15:07.21 ID:qt5SIPya.net]
匿名型は型もってるけど、ダイナミックは結局Object型だからなぁ
結局のとこタイプセーフどうすのって話になるかと

なんか構想はあるみたいだな
https://ufcpp.wordpress.com/2015/02/11/c-7%E3%81%AB%E5%90%91%E3%81%91%E3%81%A68-tuples/

1014 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:20:39.70 ID:pk39sm1t.net]
>>977
>結局のとこタイプセーフどうすのって話になるかと
そこがね、結構な弱点ではある



1015 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:30:42.49 ID:HWlVqIKe.net]
>>966
というよりこの話題でタプルを別に考えなくていいやんと思う
タプル返すならそれでいいやんって思う

しかもrubyの場合は単にArrayなんじゃなかった?(あやふや)
それだとしてもそれでいいやんって思う

用は単にx, y = fと書きたいだけじゃないのみんな

1016 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:46:51.67 ID:mRhwc0pv.net]
>>979
publicなメソッドでitem1、item2、...はあかんわ

1017 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 14:48:50.22 ID:PIoug+Wj.net]
>>980
ごめん、C#のSystem.Tupleについては存在すら知らなかった
ocamlのタプルを勝手に想像してて
(x, y)やカッコも省略できるんでx, yもタプル
let a, b = (1, 2);;
こういうのを勝手に想像してたすまそ

1018 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 16:52:35.77 ID:qt5SIPya.net]
>>979
>用は単にx, y = fと書きたいだけじゃないのみんな
俺はこれは嫌だな。fにx,yが内包されている事がわからんから
これだったらそれこそf.item1,f.item2で良いわけで、今のタプルで良いかと
f.なになに で、名前と型が維持されてないとダメだ

1019 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:05:13.40 ID:qt5SIPya.net]
そういえば上の方で、タプルは
>言語レベルでのサポートがない言語で使うべきではない
って力説してた人がいたなぁ

dynamicは遅いから論外だって言ってるけど
>>958がタプルを論外だと言う理由は何だろ

1020 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:39:44.26 ID:gSeUuLQi.net]
>>982
あぅ…つくづくスマン

> x, y = f

これは f() の意味ね
あなたの論旨に対して瑣末なことではあるが一応訂正しとく

1021 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:16:16.46 ID:fVR/pyHV.net]
ふらふらっと

1022 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:56:38.80 ID:n0YcJJeB.net]
次期バージョンで複数戻り値がサポートされそうってのがあったけどいつの間にかなくなったしな

1023 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:21:04.78 ID:pk39sm1t.net]
>>983
きっとitem1、item2...ってなるのが気に入らないんだよ

1024 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:35:34.00 ID:LHx3NAum.net]
まぁそれでもないよりはましなのかなC#にとって
C++でもpairってやっぱ、要所要所で欲しいし
白状するとC#でもpair<T1,T2>みたいなん作って使っちゃってます
first, secondってのも名前としてはまぁそうなるよねって感じ
item1, item2...とそう変わるもんじゃあない



1025 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:41:44.85 ID:oR9xV2kd.net]
>>983
あれはタプルって読むのか。
ずっとチュープルだと思っていた。
tupleなんて使わないよなあ。
必要なら構造体を定義する方が分かり易いし。

1026 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:23:28.32 ID:k/qBkFOv.net]
しかも構造体なら値型だしね
多くの場合そっちのほうが望みどおりだろう

1027 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:49:17.62 ID:8+ik3mP9.net]
静的型付けとかJITとかのあたりの仕組みが全く理解できなくてワロタwww・・・

どうすればいいですか・・・?

1028 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:59:06.73 ID:drHIjVcg.net]
>>989>>990
数学の世界ですら
円の方程式ならy=±√(r^2-x^2)で解は2つ、三次方程式なら解は3つといった具合に、純粋関数が複数戻り値を返す
タプルの概念自体を否定するのはおかしいし、それを構造体やクラス化するのもまたおかしな話し
数学というモデルが存在する以上、いずれC#も対応せざるを得ないんじゃないのかな

1029 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:07:25.57 ID:889KT988.net]
√2などを表現できる数値型がないとおかしい
まで読んだ

1030 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:22:35.57 ID:K3Unqfxi.net]
あれば使うだろうが無けりゃ無いでどうでもいいわ
無いとプログラム書けない奴はコールドスリープにでも入って50年後に目覚めてろ

1031 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:54:58.88 ID:4m9Vq9W3.net]
>>986
>977のissueはまだ続いてるみたいだし、なくなったって訳じゃないんじゃね?
割と大きな変更になりそうだから後に回されただけで。

1032 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:59:21.89 ID:PAkk6Hqa.net]
>>992
数学とプログラミングを無理矢理に
関連付けてヘンテコな説を唱えて
一人悦に入って居ればいいよ。

1033 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 06:17:01.48 ID:7qvaXLbV.net]
数学に可読性や保守性なんていう概念はないだろう
数学だとほとんどの場合一文字変数しか使わないけど、
だからってC#でも常に一文字変数を使うべきだと?

1034 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 09:09:41.81 ID:wIKfbX0j.net]
皆の希望を全部いれた言語なんてろくなモンにならん



1035 名前:980 mailto:sage [2015/07/08(水) 16:34:36.23 ID:K7cQm9JH.net]
次スレってどうやって立てるんだ
新規スレッド作成画面から作成したはずなんだが

1036 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 16:46:33.07 ID:HMKJDSG5.net]
>>999
したはず ってことは、もう勃ってるんだろ?
リロードすればいいだろ。

1037 名前:980 mailto:sage [2015/07/08(水) 16:48:45.27 ID:K7cQm9JH.net]
したはずなんだが出てこない
2回やっちまったけど、これで出来てなかったら誰か頼むわ

1038 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:42:08.39 ID:rwtUEn+Z.net]
peace.2ch.net/test/read.cgi/tech/1436344868/
立てたよー

>>1001
なんか立てたはずなのに立ってないってのがちょくちょくあるっぽい

1039 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:11:25.27 ID:t2tbnUcj.net]
せん

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

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






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

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

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