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

Uch*_*chi 0 c# string list hyperlink

我有一个List<string>用URL填充的内容.我想要做的是将List用户可以单击的超链接的内容转换为.我已经看过一些如何做到这一点的例子,但大多数是插入电子邮件,或者将这里的单词切换为超链接.我只是不知道我在看什么,所以有点混乱.这就是我所拥有的:

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...
}  
Run Code Online (Sandbox Code Playgroud)

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

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

Him*_*ere 7

你不能改变List<T>迭代它的内容foreach.但你可以使用for:

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

这有点容易阅读:

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


Jer*_*gen 5

您可以使用linq:

lstUrls = lstUrls.Select(s => $"<a href=\"{s}\"></a>").ToList();
Run Code Online (Sandbox Code Playgroud)

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

lstUrls = lstUrls.Select(s => $"<a href=\"{s}\">{s}</a>").ToList();
Run Code Online (Sandbox Code Playgroud)