Example #1
0
        public static void Run()
        {
            DisplayBetterCar(new BetterCar()
            {
                Car = new Car()
                {
                    Color = "Black", Make = "Toyota"
                },
                PetName = "Blacky"
            });

            foreach (var car in GiveMeThreeBasicCarsHelper())
            {
                Console.WriteLine(car.Make);
            }

            var cars = new CarFixed[3];

            FillThreeBasicCars(cars);
            foreach (var car in cars)
            {
                Console.WriteLine(car.Make);
            }

            unsafe
            {
                // Note how we use pointer arithmetic and fixed buffers here
                fixed(CarFixed2 *cars2 = new CarFixed2[3])
                {
                    FillThreeBasicCars2(cars2);
                    for (int i = 0; i < 3; i++)
                    {
                        Console.WriteLine(new string(cars2[i].Make));
                    }
                }
            }

            var makes  = new string[3];
            int length = 0;

            GiveMeMakes(out makes, out length);
            foreach (var make in makes)
            {
                Console.WriteLine(make);
            }

            foreach (var make in GiveMeMakesHelper())
            {
                Console.WriteLine(make);
            }
        }
Example #2
0
		public static void Run()
		{
			DisplayBetterCar(new BetterCar()
			{
				Car = new Car() { Color = "Black", Make = "Toyota" },
				PetName = "Blacky"
			});

			foreach (var car in GiveMeThreeBasicCarsHelper())
			{
				Console.WriteLine(car.Make);
			}

			var cars = new CarFixed[3];
			FillThreeBasicCars(cars);
			foreach (var car in cars)
			{
				Console.WriteLine(car.Make);
			}

			unsafe
			{
				// Note how we use pointer arithmetic and fixed buffers here
				fixed (CarFixed2* cars2 = new CarFixed2[3])
				{
					FillThreeBasicCars2(cars2);
					for (int i = 0; i < 3; i++)
					{
						Console.WriteLine(new string(cars2[i].Make));
					}
				}
			}

			var makes = new string[3];
			int length = 0;
			GiveMeMakes(out makes, out length);
			foreach (var make in makes)
			{
				Console.WriteLine(make);
			}

			foreach (var make in GiveMeMakesHelper())
			{
				Console.WriteLine(make);
			}
		}