Sorting 排序列表有问题

Sorting 排序列表有问题,sorting,.net-4.0,Sorting,.net 4.0,我对集合排序有问题。用户保存少量值并对其进行排序 在下一次发布时,计划必须订购新的系列 用户保存的值可以在新集合中,但在这种情况下,当这些值不在新集合中时,情况可能会有所不同 我写了一些代码,如果有意义的话,我想得到你的反馈 var oldValues = new List<string>(new[] { "id5", "id3", "id1" }); var valuesToOrder = new List<string>(new[] { "id1", "id2", "

我对集合排序有问题。用户保存少量值并对其进行排序

在下一次发布时,计划必须订购新的系列

用户保存的值可以在新集合中,但在这种情况下,当这些值不在新集合中时,情况可能会有所不同

我写了一些代码,如果有意义的话,我想得到你的反馈

var oldValues = new List<string>(new[] { "id5", "id3", "id1" });
var valuesToOrder = new List<string>(new[] { "id1", "id2", "id3", "id4" });

int numberOfReorderedValues = 0;

for (int i = 0; i < oldValues.Count; i++)
{
    if (valuesToOrder.Contains(oldValues[i]))
    {
         int indexOfValueWhichShouldBeBefore = valuesToOrder.IndexOf(oldValues[i]);
         string valueWhichShouldBeBefore = valuesToOrder[indexOfValueWhichShouldBeBefore];

         string valueWhichShouldBeAfter = valuesToOrder[numberOfReorderedValues];

         valuesToOrder[numberOfReorderedValues] = valueWhichShouldBeBefore;
         valuesToOrder[indexOfValueWhichShouldBeBefore] = valueWhichShouldBeAfter;


         numberOfReorderedValues++;
var oldValues=新列表(新[]{“id5”、“id3”、“id1”});
var valuesToOrder=新列表(新[]{“id1”、“id2”、“id3”、“id4”});
int numberofreordedvalue=0;
对于(int i=0;i

这段代码行得通,但我明天必须把它给我的老板看,而且我不会去愚弄他,因为我不清楚你在找什么

听起来您有两个列表。其中一个包含“必需”列表,另一个包含“从中选择”列表

使用LINQ进行排序怎么样

var oldValues = new List<string>(new[] { "id5", "id3", "id1" });
var valuesToOrder = new List<string>(new[] { "id1", "id2", "id3", "id4" });

var sorted = valuesToOrder.Intersect(oldValues).OrderBy(x=>x);

// sorted now has id1 and id3, sorted alphabetically.
var oldValues=新列表(新[]{“id5”、“id3”、“id1”});
var valuesToOrder=新列表(新[]{“id1”、“id2”、“id3”、“id4”});
var sorted=valuesToOrder.Intersect(旧值).OrderBy(x=>x);
//排序现在有id1和id3,按字母顺序排序。

“Would”和“Should”不能在英语中一个接一个出现,也不应该在代码中出现。选择一个。我知道,这是错误的。谢谢:)