与我关于从using语句内部返回的问题类似(其答案通常是" 是的,没问题"),我想知道从foreach语句内部返回是否同样不会产生副作用并被认为是可接受的实践,或者当我这样做时,是否在某个内部的枚举中留下了一个悬而未决的指针等。
这里有一个例子:
public string GetCurrentTransaction(string idText)
{
foreach (var transaction in transactions)
{
if (idText.IsEquivalentTo(transaction.IdText))
{
return transaction.Content;
}
}
return "";
}
foreach
将处理IEnumerator<>
的释放,因此如果枚举器本身是可处理的,则可以正常运行。请参见此问题中的已接受答案:https://dev59.com/YnVC5IYBdhLWcg3woCrN - Lucero