Это - намного более трудный вопрос для ответа, чем люди готовы признать.
, Например, может случиться так, что я в состоянии записать программу, которая работает лучше в Python, чем это делает в C. Ошибочным заключением из того оператора является "Python, поэтому быстрее, чем C". В действительности это может быть, потому что у меня есть намного более свежий опыт в Python и его лучших практиках и стандартных библиотеках.
На самом деле никто не может действительно ответить на Ваш вопрос, если они не уверены, что могут создать оптимальное решение на обоих языках, которое маловероятно. Другими словами, "Мое решение C было быстрее, чем моим решением Python" не является то же, поскольку "C быстрее, чем Python",
я готов держать пари, что Guido Van Rossum, возможно, записал решения Python для adam и проблем Dustin, которые работали вполне хорошо.
Мое эмпирическое правило - то, что, если Вы не пишете вид приложения, которое требует, чтобы Вы считали такты, можно, вероятно, достигнуть приемлемой производительности в Python.
Use XmlIgnoreAttribute to do it statically, as others advised you.
You can also do it dynamically. Suppose you have a serializable property Name. Then the following:
[XmlIgnore]
public bool NameSpecified {
get {
// your logic here
}
}
If this special property getter returns true, Name will be included in the output XML document, otherwise, it won't be included. NameSpecified itself is marked with [XmlIgnore] because you obviously don't want to include it.
В соответствии с комментарием Ажеглова относительно суффикса «Указанный», атрибут DefaultValue
также учитывается при сериализации, и значение не будет сериализовано вообще, если оно значение по умолчанию.