将字符串与lambda表达式组合在一起

时间:2010-01-25 19:17:54

标签: vb.net arrays lambda

我有一个字符串数组Array1和一个字符串数组A2。我想在第3个数组A3中组合这些,但不包括重复值。这可以通过lambda表达式完成,还是只通过遍历数组并检查array.Contains()?

3 个答案:

答案 0 :(得分:1)

array1.Union(array2).Distinct().ToArray();

答案 1 :(得分:0)

您可以执行以下操作

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

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

答案 2 :(得分: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);
    }