使用“out”关键字的实际原因是什么?

时间:2017-09-27 15:13:16

标签: c#

我写了一个实用功能:

public static void SerializeErrorMessage(int ErrorCode, string ErrorMessage, out byte[] Buffer)
{
    object ErrorJson = new { ErrorCode, ErrorMessage };
    string Serialized = JsonConvert.SerializeObject(ErrorJson);     
    Buffer = Encoding.UTF8.GetBytes(Serialized);
}

我想知道为什么我应该/不应该这样写它:

public static byte[] SerializeErrorMessage(int ErrorCode, string ErrorMessage)
{
    object ErrorJson = new { ErrorCode, ErrorMessage };
    string Serialized = JsonConvert.SerializeObject(ErrorJson);     
    byte[] Buffer = Encoding.UTF8.GetBytes(Serialized);
    return Buffer;
}

这仅仅是个人偏好的问题吗?第一个函数是否比第二个函数更高效?

1 个答案:

答案 0 :(得分:0)

当需要返回函数中的多个值而不将值包装在对象中时,将使用out关键字。

e.g。 Integer.TryParse,具有返回值(如果解析成功则为bool),以及在解析成功时返回值的out参数。

在你的情况下,没有区别