.NET Framework应用程序开发70-536

时间:2011-05-28 11:09:59

标签: c# msdn

我正在攻读70-536考试,这是关于.NET框架的应用程序开发。

我买了一本书来帮助我学习,这本书包括一张CD,上面有测试考试。参加考试我遇到了以下问题:

  

鉴于以下C#代码示例,   你怎么能显示的内容   中的主机字符串   ProcessDnsInformation方法?

代码示例:

AsyncCallback callBack = new AsyncCallback(ProcessDnsInformation);
string host = Console.ReadLine();
Dns.BeginGetHostEntry(host, callBack, host);

然后我有4个选项而只有一个可能是正确答案(A,B,C,D):

static void ProcessDnsInformation(IAsyncResult result)
{
    Console.WriteLine(result.AsyncState);
}

static void ProcessDnsInformation(IAsyncResult result)
{
    Console.WriteLine((string)result.AsyncState);
}

static void ProcessDnsInformation(IAsyncResult result)
{
    Console.WriteLine(result.ToString());
}

static void ProcessDnsInformation(IAsyncResult result, string host)
{
    Console.WriteLine(host);
}

我去了A,因为C和D显然是错的。令我惊讶A也错了,程序告诉我正确的答案应该是B.你会选择哪个答案是正确的,为什么?

1 个答案:

答案 0 :(得分:2)

假设result.AsyncState被声明为一个对象但实际上包含一个字符串,那么我会说A和B都是正确的。

但是如果你只允许一个正确的答案,那么你选择一个最好的答案,我会说,一般来说,如果你返回一个物体,你通常会在使用它之前把它重新投入它的实际类型。在某些情况下你这样做,因为你调用的函数不会接受一个对象,或者因为你需要访问它的一个属性,所以我想这可能是他们认为B是'正确'答案。

我还没有完成这个特定的考试,但是我已经完成了另一个微软考试,我发现很多问题属于主观范畴,我必须从两个答案中选择一个,而这两个答案都不是我真的认为更好。最后,如果你做了足够的练习测试,你会得到他们想要的答案。