C# 访问不同类型的二维动态数组

C# 访问不同类型的二维动态数组,c#,arrays,C#,Arrays,我发现这段代码可以生成一个具有不同类型的二维动态数组,但是如何访问例如:ar[0]->o[0] 谢谢 使用系统; 使用System.Collections.Generic; 使用System.Linq; 使用系统文本; 使用System.Threading.Tasks; 使用系统集合; 使用System.Collections.Generic; 命名空间集合 { 班级计划 { 静态void Main(字符串[]参数) { ArrayList ar=新的ArrayList(); 对象[]o=新对象

我发现这段代码可以生成一个具有不同类型的二维动态数组,但是如何访问例如:ar[0]->o[0]

谢谢

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用系统集合;
使用System.Collections.Generic;
命名空间集合
{
班级计划
{
静态void Main(字符串[]参数)
{
ArrayList ar=新的ArrayList();
对象[]o=新对象[3];
//向arraylist添加10项
对于(int i=0;i<10;i++)
{
//创建一些示例数据以添加到不同类型的对象数组中。
随机r=新随机();
o[0]=r.Next(1100);
o[1]=“a”+r.Next(1100).ToString();
o[2]=r.Next(1100);
ar.Add(o);
}
}
}
}

您可以这样使用它:

((object[])ar[1])[2]
List<Randoms> ar = new List<Randoms>();
// Add 10 items to list
for (int i = 0; i < 10; i++)
{
       Randoms rand = new Randoms();
       Random r = new Random();
       rand.Rand1 = r.Next(1, 100);
       rand.Rand2 = "a" + r.Next(1, 100).ToString();
       rand.Rand3 = r.Next(1, 100);
       ar.Add(rand);
}
要获取第二个数组中的第三个对象,请注意,由于使用的是对象数组,因此必须将其转换为正确的类型

我宁愿推荐这种方法,创建自己的类来保存数据。这样,您就不需要将对象强制转换为适当的类型

public class Randoms
{
     public int Rand1 { get; set; }
     public string Rand2 { get; set; }
     public int Rand3 { get; set; }
}
然后使用通用列表

List<Randoms> = new List<Randoms>();
List=newlist();
因此,最后的代码如下所示:

((object[])ar[1])[2]
List<Randoms> ar = new List<Randoms>();
// Add 10 items to list
for (int i = 0; i < 10; i++)
{
       Randoms rand = new Randoms();
       Random r = new Random();
       rand.Rand1 = r.Next(1, 100);
       rand.Rand2 = "a" + r.Next(1, 100).ToString();
       rand.Rand3 = r.Next(1, 100);
       ar.Add(rand);
}
List ar=new List();
//在列表中添加10项
对于(int i=0;i<10;i++)
{
Randoms rand=新的Randoms();
随机r=新随机();
rand.Rand1=r.Next(1100);
rand.Rand2=“a”+r.Next(1100).ToString();
rand.Rand3=r.Next(1100);
应收账款(兰特);
}

您可以这样使用它:

((object[])ar[1])[2]
List<Randoms> ar = new List<Randoms>();
// Add 10 items to list
for (int i = 0; i < 10; i++)
{
       Randoms rand = new Randoms();
       Random r = new Random();
       rand.Rand1 = r.Next(1, 100);
       rand.Rand2 = "a" + r.Next(1, 100).ToString();
       rand.Rand3 = r.Next(1, 100);
       ar.Add(rand);
}
要获取第二个数组中的第三个对象,请注意,由于使用的是对象数组,因此必须将其转换为正确的类型

我宁愿推荐这种方法,创建自己的类来保存数据。这样,您就不需要将对象强制转换为适当的类型

public class Randoms
{
     public int Rand1 { get; set; }
     public string Rand2 { get; set; }
     public int Rand3 { get; set; }
}
然后使用通用列表

List<Randoms> = new List<Randoms>();
List=newlist();
因此,最后的代码如下所示:

((object[])ar[1])[2]
List<Randoms> ar = new List<Randoms>();
// Add 10 items to list
for (int i = 0; i < 10; i++)
{
       Randoms rand = new Randoms();
       Random r = new Random();
       rand.Rand1 = r.Next(1, 100);
       rand.Rand2 = "a" + r.Next(1, 100).ToString();
       rand.Rand3 = r.Next(1, 100);
       ar.Add(rand);
}
List ar=new List();
//在列表中添加10项
对于(int i=0;i<10;i++)
{
Randoms rand=新的Randoms();
随机r=新随机();
rand.Rand1=r.Next(1100);
rand.Rand2=“a”+r.Next(1100).ToString();
rand.Rand3=r.Next(1100);
应收账款(兰特);
}

你为什么想要你找到的这段代码?你为什么想要你找到的这段代码?