在我拥有的应用程序中,Convert.ChangeType为了将值转换为动态加载类型,我正在进行频繁的调用.
然而,在使用ANTS进行分析后,我发现这Convert.ChangeType似乎占用了相当长的一部分时间(由于被频繁调用).有没有人有更快的替代方法呢?
此时我有一个包含目标的类型对象,以及一个string包含该值的对象.
以下是违规代码.我正在考虑在类型上做一个switch语句(因为它是一个有限的类型集合)并调用解析方法,虽然我不确定它是否会更快.
if(attributeRow["Value"]!=DBNull.Value)
sample[attr] = attr.AttributeType == typeof(Guid)
? new Guid(attributeRow["Value"].ToString())
: (IComparable)Convert.ChangeType(attributeRow["Value"],attr.AttributeType);
Run Code Online (Sandbox Code Playgroud) c# ×1