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


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

C#, C♯, C#相談室 Part92



1 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:46:53.58 ID:op86qfG/.net]
■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467211515/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

237 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 12:29:20.61 ID:4XW6lmAf.net]
ラムダ式使ってたけど、>>104みたいな理由で自分以外保守できなくなったから.NET2.0時代の表記に戻したな
いくら便利でも周りが使う気無いなら意味ねえわ・・・

238 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 13:39:39.07 ID:v0Y8eGO4.net]
技術者の1割しか理解してないものを仕事で使用できるわけがない。
C#とVBでVBが選ばれるのも仕方がない。仮にC#なんか選んでしまうと一部の技術者に負担がすべていく。
するとC#にしろ、ラムダ、LINQOKにしろ、WPFにしろと言ってた輩が無責任に最初に転職していく。
残された奴らじゃとても保守は無理。

239 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 13:47:01.73 ID:BO1ZZ84r.net]
便利だから楽だからって言い張るから導入した途端
その人が辞めていく法則

240 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 17:10:34.62 ID:ToRYKJiY.net]
そういうのはマ板でやってくれ

241 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 18:55:42.34 ID:bS39cZCs.net]
業務では言われたことを適当にこなして定時で帰れば良い
お家に帰ってからが楽しいプログラミングの時間だ
誰にも足を引っ張られないで好きなことをできる
悲しいね

242 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 19:12:51.30 ID:bir6oLGv.net]
>>230-232
俺はそれでいいと思うけどね。
結果的に「従来記法しかしない会社」と「意識高い記法をする会社」で市場で勝敗つければいい。

本当に「生産性が高い」のなら相手を容易に駆逐できるはず。
出来ないのならその程度だってこと。
まだらになっている方が生産性が悪い。分離して競わせるのが正しい。

多分、ラムダ、LINQ、WPFには相手を駆逐できるほどのインパクトは無い。
対してメモリ保護、GCはかなり劇的に楽になるのでCはシェアを落としつつある。
ちなみに俺はHTMLはフォーム/WPFを駆逐できると思う。

243 名前:デフォルトの名無しさん [2017/02/27(月) 19:15:16.04 ID:Ftr1v2iE.net]
ラムダとリスト操作系関数は少し慣れればかなり便利
WPFは、WEBフレームワークに似てるからそっち系の人は良いのでは

244 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 19:17:31.38 ID:Ehytdfgf.net]
>>235
ごちゃ混ぜで語りすぎてる。
ラムダ、LINQなんてちょっと学習するだけやん。
請負、派遣業界に無理なのは分かるがw

245 名前:デフォルトの名無しさん [2017/02/27(月) 19:47:36.34 ID:RCbBwD75.net]
書籍代は幾ら有っても足んね〜

みんなは、どうしてる?

図書館は、全くと言って良いほどロクな書籍が無い
後はグーグル書籍で、漁る位だし……。



246 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 19:55:43.62 ID:GaZbolX8.net]
APRESSから買っている

247 名前:デフォルトの名無しさん [2017/02/27(月) 20:15:06.48 ID:RCbBwD75.net]
ほむ

248 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 20:17:13.08 ID:zuqOpmfm.net]
>>238
MSDNのリファレンスを全部プリントアウトしたほうが安いんじゃね?

249 名前:デフォルトの名無しさん [2017/02/27(月) 20:46:05.22 ID:RCbBwD75.net]
>>241
その発想は無かった

因みに get setの使い道が微妙なんだけど、
具体的な使用例とか、教えてくれ><

250 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 20:55:40.51 ID:SheqW2pp.net]
>>242


251 名前:プセル化 []
[ここ壊れてます]

252 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:04:36.29 ID:bir6oLGv.net]
>>236
WPFざっくり見てみたが、HTML/CSS/JavaScriptの再開発でしかない。
時期的な問題もあったのだろうが、
ここまで似せるなら最初からHTML/CSS採用しろよ、とWEB系からは見えるだろう。
WEB系の連中を引っ張り込みたいのなら、今からでも全面採用して、
HTML/CSS/C#出来るようにするべきだろう。

見た目、WEB系はC#よりも新技術の使い捨てが酷くて、余裕が無い。
彼らにとってWPFは簡単だが、学ぶのが面倒であり、その価値もないから、
Electron(HTML/CSS/JavaScript)でデスクトップアプリを作る方を選択するだろう。

面倒だから学ばない、というのはラムダもLINQも同じ。
元々無くても出来るのだから、それで苦労してない人には同期付けが無い。
その辺がメモリ保護/GCと根本的に異なる。

253 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:14:29.75 ID:Ehytdfgf.net]
>>244
相変わらず馬鹿だな。

254 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:19:28.45 ID:QfkRDmsT.net]
ざっくりじゃなくて、もう少しちゃんと使って理解してから評価しなよ。

255 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:22:26.99 ID:aCjjvIHm.net]
15年ぐらい前htmlviewでui作るの流行ったな。もうすっかり見かけなくなったがw



256 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:34:20.63 ID:sVGz7y9C.net]
html5ならUWPにあるから良かったじゃん

257 名前:デフォルトの名無しさん [2017/02/27(月) 21:39:40.07 ID:Ftr1v2iE.net]
>>244
Electronは遅すぎる

258 名前:130 mailto:sage [2017/02/27(月) 22:16:01.34 ID:8x434lFb.net]
>ここまで似せるなら最初からHTML/CSS採用しろよ、とWEB系からは見えるだろう。
>WEB系の連中を引っ張り込みたいのなら、今からでも全面採用して、
>HTML/CSS/C#出来るようにするべきだろう。

ASP.NET MVCってまさにこれ?

259 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 22:49:12.00 ID:bir6oLGv.net]
>>248
> UWP
名前しか聞いた事無かったけど、これは良いね。
HTML/JavaScriptならElectronと同じコンセプトが可能か?

HTML/C++で使いたいんだが、この組み合わせは無理なのか、、、

260 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 23:22:57.99 ID:ENJIvJC4.net]
妄想だけでよく書くなほんと

261 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 23:40:54.02 ID:o2MHRqlI.net]
>>238
最近の本は安くなってるよ。
一番高かったのは2000年当時、Windows関連書籍で一冊1万越えもあった。
平均7、8千円かな、5千円だと安いと感じた。
本代はケチらずばんばん買ってる。
飯の種だし、1日悩んでたら人件費何万になる?
本買って解決すれば安上がり。

262 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:00:06.65 ID:8+bIkryZ.net]
>>251
WPF → UWP という進化だよw

263 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:13:12.42 ID:3lr7jZCG.net]
一応最終的には全ての組み合わせが出来ることを目指してるんだろ?
看板付け替えただけ、という見方かもしれんが、俺は進化でいいと思うぞ。

264 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:17:57.53 ID:C4A7F+ay.net]
>>251
MFCでだいぶ前からhtml/c++はできるじゃん。

265 名前:デフォルトの名無しさん [2017/02/28(火) 19:37:38.52 ID:yxAUZLha.net]
テキストファイル中の、特定の行だけを読み込むにはどうしたらいいでしょうか?
読みたい行が何行目かは決まってるんですが、
1.1行目からその行までに含まれる文字数
2.読みたい行からファイルの末尾までの行数
は不定です。
FileStream.Seekの、バイト数ではなく行数指定出来るものがあればいいんですが。



266 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 19:42:51.05 ID:9Xdv30xY.net]
>>257
ループ回して対象行のカウントでホゲホゲすれば?

267 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 19:44:38.27 ID:yxAUZLha.net]
>>258
ありがとうございます。
うまくできました。
StreamReader reader = new StreamReader(file,Encoding.Default);
for(int i = 0; i < 10; i++)
{
reader.ReadLine();
}


268 名前:this.listBox1.Items.Add(reader.ReadLine()); []
[ここ壊れてます]

269 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 20:23:35.47 ID:K7hLR7oh.net]
>>259
実践で使えないコード過ぎてイラっときた
気分で改行したら終わりって

270 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 20:29:23.68 ID:+WocOs48.net]
>>260
読みたい行が何行目かは決まってるのに気分で改行したがるその仕様無視にイラっときた

271 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 20:35:19.50 ID:K7hLR7oh.net]
本当はキーワードがありそうじゃん
n行目ってのはあくまで質問者が宿題を読んだ感想文なわけで

272 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 20:37:44.89 ID:Fq1JMnLG.net]
>>262
エスパーさんはいらないから
汎用性のないコードだってのならともかく「本来はこんな問題のはず」とか議論しても何もならん

273 名前:デフォルトの名無しさん [2017/02/28(火) 21:08:18.23 ID:pIiGTdLD.net]
>>260
どこが実践で使えないんだ(笑)

274 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 21:15:58.55 ID:wrouDyFM.net]
とんちき臭がする

275 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 21:19:57.27 ID:BFmlECVl.net]
ClosedXMLを使って、2行分のデータとスタイル(罫線等)を、任意の2行へコピーしようとしています。
CopyToを使って動かしてみると、マージされているセルなどが思った通りにはコピーされないようです。

worksheet.Range(rowno + 2 + ":" + rowno + 3).CopyTo(worksheet.Range(rowno + 4 + ":" + rowno + 5));

お助けください



276 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 21:34:46.83 ID:A2md68KB.net]
2 + ":"
こういうの気持ち悪い

277 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 21:59:17.96 ID:39alJvfi.net]
>>259
StreamReaderをCloseしようね
内部的には同じだけどFile.ReadLines()を使ってElementAt()とかで目的の行が取れるよ

278 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 22:08:38.41 ID:s47hQ+GZ.net]
>>264
じゃ、お前んとこってテキストファイルの行数でデータ定義するの?

279 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 22:11:57.45 ID:39alJvfi.net]
ログファイルの1行目と2行目はヘッダーだからみたいな定義は十分ありえるだろ

280 名前:デフォルトの名無しさん [2017/02/28(火) 22:14:30.88 ID:pIiGTdLD.net]
>>269
普通にID管理だけど、チートやバグが発生した場合に行数管理で正常か
どうか判断する局面も有るけど?

281 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 22:24:32.74 ID:+WocOs48.net]
>>269
測定データ1分1行で定義されてて、1日置き=1440行ごと読み出しとか、行数でのデータ取扱なんてざらだよ

282 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 23:03:34.74 ID:s47hQ+GZ.net]
>>272
面倒でも日時入れるわ
データがないとき(?)って空白出すの?
超面倒じゃん

データがないって判定もヤバそう

283 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 23:10:22.11 ID:AHF/JWRt.net]
>>268
ReadLinesは全部メモリに読むから、ファイルがでかい可能性があるなら避けたほうがよいかも

284 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 23:12:03.23 ID:z/77EZzb.net]
メインフレームのシーケンシャルファイル(固定長レコードのバイナリファイル)ですら件数で判断なんかやらねえわ
運用が面倒臭すぎる

285 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 23:25:18.45 ID:39alJvfi.net]
>>274
読まないよ
全部読むのはReadAllLines



286 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 01:43:58.56 ID:jez9uqUV.net]
自分もテキストでハマってるわ。
テキスト読み出しながら、登録したキーワードに引っかかったらreplaceする必要があるんだけど、(足りない脳味噌の範囲で)どうやってもクッソ遅い。


287 名前:キーワードと置換後文字はDictionaryで管理してるけど、そもそもキーワードが8200程ある上に、テキストも1ファイルあたり平均約2.7万文字あってもう無理(テキストファイルは1日あたり1600ほど生産されてる)
速度は諦めるしかない?
[]
[ここ壊れてます]

288 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 01:54:31.83 ID:XgpeB6sR.net]
>>276
すまん、そうだった

289 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 04:22:26.99 ID:uGJVx5D1.net]
>>277
どのくらいで遅いって言ってるのか次第じゃない?
キーワードにマッチする単位で単語分割できてれば入力の単語単位で辞書にぶつけるのが効率よさそう
ただ3万文字程度ならキーワードの数だけ入力を走査しても言うほど時間かからない気がする

290 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 07:58:17.12 ID:ElQ6OcG3.net]
>>277
キーワードを予め文字単位でツリー化しておいて辿っていけば?
1文字読むたびに最大でもキーワードの最大文字数と同じ数だけのツリーのポインタを1歩進めるだけで済む

291 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 08:04:58.33 ID:SJrJxNnQ.net]
>>268
> StreamReaderをCloseしようね
そこは using だろ

292 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 08:26:19.47 ID:mkeal5qn.net]
トライ木か

293 名前:デフォルトの名無しさん [2017/03/01(水) 14:31:13.79 ID:UzmiTiRe.net]
System.Net.CookieのDomainについてですが、RFC 6265の4.1.2.3が実現できないように思えます
Domainのスコープを設定するにはどうすればいいでしょうか?

294 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 15:36:27.74 ID:yuocqMDO.net]
キーワード「ねこ・こねこ」があるとき、「こねこ」はどちらに該当する?

また、キーワード「こね・ねこ」があるとき、どちらに該当する?

295 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 17:28:21.57 ID:9PjUMtQQ.net]
初心者質問すみません
フォームにボタンAとボタンBの二つのボタンがあります
ボタンAをクリックすると、ある反復処理が延々と繰り返されます
ボタンBをクリックしてこの反復処理をストップさせるには通常どのような記述をするのでしょうか



296 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 17:33:43.62 ID:kRYqKFSr.net]
>>285
反復処理の中に条件付き中断処理を入れる
もう一つのボタンを押したときに中断処理用のフラグをセットする
もちろん別スレッドじゃないとボタン押せないけど

297 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 17:36:44.01 ID:kRYqKFSr.net]
連レスごめん
反復処理中にApplication.DoEvents入れてもボタンの入力受けるけど
反応悪くなるし、今時はまず使わないだろうな

298 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 19:13:43.54 ID:1ptPBH8r.net]
>>285

CancellationTokenSource cancellationTokenSource;
async buttonA_Click()
{
this.cancellationTokenSource = new CancellationTokenSource();

while ( this.cancellationTokenSource.Token.IsCancellationRequested )
{
await Task.Run( () =>
{
// 何か
}, this.cancellationTokenSource.Token );
}
}

private void buttonB_Click()
{
this.cancellationTokenSource.Cancel();
}

299 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 19:21:54.77 ID:z3LIBqaM.net]
>>279に一票。

300 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 19:31:02.44 ID:CFmNTLsk.net]
>>277
ソース上げたら誰かみてくれるよ

301 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 19:53:57.57 ID:SJrJxNnQ.net]
正規表現に 8,200個も連結して検索させたら死ぬかな?

302 名前:デフォルトの名無しさん [2017/03/01(水) 20:31:55.65 ID:r70GDLNP.net]
>>291
not Defined

303 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 21:37:40.58 ID:PGtJZLdC.net]
C#から2chに書き込みたいんだけど、
「At2chLib」が使用できなくなってて困っています。
なにか良いライブラリとか有りますか?

304 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 21:39:56.43 ID:PR7YLHWZ.net]
HttpClient

305 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 21:46:15.04 ID:RAuT14LS.net]
荒らしツールは日本では違法だぞ。



306 名前:デフォルトの名無しさん [2017/03/01(水) 22:01:49.72 ID:r70GDLNP.net]
いやぁ……海外でもダメだろ

307 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 22:08:23.90 ID:PGtJZLdC.net]
荒らしじゃなく、荒らし駆除的なの作りたいんだけどなー

308 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 22:31:30.38 ID:78O8EuSm.net]
荒らしに構う奴も荒らしだぞ

309 名前:デフォルトの名無しさん [2017/03/01(水) 22:38:28.52 ID:fB20izlq.net]
>>295
違法だったら良いのにな…
もし違法だったらVIPで埋めまくってる奴逮捕されていなくなるはずなのにな…
はぁ…

310 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 23:00:18.14 ID:U2Od4VRx.net]
VIPなんぞ行かなくてよろしい

311 名前:デフォルトの名無しさん [2017/03/01(水) 23:13:49.83 ID:fB20izlq.net]
ゲ雑…

312 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 23:57:19.29 ID:6tJnN0su.net]
>>287
1処理1個挟むんじゃなくて100処理か1000処理に1回ぐらいでお願いします

313 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 00:33:44.50 ID:IBdXO0OO.net]
>>277
どこが遅いか分析が足りてないな
キーワードにヒットしたら番地とヒットしたキーワード格納して置換はしないでみたら?
置換って頭使わないと最悪な方法で処理してくれてる気がする
abcを見つけたらdefghijkに変換してくれる処理って
c言語だったら変換後の配列のサイズの計算からしなきゃいけないわけで
それをc#ってreplaceしやがったら配列の再確保余裕でしたみたいなことするアホだろ
その辺は考慮に入ってる?

314 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 00:54:02.49 ID:FuaoIGJx.net]
やっとらおまえらも実装してはじめてMSのWordが糞遅い理由を理解してくれたか。

315 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 00:54:51.19 ID:IBdXO0OO.net]
ならば文字列をつなげていくかとして
str1 + str2
みたいなことするとこれも合体後の文字列の長さで配列を再確保する
3万文字もある文字列だと1回文字列連結をするだけでヤバイ
変換に使用するキーワードの使用回数から最終的な文字列の長さを算出する必要があるかも
ってそれも考慮済みだろうか?



316 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 00:58:24.20 ID:FuaoIGJx.net]
string使ってるという馬鹿なオチかよ。これだからC言語できない奴は。

317 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:07:45.83 ID:B13E3oAw.net]
アルゴリズムの問題。stringだろうと*だろうと同じだろ。これだから自称C使いは・・・

318 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:09:29.82 ID:FuaoIGJx.net]
アホに世界常識を教えてやる。

stringは糞遅い。

だからMSは最初から別のクラスを用意してる。ググレカスども。

319 名前:デフォルトの名無しさん [2017/03/02(木) 01:14:29.76 ID:oXaAut0o.net]
ボディービルダーになれば良いらしいのか

320 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:18:09.17 ID:iFkNWUjs.net]
興味があるならどうぞ StringBuilderのReplace
https://referencesource.microsoft.com/#mscorlib/system/text/stringbuilder.cs,1485
https://referencesource.microsoft.com/#mscorlib/system/text/stringbuilder.cs,1535

321 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:20:26.39 ID:iFkNWUjs.net]
>>308
Replaceのパフォーマンスはそんな変わらないよ
ググレカス

322 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:22:58.33 ID:o9lMs6ta.net]
ここはWinFormsだし、10年前のインターネッツだな。

323 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:23:22.99 ID:FuaoIGJx.net]
おれがコード書けば瞬殺レベルの高速化できる案件。

最後のヒントな。

大山札

324 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 02:04:51.98 ID:ggH8M0CB.net]
>>313
もしかしてあらかじめ領域を準備して,自分で足していく,とか‥

325 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 02:30:07.47 ID:4HioNM+3.net]
>>299
違法と犯罪は違うぞ



326 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 02:41:55.30 ID:iFkNWUjs.net]
>>313
>>280

327 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 06:45:07.41 ID:JZiPjSZc.net]
言語だのStringBuilderだのという小手先のテクニックの問題ではないだろ
>>280のアルゴリズムで実装したら100倍とかのオーダーで速くなるはず

328 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 07:40:36.76 ID:WqhQkxL/.net]
口だけならなんとでも言え

329 名前:
実装して計測してコードと計測結果を晒してから主張して
[]
[ここ壊れてます]

330 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 07:52:06.73 ID:Ct6l/xwh.net]
>>317
280は検索で遅いとき
置換で遅いときはstringbuilderをキッチリサイズ指定する方法でやらないとダメ

まず切り分けかな?

331 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 08:49:47.79 ID:oX3M/pPf.net]
検索が8,200あるのに、マッチするのはそのうち1つ有るかどうかなんだから
圧倒的に検索の問題になるだろうね

普通は

332 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 09:05:00.59 ID:Ct6l/xwh.net]
>>320
いや3万文字を置換のたびに1回1回stringのreplaceしてたらその度に3万文字分の配列を再確保
これが致命的
stringのreplaceはやってはならない
stringbuilderで
これも使い方悪いと速度出ないので正しい感じで

333 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 09:06:59.45 ID:Ct6l/xwh.net]
キーワードの検索の方はdictionary使ってるって言うし十分早いんじゃないかと予想

334 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 09:07:18.82 ID:cjA1b3op.net]
ツリーポインタに文字列中の開始インデックスをセットで持たせておいて、
終端ノードまで来たら開始インデックスから後を削除し、終端ノードに持たせてある置換文字列を付加し、現在のツリーポインタを全て破棄
こうすれば280で置換も効率的にやれるよ

335 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 09:17:20.56 ID:cjA1b3op.net]
>>321
それ文字列が長ければreplaceのための線形探索がネックになるはずで、StringBuilderは直接関係ないでしょ
簡単に効率を改善するんなら、全キーワードのうち最長のキーワードの文字数と同じサイズのバッファを持っといて
そこに対して置換をかけりゃいい
もちろんその置換結果を最終出力の文字列として連結していくところはStringBuilderを使うべきだけど



336 名前:デフォルトの名無しさん [2017/03/02(木) 10:02:53.43 ID:xcfTeAxl.net]
問題は用途が不明だから、仕様が決まらない
に限定されると思ふ ノ ヽ(・ω・)/ズコー

337 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 12:13:19.52 ID:63yIksCz.net]
いいからコード書いて結果出そうぜ






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

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

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