如何在C#1.1中组合大小写标签

本文关键字:组合 大小写 标签 C#1 | 更新日期: 2023-09-27 17:58:47

基于字体及其大小标识符,我想计算文本的高度。然而,这并不能编译(抱怨"控制不能从一个案例标签('默认:')转移到另一个"):

    private int GetHeightForFontAndFontSize(int fontType, int fontSizeId)
    {
        int retVal = 0;
        if (fontType == 0)
        {
            switch (fontSizeId)
            {
                case 0:
                case 1:
                    retVal = 9;
                    break;
                case 2:
                case 3:
                case 4:
                    retVal = 18;
                    break;
                case 5:
                case 6:
                    retVal = 36;
                    break;
                default:
                    retVal = 9;
            }           
        }
        if (fontType == 1)
        . . .
                          return retVal;
    }

即使这样:http://msdn.microsoft.com/en-us/library/06tc147taspx表示,"虽然不支持从一个案例标签到另一个案例,但允许堆叠案例标签,例如。"

在我看来,我是在堆叠案件标签,因为他们描绘,那么问题是什么呢?

如何在C#1.1中组合大小写标签

对于default:情况,您需要一个break;

尝试将break;放在默认值之后。

这里是固定的代码。我在默认情况下添加了break。

private int GetHeightForFontAndFontSize(int fontType, int fontSizeId)
    {
        int retVal = 0;
        if (fontType == 0)
        {
            switch (fontSizeId)
            {
                case 0:
                case 1:
                    retVal = 9;
                    break;
                case 2:
                case 3:
                case 4:
                    retVal = 18;
                    break;
                case 5:
                case 6:
                    retVal = 36;
                    break;
                default:
                    retVal = 9;
                    break;
            }           
        }
        if (fontType == 1)
        . . .
                          return retVal;
    }