1

foreach を使用せずに、ある RouteCollection に含まれる項目を C# の別の RouteCollection に転送するにはどうすればよいですか?

RouteCollection は Collection< RouteBase > から継承します

4

3 に答える 3

2

関数を使用CopyToして、コレクション全体を互換性のある1次元配列にコピーできます。

このメソッドは、Array.Copyを使用して要素をコピーします。

http://msdn.microsoft.com/en-us/library/ms132408.aspx

于 2012-08-30T13:05:53.330 に答える
1

最後に私が作った:

List<RouteBase> originalRoutes = routes.Select(i => i.Clone()).ToList();

これを行うには、次の 2 つの拡張メソッドが必要でした。

public static RouteBase Clone(this RouteBase route)
    {
        if (route.GetType() == typeof(Route))
            return ((Route)route).Clone();
        else
            return null;
    }

    public static Route Clone(this Route route)
    {
        Route cloneRoute = new Route(route.Url, route.RouteHandler);
        cloneRoute.Defaults = route.Defaults;
        cloneRoute.Constraints = route.Constraints;

        return cloneRoute;
    }
于 2012-09-05T08:53:23.703 に答える