1 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 18:13:21 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ふらっとC#,C♯,C#(初心者用) Part55 pc12.2ch.net/test/read.cgi/tech/1265288563/1 関連スレ C#, C♯, C#相談室 Part55(実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/1 VB.NET質問スレ(Part33) pc12.2ch.net/test/read.cgi/tech/1263738929/1 C++/CLI part3 pc12.2ch.net/test/read.cgi/tech/1206447234/1
623 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:05:39 ] 俺の問題解決にはすべて非同期プログラミングの習得するか否かにかかってるとみた 私はあえてこの高度なアルゴリズムに挑むことにする すべてはより高度なアプリを開発するために
624 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:08:51 ] Console.WriteLine("{0}",intA) この書式をtextBoxに表示するのに利用するにはどうすればいいですか?
625 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:10:38 ] String.Formatとかどう?
626 名前:デフォルトの名無しさん [2010/03/14(日) 23:13:41 ] intA これって文字通りintの変数? だったら textBox1.Text += intA.ToString(); とか textBox1.AppendText(intA.ToString()); とか 数字の出力パターンを変えたい場合はintA.ToString("0000") とかすればいいよ この辺は調べて
627 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:47:39 ] >>625 これこれ、こういうのがほしかった ありがとう
628 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:30:11 ] クラスが10個ぐらいになるともうわけわかめ UML導入するか
629 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:33:13 ] UMLでどうにかなる問題じゃないだろ 10個程度のクラスの相関を把握できないでどうするよ
630 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 02:22:09 ] わけ分からない→じゃあUMLだ、という発想がイミフ。 これまでドキュメントとか無かった現場なんだろか。
631 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 03:25:13 ] そうだよ
632 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 03:27:51 ] ユーザーが数字ではなく文字を入力した場合のエラーの取得はこういう感じでいいのでしょうか? それともUserInputクラス内ではtry文を使わないでProgramクラスだけでやったほうがいいんでしょうか? public class UserInput { public int Input() { int a = 0; try { a = Int32.Parse(Console.ReadLine()); } catch (Exception e) { throw e; } return a; } }
633 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 03:28:32 ] >>632 の続き class Program { static void Main(string[] args) { UserInput ui = new UserInput(); try { int b = 0; b = ui.Input(); } catch (Exception e) { Console.WriteLine(e); } } }
634 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 04:54:15 ] >>632 catch { throw; } とか何がしたいんだか分からんw
635 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 05:52:59 ] (゚∀゚)
636 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 05:53:23 ] 右から左に受け流したいんだろう
637 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 06:49:17 ] 左から右へ受け流すのはゆるさないからなw
638 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 11:59:14 ] わざわざコケさせなくてもTryParseとかあるし
639 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 12:10:41 ] 例外ロンダリングだよ。
640 名前:デフォルトの名無しさん [2010/03/15(月) 13:41:01 ] 入力された文字が数字だけかどうかって面倒なら Convert.ToInt32(textBox1.Text) とかやってtry catchで判断すればOKだよ
641 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:58:55 ] try catchなんてするくらいならTryParseでいいだろ って話だ
642 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:14:23 ] TryCatchなんかでやってたらエラー時のスタック解析の時間とか入れたら劇遅になるじゃねぇか
643 名前:632 mailto:sage [2010/03/15(月) 14:23:37 ] すいません、これは単純なモデルで表現したくてやったので この場合だとTryParseを使ったりすればいいですが 本当に聞きたかったのは ファイル入出力時のエラーや、WEB操作時のエラーや オブジェクトがnullだったりなど、Formとは別のクラス内部のエラーが あった場合に別クラスの内部で例外処理をするのか Form上で例外処理をするのかがよくわからないんです 一般的にどういうやり方をするのか聞きたかったのですが うまく説明できなくてすいません
644 名前:デフォルトの名無しさん [2010/03/15(月) 14:26:32 ] .net時代のエラー処理ってやつですかね? C/C++時代だと暴走の元なのでポインターがnullかどうかチェックしたりとかやってたようなのをどうしてるのか? ってところ?
645 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:29:44 ] 例外もみ潰しても続行できるなら内部で処理 できないなら外に投げる
646 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:38:08 ] お前らって例に噛み付くよね。 例えばの話に本気になってどうするの。
647 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:44:48 ] 一事が万事という 小事に本気になれない奴がどうして大事に本気になれようか
648 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:50:34 ] (^ω^;)
649 名前:632 mailto:sage [2010/03/15(月) 15:05:46 ] >>644 多分そういう感じです 例えばフォーム上であるクラスのメソッドを呼び出して nullが返ってくる場合もあるし、例外で投げられる可能性もあります ResCollection thread_Honbun=bbs.ReadRes(url); ←例外がでる可能性 thread_honbunを利用 //←nullで例外がでる なぜこういう質問するかというと 別クラス内部でいくら例外処理をしたところで 結局利用する側のformでやはり同じような例外処理を しなければならないのでみなさんはどうしているのかと思いまして
650 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:14:43 ] まずnullをなるべく返さない所から始めたらいいと思うよ。
651 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:32:36 ] >>649 CodePlexで他人の書いたコード(なるべくメンバーの多い奴がいい)でも読んでみるといいよ うんこ漏れそうなくらいtrycatch使いまくりだから 例外は昔の言語のnullチェックとエラー値チェックの代替機能なんだから エラーチェックそのものをを省くための手段じゃないのよ 目的にしているのはエラーに対して画一的に対処できることね 例えばWin32APIにはnullを返すものもあれば、INVALID_HANDLE_VALUEを返すものもあるし E_OK、E_SUCCESSなんてのを返すのもある これら全部例外として括ってしまおうって趣旨だから
652 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:37:53 ] うんこは漏れない。
653 名前:632 mailto:sage [2010/03/15(月) 15:42:58 ] つまりちゃんとデータを返すかもしくはエラーを返すかの 2通りにするほうがいいということかな 確かに今のソースはnullかどうかをform側でも別クラスでも 条件分岐で何重にもやっている状態でしかもやってない場合もあったりと かなりごちゃごちゃしてます C#しかやったことないけど、自分は古いやり方をしていたということなのかな 他人のコード見て勉強してみます どうもありがとう
654 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:56:14 ] エラーコードを例外に置き換えるリファクタリングを思い出した
655 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:02:52 ] この辺か Replace Error Code with Exception tp://www.refactoring.com/catalog/replaceErrorCodeWithException.html Replace Exception with Test tp://www.refactoring.com/catalog/replaceExceptionWithTest.html
656 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:06:21 ] これはうんこ漏れるわ
657 名前:デフォルトの名無しさん [2010/03/15(月) 16:06:58 ] まあ続行しても意味がないようなところで出るエラーはtryで拾ってもいいんじゃねーの?とか思うけどな コストがかかるとか言っても継続できねーんだからいいだろうと・・・
658 名前:デフォルトの名無しさん [2010/03/15(月) 16:30:09 ] テーブル 部 コード 名前 01 営業部 02 開発部 テーブル課 部コード 課コード 名前 01 01 第一営業 02 01 第一開発 テーブル社員 部 課 名前 01 01 山田太郎 といった データ構造で 社員をDataGridViewにデータバインドで表示する場合、 DataGridViewComboBoxColumを用いて課を表示することはできるでしょうか? 部テーブルは一意キーなので表示できますが 課テーブルは複数キーですので無理ですか? 型付データセットを使っているので、手動で余計なカラムを増やしたくなく、 リレーションをComboBox側のデータバインドでやってしまいたいっていう考えです。 どなたか回答お願いします。
659 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:03:22 ] DBで取ってきてるなら 部と課をくっつけた一意な文字列のカラムも加工して取ってくるようにして、 課のキーではなくそれにバインドさせたら駄目だっけ?
660 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:41:16 ] >>572 >>578 >>579 デリゲート使うと非常に便利ですね 参考にさせていただきます ありがとうございました
661 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 19:59:42 ] C#はプロパティがめっちゃ便利だな 変数に代入するのと同時に処理ができるってのはすばらしい C言語だと同じようなことをどうやってたんだろうな。 Privateとかないからポインタを引数にとって参照私とかやってたんだろうか。
662 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:04:52 ] C#を作った人物って Delphiを作った人と同一人物なの?
663 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:07:13 ] 普通にgetter/setterじゃないのか JavaやC++は今でもそうやってるだろ
664 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:16:09 ] プロパティなんて無い言語のほうがおかしくて、 無いJava, C++, Perl, Rubyが同化してるとだけ言っておこう C#との類似性がよく指摘されるVisual Basic, JavaScriptにはプロパティが存在する あとPHPにもプロパティがある
665 名前:デフォルトの名無しさん [2010/03/15(月) 20:19:45 ] >>664 古い言語にそんなこといっても仕方ないと思うけどw
666 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:43:28 ] >>662 たしかそう
667 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:44:48 ] >>666 Rubyは新しいぞぞ
668 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:50:30 ] Jeffrey Richterだったと思うけど、プロパティなんてイラネって意見の人もいるんだよね。 俺は同意できんけど
669 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:54:02 ] リッチャーの本大量に持ってるのに・・・ 捨てっかな
670 名前:デフォルトの名無しさん [2010/03/15(月) 20:56:23 ] でも結局は言語作ったおっさんの思想<多く使われる言語ってことなんだよな >>664 がプロパティ無いって言語は設計も古いし今となってはそれほど拡張もされてないような物だし C#もそこそこ年数たったけどVBのよい部分は引き継いでるので似てても不思議ではないし
671 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 21:00:10 ] >>662 アンダース・ヘルスバーグのことか?
672 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 21:18:13 ] >>664 そういう歴史を無視した発言はゆとりだから?