[表示 : 全て 最新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あたり。

137 名前:103 mailto:sage [2007/08/30(木) 18:49:35 ]
>>106
クリック時の挙動がまだきちんとできませんでしたが、今回実現させたいことはできました。
どうもありがとうございました。

>>107
VB6を中途半端に覚えてからしばらくWebアプリのスクリプトに流れて、久々に勉強を兼ねてWinアプリを作ってみたのですが
やっぱりきちんと基本からやり直さないとダメですね。
ご指摘ありです。

138 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 18:52:54 ]
>>137
次からはふらっと池よ

139 名前:103 mailto:sage [2007/08/30(木) 19:02:42 ]
>>138
ふらっとも読んでたのですが向こうの>>1を読み飛ばしてしまってました。
そうします。スレ汚し失礼しました。

140 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 19:24:20 ]
プログラム全くやったことなくてC#覚えなくちゃならなくなったんだけど、
お勧めの参考書教えてください。

141 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 19:50:54 ]
フラット池

142 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:04:13 ]
Web検索とインテリセンスで何とかなるよ

143 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:38:59 ]
ActiveReports3.0を使った帳票を作成しています。.Net環境はVS2005を使用してます。

現象は、WebViewerを使ってPDF形式の出力をしようとすると、2003ServerEnterpriseだと
普通に出るのですが、2003server R2 StandardだとNo Specify Reportsと出てしまいます。
2台の同じバージョンのサーバーに入れて同じ現象でした。

また、WindowsXPの開発環境では普通に表示できます。似たような事象に出会ったかた
いらっしゃいましたら回避方法をお願いできませんでしょうか。

ここで聞くべきかあれですが、スレ違いでしたら誘導していただけると助かります。

よろしくお願いいたします。


144 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:44:48 ]
勢いでソートしたらここもふらっともかなり上位だし
この板で一番レス数の多い言語はC#ということになりそうだな

145 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:05:05 ]
まあ、C/C++ 出身者から初心者まで、ターゲットの幅が広いし。



146 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:33:06 ]
TabControlの中に、TextBoxを複数配置し、PropetyBindingでデータをバインドしてます。
フォームが閉じられる際に、TextBoxの値が未入力ならアラートを出すようにしてますが、
TextBoxに値があるのにif(TextBox.Text == "")がtrueとなってしまいます。
その際、一度TextBoxが含まれるTabをセレクトすると正常な挙動となります。
どのような問題が考えられますでしょうか?

147 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:52:12 ]
>>77
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/014strcheck/strcheck.html

148 名前:デフォルトの名無しさん [2007/08/31(金) 10:58:54 ]
ファイルへの書き込みで質問があります。

using (TextWriter stream = createStream(filePath, Encoding.GetEncoding(932))) {
 foreach (string line in hogeList) {
  stream.WriteLine(line);
 }
}

というような感じで、5千万行(約5G)ファイルに書き込むのですが、
3千万行(約3G)ほど書き込んだ所で以下のような例外が出てしまいました。
この例外発生時はディスク容量に余裕がある状態でした。

GetBytes() または GetByteCount() を呼び出す前に、Convert() 操作を完了するか、または Encoder.Reset() を呼び出さなければなりません。エンコーダ '日本語 (シフト JIS)' フォールバック 'System.Text.InternalEncoderBestFitFallback'。
System.ArgumentException: GetBytes() または GetByteCount() を呼び出す前に、Convert() 操作を完了するか、または Encoder.Reset() を呼び出さなければなりません。エンコーダ '日本語 (シフト JIS)' フォールバック 'System.Text.InternalEncoderBestFitFallback'。
場所 System.Text.DBCSCodePageEncoding.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, EncoderNLS encoder)
場所 System.Text.EncoderNLS.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, Boolean flush)
場所 System.Text.EncoderNLS.GetBytes(Char[] chars, Int32 charIndex, Int32 charCount, Byte[] bytes, Int32 byteIndex, Boolean flush)
場所 System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
場所 System.IO.StreamWriter.Dispose(Boolean disposing)
場所 System.IO.TextWriter.Dispose()

見た感じEncodingの設定でコケてるように見えますが、意味が分りません。
もしかして○ギガ以上のファイルを作れない、といった感じの制限があるのでしょうか。

・Win2000
・VisualC# 2005 ExpressEdition
・.net framework2.0

149 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 11:47:59 ]
このレスを見たあなたは確実に交通事故に会います

逃れる方法はただ一つ
↓このスレに行き
anime2.2ch.net/test/read.cgi/rcomic/1187704465/

    // ̄ ̄ ̄ ̄\ .
   彳丿; /,,,,,,,,\ u lヽ
   入丿 -◎─◎- ;ヽミ.             
    | u:.:: (●:.:.●) u:.::|      
    |  :∴) 3 (∴.:: |   か、か、葛西なんてダサいよね♪
  ノ ヽ、   ,___,. u . ノ、   や、や、やっぱり大阪の川島が最強だよ♪
>>255-256
( ´,_ゝ`)
理論で勝てないからって恥かし過ぎw
何処をどう見ても川島厨の理論が破綻し過ぎw
川島厨の特徴 恥かしくも自分の事を川島派と名乗る
一生懸命書いた恥かしい>>151-152を誰も納得してくれないので拗ねてる
早く病院行けっつううのwww
いい加減コピペ止めろ、葛西厨装った川島厨!!
>>377
↑はいはいコピペ乙
コピペしてる奴は、その内容関係なしに、川島厨の荒らしだって事はとっくにバレてんだよ!
>>151-152の直後といい、>>255-256の直後といい、先にコピペ荒らしすんのは、常に川島厨からだからだ!!
分かったか?カス!! 反論できないからってここまで荒らすか?
好きなだけ荒らせば?このスレは元々お前を隔離する為のスレだし


と書き込んでください。書き込まなければ確実に明日交通事故にあいますよ


150 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:33:22 ]
コピペ君って馬鹿だな、まで読んだ。

151 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 14:48:56 ]
宿題が終わってません、まで読んだ。

152 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 15:44:47 ]
>>148
line に CP932 に属さない文字があるんじゃない?

153 名前:デフォルトの名無しさん [2007/08/31(金) 16:27:52 ]
Action<T>のメソッドを可変に指定することは出来ないの?

154 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 16:35:47 ]
質問の意味が分かりません。

155 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 17:45:35 ]
・Action<T1, T2>を自分で定義する
・Action<object>を使う
・Action<string> action = delegate(string x){};などとして引数にactionを渡す
自分の想像力の範囲で挙げてみた



156 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 17:59:05 ]
>148
private void button1_Click(object sender, EventArgs e)
{
  using (StreamWriter stream = new StreamWriter(@"c:\hage.txt", false, Encoding.GetEncoding(932))) {
    for (int i = 0; i < 100000000; i++) {
      stream.WriteLine("12345678901234567890123456789012345678901234567890\n");
    }
  }
}

を実行したら2G書いたところでで落ちた
Encoder.Resetのヘルプ見たらなんとなく理由は分かった気がするけど解決法はシラネ

157 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 18:11:29 ]
一気に書き込まずに、時々ストリームを閉じてappendで追記すればOK。

158 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 18:34:19 ]
スーパーバイザーコールはCPU占有するから、処理を一気に行うのは良くない。

159 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 18:53:46 ]
ご存知の方いたらよろしくおながいします。

【開発環境】
visual studio 2005 、言語はC#です

【やりたいこと】
・「クラス名」を変数として、newしたい
(newする対象となるクラスを可変にしたい、ということです)

【例:正しいコードではないけど、やりたいことのイメージ】

// newしたいクラス名を引数として、newしたクラスインスタンスを返す関数
object getCreatedClass(string iClassName) {
return new iClassName();
}

ClassExample1 ex = getCreatedClass("ClassExample1 "); // ClassExample1 を作る
ClassExample2 ex = getCreatedClass("ClassExample2 "); // ClassExample2 を作る

※ 「ClassExample1 ex = new ClassExample1()」でダメなの?と思われるかもしれませんが、
上の関数はあくまで簡潔にした例で、実際にはgetCreatedClass内で
new以外にも、クラス名を使った処理をしたいのです。


160 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 18:59:46 ]
リフレクションでググれ

161 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 19:20:56 ]
またそれか
Activator.CreateInstance
そんなことそんなに頻繁に行われることなの?
やるとしてもちゃんとわかってる人がやるものじゃないの?

162 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 19:59:49 ]
いまの現場にいるオレよりキャリア長いけどよく分かってない人はリフレクション大好きだぜ

163 名前:148 mailto:sage [2007/08/31(金) 20:42:26 ]
>>152
156さんの例もあるので、CP932絡みの問題ではないようです。

>>156
やはり落ちましたか。
根本的な解決ではないですが、とりあえずファイルを分割して
最後にDOSコマンドで連結する事で逃げることにしました。

>>157
なるほど。その発想はありませんでした。試してみます。

164 名前:デフォルトの名無しさん [2007/08/31(金) 20:47:44 ]
ネイティブのDLLから、バイナリ列を取得したいのですが、
バイト配列のマーシャリングは、どうすればよいのでしょうか?
BOOL native_func(LPBYTE pBuff, DWORD dwBuffSize, LPDWORD lpByteReturned);

文字列や構造体のサンプルはいくつか見つけたのですが。。


165 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:06:31 ]
面倒なときはメモリ確保してIntPtrで渡して帰ってきたらMarshal.Copy



166 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:09:31 ]
>>164
MSDNライブラリ読んで理解できないのなら(まあ、君は最初から読んでなさそうだけど)
やらない方がいいんじゃないの?
人に聞くような難解な話とも俺には思えないから言うんだけど。
でないと危険だと思うけどね。

それとも、分からないことや意図しない動作に遭遇する度にいちいち人に聞くつもり?

167 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:17:12 ]
unsafeでもいいならfixedでできたっけ

168 名前:164 [2007/08/31(金) 21:24:24 ]
>166
ありがとう。
System.Array で受けようとしてはまっていました。
Blittable型は、特別なコーディングいらないってことなので、
[DllImport("LargeBuffer.dll")]
private extern static bool native_func(
byte[] pBuff,
uint dwBuffSize,,
out uint lpByteReturned
);
で、
とりあえず、大きな 領域を new byte[] して取得してから、
Arrayにセットするようにしました。


169 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:24:33 ]
bool native_func(byte[] pBuff, int dwBuffSize, [out] int lpByteReturned);

で良いんじゃなかったっけ?

170 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:25:23 ]
おっと、失礼。

171 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:31:56 ]
>>166
おまえはそんなことを言うためにこのスレにきてんの?

172 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:37:49 ]
当然だろ。

173 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:40:11 ]
マーシャリングは適当にググると各々やり方が微妙に違ってたりするんだよな
俺はよく迷う

まぁMSDNみろよって話に収束するんだけどさ

174 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:46:31 ]
正解が一つじゃないからな

175 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:46:03 ]
COMインターフェイスの定義もね。。

引数がCOMインターフェイスへのポインタの場合、
objectで汎用的にしてるとか
IntPtrにしてほっとかれてるときとか
特定のインターフェイスに決め打ちしてるときとか。。




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#使った方がいいというわけだな






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

前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