c# 未定义数据类型的对象数量(如 params[])

c# undefined amount of object for data type (like params[])

假设我有一个 sqlite 数据库。该数据库有一个名为 main 的 table,有 5 列(id、c1、c2、c3、c4)。

客户端调用 executeQuery,如下所示:

    public Dictionary<int, Tuple<string, string, string, string>> executeSql(string statement) {
        var ret = new Dictionary<int, Tuple<string, string, string, string>>;
        var dbcmd = conn.CreateCommand();

        for(int i = 0; i < Entries; i++) {
            dbcmd.CommandText = statement.Replace("i", i.ToString());
            var reader = dbcmd.ExecuteReader(); 
            //.... Evalulate query....
            ret.Add(); //add to Dic
        }
    }

我不知道客户在他的声明中要求多少列。有没有什么类型可以让我在这种情况下正常工作。我想要的是这样的:

 Dictionary<int, Tuple<params[] string>>

这将为我提供要添加到元组中的可变数量的字符串。

如果没有类似的东西,有什么干净的方法可以解决这个问题,而不是使用一个包含空条目的数组(因为它会打破循环,而且阅读和维护起来非常糟糕),我也不想拥有只对每个案例使用 90% 的相同代码(又名 executeSqlOne()、executeSqlTwo() 等...),因为它会使代码严重膨胀。

在这种情况下,您可以使用 List<string> 而不是 Tuple<string, string, string, string>,我相信您不必担心 no.of 列。只需将结果列添加到列表中,return 相同。