c# - 使用 LINQ 集合中的条件更新字符串

标签 c# .net linq

我想更新列表中所有不以“http://”开头的字符串以“http://”开头

在 foreach 中我会做这样的事情:

url = url.StartsWith("http://") ?网址:url.Insert(0, "http://");

最佳答案

只需使用常规的 for 循环 - 这是修改集合的最简单方法:

for (int i = 0; i < list.Count; i++)
{
    string url = list[i];
    if (!url.StartsWith("http://"))
    {
        list[i] = "http://" + url;
    }
}

如果您乐于创建一个新的集合,很简单:

var modifiedList = list.Select(url => url.StartsWith("http://") ? url : "http://" + url)
                       .ToList();

关于c# - 使用 LINQ 集合中的条件更新字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40490153/

相关文章:

C# 打印包含多个值的 ArrayList

c# - 如何在类中动态创建属性

c# - 无法复制文件,即使在 C# 中授予了 FileIOPermission

c# - Linq To XML、yield 等

c# - 如何按运行总数对对象列表进行分组?

c# - 表达式树 : Binary operator not defined for types

c# - 如何使用 yield 在并行 block 或任务中返回 Item 的集合

c# - XElement 迭代并将其添加到父级

c# - 如何判断控件是否有Text属性

c# - .NET 运行时如何移动内存?