2010-01-25 43 views
2

我有一个字符串数组Array1和一个字符串数组A2。我想将它们组合到第3个数组A3中,但不包括重复值。这可以通过lambda表达式来完成,或者只能通过迭代数组并检查array.Contains()?用lambda表达式组合字符串

回答

0

你可以做以下

Dim newArray = array1.Union(array2).Distinct().ToArray() 

这需要Visual Studio 2008或更高版本(VB.Net 9.0)。

+0

你还需要一个基准(如果不知道它被称为VB中的一样,我用C#)到LINQ。 – BarrettJ

+0

@BarretJ,2008年它被添加为项目级别导入,所以它应该已经在那里 – JaredPar

+1

Distinct()中只有2个重载吗?没有参数和1,需要IEqualityComparer –

1
array1.Union(array2).Distinct().ToArray(); 
0
public static Expression<Func<T, TResult>> And<T, TResult>(this Expression<Func<T, TResult>> expr1, Expression<Func<T, TResult>> expr2) 
    { 
     var invokedExpr = Expression.Invoke(expr2, expr1.Parameters.Cast<Expression>()); 
     return Expression.Lambda<Func<T, TResult>>(Expression.AndAlso(expr1.Body, invokedExpr), expr1.Parameters); 
    } 

    public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expr1, Expression<Func<T, bool>> expr2) 
    { 
     var invokedExpr = Expression.Invoke(expr2, expr1.Parameters.Cast<Expression>()); 
     return Expression.Lambda<Func<T, bool>>(Expression.OrElse(expr1.Body, invokedExpr), expr1.Parameters); 
    } 
相关问题