小编Eri*_*ich的帖子

Convert.ChangeType的更快版本

在我拥有的应用程序中,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#

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1