大家好,我有一些类型的字符串列表。我想使用linq替换某些物品,该怎么办?我下面的代码工作正常,但我想使用linq的功能在一行代码中完成此操作。

这是我的代码:

List<string> listcolumns = columns.ToList();//Array to list

if (listcolumns.Contains("HowToReplace") && listcolumns.Contains("HowTo Replace"))
{
    int index = 0;
    index = listcolumns.IndexOf("HowToReplace");
    if (index > 0)
    {
        listcolumns.RemoveAt(index);
        listcolumns.Insert(index, "HowTo Replace");
    }
    index = listcolumns.IndexOf("HowToReplace");
    if (index > 0)
    {
        listcolumns.RemoveAt(index);
        listcolumns.Insert(index, "HowTo Replace");
    }
    columns = listcolumns.ToArray<string>();//List to array
}

最佳答案

使用Linq:

listColumns.Select<string,string>(s => s == "HowToReplace" ? "HowTo Replace" : s).ToArray();

没有Linq:
 for (int i=0; i<listColumns.Length; i++)
    if (ListColumns[i] == "HowToreplace") ListColumns[i] ="HowTo Replace");

关于c# - 如何使用linq替换类型字符串列表中的某些特定字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8063058/

10-12 06:06