【问题标题】:Error does not contain a static 'main' method suitable for an entry point in C# [duplicate]错误不包含适用于 C# 入口点的静态“main”方法 [重复]
【发布时间】:2016-04-28 17:18:15
【问题描述】:

我是 C# 新手。我无法弄清楚我下面的代码有什么问题。当我尝试编译时,我收到消息:不包含适合入口点的静态“main”方法 我正在互联网上搜索,但找不到解决方案。

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;    
using System.Text;
using System.Threading.Tasks;

namespace ClientSocket2
{
    class Program
    {
        static void Connect (String server, String message)
        {
            try
            {
                // Create a TcpClient.
                // Note, for this client to work you need to have a TcpServer 
                // connected to the same address as specified by the server, port
                // combination.
                Int32 port = 13000;
                TcpClient client = new TcpClient(server, port);

                // Translate the passed message into ASCII and store it as a

                Byte array.
                Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);

                // Get a client stream for reading and writing.
                // Stream stream     = client.GetStream();

                NetworkStream stream = client.GetStream();

                // Send the message to the connected TcpServer. 
                stream.Write(data, 0, data.Length);

                Console.WriteLine("Sent: {0}", message);

                // Receive the TcpServer.response.

                // Buffer to store the response bytes.
                data = new Byte [256];

                // String to store the response ASCII representation.
                String responseData = String.Empty;

                // Read the first batch of the TcpServer response bytes.
                Int32 bytes  = stream.Read(data, 0, data.Length);
                responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
                Console.WriteLine("Received: {0}", responseData);

                // Close everything.
                stream.Close();
                client.Close();
            }
            catch (ArgumentNullException e)
            {
                Console.WriteLine("ArgumentNullException: {0}", e);
            }
            catch (SocketException e)
            {
                Console.WriteLine("SocketException: {0}", e);
            }
            Console.WriteLine("\n Press Enter to continue...");
            Console.Read();
         }
     }
 }

谁能告诉我哪里出错了。 提前致谢。

【问题讨论】:

  • 错误信息不是不言自明的?
  • 您希望程序启动时会发生什么?你期望它运行什么?我认为此时阅读 C# 教程是个好主意,它可能会告诉您对 Main 方法的期望并更详细地解释事情。顺便说一句,在点和标识符、数组创建表达式等之间有所有这些空格是非常不习惯的。
  • 你搜索过吗?例如添加“static void Main(){}”,再次搜索:stackoverflow.com/questions/9607702/… ...
  • 错误消息中的行“不包含适合入口点的静态'main'方法”实际上意味着您需要添加一个名为main的静态方法。这是入口点。

标签: c# main entry-point


【解决方案1】:

你需要一个Main 方法:

namespace ClientSocket2
{
    class Program
    {
      static void Main(string[] args)
      {
        // I assume you want to read server and message from args here?
        Connect("someServer", "someMessage");
      }

      static void Connect ( String server , String message )
      {
         // ... do your stuff

我从Console. 语句的数量假设这是一个控制台应用程序。对于 win forms 应用程序,它是 slightly different

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多