我正在尝试运行一个传递并返回Measurement
对象的函数。在Measurement
对象中,我有一个变量volume
,它是一个元组,同时包含一个十进制和一个名为VolumeUnits
的枚举,其中包含一系列液体测量类型。
public Measurement ConvertVolumeUnit(Measurement measure)
{
Measurement.VolumeUnits newUnit;
decimal size = measure.volume.Item1;
switch (measure.volume.Item2)
{
case Measurement.VolumeUnits.tsp:
if (measure.volume.Item1 > 3)
{
size = size / 3;
goto case Measurement.VolumeUnits.Tbsp;
}
else
{
newUnit = Measurement.VolumeUnits.tsp;
break;
该函数运行一个转换我的单位的开关,但我不知道如何建立一个新的Measurement
实例并创建一个新的Measurement.volume
项来返回新转换的元组。
case Measurement.VolumeUnits.gal:
newUnit = Measurement.VolumeUnits.gal;
break;
default:
break;
}
Measurement newMeasure = new Measurement();
newMeasure.volume = Tuple.Create(size, newUnit);
基本上,我想返回newMeasure
,但我必须先填写volume
元组。我的错误是告诉newUnit未分配。这只是因为default
没有为newUnit
分配值吗?
答案 0 :(得分:0)
写完这一切之后,似乎必须在默认部分中分配newUnit,或者最初是为了避免此错误。