Отрицать строку в C # - PullRequest
       50

Отрицать строку в C #

0 голосов
/ 17 июня 2011

Я пишу простую программу наблюдения за папками, я хотел бы игнорировать файл temp.temp, который копируется в папку при сканировании, поэтому программа обнаружит все, что находится в папке, и проигнорирует файл temp.temp , На данный момент у меня есть программа, обнаруживающая файлы IMG, чтобы обойти проблему.

if(e.FullPath.Contains("IMG"))            
{ 
    MessageBox.Show("You have a Collection Form: " + e.Name);
    Process.Start("explorer.exe", e.FullPath);
}

Ответы [ 5 ]

7 голосов
/ 17 июня 2011

Если e имеет тип FileInfo, то вы можете использовать

if(e.FullPath.Contains("IMG") && e.Name.Equals("temp.temp", StringComparison.CurrentCultureIgnoreCase))
{ 
    MessageBox.Show("You have a Collection Form: " + e.Name);
    Process.Start("explorer.exe", e.FullPath);
}
2 голосов
/ 17 июня 2011

Попробуйте: If(!e.FullPath.EndsWith("temp.temp"))

0 голосов
/ 17 июня 2011

Если вы используете FileSystemWatcher, используйте конструктор, описанный здесь http://msdn.microsoft.com/en-us/library/0b30akzf.aspx, чтобы отфильтровать нужные вам файлы, а не отвергать те, которые вам не нужны.

0 голосов
/ 17 июня 2011

Если вы хотите просто игнорировать "temp.temp", как насчет досрочного возврата?

if (e.Name.Equals("temp.temp", StringComparison.CurrentCultureIgnoreCase))
    return;
0 голосов
/ 17 июня 2011

Итак, если под «отрицанием» подразумевается «игнорировать», это должно сработать:

if(Path.GetFileName(e.FullPath) != "temp.temp")            
{ 
    MessageBox.Show("You have a Collection Form: " + e.Name);
    Process.Start("explorer.exe", e.FullPath);
}
...