我正在尝试使用列表创建一个函数。 它是排序和删除重复项。 排序不错,但不要删除重复项。 有什么问题?
void sort_del(List<double> slist){
//here i sort slist
//get sorted with duplicates
List<double> rlist = new List<double>();
int new_i=0;
rlist.Add(slist[0]);
for (i = 0; i < size; i++)
{
if (slist[i] != rlist[new_i])
{
rlist.Add(slist[i]);
new_i++;
}
}
slist = new List<double>(rlist);
//here get without duplicates
}
最佳答案
它不起作用,因为 slist
是按值传递的。将 rlist
分配给它对调用方没有影响。您用于检测重复项的算法似乎很好。如果您不想使用其他答案中建议的更优雅的 LINQ 方式,请更改返回列表的方法:
List<double> sort_del(List<double> slist){
// Do your stuff
return rlist;
}
关于c# - 无法在C#中进行简单的列表操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8493079/