我的代码如下:
public List<string> connect(String query_physician, String query_institution)
{
Regex pattern = new Regex(@"(?<=""link""\:\s"")[^""]*(?="")");
MatchCollection linkMatches = pattern.Matches(customSearchResult);
var list = new List<string>();
list = linkMatches.Cast<Match>().Select(match => match.Value).ToList(); //put the links into a list?!
foreach (var item in list) //take each item (link) out of the list...
{
return item; // ...and return it?! //Error, because item is a string
}
return null;
}
就像你看到的那样,我想返回每个链接(作为我的json结果的可读列表并显示在我的RichTextBox
中,但我知道,var item
是a string
。否则它不起作用。要么我成为不可读的列表,要么是字符串(string.Join(.....Cast<>())
。
我有这个权利,string.Join(.....Cast<>())
将单个字符串添加到一起吗?不过,我不希望他们在一起。无论如何,你知道解决这个问题的方法吗?
顺便说一下,return null
只是一个通配符。
答案 0 :(得分:0)
据我所知,这是你上一个问题的延续。假设你有这个功能(我简化了一点):
public List<string> connect(String query_physician, String query_institution)
{
...
return Regex.Matches(customSearchResult, @"(?<=""link""\:\s"")[^""]*(?="")")
.Cast<Match>()
.Select(m => m.Value)
.ToList();
}
您可以执行以下操作:
List<string> list = connect("", "");
string linksFormatted = string.Join(",", list);
在RichTextBox中显示内容:
richTextBox1.AppendText(string.Join(Environment.NewLine, list));
答案 1 :(得分:-2)
查看您的方法签名返回类型是字符串列表无字符串,
这么简单的方法:
public List<string> connect(String query_physician, String query_institution)
{ ...
//restults container
List<string> resultContainer = new List<String>();
Regex pattern = new Regex(@"(?<=""link""\:\s"")[^""]*(?="")");
MatchCollection linkMatches = pattern.Matches(customSearchResult);
var list = new List<string>();
list = linkMatches.Cast<Match>().Select(match => match.Value).ToList(); //put the links into a list?!
foreach (var item in list) //take each item (link) out of the list...
{
//add item to list
resultContainer.Add(item);
}
return resultContainer;
}