Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将对象转换为字符串c?_C#_Asp.net_.net_Exception Handling_Arraylist - Fatal编程技术网

C# 无法将对象转换为字符串c?

C# 无法将对象转换为字符串c?,c#,asp.net,.net,exception-handling,arraylist,C#,Asp.net,.net,Exception Handling,Arraylist,我试图从AraryList中提取值,但我一直得到的是System.Object[] 编辑: 有什么想法吗?不要使用ArrayList,而是使用Array。在2.0之前的.NET中,没有泛型,也没有方法创建类型安全的集合。ArrayList是.NET1.X时代的原始集合之一 编写新代码时,请始终使用类型安全的泛型集合。写为字符串[]的缩写数组就是这样一种类型 编辑 代码的这一部分存在问题: object[] values = new object[reader.FieldCount]; reade

我试图从AraryList中提取值,但我一直得到的是System.Object[]

编辑: 有什么想法吗?

不要使用ArrayList,而是使用Array。在2.0之前的.NET中,没有泛型,也没有方法创建类型安全的集合。ArrayList是.NET1.X时代的原始集合之一

编写新代码时,请始终使用类型安全的泛型集合。写为字符串[]的缩写数组就是这样一种类型

编辑 代码的这一部分存在问题:

object[] values = new object[reader.FieldCount];
reader.GetValues(values);
rowList.Add(values.ToString());
值是一个对象数组。object[]的ToString方法不返回数组中对象的内容,它只返回类型的名称。您必须将对values.ToString的调用更改为将检索到的行的值格式化为字符串的内容。例如:

rowList.Add(string.Format("Name: {0}, Address: {1}", values[0], values[1]);
不要使用ArrayList,而是使用Array。在2.0之前的.NET中,没有泛型,也没有方法创建类型安全的集合。ArrayList是.NET1.X时代的原始集合之一

编写新代码时,请始终使用类型安全的泛型集合。写为字符串[]的缩写数组就是这样一种类型

编辑 代码的这一部分存在问题:

object[] values = new object[reader.FieldCount];
reader.GetValues(values);
rowList.Add(values.ToString());
值是一个对象数组。object[]的ToString方法不返回数组中对象的内容,它只返回类型的名称。您必须将对values.ToString的调用更改为将检索到的行的值格式化为字符串的内容。例如:

rowList.Add(string.Format("Name: {0}, Address: {1}", values[0], values[1]);

改为使用列表:通用类型安全、动态大小的容器

改为使用列表:通用类型安全、动态大小的容器

似乎列表[4]本身就是一个数组,是否有任何错误/异常?如果是,请提供StackTrace ReadDb.ReadFromDB返回什么?如果其中的代码不是太大-你能发布它吗?列表[4]有一个对象。正如@AndersAbel所问的,ReadDb.ReadFromDB返回什么?ArrayList得到了什么元素?返回的arraylist是否包含字符串?我的意思是列表[0]、列表[1]、,。。。列表[n]包含字符串?似乎列表[4]本身就是一个数组,是否有任何错误/异常?如果是,请提供StackTrace ReadDb.ReadFromDB返回什么?如果其中的代码不是太大-你能发布它吗?列表[4]有一个对象。正如@AndersAbel所问的,ReadDb.ReadFromDB返回什么?ArrayList得到了什么元素?返回的arraylist是否包含字符串?我的意思是列表[0]、列表[1]、,。。。列表[n]包含字符串?最好使用列表。但我需要指定数组大小?@Ingol:然后列表如果需要:通用,动态大小的容器i编辑的问题,似乎我的方法是发送System.Object[]作为值??最好使用列表。但我需要指定数组大小?@Ingol:然后列表如果需要:通用,动态大小集装箱I编辑的问题,似乎我的方法是发送系统。对象[]作为值??我编辑的问题,似乎我的方法是发送系统。对象[]作为值??我编辑的问题,似乎我的方法是发送系统。对象[]作为值??