首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

数组倒序输出的有关问题,贴出代码,各位给看看

2013-12-20 
数组倒序输出的问题,贴出代码,各位给看看?public static void Write3(ListGroundLine.CrossSection firs

数组倒序输出的问题,贴出代码,各位给看看?

  public static void Write3(List<GroundLine.CrossSection> firsList, string filename)
        {
            StreamWriter file = new StreamWriter(filename);
            for (int i = 0; i < firsList.Count; i++)
            {
                file.WriteLine("    " + firsList[i].Stake.Value + "    " + firsList[i].Elevation);
                KeyValuePair<double, double>[] leftlist2 = firsList[i].LeftList.ToArray();
                string leftList1 = "";
                double left = 0;
                double laft = 0;
                for (int m = 0; m< leftlist2.Length; m++)
                {
                    double aleva = firsList[i].Elevation;
                    laft = (aleva + leftlist2[m].Value) + laft;
                    
                    double eleva = leftlist2[m].Key;
                    if (m == 0)
                    {
                        left = eleva;
                    }
                    if (m < leftlist2.Length - 1)
                    {
                        left = left + leftlist2[m + 1].Key;
                    }
                    else
                    {
                        left = eleva + 0;
                    }
                    leftList1 = (leftList1 + "    " + left + "    " + laft);
                    laft = laft - aleva;
                }
                KeyValuePair<double, double>[] rightlist1 = firsList[i].RightList.ToArray();
                string rightList = "";
                double right = 0;
                double alva = 0;
                for (int n = 0; n < rightlist1.Length; n++)
                {
                    double aleva = firsList[i].Elevation;
                    right = (aleva + rightlist1[n].Value) + right;
                    double eleva = rightlist1[n].Key;


                    if (n == 0)
                    {
                        alva = eleva;
                    }
                    if (n < rightlist1.Length - 1)
                    {
                        alva = alva + rightlist1[n + 1].Key;
                    }
                    else
                    {
                        alva = eleva + 0;
                    }
                    rightList = (rightList + "    " + alva + "    " + right);
                    right = right - aleva;
                }
                file.WriteLine(leftList1);//需要把这两个数组倒序输出
                file.WriteLine(rightList);
            }
            file.Flush();
            file.Close();
        }


[解决办法]
使用自带的方法,你可以按照Key来排序
list.OrderByDescending(p => p.Key);
也可以按照Value来排序
list.OrderByDescending(p => p.Value);
[解决办法]
Reverse方法可以将数组倒序
[解决办法]
leftList1= leftList1.Reverse().ToArray();
[解决办法]
先用冒泡排序把数组拼好,然后再Reverse           传送门
[解决办法]
            int[] intArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };            

            foreach (var item in intArray.Reverse().ToArray<int>())
                Console.WriteLine(item);

[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

leftList1= leftList1.Reverse().ToArray();

leftList1 = leftList1.Reverse().ToString();
                file.WriteLine(leftList1);
是这样么》?

ToArray(),不是ToString()

leftList1 是string型的噢··报错提示错误1无法将类型“char[]”隐式转换为“string”

string.Join("",leftList1.Reverse().ToArray());

错误1与“string.Join(string, string[])”最匹配的重载方法具有一些无效参数
错误
2参数“2”: 无法从“char[]”转换为“string[]”


数组倒序输出的有关问题,贴出代码,各位给看看string str=new string(leftList1.Reverse().ToArray());
[解决办法]
数组倒序输出的有关问题,贴出代码,各位给看看
自己造轮子呀。。。

热点排行