0

null になる可能性のある object 型のオブジェクトで .ToString() メソッドへの呼び出しをどのように記述しますか。私は現在、次のことを行っていますが、かなり長いです:

  myobject == null ? null : myobject.ToString()
4

3 に答える 3

11

動作をよりカプセル化する 1 つの方法は、拡張メソッドに配置することです。

public static class ObjectExtensions
{
    public static string NullSafeToString(this object input)
    {
        return  input == null ? null : input.ToString();
    }
}

次にNullSafeToString、任意のオブジェクトを呼び出すことができます。

object myobject = null;
string temp = myobject.NullSafeToString();
于 2009-10-08T08:16:44.983 に答える
2

このように特定の型を頻繁に使用する場合はGetString(object foo)、文字列または null を返すメソッドを作成できます。これにより、入力の手間が省けます。C# の C++ テンプレートに似たものはありますか? はいの場合は、それをGetString()メソッドにも適用できます。

于 2009-10-08T08:07:19.457 に答える
2

null オブジェクトに null 文字列が必要ですか? 私はこれがより可能性が高いと思います:

myobject == null ? string.Empty : myobject.ToString()

それは直接的に間違っているわけではありませんが、関数が null と Empty を受け入れる必要があるが、できれば null 文字列を返さないというガイドラインを覚えています。

于 2009-10-08T08:10:30.517 に答える