【发布时间】:2015-08-31 17:31:31
【问题描述】:
所以我有一个字符串,我将其分成两半。现在我需要比较字符串的两个部分,并且输出必须是它们中相同的所有元素。
我注意到有些人在使用 Intersect,但我不知道为什么它对我不起作用,如果我使用它,我会得到非常奇怪的输出。
这是我的代码:
string first= "1 3 6 8 4 11 34 23 3 1 7 22 24 8"
int firstLength = first.Length;
int half = firstLength / 2;
string S1 = first.Substring(0, half);
string S2= first.Substring(half, half);
var areInCommon = S1.Intersect(S2);
Console.WriteLine("Numbers that these 2 strings have in common are: ");
foreach (int i in areInCommon)
Console.WriteLine(i);
所以在这种情况下,输出将是:1、3 和 8。
任何帮助将不胜感激。
【问题讨论】:
-
在子字符串行后分割空格
-
字符串只是一个字符序列。即使这个特定的字符串在您看来是一个数字序列(其中一些有两位数),但字符串本身并不关心这一点。它只关心单个字符:
'1',' ','3',' ','6',' ','8',' ','4', @98765433 @、'1'等等。因此,Intersect方法将对单个字符而不是数字进行操作。