使用对象类型来避免数据转换

时间:2014-08-29 02:26:57

标签: c#

如果我在属性类中使用对象类型,是否会出现性能问题?而不是单独使用数据类型分配它们并逐个转换它们。我使用了对象来避免转换并提高性能。或者我做错了吗?请指导我。感谢。

DataSet ds = new DataSet();

List<DynamicData> details = new List<DynamicData>();
Queries qr = new Queries();
ds = qr.GetCacheableSP();
foreach (DataRow dtrow in ds.Tables[0].Rows)
{

            DynamicData tbl_roads_avg_roughness = new DynamicData();

            tbl_roads_avg_roughness.site_category_func_class = dtrow["site_category_func_class"];
            tbl_roads_avg_roughness.csurvey_with_data = (dtrow["csurvey_with_data"]);
            tbl_roads_avg_roughness.ctotal_length = (dtrow["ctotal_length"]);
            tbl_roads_avg_roughness.caverage_iri = (dtrow["caverage_iri"]);
            tbl_roads_avg_roughness.date_imported = dtrow["date_imported"];
            tbl_roads_avg_roughness.color = dtrow["color"];
            tbl_roads_avg_roughness.csurvey_with_data_total = (dtrow["csurvey_with_data_total"]); ;
            tbl_roads_avg_roughness.ctotal_length_total = (dtrow["ctotal_length_total"]);

            tbl_roads_avg_roughness.tbl_roads_avg_roughness_access = true;
            details.Add(tbl_roads_avg_roughness);
    }
return details.ToArray();

public class DynamicData
{
    public object site_category_func_class { get; set; }
    public object csurvey_with_data { get; set; }
    public object ctotal_length { get; set; }
    public object caverage_iri { get; set; }
    public object date_imported { get; set; }
    public object color { get; set; }
    public object csurvey_with_data_total { get; set; }
    public object ctotal_length_total { get; set; }
    public object tbl_roads_avg_roughness_access { get; set; }
}

1 个答案:

答案 0 :(得分:1)

这是不成熟的优化。与处理动态/对象类型相比,强类型不会产生任何额外开销。

随着您的应用程序的增长,您将牺牲编译时间检查,智能感知以及C#提供的基本上所有语言功能的安全网。

使用函数式语言,甚至使用node.js,如果强类型(或序列化)困扰你那么多。