小弟是用C#做的,然后做了ping的程序,但是现在遇到这个在pingNet中只能返回一个值,
求指教怎么返回多个值,例如:RoundtripTime;Status;Options等这些值啊 private void button1_Click(object sender, EventArgs e)
{
string time,status,pingall; for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (Convert.ToString(dataGridView1.Rows[i].Cells[1].Value) != "")
{
pingall = pingNet(Convert.ToString(dataGridView1.Rows[i].Cells[1].Value));
dataGridView1.Rows[i].Cells[2].Value = pingall;
//dataGridView1.Rows[i].Cells[3].Value = pingall.Status.ToString();
//怎么能获得ping后的其他值?
}
} } public string pingNet(string ip)
{
Ping pp = new Ping();
PingReply ppResult = pp.Send(ip);
return ppResult.RoundtripTime.ToString();
return ppResult.Status.ToString();//这个返回值无效?
}
求指教怎么返回多个值,例如:RoundtripTime;Status;Options等这些值啊 private void button1_Click(object sender, EventArgs e)
{
string time,status,pingall; for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (Convert.ToString(dataGridView1.Rows[i].Cells[1].Value) != "")
{
pingall = pingNet(Convert.ToString(dataGridView1.Rows[i].Cells[1].Value));
dataGridView1.Rows[i].Cells[2].Value = pingall;
//dataGridView1.Rows[i].Cells[3].Value = pingall.Status.ToString();
//怎么能获得ping后的其他值?
}
} } public string pingNet(string ip)
{
Ping pp = new Ping();
PingReply ppResult = pp.Send(ip);
return ppResult.RoundtripTime.ToString();
return ppResult.Status.ToString();//这个返回值无效?
}
{
Ping pp = new Ping();
PingReply ppResult = pp.Send(ip);
string[] returnValue = new sitrng[2];
returnValue[0] = ppResult.RoundtripTime.ToString();
returnValue[1] = ppResult.Status.ToString();
return returnValue;
}调用
string[] pingall;
...
dataGridView1.Rows[i].Cells[2].Value = pingall[0];
public PingReply pingNet(string ip)
{
Ping pp = new Ping();
return pp.Send(ip);
}或者说这里没有太大必要提取成一个方法:
private void button1_Click(object sender, EventArgs e)
{
string time,status,pingall;
Ping pp = new Ping();//在循环外边定义并实例化,还可以避免每次循环都创建一个对象。
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (Convert.ToString(dataGridView1.Rows[i].Cells[1].Value) != "")
{
PingReply pr = pp.Send(Convert.ToString(dataGridView1.Rows[i].Cells[1].Value));
dataGridView1.Rows[i].Cells[2].Value = pr.RoundtripTime.ToString();;
dataGridView1.Rows[i].Cells[3].Value = pr.Status.ToString();
//怎么能获得ping后的其他值?
}
}
}
return ppResult.RoundtripTime.ToString();
return ppResult.Status.ToString();//这个返回值无效?
逻辑问题,第一个返回了,第二个return 执行不了!