[表示 : 全て 最新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が建てる事。
建てられない場合は他を指定する事。

207 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 19:22:21.24 ID:FbflVc2K.net]
>>180
めっちゃ読みづらい。
いやスペースがないせいだけどw

208 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:01 ]
[ここ壊れてます]

209 名前::05.66 ID:lRvoFyV9.net mailto: >>195
不要
もし後で変更する可能性があるならReaderWriterLockSlim使っとけばいい
[]
[ここ壊れてます]

210 名前:デフォルトの名無しさん [2017/02/25(土) 20:48:05.07 ID:kVUREvkV.net]
>>199,202
ありがとう。
foreachによって実は内部的な変化が行われていたらまずいのではと
考えていました。

211 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:49:00.75 ID:IvVV1H8V.net]
>>195
AsReadOnly()とか使って使う側が変更しないことを保証しといたら?
ImmutableList<T>を使うともっと堅い

212 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 03:14:38.88 ID:0YrJqBhk.net]
ID:N0RLU+6xはもっと要点をまとめて端的に書き込めよ・・・
お前の言う「ラムダの優位性(キリッ」をC#で言ってる人なんてそうそう見ないぞ

変にプログラミング言語一般のラムダについて述べるせいで論点がブレブレだ

213 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 04:03:21.89 ID:0YrJqBhk.net]
日本語が苦手なのかもしれないが、「文法的な意味で関数とラムダを区別してない」とか「関数=ラムダ=階層=クラス」とかはよくないでしょ
初心者にjavascriptの関数が全てラムダみたいな誤解を与えかねない

>Rubyが匿名関数(ラムダ)を匿名クラスで表現するのもこのため。
Rubyの匿名関数(無名関数の方が一般的な呼び名だけど)は匿名クラス(無名クラスの方が一般的だけど)じゃなくて「Procオブジェクト」

214 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 10:41:00.28 ID:/Q8k6Dmd.net]
C#のラムダ式は、どっちかというと式木が目的で導入されたんじゃないの?

てか、いい加減スレ違いでしょ、この話題。

215 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:19:59.83 ID:TMS4+8Av.net]
>>207
式木はdynamicと関係あるだろ
ラムダ式はLINQのメソッド形式では必須



216 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:26:13.98 ID:a7NPBA4e.net]
いやメソッド形式では(事実上はラムダ式必須であっても)匿名メソッドでも代用はできる
式木は意味的に匿名メソッドが式にならないからラムダ式が必須だよ
匿名メソッドで式にできるように言語拡張しても良いけどそれってラムダ式そのものだし

217 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:33:24.17 ID:asTjjGDY.net]
どうでも良いがJavaScriptのfunctionとアロー関数は
等価じゃないぞ。
乱用してバグこしらえるパターンだな。

218 名前:デフォルトの名無しさん [2017/02/26(日) 11:36:25.80 ID:H7bo/69j.net]
>>210
functionだとself定義しないといけなくて面倒だけどアローは楽だよな

219 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:36:30.05 ID:Q2GAsSXo.net]
式木の説明読んでみたが、言ってることが関数型()の連中と全く同じでワロタ

220 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:44:07.89 ID:LLZCcrhN.net]
>>208
式木はもともとdynamicとは全く関係ないよ
DLRプロジェクトで動的コンパイル用のASTが作られたが、System.Linq.Expressionsと被ってるということでそれを拡張する形で統合された
結局DLRは頓挫してコアの部分だけがCLRに導入され、そこに乗っかって実装されたのがdynamic

221 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:49:23.90 ID:0YrJqBhk.net]
>>212
(多少関連のある使い方ができるかもしれんが、)全然違うだろ
どこを読んだらそんな変な読み取りができるんだ?

222 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:59:43.17 ID:LLZCcrhN.net]
>>212
式木やdynamicのあたりは今時のミーハーな関数型()とはだいぶ色が違うと思う
LispのマクロとかMOPとかの影響を受けた、かなりガチなマニアックな設計思想の

223 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 12:33:17.61 ID:Q2GAsSXo.net]
>>215
てか式木っていったい何がやりたかったの?
超高速Evalか?

224 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 12:57:05.99 ID:LLZCcrhN.net]
>>216
式木の目的は、C#で書かれた式を独自に解釈して処理すること
例えばラムダ式を変換してExcelの数式を生成したりできる
文字列を使うのに比べて解釈が楽、型や構文の静的チェックが可能、インテリセンスが効くといった利点がある

225 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 13:49:21.90 ID:Q2GAsSXo.net]
>>217
おそらくLISP信者も同様にそのポテンシャルに魅了されているのだと思うのだが、
具体的に何に活用できるのだ?
何にでも使えそうだが、いざ何に使えば「他では達成できないほど」の結果を引き出せるのか分からない。

> 例えばラムダ式を変換してExcelの数式を生成したりできる
なるほど素晴らしい。しかしExcelシートを別に用意した方が楽だし、
通常の数式ならC#側で「テキスト」として出力するのも難しくは無い。
(もちろん出力パーサの再開発になるから、MS謹製自動変換のほうが楽だが、その程度)

> インテリセンスが効くといった利点がある
これは利点ではあるが、主な目的のうち大半は「手打ち」ではないだろうから、この際あまり関係ない。

> 文字列を使うのに比べて解釈が楽、型や構文の静的チェックが可能
これを「ユーザ側」の利点とするなら、ユーザー側でのパーサ生成、
つまりメタメタプログラミングを想定していることになるが、そうなのか?

結果的にLISPで成功したプロジェクトといえるのはemacsのみだ。
対してCはほぼ全てのPC世界を再構築しているに近い。
理由付けはいろいろ出来るだろうが、結果的に誰もLISPを選ばなかったということではある。
他でもっと簡単に目的を達成できる方法があるのなら、誰もより複雑な方式での解決なんてしない。
結果的に、何でも出来るLISPは誰にも使われなかった。式木の雰囲気も見た目これに近い。

ExcelはExcelで、C#はC#で、で誰も文句は無い。
(その分簡単になっていて、Excelは非プログラマでも十分使える)
そこを統合するのは学術的には意味があるが、現実的には意味が無い。
HaskellやPrologみたいにアカデミック向けなら分かるが、C#はそうではないし。



226 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 14:12:54.65 ID:AZYnfb42.net]
メタプログラミングで便利
以上

227 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 14:23:30.18 ID:Q2GAsSXo.net]
しかし現実的には、通常のプログラミング:メタプログラミング=100:1、位の分量しかないだろ。
どうでもいい箇所の高速化をやってる馬鹿と同じ。そこにこだわっても効果ないよ。

228 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 14:36:14.18 ID:0YrJqBhk.net]
>>220
リフレクションの代わりにして高速化するとかの目的で結構使われてる
アプリケーションで使うよりもライブラリの内部とかで使うことが多い

229 名前:デフォルトの名無しさん [2017/02/26(日) 14:37:28.54 ID:bMNV8RU5.net]
一度時代から消えたような無用な機能を言語オタクが復活させてみんな迷惑してるいう状況。

230 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 14:38:28.84 ID:BapL/ZVi.net]
他言語からの移植が楽
可読性悪くなるから使うことはないな

231 名前:デフォルトの名無しさん [2017/02/26(日) 15:03:16.38 ID:bMNV8RU5.net]
はるか昔、C++ vs Objective-Cの戦いで瞬殺されたObjective-Cを
コード書けないジョブスが引っ張り出してきて、みんなが迷惑してるレベル。

それがC#とヘジ。

232 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 16:19:53.46 ID:cWe1Zi+O.net]
C++が勝ったのはCとの互換性で、ジョブズがObjective-Cを選んだのはC++が美しくなかったからだと思う。
しかし、O-CはAppleだけだから、やらされる身からすると迷惑なんだろう。

233 名前:デフォルトの名無しさん [2017/02/26(日) 16:33:51.40 ID:bMNV8RU5.net]
はるか昔、BASIC vs Pascalの戦いで、激戦の末、BASICが市場を制した。
にも関わらず、BSDにOSX、iOSなどと名前詐欺するように、PascalにDelphiなどとかっこいい名前をつけて売り出した男がいる。

ヘジである。

とある事業でMSの独占だと将来に保守するリスクが高まるのでDelphiを採用した開発があった。
Delphiは一瞬市場で人気は出たもののすぐに消えた。あのとき大量に作られたコードは今も保守されてるんだろうか。

市場から一度消えた古い技術を引っ張り出す輩はほんと迷惑である。

234 名前: ◆QZaw55cn4c mailto:sage [2017/02/26(日) 17:17:53.27 ID:1LlUyF33.net]
pascal はいい言語だよ,LL(1) なんて美しいじゃないか

235 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 17:26:34.35 ID:cWe1Zi+O.net]
アルゴリズム+データ構造=Pascal
これが私の原点だ。
でも、生活の為に、いまだCやってる。
ヘッダファイルが面倒、C#はヘッダファイルなくていいね。



236 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 08:50:13.59 ID:DR1RgDtx.net]
式木は実行時コンパイルできるという利点もあるよ
実行時コンパイルはシリアライザの高速化に使用されている

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]
荒らしじゃなく、荒らし駆除的なの作りたいんだけどなー






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

前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