C# 无法从main返回值 static string Main(string[]args) { //IPAddress IPAddress=System.Net.IPAddress.Loopback; IPAddress=IPAddress.Parse(“192.168.0.100”); IPEndPoint localEndPoint=新IPEndPoint(ipAddress,1515); Socket sock=新套接字(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp); 连接(localEndPoint,sock); 字符串包; packet=Console.ReadLine(); 数据包+=“”; 发送(袜子、包); 接收(短袜); 返回包; //connectDone.WaitOne(); }

C# 无法从main返回值 static string Main(string[]args) { //IPAddress IPAddress=System.Net.IPAddress.Loopback; IPAddress=IPAddress.Parse(“192.168.0.100”); IPEndPoint localEndPoint=新IPEndPoint(ipAddress,1515); Socket sock=新套接字(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp); 连接(localEndPoint,sock); 字符串包; packet=Console.ReadLine(); 数据包+=“”; 发送(袜子、包); 接收(短袜); 返回包; //connectDone.WaitOne(); },c#,C#,这是“我的客户端邮件”部分,当我尝试从服务器响应(数据包变量)返回字符串时,编译器错误是程序“…\clie.exe”不包含适合入口点的静态“Main”方法 Main只能返回int或void,并且有一个可选的字符串数组参数来表示命令行参数: main()的返回值是应用程序的退出状态。因此,它必须是int或void。如果您的目标是打印最终结果,则需要使用Console.WriteLine() 进一步阅读:唯一的选择是static void Main(string[]args)和static int(

这是“我的客户端邮件”部分,当我尝试从服务器响应(数据包变量)返回字符串时,编译器错误是
程序“…\clie.exe”不包含适合入口点的静态“Main”方法

Main只能返回int或void,并且有一个可选的字符串数组参数来表示命令行参数:

main()
的返回值是应用程序的退出状态。因此,它必须是
int
void
。如果您的目标是打印最终结果,则需要使用
Console.WriteLine()


进一步阅读:

唯一的选择是
static void Main(string[]args)
static int(string[]args)
返回字符串不是选项。

控制台应用程序可以使用以下语法返回可选的整数错误级别值:

static string Main(string[] args)
{
    //IPAddress ipAddress = System.Net.IPAddress.Loopback;
    IPAddress ipAddress = IPAddress.Parse("192.168.0.100");
    IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 1515);
    Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    Connect(localEndPoint, sock);
    string packet;
    packet = Console.ReadLine();
    packet += "<EOF>";
    Send(sock, packet);
    Receive(sock);
    return packet;
    //connectDone.WaitOne();
}
但是,要返回字符串值,必须使用控制台输出或其他流文件等来传输数据。控制台重定向工作正常,因此您可以将控制台应用程序的输出通过管道传输到链中下一个应用程序的输入中,或者传输到一个文件中供以后使用

尝试使用
Console.Write()
Console.WriteLine()
方法,首先将输出捕获到文件中以检查格式,然后使用管道将其输入到需要使用它的程序的输入中。

在C#中,主方法必须是voidint

您修改了main以返回字符串,因此该方法与类中的任何其他方法一样。。。你的程序没有真正的main方法


查看更多信息。

+1因为您提供了一个(或两个)链接,并删除了我自己的答案,与这里的所有其他答案一样,说明了完全相同的事情:-)我忘了提到我的服务器响应是Allay一个字符串编号,所以我可以将主返回类型更改为int并在.parse中使用,但在服务器返回响应后,我如何接受此响应(正如我在使用另一个程序打开客户端exe文件之前提到的)声明“Main必须是静态的,不应该是公共的”。谢谢@xbonez有人在我的回答中得到了java;)
static int Main()
{
    return 0;
}