Exemplo n.º 1
0
        static void Generics()
        {
            // var book = new Book { Isbn = "1111", Title = "C# Advanced" };

            // Without Generics we need to do in this way
            // var numbers = new List();
            // numbers.Add(0);
            // var books = new BookList();
            // books.Add(book);

            // With Generics we eliminate the code duplication
            // We could avoid code duplication (List and BookList) using and ObjectList
            // However, we will have to handle with performance problems because of boxing and unboxing
            // So, forget about these options and always use Generics
            // var numbers = new GenericList<int>();
            // numbers.Add(10);
            // var books = new GenericList<Book>();
            // books.Add(new Book());
            // var dictionary = new GenericDictionary<string, Book>();
            // dictionary.Add("1234", new Book());
            // var utilities = new Utilities();
            // Console.WriteLine(utilities.Max(11, 22));
            // Console.WriteLine(utilities.MaxGeneric<int>(11, 22));

            var number = new Generics.Nullable <int>(5);

            Console.WriteLine($"Has Value ? {number.HasValue}");
            Console.WriteLine($"Value: {number.getValueOrDefault()}");
            var number2 = new Generics.Nullable <int>();

            Console.WriteLine($"Has Value ? {number2.HasValue}");
            Console.WriteLine($"Value: {number2.getValueOrDefault()}");
        }
Exemplo n.º 2
0
        public static void UseNullableT()
        {
            var number = new Generics.Nullable <int>(5);

            Console.WriteLine($"Has Value ? {number.HasValue}");
            Console.WriteLine($"Value: {number.GetValueOrDefault()}");

            //nullable int
            var anotherNumber = new Generics.Nullable <int>();

            Console.WriteLine($"Has Value ? {anotherNumber.HasValue}");
            Console.WriteLine($"Value: {anotherNumber.GetValueOrDefault()}");
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            var book = new Book
            {
                Id   = 1,
                Name = "FixItNooo"
            };

            var books = new GenericList <Book>();

            books.Add(book);

            var dictionary = new GenericDictionary <string, Book>();

            dictionary.Add("test", book);

            var number = new Generics.Nullable <int>();

            Console.WriteLine("Has Value?" + number.HasValue);
            Console.WriteLine("Value" + number.GetValueOrDefault());

            Console.WriteLine("Hello World!");
        }