2016-09-14 68 views
0

例如,我有两个字符串变量:如何在不使用临时变量的情况下交换两个字符串变量的值?

string a = " Hello "; 
string b = " World "; 

如何我可以换它没有一个临时变量?

我发现了一个例子,但它用于a长度的第三个变量:

int len1 = a.Length; 
a = a + b; 
b = a.Substring(0, len1); 
a = a.Substring(len1); 

我怎么能这样做?

+3

第一个问题是。你为什么需要做这样的事情? – Steve

+1

@Steve这可能是某种面试问题 –

+0

我认为你可以使用'Interlocked.Exchange':https://msdn.microsoft.com/de-de/library/f2090ex9(v=vs.110).aspx – Nico

回答

3

您可以使用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 " 
0

只是用交换的一些其他手段。

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); 
+4

我不相信会编译 –

相关问题