我正在准备我的C#EXAM.我对这个问题的答案感到困惑:
程序可以使用
IEnumerable
和IEnumerator
接口来执行以下哪项操作?一个.使用MoveNext和Reset来移动对象列表.
湾 使用foreach移动对象列表.
C.按索引移动对象列表.
d.使用yield return语句创建迭代对象列表.
我的回答是b).但是这本书:MCSD认证工具包说它是a).
有人可以告诉我为什么吗?我意识到你可以获得Enumerator
使用GetEnumerator()
然后调用MoveNext
和Reset
方法来遍历列表(并用于Current
访问迭代器引用的当前元素).但是没有实现IEnumerable
和IEnumerator
在foreach
循环中使用对象的原因?
您已经构建了一个复杂的计算算法.这需要相当长的时间才能完成,并且您希望确保应用程序保持响应.你是做什么?
答案是C.但是,有人可以解释为什么A)不正确吗?因为问题并不是说复杂的算法是CPU绑定的.如果它是CPU绑定的,那么我们将不得不使用任务(一种我不太了解的推理,但我知道任务确实有助于导致当前线程被挂起直到它们完成).另外,请解释如何决定何时使用async/await,并使用Tasks.
我从书中的一段代码中得到一个问题:C#编程考试70-483这是代码:
WebRequest request = WebRequest.Create(“http://www.microsoft.com”);
WebResponse response = request.GetResponse();
StreamReader responseStream = new StreamReader(response.GetResponseStream());
string responseText = responseStream.ReadToEnd();
Console.WriteLine(responseText); // Displays the HTML of the website
response.Close();
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么在这个例子中没有关闭responseStream?为什么只关闭响应对象?
一个我无法理解的问题.答案是b),但有人可以告诉我为什么吗?我意识到这是a)和b)之间的事情.但为什么b)?如果事件提升方法是公开的,那么任何人都不能举起活动吗?
您已在班级中声明了一个活动,并且您希望班级的外部用户举起此活动.你是做什么?A.将活动公之于众.B.向您的类添加一个引发事件的公共方法.C.使用公共代表而不是事件.D.使用自定义事件访问器来授予外部用户访问权限.
这是我从MSDN中找到的东西,我无法理解这个陈述.我非常感谢一个能够证明这一点的代码示例.
"两个相等的对象返回相等的哈希码.但是,相反的情况并非如此:相等的哈希码并不意味着对象相等,因为不同的(不相等的)对象可以具有相同的哈希码."
取自:http://msdn.microsoft.com/en-us/library/system.object.gethashcode( v= vs.110).aspx
谢谢大家!