因此,我正在基于数据库中的两个人创建一种称呼行的方法。
有四个参数:两个名称(name1和name2)和两个性别(gender和gender2)。
对于每种性别组合,我都有不同的输出。
例如:如果性别1为M(man)且性别2也为M,则输出应为:
Dear Sir name1 and Sir name2,
此时,我的开关如下所示:
switch(gender1){
    case 'M':
        switch(gender2){
            case 'M': printf("Dear Sir %s and Sir %s", name1, name2); break;
            case 'W': printf("Dear Sir %s and Madame %s", name1, name2); break;
            case 'R': ...
        }
        break;
    case 'W':
        switch(gender2){
            case 'M': printf("Dear Madame %s and Sir %s", name1, name2); break
            case 'W': printf("Dear Madame %s and Madame %s", name1, name2); break;
            case 'R': ...
        }
        break;
    case ...etc.
}
请注意,我有多个性别选项,比如'R'对于"Dear Relation"一些更多的,我没有翻译的时间。
如何减少这种双重开关的说法?
将第二个开关置于方法中不是一种选择,因为在某些情况下,两个名称都相同,然后应该将输出合并,例如: "Dear Sir and Madame name1,"
gender1+gender2。
                Madam不是Madame。  Madame是法国形式。