c# list main

c# - Principal: no todas las rutas de código devuelven un valor



list main (3)

Devuelve algo al final de Main . Me gusta esto:

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

Estoy haciendo una lista y quiero verla en la consola. Tengo un error, dice:

Main (): no todas las rutas de código devuelven un valor.

¿Tal vez podrías ayudarme? Aquí está mi código:

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


La razón por la que recibe este error es porque cuando declaró el método

public static int Main()

usted declaró que devolvería un valor int . Sin embargo, solo devuelve ese valor en un lugar que nunca podría ejecutarse. Por ejemplo, nunca se ejecutaría si la lista doc.Parts estuviera vacía. Por lo tanto, debe agregar código que se asegure de que el método siempre devuelva algo.

Añadiendo return -1; Al final del método, por ejemplo, el error desaparecería en este caso.


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