首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C#中切换语句贯穿始终?

在C#中切换语句贯穿始终?

提问于 2017-12-26 14:45:32
回答 2关注 0查看 310

"切换语句贯穿是我爱switch与if/else if构造的个人主要原因之一。一个例子是为了在这里:

static string NumberToWords(int number)

{

string[] numbers = new string[]

{ """", ""one"", ""two"", ""three"", ""four"", ""five"",

""six"", ""seven"", ""eight"", ""nine"" };

string[] tens = new string[]

{ """", """", ""twenty"", ""thirty"", ""forty"", ""fifty"",

""sixty"", ""seventy"", ""eighty"", ""ninety"" };

string[] teens = new string[]

{ ""ten"", ""eleven"", ""twelve"", ""thirteen"", ""fourteen"", ""fifteen"",

""sixteen"", ""seventeen"", ""eighteen"", ""nineteen"" };

string ans = """";

switch (number.ToString().Length)

{

case 3:

ans += string.Format(""{0} hundred and "", numbers[number / 100]);

case 2:

int t = (number / 10) % 10;

if (t == 1)

{

ans += teens[number % 10];

break;

}

else if (t > 1)

ans += string.Format(""{0}-"", tens[t]);

case 1:

int o = number % 10;

ans += numbers[o];

break;

default:

throw new ArgumentException(""number"");

}

return ans;

}

聪明的人是因为string[]应该在功能之外被宣布而c然心动的:他们是,这只是一个例子。

编译器失败,出现以下错误:

控制不能从一个案例标签(“案例3:”)到另一个案例标签

控制不能从一个案例标签(“案例2:”)到另一个案例标签

为什么?有没有办法得到这种行为没有三个if?"

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档