我想对字符串数组排序.我知道要用不同的方法来达到目的.但我想知道为什么这个方法抛出错误

本文关键字:方法 想知道 达到目的 为什么 错误 出错 字符串 数组排序 我知道 | 更新日期: 2023-09-27 18:15:28

我得到一个

对象引用未设置

程序中的

异常。

我存储Output1[k++]的地方有一个问题…

:

    Class stringsor
      { 
        public static string[] output1;
        public static void sortstrings(string[] input1)
          {
            int k = 0;
            foreach (var item in input1)
             {
                output1[k++] = (item.OrderBy(i => i)).ToString();
             }

使用Linq

排序
             output1 = new string[k];
              foreach(var item in output1)
              {
                Console.WriteLine(item);
              }
           }
            public static void Main(string[] args)
             {
              string[] input1 = { "Adkad","jor","ioeuo","zkas","aka","nma"};
              sortstrings(input1);
             }
          }

我想对字符串数组排序.我知道要用不同的方法来达到目的.但我想知道为什么这个方法抛出错误

您已经声明了output1,但没有初始化它。

sortStrings中使用之前,请先尝试。

output1 = new string[input1.Length];

问题是您在使用输出数组之前没有初始化它。因为你已经使用了LINQ,你可以像下面这样直接初始化和分配输出数组

    public static void sortstrings(string[] input1)
    {
        output1 = input1.Select(word => new string(word.OrderBy(i => i).ToArray())).ToArray();
        foreach (var item in output1)
        {
            Console.WriteLine(item);
        }
    }

我想对字符串数组进行排序。

但是你现在做的是颠倒输出数组中的字符顺序。它不是对字符串数组排序。这是你所期望的吗?如果需要对字符串排序,可以如下

output1 = input1.OrderBy(word => word).ToArray();
相关文章: