C# 如何从数组中添加值数组
嗨,我有两个数组字符串。但我不知道如何将数组中的一些值添加到另一个数组中 这是我的密码C# 如何从数组中添加值数组,c#,arrays,string,C#,Arrays,String,嗨,我有两个数组字符串。但我不知道如何将数组中的一些值添加到另一个数组中 这是我的密码 string result[]; string[] hidden; for (var cek = 1; cek < st.Count(); cek++) { hidden[cek] = result[cek]; } 字符串结果[]; 字符串[]隐藏; 对于(var cek=1;cek
string result[];
string[] hidden;
for (var cek = 1; cek < st.Count(); cek++)
{
hidden[cek] = result[cek];
}
字符串结果[];
字符串[]隐藏;
对于(var cek=1;cek
第一个字符串已填充值。
我想把结果中的一些值添加到隐藏中。
但是为什么它说使用未分配的局部变量
是否有一些错误,或者我应该使用其他方法而不是这个
编辑1
我无法确定隐藏数组的长度,因为它并不总是相同的,长度是由文本框中的输入字决定的,如果有两个数组,可以从st.count()开始计数
string[] aArray;
string[] bArray;
您可以使用Union
将两者合并
aArray = aArray.Union(bArray).ToArray();
关于
联合的更多信息
首先,您的变量名很糟糕。在for循环内部和外部使用相同的变量cek。这让你很难理解你的意思。您希望此行做什么:
string result[cek];
其次,您没有指定隐藏的大小,因此它是未指定的。我想这就是你得到例外的地方
第三,循环完成后,您希望隐藏哪些内容?如果您能解决这个问题,我认为LINQ肯定会帮助您使用阵列。您必须指定隐藏阵列:
string[] hidden = new String[100]; //write length of your array
“使用未分配的局部变量”,因为您尚未为隐藏的赋值。您必须初始化它:
int elementCountOfHiddenArray = // something
string[] hidden = new string[elementCountOfHiddenArray];
出现错误消息的原因是您只为数组创建了引用,而不是数组本身。使用new
关键字创建数组
代码还有两个问题:
- 数组索引从0开始,而不是从1开始
- 使用数组的
Length
属性。Count
方法将在数组中循环,以找出有多少项,因此效率非常低
:
答案很简单,string[]hidden=newstring[st.count()]
如果你想调整隐藏的数组的大小,你应该试试这个数组。resize(ref hidden,NewLenght)代码>
您不断得到错误:使用未分配的局部变量,因为结果为空。添加字符串[]hideen=new string[st.count()]是的,很抱歉,我忘了剪切它。第二,我不能给它一个尺寸,或者我应该用列表来弥补它?
// input: string result[]
string[] hidden = new string[result.Length];
for (int cek = 0; cek < result.Length; cek++) {
hidden[cek] = result[cek];
}
string[] hidden = new string[result.Length];
result.CopyTo(hidden, 0);