我有一个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如何将其显示为链接,这就是我想要实现的目标。
我知道我显然拙劣的语法。任何帮助表示赞赏。
答案 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();