【发布时间】:2018-01-25 12:37:08
【问题描述】:
我有一个 for 语句,它通过给定数量的事件或在本例中为参数。在 for 内部,我有一个 if 语句,它检查某个参数是否存在,如果该参数存在,则执行某些操作等等。
for (int i = 1; i < eventToHandle.Parameters.Count; i++)
{
if (eventToHandle.Parameters.ContainsKey($"DirectoryOne{i}") &&
eventToHandle.CustomParameters[$"DirectoryOne{i}"])
{
DirectoryInfo rootDir = new DirectoryInfo(eventToHandle.Parameters[$"DirectoryOne{i}"].ToString());
FileInfo[] files = rootDir.GetFiles();
DirectoryInfo[] subDirs = rootDir.GetDirectories();
}
我收到错误消息,说我不能在 bool 和 object 上使用 '&&'。在这种情况下,什么是好的解决方案?也许在这种情况下,带有“&&”的 if 语句根本不适合使用?
【问题讨论】:
-
什么是
eventToHandle.CustomParameters[$"DirectoryOne{i}"]?你想检查你的if条件是什么? -
您能给我们一些
eventToHandle.CustomParameters[$"DirectoryOne{i}"]的示例值吗?你可能想bool.Parse()他们 -
我想你想检查
eventToHandle.CustomParameters.ContainsKey($"DirectoryOne{i}")。你所拥有的不是bool,而是object。 -
可能检查对象是否为空,如果 (eventToHandle.Parameters.ContainsKey($"DirectoryOne{i}") && eventToHandle.CustomParameters[$"DirectoryOne{i}"] !=null)跨度>