Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com
QUESTION 1
You work as the application developer at CertKingdom.com. CertKingdom.com uses Visual Studio.NET
2005 as its application development platform.
You are in the process of storing numerical values up to 2,100,000,000 into a variable and may
require storing negative values using a .NET Framework 2.0 application. You are required to
optimize memory usage
What should you do?
A. Int32
B. UInt16
C. UInt32
D. Int16
Answer: A
Explanation:
The Int32 type should be used in the scenario as it can be used to store positive and negative
numerical values from -2,147,483,648 to +2,147,483,647.
Incorrect Answers:
B: The UINT32 and UInt16 type should not be used in the scenario because they are used to store
only unsigned positive numbers.
Reference types
C: The UINT32 and UInt16 type should not be used in the scenario because they are used to store
only unsigned positive numbers.
Attributes
D: The Int16 type should not be used as you will only be allowed to store values from -32768 to
+32768.
QUESTION 2
You work as an application developer at CertKingdom.com. You are currently in the process of
creating a class that stores data about CertKingdom.com’s customers.
CertKingdom.com customers are assigned unique identifiers and various characteristics that may
include aliases, shipping instructions, and sales comments. These characteristics can change in
both size and data type.
You start by defining the Customer class as shown below:
public class Customer
{
private int custID;
private ArrayList attributes;
public int CustomerID
{
get {return custID;}
}
public Customer (int CustomerID)
{
this.custID = CustomerID;
this.attributes = new ArrayList ();
}
public void AddAttribute (object att)
{
attributes.Add (att);
}
}
You have to create the FindAttribute method for locating attributes in Customer objects no matter
what the data type is.
You need to ensure that the FindAttribute method returns the attribute if found, and you also need
to ensure type-safety when returning the attribute.
What should you do?
A. Use the following code to declare the FindAttribute method:
public T FindAttribute (T att)
{
//Find attribute and return the value
}
B. Use the following code to declare the FindAttribute method:
public object FindAttribute (object att)
{
//Find attribute and return the value
}
C. Use the following code to declare the FindAttribute method:
public T FindAttribute (T att)
{
//Find attribute and return the value
}
D. Use the following code to declare the FindAttribute method:
public string FindAttribute (string att)
{
//Find attribute and return the value
}
Answer: C
Explanation:
This code declares the method FindAttribute and specifies an argument named att using the T
placeholder as the argument and return data type. To ensure the FindAttribute method accepts
arguments of different types, you should specify an argument using a generic placeholder. The
argument att in this generic method will accept any valid data type and ensures type-safety by
returning that same data type.
Incorrect Answers:
A: You should not use this code because it does not declare the placeholder T. when declaring a
generic method, you have to use the < > bracketsto declare the place holder before using it.
B: You should not use this code because it does not guarantee type-safery.
D: You should not use this code because it will only accept a string argument and return a string
argument.
Generic types
QUESTION 3
You work as an application developer at CertKingdom.com. You are creating a custom exception
class named ProductDoesNotExistException so that custom exception messages are displayed in
a new application when the product specified by users is unavailable.
This custom exception class will take the ProductID as an argument to its constructor and expose
this value through the ProductID. You are now in the process of creating a method named
UpdateProduct. This method will be used to generate and manage the
ProductDoesNotExistException exception if the ProductID variable contains the value 0.
You need to ensure that use the appropriate code for the UpdateProduct method.
What should you do?
A. Make use of the following code:
public void UpdateProduct ()
{
try
{
if (ProductID == 0)
throw new ProductDoesNotExistException (ProductID);
}
catch (ProductDoesNotExistException ex)
{
MessageBox.Show (“There is no Product” + ex. ProductID);
}
}
B. Make use of the following code:
public void UpdateProduct ()
{
try
{
if (ProductID = = 0)
throw new Exception (“Invalid ProductID”);
}
catch (ProductDoesNotExistException ex)
{
MessageBox.Show (ex.Message);
}
}
C. Make use of the following code:
public void UpdateProduct ()
{
if (ProductID = = 0)
throw new ProductDoesNotExistException (ProductID);
}
D. Make use of the following code:
public void UpdateProduct ()
{
if (ProductID = = 0)
throw new Exception (“Invalid ProductID”);
}
Answer: A
Explanation:
This code verifies the value of the ProductID variable by using the if statement. If the ProductID
variable contains a value of 0, this code generates an exception of type
ProductDoesNotExistException . To explicitly generate an exception, you are required to use the
throw statement. The exception generated by using the throw statement can be handled by the
try…catch block. This code generates the custom exception by calling the constructor of the
custom exception class named ProductDoesNotExistException . The constructor argument is the
ProductID attached to the ProductDoesNotExistException object. This code then handles the
custom exception named ProductDoesNotExistException by using a catch block, which handles
exceptions by using a variable named ex of the type ProductDoesNotExistException . This code
displays the ” There is no Product ” error message by using the MessageBox.Show method and
concatenating the ex. ProductID to it.
Incorrect Answers:
B: You should not use the code that generates an exception of the type Exception and handles the
exception of the type ProductDoesNotExistException in the catch block. This code is incorrect
because you are required to generate a custom exception named ProductDoesNotExistException.
C: You should not use the codes that do not use a try…catch block because the application an
unhandled exception.
D: You should not use the codes that do not use a try…catch block because the application an
unhandled exception.
QUESTION 4
You work as the application developer at CertKingdom.com. CertKingdom.com uses Visual Studio.NET
2005 as its application development platform.
You have recently finished development of a class named TestReward and package the class in a
.NET 2.0 assembly named TestObj.dll. After you ship the assembly and it is used by client
applications, you decide to move the TestReward class from TestObj.dll assembly to the
TestRewardObj.dll Assembly. You are to ensure when you ship the updated TestObj.dll and
TestRewardObj.dll assemblies that the client applications continue to work and do not require
recompiling.
What should you do?
A. The TypeForwardedTo attribute should be used
B. The TypeConvertor.ConvertTo method should be used
C. The InternalsVisibleTo attribute should be used
D. The Type Convertor.ConvertFrom method should be used
Answer: A
Explanation:
The statement used for you to add a type from one assembly into another assembly is the
TypeForwardTo attribute which enables you not to have the application recompiled.
Incorrect Answers:
B: The TypeConverter class provides a unified way of converting different types of values to other
types and can not be used to move a type.
C: The method in question here specifies all nonpublic types in an assembly are visible to other
assemblies but can not be used to move types.Part 2: Manage a group of associated data in a
.NET Framework application by using collections. (Refer System.Collections namespace)
D: The TypeConverter class provides a unified way of converting different types of values to other
types and can not be used to move a type.
QUESTION 5
You work as an application developer at CertKingdom.com. You have recently created a custom
collection class named ShoppingList for a local supermarket. This custom class will include
ShoppinItem objects that have the public properties listed below.
* Name
* AisleNumber
* OnDiscount
You are required to enable users of your class to iterate through the ShoppingList collection, and
to list each product name and aisle number using the foreach statement.
You need to achieve this by declaring the appropriate code.
What code should you use?
A. public class ShoppingList : ICollection
{
// Class implementation
}
B. public class ShoppingList : IEnumerator, IEnumerable
{
// Class implementation
}
C. public class ShoppingList : Ilist
{
// Class implementation
}
D. public class ShoppingList : Enum
{
// Class implementation
}
Answer: B
Explanation:
You should implement the IEnumerable and IEnumerator interfaces of the System.Collections
namespace to ensure that your collection class supports foreach iteration. The IEnumerable
interface defines only one method named GetEnumerator that returns an object of type
IEnumerator of the System.Collections namespace and is used to support iteration over a
collection. The IEnumerator interface supports methods, such as Current , MoveNext , and Reset
to iterate through a collection. The Current method returns the current element of the collection.
The Move method positions the enumerator to the next available element of the collection. The
Reset method positions the enumerator before the first element of the collection.
Incorrect Answers:
A: You should not use the code that implements the ICollection interface because this interface is
used to define properties in a collection. Implementing this interface will not ensure that your
collection class supports foreach iteration because it does not inherit the IEnumerator interface.
C: You should not use the code that implements the Ilist interface because this interface is used to
define properties of a non-generic list of items accessed by index. Implementing this interface will
not ensure that your collection class supports foreach iteration because it does not inherit the
IEnumerator interface.
D: You should not use the code that inherits the Enum because this structure is used as a base
class for those classes that provide enumeration values. Inheriting the Enum structure will not
ensure that your collection class supports foreach iteration.
QUESTION 6
You work as the application developer at CertKingdom.com. CertKingdom.com uses Visual Studio.NET
2005 as its application development platform.
You are developing a .NET Framework 2.0 application used to store a type-safe list of names and
e-mail addresses. The list will be populated all at ones from the sorted data which means you well
not always need to perform insertion or deletion operations on the data. You are required to
choose a data structure that optimizes memory use and has good performance.
What should you do?
A. The System.Collections.Generic.SortedList class should be used
B. The System.Collections.HashTable class should be used
C. The System.Collections.Generic.SortedDictionary class should be used
D. The System.Collections.SortedList class should be used
Answer: A
Explanation:
The SortedList generic class should be used in the scenario class as it provides type safety
compared against the System.Collections.SortedList class.
Incorrect Answers:
B: The System.Collections.HashTable class should not be used as this class provides no type
safety.
Collection interfaces
C: Although this is very similar to the SortedList class the SortedList class should be used instead
in the scenario.
Iterators
D: Although this is very similar to the SortedList class the SortedList class should be used instead
in the scenario.
QUESTION 7
You work as an application developer at CertKingdom.com. You are currently in the process of
reviewing an application that was created by a fellow developer.
The application that you are reviewing includes a declaration for a collection named EmployeeList,
which stores Employee objects. The declaration is shown below:
public class EmployeeList : Enumerator, IEnumerable
{
// Class implementation
}
You require the ability to iterate through the EmployeeList with minimum development effort.
What should you do?
A. Utilize the switch statement
B. Utilize the dowhile statement
C. Utilize the foreach statement
D. Utilize the if statement
Answer: C
Explanation:
the IEnumerable and IEnumerator interfaces of the System.Collections namespace are used to
ensure that your collection class supports foreach iteration. The IEnumerable interface defines
only one method named GetEnumerator that returns an object of type IEnumerator of the
System.Collections namespace and is used to support iteration over a collection. The
IEnumerator interface supports methods, such as Current , MoveNext , and Reset to iterate
through a collection. The Current method returns the current element of the collection. The Move
method positions the enumerator to the next available element of the collection. The Reset
method positions the enumerator before the first element of the collection.
Incorrect Answers:
A: These statements will not allow you to iterate through the EmployeeList collection.
B: You should not use this statement because it will require manually calling the MoveNext and
Current methods. The scenario states that you need to “…iterate through the EmployeeList with
minimum development effort.”
D: These statements will not allow you to iterate through the EmployeeList collection.
Hashtable class
QUESTION 8
You work as an application developer at CertKingdom.com. CertKingdom.com has been contracted to
develop an application for the local bank.
You have been given the responsibility of creating this application and need to store each
transaction record, which is identified using a complex transaction identifier, in memory. The bank
informs you that the total amount of transaction records could reach 200 per day.
To achieve this, you decide to utilize one of the existing collection classes in the .NET 2.0 class
library.
You need to ensure that you the collection class you select is the most efficient one for storing
transaction records.
What should you do?
A. Select the ListDictionary collection class.
B. Select the HashTable collection class.
C. Select the Queue collection class.
D. Select the StringCollection collection class.
Answer: B
Explanation:
You should select the HashTable class to store transaction records because each element is
identified using a unique identifier and the size of the collection is large. Elements in the
HashTable collection are stored with a key/value pair where each key is created using a hash
code. The default capacity of a HashTable class is zero, and you can use the Add method to add
a new element to the collection. The Count property provides the total number of elements in the
HashTable collection. An element of the HashTable class can be accessed using the
DictionaryEntry class. You can use the Key and Value properties of the DictionaryEntry class to
access the key associated with the element and the value of the element, respectively.
Incorrect Answers:
A: You should not select this collection class because this class is used if the total number of
elements to be stored in a collection is less than 10 elements in length.
C: You should not select this collection class because you need to access transaction records
using a transaction identifier, not in sequential order.
D: You should not select this collection class because this class is used to manage a collection of
string values.
QUESTION 9
You work as an application developer at CertKingdom.com. CertKingdom.com has been hired by a small
local private school to develop a class library that will be used in an application named
ManageAttendance for the purpose of managing student records.
You are responsible for developing this class library. CertKingdom.com has instructed you to create a
collection in the application to store learners’ results.
The school has informed you that they currently only have seven learners, but that this value will
triple in the following year. Due to the limited resources, you need to ensure that the collection you
create consumes a minimum amount of resources.
What should you use to create the collection?
A. The HybridDictionary collection class.
B. The HashTable collection class.
C. The ListDictionary collection class.
D. The StringCollection collection class.
Answer: A
Explanation:
You should use the HybridDictionary class to create the collection because this class is useful in
scenarios where the number of elements is unknown or could grow in size. A collection of the
HybridDictionary type manages the collection depending on the number of elements. The
HybridDictionary type collection uses the ListDictionary class to manage the collection when there
are only a few elements. When the number of elements exceeds ten, the HybridDictionary type
collection automatically converts the elements into HashTable management.
Incorrect Answers:
B: You should not use this collection class because this class is used if the total number of
elements to be stored in a collection is known and is greater than ten elements in length.
C: You should not use this collection class because this class is used if the total number of
elements to be stored in a collection is known and is less than ten elements in length.
D: You should not use this collection class because this class is used to manage a collection of
string values.
QUESTION 10
You work as an application developer at CertKingdom.com. CertKingdom.com wants you to develop an
application that stores and retrieves client information by means of a unique account number.
You create a custom collection class, which implements the IDictionary interface, named
ClientDictionary. The following code have been included into the new application.
//Create Client objects
Client c1 = new Client (“AReid”, “Andy Reid”, Status.Current);
Client c2 = new Client (“DAustin”, “Dean Austin”, Status.New);
//Create ClientDictionary object
IDictionary cData = new ClientDictionary ();
cData.Add (“10001″, c1);
cData.Add (“10002″, c2);
You use the same method to add other Client objects to the collection. You need to ensure that
you are able to retrieve client information associated with the account number 10111.
What should you do?
A. Use the following code:
Client foundClient;
foundClient = (Client) cData.Find (“10111″);
B. Use the following code:
Client foundClient;
if (cData.Contains (“10111″))
foundClient = cData ["10111"];
C. Use the following code:
Client foundClient;
if (cData.Contains (“10111″))
foundClient = (Client) cData ["10111"];
D. Use the following code:
Client foundClient;
foreach (string key in cData.Keys
{
if (key == “10111″)
foundClient = (Client) cData.Values ["10111"];
}
Answer: C
Explanation:
This code invokes the Contains method of the IDictionary interface to determine whether a value is
associated with the key 10111. If a value exists for that key, then the clientData ["10111"]
statement retrieves the client data as a generic object. The code casts the generic object into a
Client object, and it is stored in the foundClient variable
Incorrect Answers:
A: You should not use the code that uses the Find method because no such method exists in the
IDictionary interface.
B: You should not use the code that assigns the foundClient variable to a generic object because
the foundClient variable is declared as a Client type.
D: You should not use the code that iterates through the Keys collection because it is unnecessary
and process-intensive.
Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com