Main:并非所有代码路径都返回一个值

时间:2015-11-13 09:44:24

标签: c# list main

我正在制作列表,并希望在控制台中查看它。我有一个错误,它说:

  

Main():并非所有代码路径都返回一个值。

也许你可以帮助我?这是我的代码:

this.get('assignedAttrNames');  

//the first one 
// ['value', 'valuePool']

//the second one
// ['singleValue', 'valuePool']

3 个答案:

答案 0 :(得分:3)

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;
}

答案 1 :(得分:1)

您收到此错误的原因是因为您声明了方法

public static int Main()

您声明它将返回int值。但是,您只在可能永远不会运行的位置返回该值。例如,如果doc.Parts列表为空,则永远不会运行它。因此,您需要添加代码以确保方法始终返回一些内容。

例如,在方法的末尾添加return -1;会使错误消失。

答案 2 :(得分:0)

 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;
            }
相关问题