如何在C#.net中返回多个不同类型的对象?

时间:2010-03-02 10:29:57

标签: .net c#-3.0

我有两个对象,我不想创建一个包装类来获取这两个对象的数据,没有'Out'参数是否有任何方法可以返回多个不同类型的对象?

非常感谢!!

谢谢

5 个答案:

答案 0 :(得分:5)

没有。你不能。

但是,您可以使用数组或地图返回它们。

答案 1 :(得分:4)

public class VPair<TFirst, TSecond>
    {
        public TFirst First { get; set; }
        public TSecond Second { get; set; }

        public VPair(TFirst first, TSecond second)
        {
            First = first;
            Second = second;
        }
    }

或 c#4.0中的Tuple

奖金:

public class VTriple<TFirst, TSecond, TThird> : VPair<TFirst, TSecond>
    {
        public TThird Third { get; set; }

        public VTriple(TFirst first, TSecond second, TThird third)
            : base(first, second)
        {
            Third = third;
        }
    }

答案 2 :(得分:1)

在c ++中,可以使用名为std :: pair的东西来完成。有关如何在C#中执行此操作的StackOverflow帖子:What is C# analog of C++ std::pair?

答案 3 :(得分:0)

您可以返回列表&lt;对象&gt;。

答案 4 :(得分:0)

return new object[] { object1, object2 }

或者,您可以使用匿名类型。 See this article for more information