0

根据字体及其大小标识符,我想计算文本的高度。但是,这不会编译(抱怨“控制不能从一个案例标签('默认:')落到另一个”):

    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/06tc147t (v=vs.71).aspx说“虽然不支持从一个案例标签到另一个案例标签,但它允许堆叠案例标签,例如“

在我看来,我正在堆叠它们所描绘的案例标签,那么问题是什么?

4

3 回答 3

5

你需要一个break;案例default:

于 2013-02-11T23:16:31.897 回答
1

这是固定代码。我在默认情况下添加了中断。

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;
    }
于 2013-02-11T23:31:49.473 回答
1

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

于 2013-02-11T23:17:22.273 回答