关于Out和Return的问题?

时间:2009-05-19 14:36:31

标签: c# .net

在此代码中(来自WCF REST starterkit - preview2):

protected override SampleItem OnAddItem(SampleItem initialValue, out string id)
        {
            // TODO: Change the sample implementation here
            id = Guid.NewGuid().ToString();
            this.items.Add(id, initialValue);
            return initialValue;
        }

我是将ID作为String返回,还是将initialValue作为SampleItem?

编辑: 看起来我两个都回来了,那么方法调用的一个简单示例看起来像分配给几个变量?

4 个答案:

答案 0 :(得分:4)

您将在作为参数传递给方法的字符串中返回id。此外,该方法将返回SampleItem实例。

SampleItem myItem = new SampleItem();
string newId = string.Empty;
myItem = OnAddItem(myItem, out newId);
// now myItem will be assigned with SampleItem returned from the
// OnAddItem method, and newId will be updated with the id assigned
// within that method

答案 1 :(得分:1)

你们两个都得到了。

答案 2 :(得分:1)

你们两个都回来了。

您将传入ID的字符串变量,并通过“out”修饰符返回给您。该函数还将返回您传入的SampleItem实例initialValue。

答案 3 :(得分:0)

你们两个都回来了。 out参数只是返回某些编程语言提供的值的另一种方法。