如何在C#中将arraylist转换为整数数组

ush*_*ush 3 c# arraylist

这是我的代码

    con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/techsoft   /PP1.accdb;Persist Security Info=False");
        con.Open();
        cm = new OleDbCommand("select aa from ab", con);
        OleDbDataReader qq;
        qq = cm.ExecuteReader();
        ArrayList ss = new ArrayList();

        while (qq.Read())
        {
            object[] values = new object[qq.FieldCount];
            qq.GetValues(values);
            ss.Add(values);



        }
Run Code Online (Sandbox Code Playgroud)

如果我使用此语法进行转换

int[] i = (int[])ss.ToArray(System.Type.GetType("System.Int32"));
Run Code Online (Sandbox Code Playgroud)

出现以下错误“无法将源数组中的至少一个元素转换为目标数组类型。”

请给我一个解决方案或任何其他替代方法

Ric*_*ard 5

如果您的对象不是整数,ArrayList ss则需要指定是失败还是忽略它们。

假设您要忽略它们,则可以使用LINQ:

int[] res = ss.OfType<int>().ToArray();
Run Code Online (Sandbox Code Playgroud)

(假设您有一个using System.Linq范围。)