我正在努力争取返回一个包含多个元素的List(PHP背景 - 我在PHP中使用数组)。
我有一个大字符串,我正在WHILE循环中解析。我想返回一个包含元素对的List。我尝试过这样的事情:
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
我已经回顾了一些答案,但我遗漏了一些东西。我已经在语法上尝试了几个返回值,但没有运气。任何帮助将不胜感激。我讨厌提问,但我花了一些时间在这上面,我只是找不到我想要的东西。
答案 0 :(得分:2)
将方法声明更改为:
static public List<string>[] getdata(string bigfile)
答案 1 :(得分: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;
}
答案 2 :(得分:0)
问题在于您返回List of Collection,因此返回类型不匹配。试试这个,
var data = new List<string>();
while (some stuff)
{
data.Add("test0");
data.Add("test1");
}
return data;
答案 3 :(得分: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;
}