千年鲨 发表于 2019-7-16 00:00:50

求大神解释一下这段代码

public static void ShowInterfaceSummary()
      {

            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface adapter in interfaces)
            {
                Console.WriteLine("Name: {0}", adapter.Name);
                Console.WriteLine(adapter.Description);
                Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));
                Console.WriteLine("Interface type .......................... : {0}", adapter.NetworkInterfaceType);
                Console.WriteLine("Operational status ...................... : {0}",
                  adapter.OperationalStatus);
                string versions = "";

                // Create a display string for the supported IP versions.
                if (adapter.Supports(NetworkInterfaceComponent.IPv4))
                {
                  versions = "IPv4";
                }
                if (adapter.Supports(NetworkInterfaceComponent.IPv6))
                {
                  if (versions.Length > 0)
                  {
                        versions += " ";
                  }
                  versions += "IPv6";
                }
                Console.WriteLine("IP version .............................. : {0}", versions);
                Console.WriteLine();
            }
            Console.WriteLine();
      }


这是一段定时检查NetworkInterface.OperationalStatus的代码,某大神写的,初学C看不太明白,
如果可以的话可否在每行代码后加个解释!谢谢!

Croper 发表于 2019-7-16 01:52:15

本帖最后由 Croper 于 2019-7-16 01:55 编辑

首先,这不是c,是c#,
第二,我也不怎么懂c#

jackz007 发表于 2019-7-16 10:31:52

      "每行代码后加个解释",请问楼主,你这是想消费别人的善心吗???

、尾指一勾 发表于 2019-7-16 10:41:42

public static void ShowInterfaceSummary()
      {
           # 调用NetworkInterface.GetAllNetworkInterfaces() 获取所有接口 打上变量标签interfaces(这是一个 NetworkInterface 类型的 列表)
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
           # interfaces迭代出这个列表的每个元素 打上变量标签 adapter(这是一个 NetworkInterface 类型)
            foreach (NetworkInterface adapter in interfaces)
            {
                # 打印接口名字
                Console.WriteLine("Name: {0}", adapter.Name);
                # 打印接口信息
                Console.WriteLine(adapter.Description);
                # 输出 adapter.Description.Length(这是 接口信息长度) 相同长度的 = (举例:如果长度是 3 就输出 ===)
                Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));
                # 输出接口类型
                Console.WriteLine("Interface type .......................... : {0}", adapter.NetworkInterfaceType);
                # 输出接口状态
                Console.WriteLine("Operational status ...................... : {0}",
                  adapter.OperationalStatus);
                # 创建一个空变量 打上一个 string(字符串)类型的标签
                string versions = "";

                // Create a display string for the supported IP versions.
                # 如果接口支持 IPV4
                if (adapter.Supports(NetworkInterfaceComponent.IPv4))
                {
                   则 versions变量标签的值是 IPv4
                  versions = "IPv4";
                }
                # # 如果接口支持 IPV6
                if (adapter.Supports(NetworkInterfaceComponent.IPv6))
                {
                  # 如果versions变量的值长度大于 0
                  if (versions.Length > 0)
                  {
                        # 则在 如果versions变量的值 后面加上 空格
                        versions += " ";
                  }
                  # 然后再在 versions变量的值 后面加上 IPv6 (现在变成了:IPv4 IPv6 )
                  versions += "IPv6";
                }
                # 输出 支持的 IP 协议版本类型
                Console.WriteLine("IP version .............................. : {0}", versions);
                # 没输出 可以当回车输出
                Console.WriteLine();
            }
          # 没输出 可以当回车输出
            Console.WriteLine();
      }

千年鲨 发表于 2019-7-16 11:14:37

jackz007 发表于 2019-7-16 10:31
"每行代码后加个解释",请问楼主,你这是想消费别人的善心吗???

请看清楚我最后一句话:"如果可以的话可否在每行代码后加个解释!谢谢!"我是说可否,你有注意到可否这两个字吗?我是因为不懂这段代码,加个解释是为了弄清楚这段代码的意思,是干嘛用的,怎么就成了消费别人的善心了呢?这个版块的目的本来就是让我们互相帮助交流学习的,如果照你这样说那这个版块的每个提问的人都在消费别人的善心喽

jackz007 发表于 2019-7-16 11:27:16

千年鲨 发表于 2019-7-16 11:14
请看清楚我最后一句话:"如果可以的话可否在每行代码后加个解释!谢谢!"我是说可否,你有注意到可否这 ...

       我要是你,会先把自己对这段代码的理解和困惑讲出来,这样,别人才可以针对问题精准帮到你,其效果肯定会比每行代码加注释要好很多。
页: [1]
查看完整版本: 求大神解释一下这段代码