问题描述
|
我的状况如下
if (fedId == ftax)
{
index = 0;
string strEntryDets = string.Empty;
strEntryDets = EntryDetail().ToString();
sbBatchHeaderFile.AppendLine(strEntryDets);
}
当此语句为真时,我应该从零开始递增索引值,任何人都可以给我一个想法
解决方法
我不知道您的迭代逻辑是什么,当您使用所有这些内容时,这就是为什么我给出此建议的原因。
将此类添加到您的应用程序:
public class IndexHolder
{
private static int m_Index = -1;
public static int GetNext()
{
return m_Index++;
}
public static void Reset()
{
m_Index = -1;
}
}
在您的代码中使用如下:
index = IndexHolder.GetNext();
,在if块外将其设置为零。
另外,如果只想在下一行再次设置strEntryDets为空字符串,那又有什么意义呢?实际上,您可以避免完全设置该变量。
index = 0;
if (fedId == ftax)
{
index++;
sbBatchHeaderFile.AppendLine(EntryDetail().ToString());
}
如果您需要使用索引(从零开始)并随后将其递增,则可以执行以下操作:
if (fedId == ftax)
{
foo(index++);
}
这将传入0,然后将其递增到1。