Tuesday, October 14, 2008

Q) 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) { }


Q) 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 ? Falsebar == bar ? True

0 comments: