このコミュニティで私が本当に大切にしていることの 1 つは、通常なら 20 行かかることを 2 行で行う方法を学べることです。その精神で、文字列解析を約 12 行から 3 行に減らすために最善を尽くしました。しかし、これが実際にどれほど混乱しているのかを見せたいと思っている人がいるように感じます。私自身の啓発のためだけに、次のことを行うためのよりクリーンな方法はありますか? すべてを 1 行で実行できますか?
string getThis = "<add key=\"messageFilter\" value=\"";
string subStr = strFile.Substring(strFile.IndexOf(getThis) + getThis.Length);
string[] igPhrases = subStr.Substring(0, subStr.IndexOf(";\"")).Split(';');
アップデート
迅速な対応に感謝します。本当に役立つ例と、最小限のスナークによる適切なアドバイス。:) 行数を減らすことは、クリーンでエレガントなことと同じではありません。行数を減らすと、実際にはコードが悪化する可能性があります。
質問を言い換えさせてください。
次の行を含む XML ドキュメントがあります: <add key="messageFilter" value="Out of Office AutoReply;Automatic reply;"/>
. このドキュメントは、件名にこれらのフレーズが含まれるメールからはチケットを作成しないよう、自動チケット発行システムに指示しています。そうしないと、無限ループになります。
私は、既に含まれているフレーズを一覧表示し、ユーザーが新しいフレーズを追加できるようにする小さなプログラムに取り組んでいます。新しい自動返信メッセージがシステムをループし始めていることに気付いた場合、そのメッセージの言語をフィルターに追加できるようにする必要があります。
私は XML をあまり扱っていません。Sperske のソリューションは気に入っていますが、動的にする方法がわかりません。つまり、コードに値を入れることができません。キー「messageFilter」を見つけて、そのキーに関連付けられているすべての値を取得する必要があります。
私がやったことはうまくいきますが、少し面倒です。キー値を取得するより簡単な方法はありますか? そして、新しいものを追加するには?