【发布时间】:2016-02-22 06:57:19
【问题描述】:
wordlist() 方法返回从结构中的字段复制的字符串数组。
但问题是这个方法返回System.String[ ],而不是返回数组中的所有对象。我试着做foreach,但我认为这不是问题。不幸的是,我无法弄清楚。
public struct wordStruct
{
public string Sword;
}
class StringCounterClass : IOrederedWordStructure
{
wordStruct[] array = new wordStruct[10];
int totalInsertedWords = 0;
public string[] wordList()
{
string [] wordArray = new string[array.Length];
for (int i = 0; i < wordArray.Length; i++)
{
wordArray[i] = array[i].Sword;
}
return wordArray;
}
public void insertWord(string[] words)
{
int insertwordLength = words.Length;
totalInsertedWords = insertwordLength;
string[] myWord = words;
foreach (string word in myWord)
{
for (int i = 0; i < insertwordLength; i++)
{
array[i].Sword = myWord[i];
}
}
}
【问题讨论】:
-
}forwordList()放置错误,我认为是错字 -
这段代码甚至无法编译。
return语句在类中的任何方法之外。 -
不在问题中。我们无法帮助您处理您自己计算机上的代码,我们只能帮助您处理您发布的代码。而且您发布的代码是错误的。
-
另外,如果方法返回字符串数组有问题,为什么要返回字符串数组?还是您使用过
Console.WriteLine(wordArray)之类的东西,想知道为什么输出是System.String[]? -
不确定我是否明白这个问题。
System.String[]是string[]的完全限定名称,它是一个字符串数组,是“数组中的所有对象”,对吧?您如何得出这不是您想要的结论?正如@LasseV.Karlsen 所说,可能是对ToString()的一些(隐式)调用将导致"System.String[]"被返回/显示。如果要将string[]中的所有字符串组合成一个(例如)空格分隔的string,请尝试:string value = string.Join(" ", wordArray);
标签: c# arrays visual-studio