我正在制作列表,希望在控制台中查看它。我有一个错误,上面写着:
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;
}
}
}
}
}
}
}
在Main
的末尾返回一些东西。像这样:
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;
}
}
return -1;
}
出现此错误的原因是,当您声明方法时
public static int Main()
您声明它将返回一个int
值。但是,您只能在一个可能永远不会运行的地方返回该值。例如,如果doc.Parts
列表为空,它将永远不会运行。因此,您需要添加代码来确保该方法始终返回一些内容。
例如,在方法的末尾添加return -1;
会使错误在这种情况下消失。
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;
}
}
return 0;
}