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


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

C#, C♯, C#相談室 Part42



1 名前:デフォルトの名無しさん [2007/08/26(日) 12:42:25 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part41
pc11.2ch.net/test/read.cgi/tech/1184840053/

過去スレは>>2-5あたり。

176 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:48:21 ]
ネット上の共有フォルダにおいてあるmdbファイルにJetでアクセスするツールをC#で作って、何ヶ月も放置
していたのだけど、久しぶりに使ったら、エラーになって使えなくなってました。

読み取りはできるのだけど、書き込みでエラーになります。
mdbファイルをローカルにおいてもだめでした。

他のPCからだと、同じexeとmdbで、正常に動いているので、Windowsの設定や環境のせいだと思うのだけど、
なにか心当たりのある人いませんか?

177 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 01:39:12 ]
>>176
MDBを修復してみる

178 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:31:49 ]
C#でアプリ作ってます。

今、NumericUpDownコントロールの値を増減すると、その値でフォントの大きさを増減するプログラムを
作りたいと考えています。

この場合、全コントロールのフォントサイズを一括で増減させるようなプログラムって
可能なのでしょうか?

一つ一つフォントサイズを指定しなおさないといけないのでしょうか?

179 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:34:49 ]
君がc#やドトネトのライブラリの作者なら、そんな特殊な需要を満たすための
foolproofな方法をわざわざ用意するだろうか?

180 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:48:23 ]
コントロールのFontプロパティはアンビエントプロパティだから
いっちゃん親のFontを変えれば
特別にフォントが指定されてないコントロールは同じになるよ

181 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:53:39 ]
>>179
よう、fool

182 名前:178 mailto:sage [2007/09/01(土) 16:27:40 ]
>>180
早速ぐぐってみます。
ありがとうございます。


183 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:22:51 ]
>179
foolproofってなんて意味?

184 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:41:35 ]

どなたか Gilma (=ILMerge のGUIツール) および ILMerge を使ってる方が
居たら教えてください。

pc11.2ch.net/test/read.cgi/tech/1184037822/853-854

で質問していたのですが、お答え得られず。こちらでどなたかわかる方いたら
お願いしたく。よろしく。




185 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:20:28 ]
>>183
Google使えないのか?

186 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:56:47 ]
>185
使える
>179に答えて欲しいだけ

187 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:16:53 ]
C#などのIRCって今稼動してるのないのかな?
海外みたく、活発な交流をして色々な知識を吸収したいと思っているんだが

188 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:54:59 ]
>>187
すいません、海外ってどんなところで活発に交流しているのですか?
よかったらおしえてください


189 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:56:03 ]
特定のフォルダから、特定のフォルダにコピーしたいんだけど、
なんか手っ取り早くGUIで残り何秒とか表示する方法ないかな。

エクスプローラのコピーコマンドとかあるかなっておもったが、
explorer.extって特定のフォルダを表示するしか出来ないのね・・・


190 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:56:23 ]
>>180
ところで、アンビエントプロパティで親から引き継がれてるか、
個別に設定されてるかを確認する方法ってないんかな?


191 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:59:53 ]
>>189
Microsoft.VisualBasic.FileIO.FileSystem でも使ってればいいんじゃない

192 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:01:32 ]
>>176
エラーの内容くらい書けバカ

193 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:03:58 ]
>>189
SHFileOperation使う。
でもVBのライブラリ参照したらその機能あった気がするのでそっちのがいいかな?



194 名前:デフォルトの名無しさん [2007/09/02(日) 01:04:31 ]
>>192
そこまで書いてるんだから
エラーの内容くらい想像しろバカ



195 名前:187 mailto:sage [2007/09/02(日) 01:05:49 ]
>>188

ttp://d.hatena.ne.jp/goinger/20070814/1187111616

こちらのブログを見ていただければわかるかと。

196 名前:189 mailto:sage [2007/09/02(日) 01:06:45 ]
>>191 マジありがとう
調べてみるよ

197 名前:デフォルトの名無しさん [2007/09/02(日) 01:10:38 ]
.NETで書かれた商用アプリってありますか?

どうも、.NETでかかれたものを金出してまで使おうとは思えん

198 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:18:38 ]
あるよ

199 名前:189 mailto:sage [2007/09/02(日) 01:31:54 ]
ありがとう。 やりたいことは
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory(
@"C:\test\", @"e:\", UIOption.AllDialogs

でいけそうだ。

でも、このメソッド、ダイアログを表示して、かつ自動的に上書きという
引数はないんですね・・・

上書きだけか、ダイアログを表示するだけか、しかない

出来れは自動的に上書きして、進行状況がわかればうれしいんですが…


200 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:39:16 ]
>>197
コピペ?



201 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:47:38 ]
>197
そう思う理由を教えてくれ

202 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:20:21 ]
1.1のFormsで書かれた商品なら動かしたことがあるが、
リストに毎回描画するから糞重たくてむかついたことはある。
結局、最終的にアプリの出来はスキルで待ったく別物が出来上がるんだと
つくづく感じた。

203 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:22:49 ]
PCがしょぼいんだろ

204 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 08:31:16 ]
ユーザー固有のスタートメニューのフォルダは
Environment.GetFolderPath(Environment.SpecialFolder.StartMenu))
で取得できますが、
全ユーザー共通のスタートメニューのフォルダを
取得するメソッドは用意されていないのでしょうか?

ユーザー固有のスタートメニューのパスに含まれるユーザー名を
All Usersに置き換えればいいような気もしますが、
あらゆる環境で動くかどうか心配なので、
できれば、あらかじめ用意されている方法を使いたいと思っています。



205 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:07:38 ]
SpecialFolder列挙体には含まれてないやつがあるし
実行時にenumの範囲チェックしやがるので
SHGetFolderPathを直に使うしかないと思う

206 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 16:25:56 ]
インストーラ自作?

207 名前:デフォルトの名無しさん [2007/09/02(日) 17:40:56 ]
.NETで書かれたSDJEditorを使ってみたが、.NETの先が見えた気がした

EmEditorに比べるとほんと鼻くそ

やっぱ.NETで有名なネイティブアプリに勝つなんて無理でしょうか?

208 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 17:42:10 ]
工作員必死だな

209 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 18:44:52 ]
比較対象がEmEditorなんだ。
秀丸と比べるとほんと鼻くそだよね>Em

210 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 18:50:27 ]
逆だな

211 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:07:14 ]
サクラが一番

212 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:17:19 ]
エディタなんてVisual Studioでいいじゃん

213 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:32:23 ]
コーディングはVSでやってるけど
.txtなんかはEmEditorに関連付けてる

214 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:57:01 ]
WebBrowserコントロールでMouseUpイベントを取ることは出来ないんですかね。
MouseDownは取れます。以下はVBですが。
homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserMouseDownEvent.htm

Spy++で見てもLBUTTONUPとか表示されないので、そもそもムリなんですかねぇ。



215 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 21:42:12 ]
>>207
アプリ&開発者が違うのに、開発ツールを比較するか?w

216 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:39:06 ]
>>197
.net framework + 在庫管理や工程管理でぐぐったら出てくるよ。


217 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:46:12 ]
>>197
これとか。
ttp://www.microsoft.com/japan/products/expression/expression-blend/default.mspx

218 名前:デフォルトの名無しさん [2007/09/03(月) 00:03:57 ]
でも、おそいねw

正規表現をつかったらperlに負けた

スクリプトに負けますか・・・


219 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:05:51 ]
Cの基本的な文法については勉強して次は実際にSourceForgeでオープンソースの
プログラムを読もうと思っていたのですが難しすぎて分かりません
みなさんはある程度文法の勉強をしてからどのようにして勉強していきましたか?

220 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:06:26 ]
ここはC#スレです

221 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:15:02 ]
>>218
正規表現エンジンの質やI/Oが主要なボトルネックになる類のプログラムでは
言語の差など微々たるもんだ
書き方にも拠るが、C++で書こうが普通にスクリプトのが速かったりする

222 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:33:11 ]
>>218
毎回正規表現をコンパイルするコードなんて書いてないだろうな?

223 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:37:25 ]
>>218
正規表現の処理がスクリプトで書かれてんじゃないだろw

224 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:39:59 ]
.NETの正規表現エンジンは遅くて困るというほどでは無いにしろ、
そんなに速くないだろ
スクリプトの場合は、それがCで書かれているだろうしな



225 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:45:34 ]
Regex のコンストラクタでオプションに RegexOptions.Compiled つけてる?

226 名前:デフォルトの名無しさん [2007/09/03(月) 00:46:51 ]
>>219
文法しかわからない奴が、SourceForge等で公開されているソースを読めるわけないだろ



227 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:48:28 ]
俺も実験したことがあるが、正規表現をコンパイルしとくのは当然の話として、
C#で正規表現の性能を競ったらPerlやらPythonやらに普通に勝てんよ

そういう競争なら、相手はスクリプトではなくて、実質的にはCでカリカリに
チューンされたモジュールになる
勝てるわけが無いだろ

228 名前:デフォルトの名無しさん [2007/09/03(月) 00:57:08 ]
>>227
だったら、C#の存在意義ってなに?


229 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:01:45 ]
>>228
さあ
無いと思えば無いんじゃね

性能はネイティブにゃ勝てんし
スクリプトみたいに手軽じゃないし
Javaみたいにwrite once, run anyware標榜してるわけでもねぇし

230 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:06:02 ]
正規表現ならTcl最強説

231 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:16:10 ]
>>228
一応言っとくが、自分で計算処理する分にはC#のがスクリプトよりは
格段に速いぞ
ネイティブのがさらに速いがw

自分の計算が主要なボトルネックになるタイプのプログラムかどうかが
一つのポイントだな
そうでないようなケースは案外多い

232 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:24:44 ]
エミュレートされた仮想CPU上で動いてる訳でもなし、C#ではそもそも
記述できない低水準の処理以外の部分でネイティブコードと速度に差なんて出ようがないと思うが。

233 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:25:22 ]
普通速度なんか気にする必要ないだろ
体感できるほど遅くなるアプリなら最初からネイティブしか選択肢ないし
そんなんめったに書くことない

234 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:25:22 ]
そもそもさぁ

早いとか、遅いとかって言ってる奴は、証拠のソースを出せよ

だってさ
PerlもPythonも、コンパイル時に正規表現のコンパイルと最適化をしている
C#やJavaは実行時
どうやってコンパイルと最適化に消費する処理時間を考慮するの?



235 名前:デフォルトの名無しさん [2007/09/03(月) 01:27:24 ]
>>233
速いことより、遅い方がいいことってあるのかしらん?


236 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:27:52 ]
実行時にネイティブにコンパイルされるといったって
C#は安全性を気にして余計な処理をしてるだろ
Cとかと比べたらどうしたって遅くなる

237 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:28:44 ]
>>235
速度の違いが体感出来ないならC#使ってもデメリットはない
プログラミングが楽になるからC#使った方がいいというわけだな

238 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:29:28 ]
>>232
そりゃJITだけどCにゃ負けるようだよ
shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all
これはMonoだが、Java Server VMの性能が参考になるだろう

239 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:32:20 ]
そもそも.NETで不満になるようなアプリってどれぐらいあるんだ?
大体.NETは実行スピードと生産性のバランスの中のひとつの解に過ぎないだろ

240 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:34:25 ]
.NETは計算速度はそんなに遅くねぇけど
起動がのろいのとGUIもっさりはどうしようもねぇな

241 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:36:40 ]
ソース出ないね
やっぱり法螺吹きか

242 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:37:14 ]
>>234
CLIランタイムをロードする時間に比べりゃ、正規表現のコンパイルにかかる時間など
微々たるもんだろw

243 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:38:13 ]
Win32のBitbltとか呼んでももっさりするかね?GDI+よりは早い。

244 名前:243 mailto:sage [2007/09/03(月) 01:38:59 ]
すまん。最後は疑問系です・・・(ノД`)



245 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:41:19 ]
>>243
DDBのblitはGDI+の10倍は速いらしいな
その時点でWinFormsだめぽ

246 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:45:05 ]
>>241
そんなに気になるんなら自分でためせばいいのに

以前俺が実験したソースをあげるよ
ttp://www.borujoa.org/upload/source/upload14325.zip

青空文庫のテキストを適当に置換するプログラム
inputというフォルダにサンプルの入力ファイルがあるが、300K程度の
サイズだから、気になるならデカくしてみるんだね

247 名前:デフォルトの名無しさん [2007/09/03(月) 01:53:14 ]
>>239
それはあくまで作る側の屁理屈

使う側からすれば、生産性なんてどうでもいい

あなたが、よく使うアプリケーションが次バージョンから.NETで書かれたらどう思う?
LightWaveが.NETなんかで書かれたら俺は間違いなくMAXへ移行する

248 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:57:26 ]
>>247
えーとね、生産性悪くなるとコストがかかるんだよ。
それは製品価格に反映されたり、次バージョンで実装される機能が少なくなったりすることになるんだよ。

249 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:05:21 ]
>>247
なんでアセンブラでつくらねーんだっていってみろ。


250 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:06:39 ]
まあ、問題は、場合によっては普通にLL言語にさえ後れを取る
C#がバランス上最適解かどうかだろうなw

251 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:06:52 ]
製品の値段に直結するぞ。
機能も少なくなるぞ。
品質が下がることもあるぞ。


252 名前:デフォルトの名無しさん [2007/09/03(月) 02:07:02 ]
けど、C#が使えないのは事実
C#しかつかないやつはVC++で開発してる部署に行ったらほぼ終わり

253 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:07:34 ]
>場合によっては普通にLL言語にさえ後れを取る
絶対にLL言語に遅れをとらない言語ってなんだよw


254 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:09:30 ]
VC++しかつかないやつは他の言語で開発してる部署に行ったらほぼ終わり




255 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:14:15 ]
>>246
・300kのIO速度の計算をスルー
・300kのSJISから内部コードの変換(UTF-16やutf8)コストもスルー
・(C#)2000行の無駄なnew StringBuilderとToString、+演算子置き換えで高速化

正規表現のベンチになってないよ

256 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:17:16 ]
>>255
うん、正確な正規表現のベンチのつもりで書いたのではないよ
それが求めるものなら自分でやってくれ

IO処理は「どの言語でも」やっている
ユニコードへの変換も「どの言語でも」やっている
オーバーヘッドの大きそうなフォーマット処理も、PerlやPythonでもやっている

概ね、カリカリに書かずに適当に同じレベルで「普通に」書きなぐったものだ
特に何かをひいきしたつもりは無い

そうやって書いたものが、スクリプトが案外速かった(C#より速い)ってのが
重要ね。

257 名前:256 mailto:sage [2007/09/03(月) 02:28:23 ]
ちなみにC++も三種類書いてみたが大して速くなかったね。
ソースを見れば分かるが、LL言語で書くよりずっと複雑でトリッキーで
エラーを産みがちなコードになるというのに。

こんな仕事はLL言語向きだ。他の解は馬鹿げている。そう思ったよ。
そして、そういう仕事は案外多いのだと思う。

258 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:37:29 ]
プロセスの生成負荷も考慮されてない…
C#、C++、Perl、Pythonではエンジンの起動時間は大きく違うし、
いくらなんでも、これで決めつけるのは早計だと思うが。

俺のPCでは、C#の方がPerlより速かったり遅かったりだった。
一瞬すぎて測れない。
Core 2 Duo E6600, 2GB, Win Vista
Super Fetchがどこまで効いているかはわからない。

明日kwsk調べようかな。

259 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:45:50 ]
正規表現の処理の話をしてるときにこれはない


260 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:46:28 ]
つうか試してないけどコンパイルしないほうが早かったりしてよw


261 名前:256 mailto:sage [2007/09/03(月) 02:54:56 ]
>>258
入力ファイルデカくしてみそ
二回目以降はキャッシュが効くし、入力が十分デカければ起動時間は誤差の範疇に
持ち込めると思うが
ちなみに俺の環境はXP、Pentium M(1.7GHz), RAM 500Mだからずっとショボい

>>259
純粋に正規表現エンジンの性能を計りたいんなら、そうだね
俺がやったのは、正規表現を用いた典型的なPerlの使い捨てスクリプトレベルの
仕事を各種の言語で書いてみた、それだけのことで、やっている仕事自体は
どの言語でも同じだよ

262 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 03:15:34 ]
せめてマッチ対象文字列は、メモリに確保しておかないとベンチにならんだろw

263 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 05:29:41 ]
起動が早い言語の勝負じゃないからな

264 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 09:15:08 ]
>161
ご回答ありがとうございます。

そんなことを頻繁にするかどうかは知らんよ。
俺がちゃんとわかってる人かどうかは
あんたが決めることじゃねえよ。スキルチェックでもしてくれ。



265 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 10:34:36 ]
プログラマーなんだから、C++とC#両方使えるようになろうや。

266 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 11:35:59 ]
C++なんぞ使ってると脳みそが腐るぜ

267 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 11:39:14 ]
C++使ってる奴がまだ居たなんて・・・

268 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 12:30:18 ]
C++は使えませんが、C++でできています。

269 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 12:58:35 ]
C++はC++でできています

270 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 13:29:49 ]
gccがgccでコンパイルできるようになりました、というのは結構画期的なことだったらしいが

271 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 14:01:15 ]
foreachループ変数が書き込み禁止だってことを今更ながら知ったのだが・・・
なんでこんな制限があるんだ?
コレクションに変更を加えるわけじゃないし問題ないと思うんだけど。

272 名前:デフォルトの名無しさん mailto:age [2007/09/03(月) 15:49:14 ]
C#で変数名に変数を使うやり方ってどうやるんですっけ?
test_i(i=1,2,3・・・)みたいな。

273 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 15:54:20 ]
配列を使いましょう

274 名前:デフォルトの名無しさん [2007/09/03(月) 16:06:14 ]
>>271
たとえば
string[] strArray = new str[]{"a","b","c"]
foreach(string str in strArray)
{
s="d"
}

ってやってもstrArrayには反映されない。

foreachの列挙子はIEnumerableの実装いかんによっては、何を
参照しているのか全く保障されない。
IEnumeratorは上記の例のようにコピーを返してくるかも知れない。
あと、IEnumuratorの実装クラスは「列挙」できればよく、要素の概念
を持たないものだってあるからね。
MSDNのIEnumerableのサンプルをみてみそ。



275 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:30:21 ]
>>271
「変数の使いまわし」ができないようにするのが最近の流行だから。
バグが減ると信じられてる。

276 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:36:34 ]
foreachって実際は

while(strEnumerator.MoveNext())
{
 string str = strEnumerator.Current;
 ...
}
こんな感じでしょ
代入しても無意味というか、元が配列だったりすると
書き換えられるという錯覚を与えかねない
というか配列のforeachは
for(int i = 0; i < strArray.Length; ++i)...
に置き換える最適化がされるらしいから
実際に書き換えられちゃうんでそうするとforeachの意味が変わっちゃう






[ 続きを読む ] / [ 携帯版 ]

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

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