当前位置: 首页 > 编程语言 > C#

C#学习教程:.GetProperties()的大O分享

时间:2023-04-11 00:07:14 C#

.GetProperties()的大O如果有n个属性,就是.GetProperties的大OO(n),还是反射涉及到增加的复杂度过程?假设有一个这样定义的类:publicclassReflector{publicstringname{get;放;}publicintnumber{get;放;}publicboolflag{get;放;}公共列表等{得到;放;}}然后调用这个调用:varreflect=newReflector();PropertyInfo[]properties=reflect.GetType().GetProperties();.GetProperties()的时间复杂度,即Big-O是.GetProperties()?考虑到有4个属性,这只需要4次迭代还是比这更复杂?或者,列表中的O(1)是否具有一些标准的复杂性——这似乎仍然是O(n)只是为了构建属性数组?Big-O是渐近复杂度,换句话说O(n)只与n的大值相关。一个类永远不可能有足够的属性来使其相关。出于实际目的,您不妨将其视为O(1),但具有非常大的常数。这种问题是用纳秒来表示的,而不是Big-O表示法。它比那更复杂。该算法还必须包括原始类型链接。此外,实现可能会缓存结果,因此固定成本实际上可能是O(1)。但实际上,反射总是很慢,因此您应该分析您的应用程序并进行更改,直到达到您的性能目标。以上就是C#学习教程大O分享的全部内容:.GetProperties()。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: