![](/img/trans.png)
[英]CS0201 C# Only assignment, call, increment, decrement, and new object expressions can be used as a statement
[英]error CS0201: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement c#
提前謝謝你,請注意我對 c# 相當陌生,
我試圖在 codewars 上對 kata 進行以下測試,但我在標題中收到錯誤,我不明白為什么? 我在visualStudio上使用了相同的代碼,它工作正常
測試:如果我們列出所有小於 10 且是 3 或 5 的倍數的自然數,我們得到 3、5、6 和 9。這些倍數之和為 23。
完成解決方案,使其返回傳入數字以下所有 3 或 5 的倍數之和。
注意:如果數字是 3 和 5 的倍數,只計算一次
代碼:
public static int Solution(int value)
{
int sum = 0;
for (int i= 1; i < value; i++)
{
int multiples3 = 3 * i;
int multiples5 = 5 * i;
if (multiples3 != multiples5)
{
sum = sum+multiples3+multiples5;
}
else
{
sum = sum + multiples3;
}
}
return (sum);
}
CS0201 是線路引起的
返回(總和);
將其更改為
返回總和;
簡化的解決方案是:
public static int Solution(int value)
{
int sum = 0;
for (int i= 1; i < value; i++)
{
bool multiples3 = i % 3 == 0;
bool multiples5 = i % 5 == 0;
if (multiples3 || multiples5)
{
sum += i;
}
}
return sum;
}
如果我們考慮到最早匹配條件的 i 是 3,那么它可以進一步簡化:
public static int Solution(int value)
{
if (value < 3) return 0; // prevent value being less than 3, e.g. -1
int sum = 0;
for (int i= 3; i < value; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
sum += i;
}
}
return sum;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.