0
我有以下代码。我们曾经争论过哪种方法更适合于内存性能。如果我们不使用单独的变量并使用它,它会有所作为吗?它会影响到那么这是可能的解决方案?内存性能的最佳实践
/// <summary>
/// Treatment Point Types
/// </summary>
public string DWTreatment
{
get
{
StringBuilder sbStatus = new StringBuilder();
.........
}
set
{
chkTreatSR.Checked = value.Split(',').Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.SR).ToString());
chkTreatIT.Checked = value.Split(',').Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.IT).ToString());
chkTreatEP.Checked = value.Split(',').Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.EP).ToString());
chkTreatWW.Checked = value.Split(',').Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.WW).ToString());
chkTreatQC.Checked = value.Split(',').Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.QC).ToString());
isSelectionSetByPage = true;
}
}
OR
/// <summary>
/// Treatment Point Types
/// </summary>
public string DWTreatment
{
get
{
StringBuilder sbStatus = new StringBuilder();
.........
}
set
{
var values = value.Split(',');
chkTreatSR.Checked = values.Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.SR).ToString());
chkTreatIT.Checked = values.Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.IT).ToString());
chkTreatEP.Checked = values.Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.EP).ToString());
chkTreatWW.Checked = values.Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.WW).ToString());
chkTreatQC.Checked = values.Contains(((int)AgencyListReportTemplate.SamplingPointTypesEnum.QC).ToString());
isSelectionSetByPage = true;
}
}
感谢。
测试,测试,基准测试。这是唯一的你会得到一个具体的答案。除此之外,最佳实践问题在这里脱离主题。 – DavidG
如果你编写“字符串类型”的代码,一般来说,担心性能通常有点太早了...通常,人们会期望不同的属性 - 'x.p = v; AssertTrue(x.p == v)'表示所有'v'与代码中显示的代码之间存在一些奇怪的转换,很少满足设置属性更改其值的条件。 –
在我看来,第二个片段是一个不容忽视的内容。以同样的方式分割相同的字符串5次而不是1次对我来说似乎很荒谬。 – itsme86