Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用自己选择的另一项替换列表项_C#_List - Fatal编程技术网

C# 用自己选择的另一项替换列表项

C# 用自己选择的另一项替换列表项,c#,list,C#,List,有一个包含消息的列表。我想当列表包含如下消息时 HelloHelloHello,它应该显示HELLO 我试过了。我也从这里得到了 result.MessageList.Select<string,string>(s => s == "HelloHelloHello" ? "Hello Hello Hello" : s).ToList(); result.MessageList.Select(s=>s==“hellohello”?“Hello”:Hello:s.ToList()

有一个包含消息的列表。我想当列表包含如下消息时

HelloHelloHello
,它应该显示
HELLO

我试过了。我也从这里得到了

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

但是它对我不起作用。帮助。

如果您确定只会得到一个输出,那么:

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

        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);
        }
List MessageList=newlist();
MessageList.Add(“hellohello”);
MessageList.Add(“Hello1Hello1Hello1”);
MessageList.Add(“Hello1Hello1Hello1”);
MessageList.Add(“Hello1Hello1Hello1”);
MessageList.Add(“hellohello”);
MessageList.Add(“hellohello”);
列表输出=消息列表。选择(s=>s==“HelloHelloHello”?“Hello”:s).ToList();
foreach(输出中的字符串str)
{
控制台写入线(str);
}
这是可行的,我已经在控制台中对其进行了测试。

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

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

  • ToList
    的返回值分配回
    result.MessageList
  • 不要使用LINQ,而是使用循环迭代
    result.MessageList
    ,然后修改相应的项

如何输出/检查结果?result.MessageList正在从DB提交。我指的是
Select
调用的结果。我可以有多条消息。
        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);
        }