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


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

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



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
そういう歴史を無視した発言はゆとりだから?






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

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

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