Compruebe si una cadena es nula o está vacía; de lo contrario, córtela

Compruebe si una cadena es nula o está vacía; de lo contrario, córtela

Esto no es válido:

 ds1Question.Title.null

Puedes tener:

dummy.Title = ds1Question.Title == null ? "Dummy title"
                                        : ds1Question.Title.Trim();

O usa:

dummy.Title = (ds1Question.Title ?? "Dummy title").Trim();

Eso realizará un recorte innecesario al valor predeterminado, pero es simple.

Sin embargo, estos solo verificarán la nulidad. Para verificar si también está vacío, debe llamar a String.IsNullOrEmpty , lo que haría a través de una variable adicional para la cordura:

string title = ds1Question.Title;
dummy.Title = string.IsNullOrEmpty(title) ? "Dummy title" : title.Trim();

Alternativamente use IsNullOrWhitespace según la respuesta de Marc, para evitar tener un título de " " que no esté vacío hasta que se recorte .


Podría ir un paso más allá de lo que sugirió Justin Harvey e implementar un método de extensión (en una clase estática, por supuesto) como este:

public static string TrimmedOrDefault(this string str, string def)
{
    if (string.IsNullOrEmpty(str)) //or if (string.IsNullOrWhiteSpace(str))
    {
        // Hmm... what if def is null or empty?
        // Well, I guess that's what the caller wants.
        return def; 
    }
    else
    {
        return str.Trim();
    }
}

Entonces puedes usarlo así:

dummy.Title = ds1Question.Title.TrimmedOrDefault("Dummy title");

Quizás:

dummy.Title = string.IsNullOrEmpty(ds1Question.Title)
             ? "Dummy title" : ds1Question.Title.Trim();

o

dummy.Title = string.IsNullOrWhiteSpace(ds1Question.Title)
             ? "Dummy title" : ds1Question.Title.Trim();