Claro, porque char es un tipo de valor, no es un objeto. Tampoco podes asignarle null a los int o a los double por ejemplo...
Prueba con
Código:
char unChar = '';
(unChar == '')? return "hola, esto anduvo" : return "no, no anduvo";
Sino, lo que se me ocurre es usar wrappers, un objeto que contenga un caracter... Que hasta donde yo se .NET no tiene y Java si :(.
Seria algo como:
Código:
public class NullableCharacter{
private bool _hasValue = false;
private char _value;
public bool hasValue{
get { return _hasValue; }
}
public char Value{
set { if (value != null){
_value = value;
}
_hasValue = (value != null);
}
get { return _value; }
}
public NullableCharacter(char value){
this.Value = value;
}
}
y despues puedes hacer algo como
NullableCharacter c = new NullableCharacter();
if (c.HasValue){
//Aca es que tiene valor
}else{
//Aca no
}
y lo podes crear como
new NullableCharacter('a');
...
Espero que sirva
Un saludo
Guille