简单问题欢迎抢分:C#字符串怎样交换两个指定位置字符(求最漂亮的做法)
给定字符串s,以及两个位置(整数)p1,p2,有没有比较漂亮的方法完成数据交换
如:s="abcde",p1=2,p2=4 要求结果得到字符串"abedc"
--------我的做法------欢迎抢分!!!------
static string SwapChar(ref string s, int p1, int p2)
{
string ret;
if (p1 == p2) return s;
if (p1 > p2) { int p = p1; p1 = p2; p2 = p; } //Swap p1,p2
ret = s.Substring(0, p1) + s[p2];
ret += s.Substring(p1 + 1 , p2 - p1 - 1) + s[p1];
ret += s.Substring(p2 + 1 , s.Length - p2 -1 );
return ret;
}