我正在尝试创建一个字符串,下面是我想要实现的目标:
String first = "Previous.value1 | Previous.value2";
String second = "New.value1| New.value2";
我正在尝试创建这样的最终字符串:
string final ="generate Previous.value1 cross New.value1 ? Previous.value1 cross New.value2";
但是问题是当我出现如下不匹配时:
String first = "Previous.value1 | Previous.value2";
String second = "New.value1";
然后我想要这样,因为我在第二个变量中没有Previous.Value2的匹配值:
string final ="generate Previous.value1 cross New.value1";
到目前为止,当两个字符串中的值数量相同时,我成功生成了最终字符串。
string final = "generate";
if (first.Split('|').Count() - second.Split('|').Count() == 0)
{
int i = 0;
foreach (var item in first.Split('|').Count())
{
if (i == 0)
final = final + item + " cross " + second.Split('|')[i];
else
final = final + " ? " + item + " cross " + second.Split('|')[index];
i++;
}
}
最佳答案
尝试此 LINQ 查询(使用 the Zip
extension method ):
var zippedQry = first.Split('|').Zip(second.Split('|'),
(f, s) => f.Trim() + " cross " + s.Trim());
string final = "generate " + String.Join(" ? ", zippedQry.ToArray());
关于c# - 拆分和组合两个不同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866055/