并非所有的代码路径都返回值

t_kong 2013-04-10 03:19:42
namespace netmac
{
class Program
{
static string netmac() {
object netmac;
string st = "";

ManagementObjectSearcher Wmi = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
foreach (ManagementObject WmiObj in Wmi.Get())
{
if (Convert.ToBoolean(WmiObj["IPEnabled"]))
{
System.Array ar;
ar = (System.Array)(WmiObj.Properties["IPAddress"].Value);
st = ar.GetValue(0).ToString();
Debug.WriteLine("IP(" + st + ")|" + "MAC(" + WmiObj["MACAddress"] + ")" + "\n");
netmac = WmiObj["MACAddress"];
netmac = netmac.ToString().Replace(":", "");
return netmac.ToString();
}
}
}
static void Main(string[] args)
{
Console.WriteLine(netmac());
}
}
}

出现错误了: 并非所有的代码路径都返回值
请问遇上这种问题,应该如何解决,新手上路......
...全文
193 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
t_kong 2013-04-10
  • 打赏
  • 举报
回复
引用 6 楼 zhurcn 的回复:
引用 5 楼 t_kong 的回复:引用 2 楼 nice_fish 的回复:static string netmac() { object netmac; string st = ""; ManagementObjectSearcher Wmi = new ManagementObject……
虽然有点乱但是还是解决了。ths
搬砖的码农 2013-04-10
  • 打赏
  • 举报
回复
引用 5 楼 t_kong 的回复:
引用 2 楼 nice_fish 的回复:static string netmac() { object netmac; string st = ""; ManagementObjectSearcher Wmi = new ManagementObjectSearcher("SELECT *……
可以string netmac = "";
t_kong 2013-04-10
  • 打赏
  • 举报
回复
引用 2 楼 nice_fish 的回复:
static string netmac() { object netmac; string st = ""; ManagementObjectSearcher Wmi = new ManagementObjectSearcher("SELECT * FROM Win32_Net……
使用了未赋值的局部变量“netmac”.
shawn_yang 2013-04-10
  • 打赏
  • 举报
回复
所以还是要写else {} 否则就不知道为毛会没有return了
搬砖的码农 2013-04-10
  • 打赏
  • 举报
回复
你static string netmac()需要string返回值, foreach(……){……}代码后面没有return,在后面再加上就可以了
  • 打赏
  • 举报
回复
static string netmac() { object netmac; string st = ""; ManagementObjectSearcher Wmi = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); foreach (ManagementObject WmiObj in Wmi.Get()) { if (Convert.ToBoolean(WmiObj["IPEnabled"])) { System.Array ar; ar = (System.Array)(WmiObj.Properties["IPAddress"].Value); st = ar.GetValue(0).ToString(); Debug.WriteLine("IP(" + st + ")|" + "MAC(" + WmiObj["MACAddress"] + ")" + "\n"); netmac = WmiObj["MACAddress"]; netmac = netmac.ToString().Replace(":", ""); //return netmac.ToString(); } } return netmac.ToString(); }
iegad 2013-04-10
  • 打赏
  • 举报
回复
当 if (Convert.ToBoolean(WmiObj["IPEnabled"]))为假的时候! 这个方法就没有法回值

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧