CSharp Programming

CSharp Programming

Properties has 16 Questions
A property can be declared inside a class, struct, Interface.

True
False
Which of the following statements is correct about properties used in C#.NET?

A property can simultaneously be read only or write only.
A property can be either read only or write only.
A write only property will have only get accessor.
A write only property will always return a value.
A Student class has a property called rollNo and stu is a reference to a Student object and we want the statement stu.RollNo = 28 to fail. Which of the following options will ensure this functionality?

Declare rollNo property with both get and set accessors.
Declare rollNo property with only set accessor.
Declare rollNo property with get, set and normal accessors.
Declare rollNo property with only get accessor.
If a class Student has an indexer, then which of the following is the correct way to declare this indexer to make the C#.NET code snippet given below work successfully?
Student s = new Student(); 
s[1, 2] = 35;

class Student

{

int[ ] a = new int[5, 5];

public property WriteOnly int this[int i, int j]

{

set

{

        a[i, j] = value;

        }

    }

}

class Student

{

int[ , ] a = new int[5, 5];

public int property WriteOnly

{

set

{

            a[i, j] = value;

        }

    }

}

class Student

{

int[ , ] a = new int[5, 5];

public int this[int i, int j]

{

    set

        {

            a[i, j] = value;

        }

    }

}

class Student

{

int[ , ] a = new int[5, 5];

int i, j;

public int this

{

set

        {

            a[i, j] = value;

        }

    }

}

Which of the following statements are correct?
  1. The signature of an indexer consists of the number and types of its formal parameters.
  2. Indexers are similar to properties except that their accessors take parameters.
  3. Accessors of interface indexers use modifiers.
  4. The type of an indexer and the type of its parameters must be at least as accessible as the indexer itself.
  5. An interface accessor contains a body.

1, 3, 5
1, 2, 4
3, 5
2, 4
If Sample class has a Length property with get and set accessors then which of the following statements will work correctly?
  1. Sample.Length = 20;
  2. Sample m = new Sample(); 
    m.Length = 10;
  3. Console.WriteLine(Sample.Length);
  4. Sample m = new Sample(); 
    int len;
    len = m.Length;
  5. Sample m = new Sample(); 
    m.Length = m.Length + 20;

1, 3
2, 4, 5
4 only
3, 5
Which of the following is the correct way to implement a write only property Length in a Sample class?

class Sample

{

public int Length

{

set

{

            Length = value;

        }

    }

}

class Sample

{

int len; public int Length

{

get

{

return len;

}

set

{

            len = value;

        }

        }

}

class Sample

{

int len; public int Length

{

WriteOnly

set

{

            len = value;

        }

    }

}

class Sample

{

int len; public int Length {

set

{

            len = value; }

        }

    }

A property can be declared inside a namespace or a procedure.

True
False
If a Student class has an indexed property which is used to store or retrieve values to/from an array of 5 integers, then which of the following are the correct ways to use this indexed property?
  1. Student[3] = 34;
  2. Student s = new Student(); 
    s[3] = 34;
  3. Student s = new Student(); 
    Console.WriteLine(s[3]);
  4. Console.WriteLine(Student[3]);
  5. Student.this s = new Student.this(); 
    s[3] = 34;

1, 2
2, 3
3, 4
3, 5
If Sample class has a Length property with set accessor then which of the following statements will work correctly?

Sample m = new Sample();

int l;l = m.Length;

Sample m = new Sample();

m.Length = m.Length + 20

Sample.Length = 20;

Sample m = new Sample();

m.Length = 10;

If Sample class has a Length property with get accessor then which of the following statements will work correctly?

Sample m = new Sample();

m.Length = 10;

Sample m = new Sample(); m.Length = m.Length + 20;

Sample m = new Sample();

int l;

l = m.Length;

Sample.Length = 20;
An Account class has a property called accountNo and acc is a reference to a bank object and we want the C#.NET code snippet given below to work. Which of the following options will ensure this functionality?
acc.accountNo = 10; 
Console.WriteLine(acc.accountNo);

Declare accountNo property with both get and set accessors.
Declare accountNo property with only get accessor.
Declare accountNo property with get, set and normal accessors.
Declare accountNo property with only set accessor.
Suppose a Student class has an indexed property. This property is used to set or retrieve values to/from an array of 5 integers called scores[]. We want the property to report "Invalid Index" message if the user attempts to exceed the bounds of the array. Which of the following is the correct way to implement this property?

class Student

{

int[] scores = new int[5] {3, 2, 4,1, 5};

public int this[ int index ]

{

set

{

if (index < 5) scores[index] = value;

else Console.WriteLine("Invalid Index");

        }

    }

}

class Student

{

int[] scores = new int[5] {3, 2, 4, 1, 5}; public int this[ int index ]

{

get

{

if (index < 5) return scores[ index ];

else { Console.WriteLine("Invalid Index"); return 0;

}

}

set {

if (index < 5) scores[ index ] = value;

else Console.WriteLine("Invalid Index");

         }

       }

}

class Student

{

int[] scores = new int[5] {3, 2, 4, 1, 5}; public int this[ int index ] {

get { if (index < 5) return scores[ index ];

else { Console.WriteLine("Invalid Index"); return 0;

}

         }

    }

}

class Student

{

int[] scores = new int[5] {3, 2, 4, 1, 5}; public int this[ int index ] {

get {

if (index < 5) scores[ index ] = value; else { Console.WriteLine("Invalid Index"); } }

set { if (index < 5) return scores[ index ]; else { Console.WriteLine("Invalid Index"); return 0; }

         }

     }

}

Which of the following is the correct way to implement a read only property Length in a Sample class?

class Sample

{

int len; public int Length { get {

return len;

        }

    }

}

class Sample{

public int Length {

get { return Length;

        }

    }

}

class Sample{

int len; public int Length { get { return len; }

set { len = value;

        }

    }

}

class Sample{

int len; public int Length { Readonly

get { return len;

        }

    }

}

Which of the folowing does an indexer allow to index in the same way as an array?
  1. A class
  2. A property
  3. A struct
  4. A function
  5. An interface

1, 3, 5
2, 4
3, 5
3, 4, 5
An Employee class has a property called age and emp is reference to a Employee object and we want the statement Console.WriteLine(emp.age) to fail. Which of the following options will ensure this functionality?

Declare age property with only get accessor.
Declare age property with only set accessor.
Declare age property with both get and set accessors.
Declare age property with get, set and normal accessors.