Hello- Please help me with the following questions, if possible, please also provide some explanations--thanks in advance:
1) Assuming that "valid connection string" is a valid connection string, what will be the output of the following code? If the code cannot compile, please state why.
the same rules apply to this question as for the one above
using(SqlConnection sqlConn = new SqlConnection("valid Connection string"))
{
System.Diagnostics.Debug.WriteLine("Opening a connection");
sqlConn.Open();
System.Diagnostics.Debug.WriteLine("Connection Opened");
sqlConn.Close();
System.Diagnostics.Debug.WriteLine("Connection Closed");
}
if(sqlConn == null)
System.Diagnostics.Debug.WriteLine("Connection State is NULL");
else
System.Diagnostics.Debug.WriteLine("Connection State:" + sqlConn.ConnectionState);
2)The following code needs to generate a string of 1000 alternating '+' and '-' characters
Rewrite this code to make it more efficient (Note: You can use different data types than the ones present)
string htmlOutput = string.Empty;
for(int itemIndex = 0; itemIndex < 1000; itemIndex++)
{
if( itemIndex % 2 == 0)
htmlOutput += "+";
else
htmlOutput += "-";
}
3)Assuming that CustomException is defined, what will be the output of the following code?
try
{
throw new CustomException("Something went wrong");
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine("Generic Exception has been triggered");
}
catch(CustomException ex)
{
System.Diagnostics.Debug.WriteLine("Custom Exception has been triggered");
}
4) What will be the difference in behavior between the lines marked 'a' and 'b' during runtime? (Assume that CustomClass is a defined class)
object objClass = new object();
CustomClass myClass1 = objClass as CustomClass; //a
CustomClass myClass2 = (CustomClass)objClass; //b
5) Assuming you have the following class:
public class MyClass
{
public MyClass()
{
}
public string DoNothing(string someParameter)
{
System.Diagnostics.Debug.WriteLine(someParameter);
}
}
How would you call the DoNothing function asynchronously and provide a callback?
6) What is the difference between a Monitor and a Semaphore?
7) Architectural Question: If you have pages that perform heavy DB or File I/O, what could be done to help increase the overall performance of the application? (Asp.net only! Assume all non asp.net factors have been optimized to the max)
8) What is the difference between the following 2 statements?
try
{
throw new ApplicationException("None");
}
catch(Exception ex)
{
throw ex;
}
try
{
throw new ApplicationException("None");
}
catch(Exception ex)
{
throw;}
9) What is the difference between a List and a LinkedList?
10) Assume that you retrieve a list of 1,000,000 Person objects from a database that contain the SocialSecurityID, First and Last name properties. Which collection class would you use to store and allow for quick lookup of Person objects based on the SocialSecurityID field?
Posted Feb 28, 2008, 8:26 PM
Look at how the SqlConnection is being declared and where it is being declared. It is being declared inside of a "using" block, which means that the SqlConnection object will only be available within that using block. At the bottom when the "if" block starts, it will not compile because SqlConn is not available there, just in the "using" block.
Oh yeah, and I guess Ill help with the second one.
WHENEVER you need to do string manipulations like that, always use a StringBuilder, like this:
StringBuilder stringBuilder = new StringBuilder();
for (int itemIndex = 0; itemIndex < 1000; ++itemIndex)
{
if (itemIndex % 2 == 0)
stringBuilder.Append("+");
else
stringBuilder.Append("-");
}
Reason being is that a StringBuilder allows you to simply add a character to the end of the string builder, while adding it to a normal string like was in the example before would cause around 1000 strings to be created in memory! This does not happen with a StringBuilder.
I also did a preincrement in the for loop which will help a little bit.
Hope this helps!