C# 如果当前变量为空,如何跳到下一项
我有一个函数,它检索设备名列表,然后存储在变量中。然后,下一步是使用每行1个设备名称获取信息,并继续进行,直到循环完成C# 如果当前变量为空,如何跳到下一项,c#,parsing,list,C#,Parsing,List,我有一个函数,它检索设备名列表,然后存储在变量中。然后,下一步是使用每行1个设备名称获取信息,并继续进行,直到循环完成 String text = ""; String errors = ""; for (int i = 0; i < collection.Result.Count; i++) { deviceNames += collection.Result[i].DeviceName + Environment.NewLine;
String text = "";
String errors = "";
for (int i = 0; i < collection.Result.Count; i++)
{
deviceNames += collection.Result[i].DeviceName + Environment.NewLine;
getvirtuals.Location = deviceNames;
var virtuals = client.GetKnownVirtuals(getvirtuals, LtmKeyType.VirtualAddressPort);
if (virtuals.Result == null)
{
i++;
getvirtuals.Location = deviceNames;
for (int v = 0; v < virtuals.Result.Count; v++)
{
try
{
LtmKey virtualKey = new LtmKey();
virtualKey.Location = virtuals.Result[v].Location;
virtualKey.LocationType = virtuals.Result[v].LocationType;
virtualKey.Key = virtuals.Result[v].Key;
virtualKey.KeyType = LtmKeyType.VirtualAddressPort;
virtualKey.AdminGroup = admingroupComboBox.Text;
var memberStatus = client.GetMemberStatus(virtualKey);
for (int j = 0; j < memberStatus.Result.Count; j++)
{
VirtualMemberStatus status = memberStatus.Result[j];
text += String.Format("{5},{4},{0},{1},{2},{3}" + Environment.NewLine, status.Member.Address, status.Member.Port, status.EffectiveStatus, status.DesiredStatus, virtualKey.Key.Replace(":", ","), DateTime.UtcNow);
toolStripProgressBar1.PerformStep();
}
}
catch
{
errors += String.Format("{0} Error Code: 2, Error occurred, check device name (case senstive) and admin group. This error may also occur due to connection loss, try again." + Environment.NewLine, DateTime.UtcNow);
}
}
this.allResultsBox.Text = text;
getallstatusButton.Enabled = true;
}
}
String text=”“;
字符串错误=”;
for(int i=0;i
我遇到的问题是,如果
virtuals
为null,工具就会崩溃,相反,我想做的是如果virtuals=null
我想从列表中移到下一项。我尝试了一个if语句,但它没有按计划工作,它仍然返回为null。这似乎是一个问题:
if (virtuals.Result == null)
{
i++;
getvirtuals.Location = deviceNames;
for (int v = 0; v < virtuals.Result.Count; v++)
...
然而,我怀疑你真的只是想:
// Keep going with the next iteration of the for loop
if (virtuals == null || virtuals.Results == null)
{
continue;
}
如果您只想转到下一个循环迭代,如果virtuals为null,那么您需要
if(virtuals==null)继续代码>
if (virtuals.Result == null)
做这个
if (virtuals == null)
插入以下内容如何:
if(virtuals == null)
continue;
就在队伍后面
var virtuals = client.GetKnownVirtuals(getvirtuals, LtmKeyType.VirtualAddressPort);
您是否尝试过更换线路:
if (virtuals.Result == null)
致:
如果这不能解决您的问题,那么您需要指出其他错误是什么
if (virtuals.Result == null)
if ((virtuals != null) && (virtuals.Result != null))