我需要在C#中使用linq查询的一种逻辑。
输入字符串:
印度是英格兰,英国是印度
输出字符串:
英格兰是印度,印度是英国
我使用普通的foreach循环达到了上述要求,并且需要使用linq查询的逻辑。在下面找到我的foreach循环代码。
string inputString1 = "India is England and England is India";
string[] str = inputString1.Split(' ');
StringBuilder sb = new StringBuilder();
foreach (var item in str)
{
if (item == "India")
{
sb.Append("England");
sb.Append(' ');
}
else if(item == "England")
{
sb.Append("India");
sb.Append(' ');
}
else
{
sb.Append(item);
sb.Append(' ');
}
}
Console.WriteLine(sb);
Console.ReadLine();
答案 0 :(得分:3)
您可以简单地使用3个替换,而无需linq:
var outputString1 = inputString1.Replace("India", "<placeholder>")
.Replace("England", "India")
.Replace("<placeholder>", "England");