早上,簡單的愚蠢的問題。我發現有類似問題的帖子,但通讀後並不能解決我的錯誤。返回值從循環內不顯示
Can't get a return value from a foreach loop inside a method
的方法:METH1 meth2 ECT ....所有返回一個值,但此刻我正在錯誤
「錯誤1「Proj5.Program.meth1 (int)':不是所有的代碼路徑都會爲每個方法返回一個值「。
我的邏輯推測是它沒有看到循環內的值? ...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Proj5
{
class Program
{
static void Main()
{
for (int i = 1; i < 101; i++)
{
if (i == 3 || 0 == (i % 3) || 0 == (i % 5) || i == 5)
{
Console.Write(meth1(i));
Console.Write(meth2(i));
Console.Write(meth3(i));
Console.Write(meth4(i));
}
else
{
Console.Write(TheInt(i));
}
}
Console.ReadLine();
}
static string meth1(int i)
{
string f = "fuzz";
if (i == 3)
{
return f;
}
}
static string meth2(int i)
{
string f = "fuzz";
if (0 == (i % 3))
{
return f;
}
}
static string meth3(int i)
{
string b = "buzz";
if (i == 5)
{
return b;
}
}
static string meth4(int i)
{
string b = "buzz";
if (0 == (i % 5))
{
return b;
}
}
static int TheInt(int i)
{
return i;
}
}
}
你只需給它一個空在它的位置?如果可能的話,我想知道背後的邏輯。 – Dan
返回'string'的方法必須*總是*返回'string'或拋出異常。你的代碼不會返回任何東西,除非'if'評估爲真。這解決了如果'if'評估爲false則返回null。 –
聽起來不錯,很有道理!感謝您的小凹凸=) – Dan