Ejemplo n.º 1
0
        private static void RunSampleUsingStandardKeyedCollection(IEnumerable<CountryOrRegionGdpData> listOfCountryOrRegionGdpData)
        {
            StandardKeyedCollectionOfCountryOrRegionGdpData standardKeyedCollectionOfCountryOrRegionGdpData = new StandardKeyedCollectionOfCountryOrRegionGdpData();

            foreach (var item in listOfCountryOrRegionGdpData)
                standardKeyedCollectionOfCountryOrRegionGdpData.Add(item);

            CountryOrRegionGdpData itemByCode = standardKeyedCollectionOfCountryOrRegionGdpData["SWE"];

            CountryOrRegionGdpData itemByName = standardKeyedCollectionOfCountryOrRegionGdpData.Single(q => q.CountryName == "Sweden");

            IEnumerable<CountryOrRegionGdpData> itemsByHasFiveDoubled = standardKeyedCollectionOfCountryOrRegionGdpData.Where(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 5);

            IEnumerable<CountryOrRegionGdpData> itemsByHasTenDoubled = standardKeyedCollectionOfCountryOrRegionGdpData.Where(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 10);

            IEnumerable<CountryOrRegionGdpData> itemsByHasTwentyDoubled = standardKeyedCollectionOfCountryOrRegionGdpData.Where(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 20);

            PrintResults("StandardKeyedCollection", itemByCode, itemByName, itemsByHasFiveDoubled, itemsByHasTenDoubled, itemsByHasTwentyDoubled);
        }
        public BenchmarkComponentKeyedCollection(IEnumerable <CountryOrRegionGdpData> listOfCountryOrRegionGdpData)
        {
            StandardKeyedCollectionOfCountryOrRegionGdpData standardKeyedCollectionOfCountryOrRegionGdpData = new StandardKeyedCollectionOfCountryOrRegionGdpData();

            RootOperation = new CollectionBenchmarkRootOperationGroup()
            {
                Operation1 = new OperationInitialization()
                {
                    Delegate = () =>
                    {
                        foreach (var item in listOfCountryOrRegionGdpData)
                        {
                            standardKeyedCollectionOfCountryOrRegionGdpData.Add(item);
                        }
                    },
                },
                Operation2 = new OperationGetGdp2010ByCode()
                {
                    Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData["SWE500"].GdpYear2010.Value
                },
                Operation3 = new OperationGetGdp2010ByName()
                {
                    Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Single(q => q.CountryName == "Sweden500").GdpYear2010.Value,
                },
                Operation4 = new OperationGroupByIncrease()
                {
                    Operation1 = new OperationHasFiveDoubledCount()
                    {
                        Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Count(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 5),
                    },
                    Operation2 = new OperationHasTenDoubledCount()
                    {
                        Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Count(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 10),
                    },
                    Operation3 = new OperationHasTwentyDoubledCount()
                    {
                        Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Count(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 20),
                    },
                },
            };
        }
        public BenchmarkComponentKeyedCollection(IEnumerable<CountryOrRegionGdpData> listOfCountryOrRegionGdpData)
        {
            StandardKeyedCollectionOfCountryOrRegionGdpData standardKeyedCollectionOfCountryOrRegionGdpData = new StandardKeyedCollectionOfCountryOrRegionGdpData();

            RootOperation = new CollectionBenchmarkRootOperationGroup()
            {
                Operation1 = new OperationInitialization()
                {
                    Delegate = () =>
                    {
                        foreach (var item in listOfCountryOrRegionGdpData)
                            standardKeyedCollectionOfCountryOrRegionGdpData.Add(item);
                    },
                },
                Operation2 = new OperationGetGdp2010ByCode()
                {
                    Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData["SWE500"].GdpYear2010.Value
                },
                Operation3 = new OperationGetGdp2010ByName()
                {
                    Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Single(q => q.CountryName == "Sweden500").GdpYear2010.Value,
                },
                Operation4 = new OperationGroupByIncrease()
                {
                    Operation1 = new OperationHasFiveDoubledCount()
                    {
                        Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Count(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 5),
                    },
                    Operation2 = new OperationHasTenDoubledCount()
                    {
                        Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Count(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 10),
                    },
                    Operation3 = new OperationHasTwentyDoubledCount()
                    {
                        Delegate = () => standardKeyedCollectionOfCountryOrRegionGdpData.Count(countryOrRegionGdpData => countryOrRegionGdpData.GdpYear2010 >= countryOrRegionGdpData.GdpYear1960 * 20),
                    },
                },
            };
        }