C# 列表<对象>
本文关键字:对象 列表 | 更新日期: 2023-09-27 18:35:31
有一个类:
public class SampleInformation
{
public string Nutrient { get; set; }
public decimal NutrientTotal { get; set; }
public int NoSamples { get; set; }
public decimal Average { get; set; }
public decimal StandardDeviation { get; set; }
public decimal CoVariance { get; set; }
public decimal PSD { get; set; }
public decimal NSD { get; set; }
}
并创建了相同的列表。现在在添加值的同时,我希望有PSD = 平均值 + 标准偏差和NSD = 平均值 - 标准偏差
我的代码如下:
sampleInfoList.Add(new SampleInformation
{
Nutrient = "Dry Matter",
NoSamples = CalculateSampleCount(dryMatter),
Average = CalculateAverage(dryMatter),
StandardDeviation = CalculateStandardDeviation(dryMatter),
CoVariance = CalculateCoVariance(dryMatter),
NSD = 0,
PSD = 0,
NutrientTotal = 0
});
我怎么能有类似的东西
sampleInfoList.Add(new SampleInformation
{
Nutrient = "Dry Matter",
NoSamples = CalculateSampleCount(dryMatter),
Average = CalculateAverage(dryMatter),
StandardDeviation = CalculateStandardDeviation(dryMatter),
CoVariance = CalculateCoVariance(dryMatter),
NSD = Average - StandardDeviation,
PSD = Average + StandardDeviation,
NutrientTotal = 0
});
我不想创建另一种方法并传递列表来计算 NSD 和 PSD。
创建 NSD 和 PSD 作为属性:
public class SampleInformation
{
public string Nutrient { get; set; }
public decimal NutrientTotal { get; set; }
public int NoSamples { get; set; }
public decimal Average { get; set; }
public decimal StandardDeviation { get; set; }
public decimal CoVariance { get; set; }
public decimal PSD { get { return Average + StandardDeviation } }
public decimal NSD { get { return Average - StandardDeviation } }
}
然后它将为您计算,您可以像这样添加新实例:
sampleInfoList.Add(new SampleInformation
{
Nutrient = "Dry Matter",
NoSamples = CalculateSampleCount(dryMatter),
Average = CalculateAverage(dryMatter),
StandardDeviation = CalculateStandardDeviation(dryMatter),
CoVariance = CalculateCoVariance(dryMatter),
NutrientTotal = 0
});
你可以试试;
public class SampleInformation
{
public string Nutrient { get; set; }
public decimal NutrientTotal { get; set; }
public int NoSamples { get; set; }
public decimal Average { get; set; }
public decimal StandardDeviation { get; set; }
public decimal CoVariance { get; set; }
public decimal PSD { get { return Average + StandardDeviation; } private set { } }
public decimal NSD { get{ return Average-StandardDeviation;} private set{} }
}