将List项替换为另一个自己选择的项

时间:2013-11-22 10:55:08

标签: c# list

有一个包含消息的列表。我希望列表包含类似

的消息

HelloHelloHello,它应显示HELLO HELLO HELLO

我试过了。从这里开始。我得到了

result.MessageList.Select<string,string>(s => s == "HelloHelloHello" ? "Hello Hello Hello" : s).ToList();

但它不适合我。帮助。

2 个答案:

答案 0 :(得分:1)

ToList 将修改后的枚举作为列表返回。原始列表result.MessageList未更改。

要查看更新的结果,您必须执行以下操作之一:

  • ToList的返回值分配回result.MessageList
  • 不要使用LINQ,而是使用循环遍历result.MessageList并修改相应的项目。

答案 1 :(得分:0)

如果您确定只有一个输出,那么:

result.MessageList.Select<string,string>(s => s == "HelloHelloHello" ? "Hello Hello Hello" : s).ToList()[0];

会奏效。 您当前的结果必须是

System.Generic.... etc

修改

        List<String> MessageList = new List<string>();
        MessageList.Add("HelloHelloHello");
        MessageList.Add("Hello1Hello1Hello1");
        MessageList.Add("Hello1Hello1Hello1");
        MessageList.Add("Hello1Hello1Hello1");
        MessageList.Add("HelloHelloHello");

        MessageList.Add("HelloHelloHello");

        List<String> output =  MessageList.Select<string, string>(s => s == "HelloHelloHello" ? "Hello Hello Hello" : s).ToList();

        foreach (String str in output)
        {
            Console.WriteLine(str);
        }

这是有效的,我已在Console中测试过它。