【发布时间】:2020-11-15 01:11:37
【问题描述】:
我正在尝试使用算法对列表进行排序。该列表包含包含日期、标题和条目的字符串数组。
所以我得到的错误信息是这样的:
错误 CS0019 运算符“>”不能应用于类型的操作数 “字符串[]”和“字符串[]”
我不会包含我所有的代码,因为它不是英文的。
List<string[]> loggBok = new List<string[]>();
void nyttInlägg(string datum, string titel, string text) // När användaren anropar denna metoden från menyn, så kommer hans input
// läggas in i vektorn.
{
string[] anteckingar = new string[3] { "", "", "" };
anteckingar[0] = datum;
anteckingar[1] = titel;
anteckingar[2] = text;
loggBok.Add(anteckingar);
bool isSorted = false;
while (!isSorted)
{
isSorted = true;
for (int i = 0; i < loggBok.Count - 1; i++)
{
if ((loggBok[i]) > loggBok[i + 1])
{
string[] temp = loggBok[i + 1];
loggBok[i + 1] = loggBok[i];
loggBok[i] = temp;
}
i = i + 2;
}
}
所以基本上,列表中的每 3 个元素都会包含一个带有日期的字符串数组。这是我要组织的日期。我相信我理解算法背后的逻辑,但我就是无法正确理解语法。我检查了其他线程,有些有类似的问题,但没有一个是 100%。由于这是一个学校项目,它必须是一个算法,因此我不想让它“更容易”或更有效。关于如何克服这个可怕的错误信息的任何想法?
【问题讨论】:
-
最重要的标签是编程语言。可以加吗?
-
您应该将
if ((loggBok[i]) > loggBok[i + 1])替换为if ((loggBok[i][0]) > loggBok[i + 1][0]))(也是右括号)。这将比较日期。 -
应该是 logbok.add() 而不是 Add。还有 logbok.size() 而不是 logbok.Size()。