检查班级中的ID是否已更改的问题

时间:2015-06-05 17:24:50

标签: c# csv

我有一个名为Line的类,它存储大量信息,包括Line的ID(我有一个行列表)。我在CSV文件中写这个信息,我想检查我的ID的第一个字符是否已经改变(希望更多的数字)。此更改表示新文件夹。 这是我尝试过的:

public bool IsNewFile (Line ln)
    {
        int newID = ln.getID()[0];
        int oldID = 0;
        if (newID != oldID)
        {
            oldID = newID;
            return true;
        }
        else
        {
            oldID = newID;
            return false;

        }

    }

这是我对csv方法的商店:

 public void csvWriter (Line ln, StreamWriter stream)//Writes List to CSV
    {
        //some code here
        if (IsNewFile(ln))
        {
           //MAGICAL LINE
        }
        else
        {
           //NOT MAGICAL LINE
        }

        stream.WriteLine(printLine);
    }

这里是getID()

public string getID()
    {
        return id;
    }

使用当前代码我每次都打印MAGICAL LINE!我做错了什么?

2 个答案:

答案 0 :(得分:1)

您总是在检查newID是否为!= 0,因为您始终将oldID初始化为0.您应该将oldID存储在Line类中,因为截至目前,设置oldID = newID将不会执行任何操作,因为这些变量将被销毁当函数返回其布尔值时。

public bool IsNewFile (Line ln)
{
    int newID = ln.getID()[0];
    int oldID = ln.getOldID()[0];
    if (newID != oldID)
    {
        ln.oldID = newID;
        return true;
    }
    else
    {
        ln.oldID = newID;
        return false;

    }

}

答案 1 :(得分:0)

我不确定您是否向我们提供了足够的信息,但oldID始终为0.您需要存储oldID并将其与某个地方的newID进行比较。

相关问题