C# Eval Expression LINQ Dynamic - Union
LINQ Dynamic Union Examples
C# Dynamic LINQ Union examples using an Expression Evaluator.
Union - 1
This C# example uses the LINQ Union method with a dynamic expression to create one sequence that contains the unique values from both arrays.
LINQ
private void uiUnion_1_LINQ_Click(object sender, EventArgs e) { int[] numbersA = {0, 2, 4, 5, 6, 8, 9}; int[] numbersB = {1, 3, 5, 7, 8}; var uniqueNumbers = numbersA.Union(numbersB); var sb = new StringBuilder(); sb.AppendLine("Unique numbers from both arrays:"); foreach (var n in uniqueNumbers) { sb.AppendLine(n.ToString()); } My.Result.Show(My.LinqResultType.Linq, uiResult, sb); }
LINQ Execute
private void uiUnion_1_LINQ_Execute_Click(object sender, EventArgs e) { int[] numbersA = {0, 2, 4, 5, 6, 8, 9}; int[] numbersB = {1, 3, 5, 7, 8}; var uniqueNumbers = numbersA.Execute<IEnumerable<int>>("Union(numbersB)", new {numbersB}); var sb = new StringBuilder(); sb.AppendLine("Unique numbers from both arrays:"); foreach (var n in uniqueNumbers) { sb.AppendLine(n.ToString()); } My.Result.Show(My.LinqResultType.LinqExecute, uiResult, sb); }
Result
highlight text %} LINQ Execute Test
Unique numbers from both arrays: 0 2 4 5 6 8 9 1 3 7
## Union - 2
This C# example uses the LINQ Union method with a dynamic expression to create one sequence that contains the unique first letter from both product and customer names.
### LINQ
```csharp
private void uiUnion_2_LINQ_Click(object sender, EventArgs e)
{
var products = My.GetProductList();
var customers = My.GetCustomerList();
var productFirstChars = from p in products select p.ProductName[0];
var customerFirstChars = from c in customers select c.CompanyName[0];
var uniqueFirstChars = productFirstChars.Union(customerFirstChars);
var sb = new StringBuilder();
sb.AppendLine("Unique first letters from Product names and Customer names:");
foreach (var ch in uniqueFirstChars)
{
sb.AppendLine(ch.ToString());
}
My.Result.Show(My.LinqResultType.Linq, uiResult, sb);
}
LINQ Execute
private void uiUnion_2_LINQ_Execute_Click(object sender, EventArgs e) { var products = My.GetProductList(); var customers = My.GetCustomerList(); var productFirstChars = from p in products select p.ProductName[0]; var customerFirstChars = from c in customers select c.CompanyName[0]; var uniqueFirstChars = productFirstChars.Execute<IEnumerable<char>>("Union(customerFirstChars)", new {customerFirstChars}); var sb = new StringBuilder(); sb.AppendLine("Unique first letters from Product names and Customer names:"); foreach (var ch in uniqueFirstChars) { sb.AppendLine(ch.ToString()); } My.Result.Show(My.LinqResultType.LinqExecute, uiResult, sb); }
Result
highlight text %} LINQ Execute Test
Unique first letters from Product names and Customer names: C A G U N M I Q K T P S R B J Z V F E W L O D H