Wednesday, May 24, 2006

C# Interview Questions and Answers

I was trying to use an out int parameter in one of my functions. How should I declare the variable that I am passing to it?

You should declare the variable as an int, but when you pass it in you must specify it as ‘out’, like the following: int i; foo(out i); where foo is declared as follows:
[return-type] foo(out int o) { }


6. How does one compare strings in C#?

In the past, you had to call .ToString() on the strings when using the == or != operators to compare the strings’ values. That will still work, but the C# compiler now automatically compares the values instead of the references when the == or != operators are used on string types. If you actually do want to compare references, it can be done as follows: if ((object) str1 == (object) str2) { } Here’s an example showing how string compares work:
using System;

public class StringTest
{
 public static void Main(string[] args)
 {
  Object nullObj = null; Object realObj = new StringTest();
  int i = 10;
  Console.WriteLine(\"Null Object is [\" + nullObj + \"]\n\"
   + \"Real Object is [\" + realObj + \"]\n\"
   + \"i is [\" + i + \"]\n\");
   // Show string equality operators
  string str1 = \"foo\";
  string str2 = \"bar\";
  string str3 = \"bar\";
  Console.WriteLine(\"{0} == {1} ? {2}\", str1, str2, str1 == str2 );
  Console.WriteLine(\"{0} == {1} ? {2}\", str2, str3, str2 == str3 );
 }
}

      Output:

Null Object is []
Real Object is [StringTest]
i is [10]
foo == bar ? False
bar == bar ? True

More ......

No comments: