- 1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:41:44 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part44 pc12.2ch.net/test/read.cgi/tech/1251439041/
- 962 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:02:35 ]
- >>935-936
設計と命名以外でダメ出してみる (×:MUST be fixed、△:SHOULD be fixed) ×Form2.ZassekiEventイベントのソースがForm2のインスタンスじゃない → ソースはそのイベントを定義している型かその派生にする ×Form2でZassekiEventがnullのときにNullReferenceException → nullチェックを入れるかnullにならないようにする △ZassekiEventHandlerのシグネチャがEventHandlerと同じ → 単に無駄というだけでなく、EventHandlerには「イベントデータが無い」という意味がある △Form1.Sekigaeメソッド内のWhere(...).Single()は無駄 → Single、Firstなどには条件を指定できるオーバーロードがある
- 963 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:05:54 ]
- ウザ
- 964 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:29:35 ]
- 次スレの予感・・・
- 965 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 02:05:32 ]
- >>924
おれはプログラミングはじめて1ヶ月でAPIを駆使して winnyのリストボックスの内容を取得して ハッシュを収集したり無視したり自動でキャッシュ削除するソフトを作ったよ 向いている向いてないがあるんだろうな
- 966 名前:965 mailto:sage [2009/10/16(金) 02:11:57 ]
- プロパティ、フィールド、クラス、値型とか意味知ってるか?
おれはまず文法を一通り読んだ それでわからなかったら、初心者サイトで調べ、それでもわからなければ 別の初心者サイトを見る。 わからないことをわからないままで横着して進めようと焦る気持ちはわかるが 他と違って、プログラミングはコツコツ覚えていくしかない 体で覚えていこうなんてするなよ
- 967 名前:デフォルトの名無しさん [2009/10/16(金) 03:02:00 ]
- >>965
みんなお前みたいに暇じゃないんだよw 一ヶ月根詰めればそれぐらい出来るわ
- 968 名前:965 mailto:sage [2009/10/16(金) 03:16:12 ]
- おっさんのおまえらには無理だろうなww
- 969 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 07:09:02 ]
- 細かく調べる前に勘で書いて体で覚えたけど
最初に作りたい物が決まってるならこの方が早い そのあと詰まった所で随時調べる
- 970 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 07:35:24 ]
- >>962
指摘thx >>→ ソースはそのイベントを定義している型かその派生にする プロパティでget/setできればOK? >>→ nullチェックを入れるかnullにならないようにする このケースでnullになるかな?けれどもnullチェックはしたほうがいいね。 >>単に無駄というだけでなく、EventHandlerには「イベントデータが無い」という意味がある よくわからん。 >> Single、Firstなどには条件を指定できるオーバーロードがある Whereいらなかったね。ひとつ賢くなった。
- 971 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 08:39:02 ]
- また夜中なのに異常に伸びたなと思ったら予想通り
- 972 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:28:50 ]
- ポインタを使ったアルゴリズム、チェインとか木とかあるけど
同じような動作をするものでunsafeしないでC#で行うことはできますか? 厳密なメモリアドレスへの操作というわけじゃなくて あるカプセルの参照と値を持つカプセルを関連付けていければいいだけなんだけど
- 973 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:35:20 ]
- 何言ってるかわかんね
LinkedListでも何でも好きなの使えよ
- 974 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:36:27 ]
- >あるカプセルの参照と値を持つカプセルを関連付け
Dictionary<TKey,TValue>で両方に参照同じ渡せば。
- 975 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:42:57 ]
- フォルダを作ってそこにクラスファイルを入れると
そのクラスを利用する場合 フォルダ名.クラス名 としなければなりませんよね? でも、パっと見でフォルダ名なのかクラス名なのかがわかりにくいと思いませんか? わざわざフォルダ名を書かなければいけないのっておかしい気がするのですが
- 976 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:44:19 ]
- namespace変更すればいいだろ…
VSに文句言う前に言語仕様から理解しような
- 977 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:47:07 ]
- MyClass.System.TxtReader
があり、TxtReaderをSystemフォルダにいれた場合 System.TxtReader と書くと、Systemはフォルダ名なのかクラス名なのかわかりにくくないですか?
- 978 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:48:21 ]
- >>976
じゃあ、フォルダの数だけnamespaceを作れと? namespaceを大量生産するってそれこそありえないと思うんだけど
- 979 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:48:32 ]
- 名前空間でググレカス
- 980 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:49:57 ]
- TxtReader.csのnamespaceをMyClassにすりゃいいでしょう。
馬鹿としか言えない。
- 981 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:50:23 ]
- >>978
誰もユニークにしろとは言ってないぞw
- 982 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:51:30 ]
- ググレといのはこのスレの本分ではないと思うのですが?
- 983 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:52:48 ]
- new System.IO.DirectoryInfo(@"c:\");
これの"IO"はフォルダ名なのかクラス名なのか分かりにくいだろうか。
- 984 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:55:03 ]
- フォルダ名と呼ぶのをやめて欲しい
そんな用語はない VSがフォルダと同じ名前の名前空間を自動生成しているだけ
- 985 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:55:15 ]
- >>978
お前が何を悩んでいてどうしたいのかさっぱり分からない。 C#はjavaと違って好きに名前空間を指定出来るぞ。 俺はフォルダ名と一緒が一番いいと思うが。
- 986 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:56:10 ]
- 次ぎたててくる
- 987 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:57:08 ]
- >>984
そういうことかわかった^^
- 988 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:59:02 ]
- pc12.2ch.net/test/read.cgi/tech/1255658236/
- 989 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:13:07 ]
- >>975
そんな規則はない。 コーディング規約的にnamespaceとディレクトリ配置が一致していることが望ましいだけ。 間違った思い込みをする前に、MSDNで一次情報に当たる習慣をつけよう。
- 990 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:58:02 ]
- .NETの命名ガイドラインに従うと,確かにA.B.C.Dだけ見て
名前空間とクラスとプロパティを見分けることはできないんだけど 実際それで困ることある? だいたい分かるじゃん java.lang.System.outとかキモい
- 991 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:07:04 ]
- おそらく、開発環境ソフトが見分けをサポートすべきという思想なんだろうな
カーソルでポイントすればヒントが表示されるみたいな
- 992 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:11:42 ]
- つーか、大文字小文字を打ち間違えたときも、
大文字と小文字を入れ替えたら名前が見つかってエラーがでなくときは、自動で修正してほしいもんだ
- 993 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:39:45 ]
- 俺も昔、スペルチェック機能みたいなのが欲しいと思ってた。MS-Wordでできるんだから
Visual Studioでもできるだろう、と。 でも今はインテリセンスあるからいらない。みんな最初から候補に出てくる。
- 994 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:44:02 ]
- >>992
VBは実際にそれやってくれる C#は大文字と小文字を区別するのでわざとその機能は付けてないんだと思う 仮に現在大文字と小文字だけが違う複数の名前が無かったとしても, そういう機能があるとつい無頓着になってミスが発生しやすいからね
- 995 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:03:59 ]
- 大文字小文字が違うだけの変数名を作ることはまずなのにに
なぜ区別するようにしたんだろうな publicの場合は先頭だけ大文字、privateは小文字って決め付ければいいのに
- 996 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:05:58 ]
- メインターゲットがC++やJavaからの移行者だから当たり前
それとVBとの差別化
- 997 名前:デフォルトの名無しさん [2009/10/16(金) 16:39:12 ]
- List<>の勉強中です。
List<string> photolists = new List<string>(); string[] photofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories); foreach(string photofile in photofiles) { if (photofile.Contains("good")){ photolists.Add(photofile); } } すこし書いてみました。動作のテストもしました。 List<>とstring[]とふたつ使っているところが、まだいまいちな気がします。 もっとスマートになりますよね? foreachを使わず直接配列を追加することは可能ですか?
- 998 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:50:35 ]
- フィルタリングが入る時点で「直接配列を追加」は不可能だろ
次のステップはContains("good")をメソッドに取り出した上でArray.FindAll、辺りかな この場合はList<T>の出番が無くなるけど
- 999 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:52:02 ]
- LINQを使うしかない
var goodphotos = photofiles.Select(photofile => photofile.Contains("good")); photolists.AddRange(goodphotos);
- 1000 名前:999 mailto:sage [2009/10/16(金) 16:52:43 ]
- ごめんSelectじゃなくてWhereだった
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|