我有几千次调用的代码,我需要针对性能进行优化。 我考虑过缓存xmlQualifiedNames,但这还不够好。 任何想法?
private static string GetPrefixForNamespace(string ns, XmlSchema schemaDocument)
{
string prefix = null;
XmlQualifiedName[] xmlQualifiedNames = schemaDocument.Namespaces.ToArray();
foreach (XmlQualifiedName qn in xmlQualifiedNames)
{
if (ns == qn.Namespace)
{
prefix = qn.Name;
break;
}
}
return prefix;
}
答案 0 :(得分:0)
将其填入Dictionary
或Hashtable
甚至是某种缓存机制。
答案 1 :(得分:0)
因为你在Namespace
内寻找字符串(xmlQualifiedNames
),如何缓存这些字符串?
或使用LINQ搜索它们?
或者 - 取决于您获得的输入类型 - 使用记忆加速您的通话(实际上只是花哨的缓存)like in this article.