foreach 循环读取数据,逐一返回的问题。帮忙看下,脑袋短路了
public string msgUsers(string url)
{
string username = string.Empty;
foreach (Match match in trmatches)
{
try
{
string names = xxxxxxx;
username = names;
Messagebox.show(username);//这里逐条显示。
//如果是username += names;显示结果为:第一条第二条第三条第四条这样叠加了
}
catch
{
}
return username;//这里指返回一条数据怎么回事?
}
------解决方案--------------------看这代码,不管如何,它就返回xxxxxxx
------解决方案--------------------return 语句挪到 foreach 语句块外面
------解决方案--------------------return表示msgUsers这个方法都结束的,当然只返回一条数据了
把return放到foreach外面的
------解决方案--------------------你在foreach里面return,自然只能返回第一条了
------解决方案--------------------你想返回什么呢,你这个return放到foreach里面了,所以只返回第一条,但是如果你搬到foreach外面,就肯定返回最后一条了,要看你的需求是什么,才能决定你代码怎么修改
------解决方案--------------------public List<string> msgUsers(string url)
{
List<string> username = new List<string>();
foreach (Match match in trmatches)
{
try
{
string names = xxxxxxx;
username = names;
Messagebox.show(username);//这里逐条显示。
username.Add(names);
}
catch
{
}
}
return username;//这里指返回一条数据怎么回事?
}