私はコーディングで奇妙な問題が発生したので、プロジェクトでcode highlight libraryを使用してSQLコードビューアをカスタマイズしようとしました。私はサンプルからサンプルフォームを取り出し、それをプロジェクトに入れ、起動時にフォームがハングアップしました。しかし、サンプルプロジェクトでは、ライブラリと同じサンプルが正常に動作します。 2つはWinformアプリケーションです。そしてfurthur調査は、コードは、ライブラリ自体ではなく、サンプルフォームで1つのアプリケーションでMatchCollectionハングアップを使用しますが、別のアプリケーションでは使用しません
var matches = regex.Matches(text);
foreach (Match m in matches) // Here it hangup
{
...
}
ですが、非常に同じ場所で、私はサンプルWinフォームアプリケーションを実行したときにそれができるようにてきぱきと実行されるコードでハングアップすることを私に示してライブラリに付属しています。私は困惑している。私はRegexがアプリケーションを問わず同じものを実行する必要があると考えています。テキストは長すぎず、数百文字にすぎません。正規表現は同じです。私はサンプルフォームを抽出してそれを私のプロジェクトに入れて呼び出す以外は何もしませんでした。
誰かが私を助けたり正しい方向に向けることができますか? 「正規表現などの基本として」何かが実装でも同様に実行することになり
別のテストアプリで同じ正規表現を同じテキストに適用するとどうなりますか? 「ハングアップ」とまったく同じ意味ですか?それはあなたのCPUを使い果たしますか? – svick
サンプルコードは、同じ.NET Frameworkのバージョンを使用していますか? – NirMH
また、あなたの正規表現(と大きすぎない場合はテキスト)を投稿してください。デバッガのコードをステップ実行しましたか?もしそうなら、それはいつハングしたのでしょうか?最初のループへのエントリー、またはマッチの1つに? –