我正在攻读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.你会选择哪个答案是正确的,为什么?
答案 0 :(得分:2)
假设result.AsyncState被声明为一个对象但实际上包含一个字符串,那么我会说A和B都是正确的。
但是如果你只允许一个正确的答案,那么你选择一个最好的答案,我会说,一般来说,如果你返回一个物体,你通常会在使用它之前把它重新投入它的实际类型。在某些情况下你有这样做,因为你调用的函数不会接受一个对象,或者因为你需要访问它的一个属性,所以我想这可能是他们认为B是'正确'答案。
我还没有完成这个特定的考试,但是我已经完成了另一个微软考试,我发现很多问题属于主观范畴,我必须从两个答案中选择一个,而这两个答案都不是我真的认为更好。最后,如果你做了足够的练习测试,你会得到他们想要的答案。