Автоматическая генерация (M|m)akefiles заставляет меня волноваться о том, что Вы пытаетесь сделать здесь.
Вы понимаете то, что продолжается под покрытиями, когда Вы вводите, делают? Или gmake? Я только спрашиваю, потому что, если Вы не делаете, когда вещи повреждаются, такие как новые изменения кода, не включаемые в сборку, Вы испытаете затруднения при попытке работать, что произошло.
, Чтобы начать понимать делают, могу я предлагать иметь чтение" , Руководящие Проекты с GNU Делают " Robert Mecklenberg. Раннее покрытие глав, как делают, работает. Получение Ваших услышанных вокруг факта, которые делают, является обратным построением цепочки, одна из самых больших вещей, которые можно сделать.
, Если Вы не делаете, и Ваша система, кажется, работает, затем Вы будете, для использования термина Прагматически настроенных Программистов, " программирование по совпадению ". (-:
статьи BTW Great, доступные на их сайте! И я не связан с ними. YMMV. Yada-yada...
You can use Except to get everything but the intersection of the two lists.
var differences = listA.Except(listB).Union(listB.Except(listA));
If you want to get everything but the union:
var allButUnion = new List<MyClass>();
(The union is everything in both lists - everything but the union is the empty set...)
If you mean the set of everything but the intersection (symmetric difference) you can try:
var set = new HashSet<Type>(list1);
set.SymmetricExceptWith(list2);
Do you mean everything that's only in one list or the other? How about:
var allButIntersection = a.Union(b).Except(a.Intersect(b));
That's likely to be somewhat inefficient, but it fairly simply indicates what you mean (assuming I've interpreted you correctly, of course).
Что-то вроде этого?
String[] one = new String[] { "Merry", "Metal", "Median", "Medium", "Malfunction", "Mean", "Measure", "Melt", "Merit", "Metaphysical", "Mental", "Menial", "Mend", "Find" };
String[] two = new String[] { "Merry", "Metal", "Find", "Puncture", "Revise", "Clamp", "Menial" };
List<String> tmp = one.Except(two).ToList();
tmp.AddRange(two.Except(one));
String[] result = tmp.ToArray();
var theUnion = list1.Concat(list2);
var theIntersection = list1.Intersect(list2);
var theSymmetricDifference = theUnion.Except(theIntersection);
Use Except:
List<int> l1 = new List<int>(new[] { 1, 2, 3, 4 });
List<int> l2 = new List<int>(new[] { 2, 4 });
var l3 = l1.Except(l2);