我怎样才能reudce数量如果要是statments 2
我怎么降低这个代码我怎样才能reudce数量如果要是statments 2
for (int i = 1; i < number;i++) {
if (i % 3 == 0 && i % 5 != 0)
{
Console.WriteLine(i + " Fizz");
}
else if (i % 5 == 0 && i % 3 != 0)
{
Console.WriteLine(i + " Buzz");
}
else if(i % 3 == 0 && i % 5 == 0)
{
Console.WriteLine(i + " FizzBuzz");
}
else
{
Console.WriteLine(i);
}
}
回答:
你可以尝试有条件的经营者的if语句的数量。
(i % 3 == 0) ? (i % 5 == 0)
? Console.WriteLine(i + " FizzBuzz")
: Console.WriteLine(i + " Fizz");
: (i % 5 == 0)
? Console.WriteLine(i + " Buzz");
: Console.WriteLine(i);
回答:
你可以做到以下几点:
for (int i = 1; i < number;i++) {
Console.WriteLine(string.Format("{0} {1}{2}", i, i % 3 == 0 ? "Fizz":"", i % 5 == 0 ? "Buzz":"");
}
而且不使用,如果;-)
回答:
string output = i % 3 == 0 ? (i % 5 != 0 ? $"{i} Fizz" : $"{i} FizzBuzz")
: i % 5 == 0 && i % 3 != 0
? $"{i} Buzz"
: i.ToString();
Console.WriteLine(output);
回答:
变量和conditional operator有助于使代码更易读:
for (int i = 1; i < number;i++) {
bool isMod3 = i % 3 == 0;
bool isMod5 = i % 5 == 0;
string fizz = isMod3 ? "Fizz" : "";
string buzz = isMod5 ? "Buzz" : "";
string result = $"{i} {fizz}{buzz}";
Console.WriteLine(result);
}
这是另一个ap proach随着更值(理论上umlimited)工作原理:
var modDict = new Dictionary<int, string> { { 3, "Fizz" }, { 5, "Buzz" } }; for (int i = 1; i < number; i++)
{
string text = string.Join("", modDict.Select(kv => i % kv.Key == 0 ? kv.Value : ""));
Console.WriteLine(i + " " + text);
}
回答:
尝试:
string str; for (int i = 1; i < number; i++)
{
str = i + " ";
if (i % 3 == 0)
str += "Fizz";
if (i % 5 == 0)
str += "Buzz";
Console.WriteLine(str.Trim());
}
回答:
for (int i = 1; i < number;i++) {
string result = i + " ";
if (i % 3 == 0)
{
result += "Fizz";
}
if (i % 5 == 0)
{
result += "Buzz";
}
Console.WriteLine(result);
}
这将显示例如1_
,3 Fizz
,5 Buzz
,15 FizzBuzz
。
请参见下面的JavaScript等价的代码片段:
var number = 20; for (var i = 1; i < number;i++)
{
var result = i + " ";
if (i % 3 == 0)
{
result += "Fizz";
}
if (i % 5 == 0)
{
result += "Buzz";
}
document.write(result+"<br>");
}
回答:
我们可以像下面,但它不利于可读性
for (int i = 1; i < number; i++) {
var x = i % 3 == 0;
var y = i % 5 == 0;
string istr = i.ToString();
string a = x ? (y ? istr + " FizzBuzz"
: istr + " Fizz")
: (y ? istr + " Buzz"
: istr);
Console.WriteLine(a);
}
以上是 我怎样才能reudce数量如果要是statments 2 的全部内容, 来源链接: utcz.com/qa/264283.html