C#Console.WriteLine()在Main()之外不工作

时间:2016-07-14 03:17:07

标签: c#

如果这是重复的话,我道歉,但我还没有能够找到我遇到的问题的任何答案。我正在使用以下代码块:

IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Interface information for {0}.{1}     ",
        computerProperties.HostName, computerProperties.DomainName);
foreach (NetworkInterface adapter in nics)
{
    IPInterfaceProperties properties = adapter.GetIPProperties();
    Console.WriteLine(adapter.Description);
    Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));
    Console.WriteLine("  Interface type ... : {0}", adapter.NetworkInterfaceType);
    Console.WriteLine("  Physical Address ........... : {0}",
               adapter.GetPhysicalAddress().ToString());
    Console.WriteLine("  Is receive only.............. : {0}", adapter.IsReceiveOnly);
    Console.WriteLine("             Multicast......... : {0}", adapter.SupportsMulticast);
    Console.WriteLine();
}

当我在没有调试的情况下运行,并且此代码在Main()方法中时,Console.WriteLine()打印输出。但是,当我将它放入public static void类时,输出为空。谁能解释为什么会发生这种情况以及我应该做些什么。我还在学习C#,所以我确定这是一个初学者的错误。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:1)

我猜你的其他类中的代码永远不会被执行。你不需要这个类是公共静态和无效的(不确定是否可能),但你希望你使用的方法是公共静态无效。

这是您希望其他课程的样子:

Math.min.apply(Math, [5, 6, 2, 3, 7]); // 2

然后你的主要应该调用该方法:

public class OtherClass {

    public static void Method() {

        // Console.WriteLine code here

    }
}

如果你的意思是其他方法/功能而不是类,它将如下所示:

public class OriginalClass {

    public static void Main(String[] args) {

        OtherClass.Method();

    }

}

答案 1 :(得分:0)

"主"是.NET环境中的一种特殊方法。这是一个入口点"每个.NET程序。

当你的应用程序/程序运行时,将调用Main,并且将执行此方法中的每个命令。

如果你把你的代码放到其他方法或类中而你不在Main内部调用它,显然没有任何反应。因此,如果您想运行其他方法,则必须在Main中调用它。

希望它有用。