C# 如何将两个字符串求和并添加到列表类? class-Asient { 私有列表letras=新列表{ “A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“J”}; 私有列表fila=新列表{ "1","2","3","4","5","6","7","8"}; 私有列表asientos=新列表(); 公共助理{ for(int i=0;i
代码给了我这个运行时错误:C# 如何将两个字符串求和并添加到列表类? class-Asient { 私有列表letras=新列表{ “A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“J”}; 私有列表fila=新列表{ "1","2","3","4","5","6","7","8"}; 私有列表asientos=新列表(); 公共助理{ for(int i=0;i,c#,C#,代码给了我这个运行时错误: 未处理的异常。System.ArgumentOutOfRangeException:索引超出范围。 必须为非负数且小于集合的大小。(参数“索引”) 位于System.Collections.Generic.List`1.get_项(Int32索引) 在D:\Users\x\x\x\x\x\c\x\x\x\x.cs中的A05CINE.Asient..ctor()处:第15行 在D:\Users\x\Desktop\x\x\x\c\A05\x\x.cs中的A05CINE.
未处理的异常。System.ArgumentOutOfRangeException:索引超出范围。
必须为非负数且小于集合的大小。(参数“索引”)
位于System.Collections.Generic.List`1.get_项(Int32索引)
在D:\Users\x\x\x\x\x\c\x\x\x\x.cs中的A05CINE.Asient..ctor()处:第15行
在D:\Users\x\Desktop\x\x\x\c\A05\x\x.cs中的A05CINE.Mainn.Main(字符串[]args)处:第31行
有人知道如何解决这个问题吗
我试着用
asientos.Add(letras[i]+fila[n]);
字符串sillaletra=letras[i]+fila[n];
asientos.Add(sillaletra);
如果字母多于数字,请添加
私人名单fila=新名单{“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”};
它会起作用。你在相同的长度上循环。在循环中,两端都位于位置
letras.Count
,但列表的长度不同
循环应在每个数组的长度上迭代,如下所示:
for(int i=0;i
请注意,第一个数组从0到letras.Count
第二个从0到fila.Count
现在,每个位置都被迭代。看起来,您正在寻找笛卡尔连接,也就是说,您希望
列表
为
{ "A1", "A2", ..., "A8", "B1", ..., "B8", ..., "J8" }
如果是您的情况,您可以为此设置一个简单的Linq查询:
using System.Linq;
...
public Asient() {
asientos = letras
.SelectMany(letter => fila.Select(digit => letter + digit))
.ToList();
}
谢谢,肖恩。对我来说已经太晚了,但你已经拯救了其他人,让他们不再分享我的命运。你的字母(9)比数字(8)多。另外,请翻译和缩进你的问题,使人们更容易帮助你。发布前调试。“有人知道该由谁来修复吗?”是的,不要尝试访问大于数组长度的索引。谢谢你的帮助