Моя копейка подумала:
String[] lines = new String[] { "\"\",\"word\",word,word2,1,34,5,2,\"details\"" };
for (int j = 0; j < lines.Length; j++)
{
String[] fields=lines[j].Split(',');
for (int i =0; i<fields.Length; i++)
{
if (fields[i].StartsWith("\"") && fields[i].EndsWith("\""))
{
char[] tmp = new char[fields[i].Length-2];
fields[i].CopyTo(1,tmp,0,fields[i].Length-2);
fields[i] =tmp.ToString();
fields[i] = "\""+fields[i].Replace("\"","\"\"")+"\"";
}
else
fields[i] = fields[i].Replace("\"","\"\"");
}
lines[j]=String.Join(",",fields);
}
Ваша процедура сортировки явно неверна: вам также необходимо учитывать равенства, а логическое значение не является правильным возвращаемым типом (см. Добавление).
Сделайте следующее:
return value1 - value2;
вместо :
return value1 > value2;
Дополнение:
Общая форма функции сравнения сортировки f (A, B) должна возвращать> 0, если A> B, <0, если A