This isn't available as string is already a reference type, so is already nullable. The ? suffix is syntactic sugar for Nullable<T>, so int? is equivalent to Nullable<int>... and Nullable<T> has a constraint of where T : struct, i.e. T has to be a non-nullable value type... which excludes string.
In other words, you can just write
public void Example(int x, string y)
{
if (y == null)
{
...
}
}
Note that this is different from making it an optional parameter. Passing in a null value is still passing in a value. If you want to make it an optional parameter you can do that too:
public void Example(int x, string y = "Fred")
...
Example(10); // Equivalent to Example(10, "Fred");
string?.