C#法

C#法,c#,methods,C#,Methods,例如,如何获取foreach的第一个、第二个元素? GetNetworkadapterName(1)不工作 谢谢当前代码将始终返回第一个物理适配器。要修改它以允许您告诉它返回哪个,请尝试以下操作: public string GetNetworkAdapterName() { foreach (ManagementObject queryObj in name.Get()) { bool physicalad

例如,如何获取foreach的第一个、第二个元素? GetNetworkadapterName(1)不工作
谢谢当前代码将始终返回第一个物理适配器。要修改它以允许您告诉它返回哪个,请尝试以下操作:

public string GetNetworkAdapterName()
    {
            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true)
                {
                    return Convert.ToString(queryObj["Name"]);
                }
            }
            return null;
    }
public string GetNetworkAdapterName(int Ordinal)
    {
            int i = 1;

            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true && i == Ordinal)
                {
                    return Convert.ToString(queryObj["Name"]);
                } else if (physicaladapter == true) { 
                    i++;
                }
            }
            return null;
    }

当前代码将始终返回第一个物理适配器。要修改它以允许您告诉它返回哪个,请尝试以下操作:

public string GetNetworkAdapterName()
    {
            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true)
                {
                    return Convert.ToString(queryObj["Name"]);
                }
            }
            return null;
    }
public string GetNetworkAdapterName(int Ordinal)
    {
            int i = 1;

            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true && i == Ordinal)
                {
                    return Convert.ToString(queryObj["Name"]);
                } else if (physicaladapter == true) { 
                    i++;
                }
            }
            return null;
    }

可以使用如下所示的整数:

public string GetNetworkAdapterName()
    {
            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true)
                {
                    return Convert.ToString(queryObj["Name"]);
                }
            }
            return null;
    }
public string GetNetworkAdapterName(int Ordinal)
    {
            int i = 1;

            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true && i == Ordinal)
                {
                    return Convert.ToString(queryObj["Name"]);
                } else if (physicaladapter == true) { 
                    i++;
                }
            }
            return null;
    }
inti=0;
foreach(名称为.Get()的ManagementObject查询对象)
{
i++;
如果(i<3)
{/*获取元素*/}
bool physicaladapter=Convert.ToBoolean(queryObj[“physicaladapter]”);
如果(physicaladapter==true)
{
返回Convert.ToString(queryObj[“Name”]);
}  
}
返回null;

您可以使用如下整数:

public string GetNetworkAdapterName()
    {
            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true)
                {
                    return Convert.ToString(queryObj["Name"]);
                }
            }
            return null;
    }
public string GetNetworkAdapterName(int Ordinal)
    {
            int i = 1;

            foreach (ManagementObject queryObj in name.Get())
            {
                bool physicaladapter = Convert.ToBoolean(queryObj["PhysicalAdapter"]);
                if (physicaladapter == true && i == Ordinal)
                {
                    return Convert.ToString(queryObj["Name"]);
                } else if (physicaladapter == true) { 
                    i++;
                }
            }
            return null;
    }
inti=0;
foreach(名称为.Get()的ManagementObject查询对象)
{
i++;
如果(i<3)
{/*获取元素*/}
bool physicaladapter=Convert.ToBoolean(queryObj[“physicaladapter]”);
如果(physicaladapter==true)
{
返回Convert.ToString(queryObj[“Name”]);
}  
}
返回null;

不清楚您想做什么,但是如果您想让调用者找到所有的网络适配器,您可以使用LINQ(如果您使用的是.NET 3.5或更高版本):


我坚信,将“查找第n个值”与“查找所有网络适配器名称”混为一谈是一个坏主意。

不清楚您想做什么,但如果这个想法是允许调用方查找所有网络适配器,您可以使用LINQ(如果您使用的是.NET 3.5或更高版本):


我坚信,将“查找第n个值”与“查找所有网络适配器名称”混为一谈是一个坏主意。

为什么不使用for,或者先尝试一些迭代器int I和boolean,然后保存元素?现在还不清楚您要做什么。当然,GetNetworkAdapterName(1)不起作用-该方法没有任何参数。。。你还提到了“foreach”,好像它是一个对象。。。请说明您的目标是什么。对于基于索引的操作,您应该使用for loop而不是foreach。为什么不使用for,或者先尝试一些迭代器int i和boolean,然后保存元素。现在还不清楚您要做什么。当然,GetNetworkAdapterName(1)不起作用-该方法没有任何参数。。。你还提到了“foreach”,好像它是一个对象。。。请说明您的目标是什么。对于基于索引的操作,您应该使用for loop而不是foreach。是的,我一分钟前才意识到,现在已修复。@chuck,这必须是一个单独的函数。这是家庭作业吗?我没有投反对票,不,这不是家庭作业,首先我创建了一个列表,但我读到我不应该用一个列表来做这件事,所以我想现在热这个作品,谢谢!!!是的,我一分钟前才意识到,现在已经修好了。@chuck,那必须是一个单独的函数。这是家庭作业吗?我没有投反对票,不,这不是家庭作业,首先我创建了一个列表,但我读到我不应该用一个列表来做这件事,所以我想现在热这个作品,谢谢!!!