1

我正在努力返回一个包含多个元素的列表(PHP 背景 - 我会在 PHP 中为此使用数组)。

我有一个在 WHILE 循环中解析的大字符串。我想返回一个包含成对元素的列表。我试过这样的事情:

static public List<string> getdata(string bigfile)
{
var data = new List<string>[] { new List<string>(), new List<string>() };  // create list to hold data pairs

While (some stuff)
{
   // add element pair to List<data>
   data[0].Add(this);  // add element to list - 'this' is declared and assigned (not shown)    
   data[1].Add(that);  // add element to list - 'that' is declared and assigned (not shown)

}

return data???;  // <<-- This is where I'm failing. I can, of course, return just one of the elements, like return data[0];, but I can't seem to get both elements (data[0] and data[1]) together.

}  // end getdata

我已经查看了一些答案,但我遗漏了一些东西。对于返回值,我在语法上尝试了几件事,但没有运气。任何帮助将不胜感激。我讨厌问问题,但我已经花了一些时间在这上面,我只是没有找到我想要的东西。

4

4 回答 4

2

将方法声明更改为:

static public List<string>[] getdata(string bigfile)
于 2013-04-14T05:35:02.913 回答
0

尝试

static public List<string>[] getdata(string bigfile)
{
   ....
}

或者

但是,如果您需要返回字符串数组列表,则将方法更改为

static public List<string[]> getdata(string bigfile)
{
    List<string[]> data= new List<string[]>();

    While (some stuff)
    {
       data.Add(this);    
       data.Add(that); 

    }

    return data;
}
于 2013-04-14T05:35:16.247 回答
0

问题是您正在返回 List 的集合,因此返回类型不匹配。试试这个,

            var data = new List<string>();

            while (some stuff)
            {

                data.Add("test0");
                data.Add("test1");
            }
            return data;
于 2013-04-14T05:43:02.193 回答
0

我想返回一个包含成对元素的列表

如果你想要对,使用对:

static public List<Tuple<string, string>> getdata(string bigfile)
{
    var data = new List<Tuple<string, string>>(); // create list to hold data pairs

    while (some stuff)
    {
        // add element pair
        data.Add(Tuple.Create(a, b)); // 'a' is declared and assigned (not shown)    
                                      // 'b' is declared and assigned (not shown)
    }

    return data;
}
于 2013-04-14T05:44:07.717 回答