【发布时间】:2013-04-11 20:28:49
【问题描述】:
我在这个社区中真正看重的一件事是学习用两条线做事的方法,而这通常需要我 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”,然后获取与该键关联的所有值。
我所做的工作,但它似乎有点麻烦。有没有更直接的方法来获取关键值?并添加一个新的?
【问题讨论】:
-
行数少并不意味着代码更干净
-
在我不那么谦虚的意见中,我认为您不应该渴望编写尽可能少的代码行。我认为你应该渴望编写干净、清晰、易于理解、设计良好的代码。
-
这只是更大的一部分吗?喜欢解析
XML文件?是这样 - 请告诉我们,有更好的方法来解析这些。 -
嗯,看起来像 XML……你为什么不使用 XML API 来解析它?
-
编写代码的三个标准...短、可读和高效。选择两个。一个经典的三角形:-)