Library tutorials & articles

Program Entry point in C#

Additional Examples

kamran.cs
public static void Main() {
  System.Console.WriteLine("hell");
}
class zzz
{
}


Compiler Error
kamran.cs(1,15): error CS1518: Expected class, delegate, enum, interface, or struct

You cannot create a function outside a class or a structure. This rule has to be strictly adhered to even for Main.

kamran.cs
public class zzz
{
  public static int Main()
  {
    return;
  }
}


Compiler Error
kamran.cs(5,1): error CS0126: An object of a type convertible to 'int' is required

In this example, the function Main has to return an int and we are not returning any value with the keyword return. The compiler tries to convert a nothing into an int and hence the error. This is a generic error that occurs whenever the compiler tries to convert a data type into another and is not successful.

kamran.cs
class zzz
{
  public static int Main()
  {
  }
}


Compiler Error
kamran.cs(3,19): error CS0161: 'zzz.Main()': not all code paths return a value

The compiler's error messages need the services of an editor. The function Main should return an int, but we forgot to do so. This results in an error. Thus whenever an entity should return a value, we should return such a data type or be prepared for an error.

Happy .NETing

Comments

  1. 06 Jan 2003 at 15:03

    I am not discouraging you, but I just dont see a need for an article on this issue.  One can find out those errors on trial and error basis with a test program.   Give us something new and creative!

  2. 01 Jan 1999 at 00:00

    This thread is for discussions of Program Entry point in C# .

Leave a comment

Sign in or Join us (it's free).

AddThis

Related discussion

Related podcasts

  • Looking into the C# Crystal Ball with Charlie Calvert and Bill Wagner

    One of the most exciting announcements from PDC was the news about C# 4.0 and Visual Studio 2010. With all the excitement and discussion throughout the event about these new developer tools, we reached out to two experts in the fields. Charlie Calvert and Bill Wagner sat down with Keith and Woody...

Events coming up

  • Dec 6

    Developing AJAX Web Applications with Castle Monorail

    London, United Kingdom

    Monorail is the model-view-controller engine of the Castle Project, bringing many of the best ideas of Ruby on Rails to the .NET world. In this talk, David De Florinier and Gojko Adzic show how Monorail makes it easy to develop .NET based AJAX applications, and how to use the Castle Project to build Web 2.0 applications effectively. Come to this session if you are a .NET web developer. Everyone is welcome!