C# Error
CS0743 – Expected contextual keyword ‘on’
Reason for the Error & Solution
Expected contextual keyword ‘on’
The pattern for a join
clause is join
…in
…on
…equals
, as shown in this example:
var query = from x in array1
join y in array2 on x equals y
select x;
To correct this error
- Add the
on
keyword to thejoin
clause.
Example
The following code generates CS0743:
// cs0743.cs
using System;
using System.Linq;
public class C
{
public static int Main()
{
int[] array1 = { 1, 2, 3, 4, 5, 6 };
int[] array2 = { 5, 6, 7, 8, 9 };
var c = from x in array1
join y in array2 x equals y // CS0743
select x;
return 1;
}
}