C# 使用LastWriteTime.Ticks时出现版本不匹配问题

C# 使用LastWriteTime.Ticks时出现版本不匹配问题,c#,.net,C#,.net,我有这样的代码 dataset.DataVersion.AddDataVersionRow((new FileInfo(path + PermissionFile)).LastWriteTime.Ticks); 但是当一些人为了获得其他功能而改变它时,有时它不起作用,我不知道 为什么它不工作。这是修改过的,不工作的代码 long version = (new FileInfo(path + PermissionFile)).LastWriteTime.Ticks;

我有这样的代码

dataset.DataVersion.AddDataVersionRow((new FileInfo(path + PermissionFile)).LastWriteTime.Ticks);
但是当一些人为了获得其他功能而改变它时,有时它不起作用,我不知道 为什么它不工作。这是修改过的,不工作的代码

long version = (new FileInfo(path + PermissionFile)).LastWriteTime.Ticks;
                if (dataset.DataVersion.Count == 0)
                {
                    dataset.DataVersion.AddDataVersionRow(version);
                }
                else if (version > dataset.DataVersion[0].Version)
                {
                    dataset.DataVersion[0].Version = version;
                }

我是否需要在此处再添加一个else循环

如果没有更多信息,很难回答,但您可能希望更新DataVersion中的最后一个条目:

int count = dataset.DataVersion.Count;
if (count == 0)
{
    dataset.DataVersion.AddDataVersionRow(version);
}
else if (version > dataset.DataVersion[count-1].Version)
{
    dataset.DataVersion[count-1].Version = version;
}

1.
else
不是循环;-)2.你说“不工作”是什么意思?我没有检查IDE,但是通过查看你的代码有什么不同伟大的亨利,它工作了,但是它背后的逻辑是什么,我想知道differnece@peter这只是一个猜测。在您的第一个代码片段中,新版本被附加在列表的末尾。你说这没问题。所以我认为最好是更新列表中的最后一个条目,所以这仍然是最新的条目。