【发布时间】:2016-02-14 20:37:05
【问题描述】:
我正在制作列表并想在控制台中查看它。我有一个错误,它说:
Main():并非所有代码路径都返回值。
也许你能帮帮我?这是我的代码:
namespace ConsoleApplication5
{
public class DocConfig
{
public string Description { get; set; }
public List<DocPart> Parts { get; set; }
public class DocPart
{
public string Title { get; set; }
public string TexLine { get; set; }
public class Program
{
public static int Main()
{
List<DocPart> Parts = new List<DocPart>();
var doc = new DocConfig();
doc.Description = "bla bla";
doc.Parts = new List<DocPart>();
doc.Parts.Add(new DocPart { Title = "aaa", TexLine = @"\include{aaa.tex}" });
doc.Parts.Add(new DocPart { Title = "bbb", TexLine = @"\include{bbb.tex}" });
foreach (DocPart part in doc.Parts)
{
Console.WriteLine(part.Title);
{
Console.ReadLine();
return 0;
}
}
}
}
}
}
}
【问题讨论】:
-
如果你的doc.Parts是空的,你会错过你的回报0。在方法代码的最后一行添加任何东西
-
离题但是你需要嵌套类有什么原因吗? ...看起来它已经变得凌乱了
-
是的,我以后会用到它们
-
@Mantas:您需要它们是嵌套类吗?这听起来不太可能......
-
如果方法签名说它会返回一些东西,它必须在所有条件下都这样做。如果您的列表为空,则方法将不会返回任何内容。因此,您可能会在方法结束时返回一个默认值,这将修复编译错误。另外,请注意,您正在循环返回。因此,在第一次迭代本身中,该方法将返回,而循环的其余部分将不会执行。