我想对字符串数组排序.我知道要用不同的方法来达到目的.但我想知道为什么这个方法抛出错误
本文关键字:方法 想知道 达到目的 为什么 错误 出错 字符串 数组排序 我知道 | 更新日期: 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();