修改List <string>以将内容转换为超链接

时间:2016-12-22 16:51:17

标签: c# string list hyperlink

我有一个List<string>,其中包含网址。我想做的是将List的内容转换为用户可以点击的超链接。我已经看到了一些如何执行此操作的示例,但大多数都是插入电子邮件,或者将 here 切换为超链接。我只是不知道我在看什么,所以有点混乱。这就是我所拥有的:

List<string> lstUrls = new List<string>();
//PROGRAM GETS URLS FROM ELEMENTS IN HERE....
foreach (string s in lstUrls)
{
    s = "<a href=\"%s\"></a>";    //THIS DOESN'T WORK...
}  

我不想更改字符串的内容 - 只是为了能够显示为超链接。例如,一个字符串值为https://www.tyco-fire.com/TD_TFP/TFP/TFP172_02_2014.pdf;以及Stack Overflow如何将其显示为链接,这就是我想要实现的目标。

我知道我显然拙劣的语法。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:7)

使用List<T>进行迭代时,您无法更改foreach的内容。但您可以使用for

for(int i = 0; i < lstUrls.Count; i++)
{
    var s = lstUrls[i];
    lstUrls[i] = "<a href=\"" + s + "\">" + s + "</a>";
}

有点容易阅读:

lstUrls[i] = String.Format("<a href=\"{0}\">{0}</a>", s);

答案 1 :(得分:5)

您可以使用linq:

lstUrls = lstUrls.Select(s => $"<a href=\"{s}\"></a>").ToList();

或者更确切地说显示其中的网址:

lstUrls = lstUrls.Select(s => $"<a href=\"{s}\">{s}</a>").ToList();