我在这个社区中真正看重的一件事是学习用两条线做事的方法,这通常需要我 20 年。本着这种精神,我已尽我所能将一些字符串解析从十几行减少到三行。但我觉得有人想向我展示这实际上是多么的一团糟。只是为了我自己的熏陶,有没有更清洁的方法来做以下事情?这一切可以在一条线上完成吗?
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”,然后获取与该键关联的所有值。
我所做的工作,但它似乎有点麻烦。有没有更直接的方法来获取关键值?并添加一个新的?