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


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

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



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を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






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

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

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