在.NET中有效地合并字符串

时间:2013-09-21 12:49:09

标签: .net string c#-4.0 merge union

我正在使用.NET 4.0。我有两个字符串,可能共享一个或多个值:

string sSet1 = "de§§vent§§n’oubliez§§pas§§d’acheter§§un§§pied§§de"
string sSet2 = "vent§§n’oubliez§§pas§§d’acheter§§un§§pied§§de§§parasol"

我想要一种方法将它们合并为一个字符串

"de§§vent§§n’oubliez§§pas§§d’acheter§§un§§pied§§de§§parasol"

我怎样才能以有效的方式做到这一点?

修改 联合功能可以删除重复项!

使用QTX提出的解决方案,结果字符串是

"de§§vent§§n’oubliez§§pas§§d’acheter§§un§§pied§§parasol"

自Union()函数删除后,第二个单词“de”缺失

3 个答案:

答案 0 :(得分:1)

你的问题不明确。我能想到的最接近的事情是:

var result = String.Join("§§", sSet1.Split(new string[] { "§§" }, StringSplitOptions.None)
                        .Union(sSet2.Split(new string[] { "§§" }, StringSplitOptions.None)));

答案 1 :(得分:0)

最好的方法是使用StringBuilder类。当你需要进行大量的连接时使用它。如果您只需要合并2-3个字符串,则可以选择string.Format。

答案 2 :(得分:0)

如果您只有两个字符串,则可以使用:

string result = string.Format("{0}{1}", sSet1, sSet2);

如果有更多字符串,我会使用StringBuilder类:

StringBuilder b = new StringBuilder();
b.Append( sSet1 );
b.Append( sSet2 );
// append remaining strings
//
string result = b.ToString();