例如,我有两个字符串变量:如何在不使用临时变量的情况下交换两个字符串变量的值?
string a = " Hello ";
string b = " World ";
如何我可以换它没有一个临时变量?
我发现了一个例子,但它用于a
长度的第三个变量:
int len1 = a.Length;
a = a + b;
b = a.Substring(0, len1);
a = a.Substring(len1);
我怎么能这样做?
例如,我有两个字符串变量:如何在不使用临时变量的情况下交换两个字符串变量的值?
string a = " Hello ";
string b = " World ";
如何我可以换它没有一个临时变量?
我发现了一个例子,但它用于a
长度的第三个变量:
int len1 = a.Length;
a = a + b;
b = a.Substring(0, len1);
a = a.Substring(len1);
我怎么能这样做?
您可以使用SubString
不使用临时变量,就像这样:
string a = " Hello ";
string b = " World ";
a = a + b;//" Hello World "
b = a.Substring(0, (a.Length - b.Length));//" Hello "
a = a.Substring(b.Length);//" World "
只是用交换的一些其他手段。
string stringOne = "one";
string stringTwo = "two";
stringOne = stringOne + stringTwo;
stringTwo = stringOne.Substring(0, (stringOne.Length - stringTwo.Length));
stringOne = stringOne.Substring(stringTwo.Length);
// Prints stringOne: two stringTwo: one
Console.WriteLine("stringOne: {0} stringTwo: {1}", stringOne, stringTwo);
我不相信会编译 –
第一个问题是。你为什么需要做这样的事情? – Steve
@Steve这可能是某种面试问题 –
我认为你可以使用'Interlocked.Exchange':https://msdn.microsoft.com/de-de/library/f2090ex9(v=vs.110).aspx – Nico