Что правильный путь состоит в том, чтобы сравнить два имен файлов, чтобы видеть, являются ли они тем же файлом? [дубликат]

Проверьте YUI (конвенции пользовательского интерфейса Yahoo с открытым исходным кодом).

у Них есть основная таблица стилей, которая отменяет их собственную CSS сброса. Они на самом деле не рекомендуют, чтобы Вы использовали его в производстве - начиная с его продуктивного счетчика, но определенно могли стоить проверить файл для получения соответствующих отрывков для того, что Вы хотите 'отменить'.

я рекомендую наблюдать 40-минутное разговор для набирания скорость.

Heres короткий отрывок их base.css файла:

ol li {
    /*giving OL's LIs generated numbers*/
    list-style: decimal outside;    
}
ul li {
    /*giving UL's LIs generated disc markers*/
    list-style: disc outside;
}
dl dd {
    /*giving UL's LIs generated numbers*/
    margin-left:1em;
}
th,td {
    /*borders and padding to make the table readable*/
    border:1px solid #000;
    padding:.5em;
}
th {
    /*distinguishing table headers from data cells*/
    font-weight:bold;
    text-align:center;
}

Загрузка полные таблицы стилей ниже или читают полную документацию.

Yahoo сбросил css | основа Yahoo (отмена) css

сброса

6
задан Community 23 May 2017 в 12:26
поделиться

3 ответа

Вам понадобится Path.GetFullPath () + сравнение строк без учета регистра.

Выполнение следующего кода:

using System;
using System.IO;

class Test {
 static void Main ()
 {
  //string [] str = new string[] {@"c:\program files\vim\vim72", @"c:\progra~1\vim\vim72"};
  string [] str = new string[] {@"c:\program files\Refere~1\microsoft", @"c:\progra~1\Refere~1\microsoft"};
  foreach (string s in str) {
   // Call s = Environment.ExpandEnvironmentVariables (s) if needed.
   Console.WriteLine (Path.GetFullPath (s));
  }
 }
}

дает:

c:\program files\Reference Assemblies\microsoft
c:\Program Files\Reference Assemblies\microsoft
3
ответ дан 17 December 2019 в 18:17
поделиться

короткий тестовый прогон говорит, что приведенный ниже код будет работать для указанных путей:

bool CompareFileName(string file1, string file2)
        {
            var directory1 = Path.GetDirectoryName(file1);
            var directory2 = Path.GetDirectoryName(file2);
            var fileName1 = Path.GetFileName(file1);
            var fileName2 = Path.GetFileName(file2);

            return directory1.Equals(directory2, StringComparison.InvariantCultureIgnoreCase) &&
                   fileName1.Equals(fileName2, StringComparison.InvariantCultureIgnoreCase);
        }

это предполагает платформу Windows (предположение сделано из-за ориентированных на Windows путей, указанных в качестве примеров путей)

0
ответ дан 17 December 2019 в 18:17
поделиться

Я использую объект FileInfo. Если вы создаете объект fileinfo для файла, который фактически существует, свойство Directory дает хорошо отформатированное имя пути.

Вы также получаете дополнительное преимущество, заключающееся в возможности проверить, существует ли файл на самом деле.

0
ответ дан 17 December 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: