添加元组到新的对象实例字段

本文关键字:对象 实例 字段 元组 添加 | 更新日期: 2023-09-27 18:15:48

我试图运行一个传递并返回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赋值吗?

添加元组到新的对象实例字段

写完这一切之后,看起来newUnit确实必须在默认部分或最初分配以避免此错误。