如果我在属性类中使用对象类型,是否会出现性能问题?而不是单独使用数据类型分配它们并逐个转换它们。我使用了对象来避免转换并提高性能。或者我做错了吗?请指导我。感谢。
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; }
}
答案 0 :(得分:1)
这是不成熟的优化。与处理动态/对象类型相比,强类型不会产生任何额外开销。
随着您的应用程序的增长,您将牺牲编译时间检查,智能感知以及C#提供的基本上所有语言功能的安全网。
使用函数式语言,甚至使用node.js,如果强类型(或序列化)困扰你那么多。