logo

CuriousTab

CuriousTab

Discussion


Home C# Programming Generics Comments

  • Question
  • Which of the following statements is valid about advantages of generics?


  • Options
  • A. Generics shift the burden of type safety to the programmer rather than compiler.
  • B. Generics require use of explicit type casting.
  • C. Generics provide type safety without the overhead of multiple implementations.
  • D. Generics eliminate the possibility of run-time errors.
  • E. None of the above.

  • Correct Answer
  • Generics provide type safety without the overhead of multiple implementations. 


  • Generics problems


    Search Results


    • 1. Which of the following statements is valid about generic procedures in C#.NET?

    • Options
    • A. All procedures in a Generic class are generic.
    • B. Only those procedures labeled as Generic are generic.
    • C. Generic procedures can take at the most one generic parameter.
    • D. Generic procedures must take at least one type parameter.
    • E. None of the above.
    • Discuss
    • 2. For the code snippet shown below, which of the following statements are valid?

      public class Generic<T>
      {
          public T Field; 
          public void TestSub()
          {
              T i = Field + 1;
          }
      }
      class MyProgram
      {
          static void Main(string[] args)
          {
              Generic<int> gen = new Generic<int>();
              gen.TestSub();
          }
      }

    • Options
    • A. Addition will produce result 1.
    • B. Result of addition is system-dependent.
    • C. Program will generate run-time exception.
    • D. Compiler will report an error: Operator '+' is not defined for types T and int.
    • E. None of the above.
    • Discuss
    • 3. For the code snippet shown below, which of the following statements are valid?

      public class TestCuriousTab
      {
          public void TestSub<M> (M arg)
          {
              Console.Write(arg);
          }
      }
      class MyProgram
      {
          static void Main(string[] args)
          {
              TestCuriousTab tab = new TestCuriousTab();
              tab.TestSub("CuriousTab ");
              tab.TestSub(4.2f);
          }
      }

    • Options
    • A. Program will compile and on execution will print: CuriousTab 4.2
    • B. A non generic class Hello cannot have generic subroutine.
    • C. Compiler will generate an error.
    • D. Program will generate a run-time exception.
    • E. None of the above.
    • Discuss
    • 4. Which one of the following classes are present System.Collections.Generic namespace?

      1. Stack
      2. Tree
      3. SortedDictionary
      4. SortedArray

    • Options
    • A. 1 and 2 only
    • B. 2 and 4 only
    • C. 1 and 3 only
    • D. All of the above
    • E. None of the above
    • Discuss
    • 5. Which of the following statements is incorrect about a delegate?

    • Options
    • A. A single delegate can invoke more than one method.
    • B. Delegates can be shared.
    • C. Delegate is a value type.
    • D. Delegates are type-safe wrappers for function pointers.
    • E. The signature of a delegate must match the signature of the method that is to be called using it.
    • Discuss
    • 6. Which of the following statements are valid about generics in .NET Framework?

      1. Generics is a language feature.
      2. We can create a generic class, however, we cannot create a generic interface in C#.NET.
      3. Generics delegates are not allowed in C#.NET.
      4. Generics are useful in collection classes in .NET framework.
      5. None of the above

    • Options
    • A. 1 and 2 Only
    • B. 1, 2 and 3 Only
    • C. 1 and 4 Only
    • D. All of the above
    • E. None of the above
    • Discuss
    • 7. For the code snippet given below, which of the following statements is valid?

      public class Generic<T>
      {
          public T Field;
      }
      class Program
      {
          static void Main(string[ ] args)
          {
              Generic<String> g = new Generic<String>();
              g.Field = "Hello";
              Console.WriteLine(g.Field);
          }
      }

    • Options
    • A. It will print string "Hello" on the console.
    • B. Name Generic cannot be used as a class name because it's a keyword.
    • C. Compiler will give an error.
    • D. Member Field of class Generic is not accessible directly.
    • E. None of the above.
    • Discuss
    • 8. For the code snippet given below, which of the following statements are valid?

      public class MyContainer<T> where T: IComparabte
      {
          // Insert code here
      }
      1. Class MyContainer requires that it's type argument must implement IComparabte interface.
      2. Type argument of class MyContainer must be IComparabte.
      3. Compiler will report an error for this block of code.
      4. This requirement on type argument is called as constraint.

    • Options
    • A. 1 and 2 Only
    • B. 1, 2 and 3 Only
    • C. 1 and 4 Only
    • D. All of the above
    • E. None of the above
    • Discuss
    • 9. For the code snippet given below, which of the following statements are valid?

      public class MyContainer<T> where T: class, IComparable
      {
          //Insert code here
      }
      1. Class MyContainer requires that it's type argument must implement IComparable interface.
      2. Compiler will report an error for this block of code.
      3. There are multiple constraints on type argument to MyContainer class.
      4. Class MyContainer requires that its type argument must be a reference type and it must implement IComparable interface.

    • Options
    • A. 1 and 2 Only
    • B. 3 and 4 Only
    • C. 2 and 3 Only
    • D. All of the above
    • E. None of the above
    • Discuss
    • 10. Which of the following is the correct default value of a Boolean type?

    • Options
    • A. 0 
    • B. 1
    • C. True
    • D. False
    • E. -1
    • Discuss


    Comments

    There are no comments.

Enter a new Comment