我正在接受
未设置对象引用
本程序中的例外情况..
我存储Output1[k++]
的地方存在问题......
CODE :
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);
}
}
答案 0 :(得分:1)
您已声明output1
,但未对其进行初始化。
在sortStrings
中使用之前,请尝试。
output1 = new string[input1.Length];
答案 1 :(得分:0)
问题是你在使用它之前没有初始化输出数组。由于您已经使用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();