如何将一个字符串数组存储到另一个字符串数组中?

How do I store an array of strings into another array of strings?

我正在尝试将保存人名的旧结构类型数组存储到一个新的字符串数组中,该数组的大小已经缩小,这样我就可以用另一种方法将它洗牌。

string[] newStringArray = new string[10]

for (int i = 0; i < oldStringArray.Length; i++)
{    
    newStringArray = oldStringArray[i].firstName;//Cannot convert type 'string to 'string[]'
}

foreach (string value in newStringArray)
{
    Console.WriteLine(value);
}

您可以使用 Enumerable.Select, and then materialize them into a new array using Enumerable.ToArray 投射您的 FirstName 属性:

string[] firstNames = oldStringArray.Select(x => x.FirstName).ToArray();

您似乎忘记了索引访问器:

string[] newStringArray = new string[10];
for (int i = 0; i < oldStringArray.Length && i < newStringArray.Length; i++)
{
    newStringArray[i] = oldStringArray[i].firstName;
    //             ^
}

如果您只想要前十个名字,请使用

var firstTenFirstNames = oldStringArray.Select(x => x.FirstName).Take(10).ToArray()

您必须声明与旧数组大小相同的新数组。

string[] newStringArray = new string[oldStringArray.Length];

然后使用索引器设置新数组的元素。

for (int i = 0; i < oldStringArray.Length; i++)
{    
    newStringArray[i] = oldStringArray[i].firstName;
}