我的变量应该声明为什么类型?

时间:2011-06-03 10:17:39

标签: list c#-4.0

我是C#/ OOP的新手,正致力于将现有应用程序转换为.net 4.0框架。

我的代码如下:

Class abc
        private IList<string[]> GetReportBatchList()
        {
            List<string[]> rowList = new List<string[]>();

            SqlParameter[] prm = { new SqlParameter("@rpt_doc_type_id", SqlDbType.Int, 9) };
            prm[0].Value = 101;

            try
            {
        .....
        .....
        .....
            }

            return rowList;
         }

class xyz

using abc;

       Private Function GenerateReport()
            Try
        {
                Dim rptBatchList As ??????
                rptBatchList = GetReportBatchList()
                While rptBatchList.Read()
        ......
        ......
        ......
        }
        catch
        {
        ......
        }

应将rptBatchList声明为什么类型?

3 个答案:

答案 0 :(得分:0)

由于GetReportBatchList()的返回值具有字符串的IList作为其类型,因此rptBatchList应该是相同的类型。

答案 1 :(得分:0)

嗯...这是关于正确返回类型的问题,还是关于将C#转换为VB.Net的问题?

根据你所拥有的函数定义,rptBatchList的类型为IList<string[]> - 显然是用VB.Net的正确语法声明的。

除此之外,因为它是一个字符串数组列表,它没有Read()函数,所以也许你正在寻找一些派生自DbDataReader的东西(比如SqlDataReader)?如果您打算坚持使用当前定义,那么您可以使用foreachfor循环来迭代列表元素,或者您可以使用Linq扩展并使用以下内容:

rptBatchList.ForEach(z => { z.ForEach(x => doSomethingWithThisResultString(x)); } );

虽然这可能会变得很乱 - 你可能只想坚持使用几个嵌套的foreach循环。

答案 2 :(得分:0)

你的第二个例子是VB,但你说你正在使用C#,所以......

对于C#,它将是IList<string[]>

我的VB有点生疏,但我认为它会是IList(Of String())

相关问题