Проверьте 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
сброса
Вам понадобится 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
короткий тестовый прогон говорит, что приведенный ниже код будет работать для указанных путей:
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 путей, указанных в качестве примеров путей)
Я использую объект FileInfo. Если вы создаете объект fileinfo для файла, который фактически существует, свойство Directory дает хорошо отформатированное имя пути.
Вы также получаете дополнительное преимущество, заключающееся в возможности проверить, существует ли файл на самом деле.