我想調用這些函數來擺脫我不需要的東西,但是我的代碼似乎在擊敗我,我開始認爲這是一場徒勞的鬥爭。我已經嘗試了多種方法來解決這兩個最後的錯誤,但是IEnumerator卻給了我通配符。錯誤是在線路: 如果(enumerator2是IDisposable接口) 和 如果(枚舉是IDisposable接口)清理IDisposable問題
try
{
enumerator = matchs.GetEnumerator();
while (enumerator.MoveNext())
{
IEnumerator enumerator2;
Match current = (Match) enumerator.Current;
num = 0;
try
{
enumerator2 = current.Groups.GetEnumerator();
while (enumerator2.MoveNext())
{
Group group = (Group) enumerator2.Current;
strArray[num, num3] = group.Value;
num++;
}
}
finally
{
if (enumerator2 is IDisposable)
{
(enumerator2 as IDisposable).Dispose();
}
}
if (num2 < num3)
{
num2 = num3;
}
num3++;
}
}
finally
{
if (enumerator is IDisposable)
{
(enumerator as IDisposable).Dispose();
}
}
strArray[num, 0] = Conversions.ToString((int) (num2 + 1));
return strArray;
}
編輯 - 特定錯誤消息: 使用未分配的局部變量「enumerator2」
使用未分配的本地的的變量'enumerator'
您需要發佈特定的錯誤消息 – 2011-06-04 02:51:19
是否有您所使用的枚舉,而不是直接用更地道'foreach'環理由嗎?另外,請查看'using'語句。 – 2011-06-04 02:52:21
行'(枚舉器2作爲IDisposable).Dispose();'可能是一個問題。它基本上意味着「在枚舉器2上調用Dispose,如果它是一次性的,否則調用Dispose爲null」。如果你使用正確的語法,(((IDisposable)enumerator2).Dispose()',你的工具會更快樂。 – 2011-06-04 02:56:07