C# 如何在显示前将数据保存在数组中

C# 如何在显示前将数据保存在数组中,c#,arrays,sorting,C#,Arrays,Sorting,在显示索引和值之前,如何在数组中存储它们? 它将结果存储在列表中,根据值对列表进行排序,并在排序前显示值的结果索引(原始索引),排序前显示如下值: 0 0.235 1 0.985 2 0.342 3 0.548 4 0.754 排序后: 1 0.985 4 0.754 3 0.548 2 0.342 0 0.235 我的意思是在获得排序后的值(上面的格式):我如何将它们保存到数组中而不是显示 var results = new L

在显示索引和值之前,如何在数组中存储它们? 它将结果存储在列表中,根据值对列表进行排序,并在排序前显示值的结果索引(原始索引),排序前显示如下值:

0  0.235
1  0.985
2  0.342
3  0.548
4  0.754
排序后:

1  0.985
4  0.754
3  0.548
2  0.342
0  0.235

我的意思是在获得排序后的值(上面的格式):我如何将它们保存到数组中而不是显示

                    var results = new List<float>(1143600);
                    for (int z = 0; z < 1143600; z++)
                    {
                        results.Add(dotproduct(userseq, z));
                    }
                    var sb1 = new StringBuilder();
                    foreach (var resultwithindex in results.Select((r, index) => new { result = r, Index = index }).OrderByDescending(r => r.result).Take(n))
                    {
                        sb1.AppendFormat("{0}: {1}", resultwithindex.Index, resultwithindex.result);
                        sb1.AppendLine();
                    }
                    MessageBox.Show(sb1.ToString());
            }
var结果=新列表(1143600);
对于(intz=0;z<1143600;z++)
{
结果.添加(dotproduct(userseq,z));
}
var sb1=新的StringBuilder();
foreach(结果中的var resultwithindex.Select((r,index)=>new{result=r,index=index}).OrderByDescending(r=>r.result.Take(n))
{
AppendFormat(“{0}:{1}”,resultwithindex.Index,resultwithindex.result);
sb1.AppendLine();
}
Show(sb1.ToString());
}

不确定您的问题,但这可能是您想要的:

var array = results.Select((r, index) => new { result = r, Index = index })
                   .OrderByDescending(r => r.result)
                   .Take(n)
                   .ToArray();

谢谢@FlatEric。我是初学者。请告诉我,我必须写这行代码,并解释如何将索引和结果保存在数组中?我想这一定是一个列表。我说得对吗?@索引和值包含在使用select语句创建的匿名类中。您可以使用“var idx=array[i].Index;”和“var value=array[i].result;”访问它们。如果您想要列表而不是数组,只需使用.ToList()。如果要将每个索引与一维数组进行比较,以替换数组而不是索引的值,我应该怎么做?请通过对脚本@FlatEric的注释来指定答案。(我的意思是读取该值并将其放在当前索引中),您不能替换其中一个数组元素的值(您得到的编译器错误表明它是只读的),但您可以创建一个新数组并将其填充到在现有数组上迭代的foreach循环中