logo

CuriousTab

CuriousTab

Discussion


Home C# Programming Generics Comments

  • Question
  • 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.

  • Correct Answer
  • Compiler will report an error: Operator '+' is not defined for types T and int


  • Generics problems


    Search Results


    • 1. 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
    • 2. 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
    • 3. 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
    • 4. Suppose a Generic class called SortObjects is to be made capable of sorting objects of any type (Integer, Single, Byte etc.). Which of the following programming constructs should be used to implement the comparision function?

    • Options
    • A. Namespace
    • B. Interface
    • C. Encapsulation
    • D. Delegate
    • E. Attribute
    • Discuss
    • 5. Which of the following statements are correct about delegates?

    • Options
    • A. Delegates cannot be used to call a static method of a class.
    • B. Delegates cannot be used to call procedures that receive variable number of arguments.
    • C. If signatures of two methods are same they can be called through the same delegate object.
    • D. Delegates cannot be used to call an instance function. Delegates cannot be used to call an instance subroutine.
    • Discuss
    • 6. 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
    • 7. 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.
    • Discuss
    • 8. 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
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment