Tra*_*s J 5 c# reflection getproperties
如果有n个属性,那么.GetProperties O(n)的Big-O还是反射中涉及的过程增加了复杂性?
假设有这个定义的类:
public class Reflector
{
public string name { get; set; }
public int number { get; set; }
public bool flag { get; set; }
public List<string> etc { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后进行此调用:
var reflect = new Reflector();
PropertyInfo[] properties = reflect.GetType().GetProperties();
Run Code Online (Sandbox Code Playgroud)
什么是时间复杂度,即Big-O .GetProperties()?考虑到有4个属性,这只需要4次迭代还是比它更复杂?或者,是否O(1)具有一些标准的复杂性集到达列表 - 这似乎仍然是O(n)只是为了构建属性数组?
Big-O 涉及渐近复杂度,换句话说,O(n) 仅与 的大值相关n。
一个类永远不会有足够的属性来使其相关。
出于实际目的,您不妨将其视为 O(1),但具有非常大的常数。
此类问题以纳秒表示,而不是 Big-O 表示法。