小编use*_*153的帖子

实现IEnumerable和IEnumerator的原因是什么

我正在准备我的C#EXAM.我对这个问题的答案感到困惑:

程序可以使用IEnumerableIEnumerator接口来执行以下哪项操作?

一个.使用MoveNext和Reset来移动对象列表.
湾 使用foreach移动对象列表.
C.按索引移动对象列表.
d.使用yield return语句创建迭代对象列表.

我的回答是b).但是这本书:MCSD认证工具包说它是a).

有人可以告诉我为什么吗?我意识到你可以获得Enumerator使用GetEnumerator()然后调用MoveNextReset方法来遍历列表(并用于Current访问迭代器引用的当前元素).但是没有实现IEnumerableIEnumeratorforeach循环中使用对象的原因?

c#

13
推荐指数
1
解决办法
1568
查看次数

使用异步等待或任务?

您已经构建了一个复杂的计算算法.这需要相当长的时间才能完成,并且您希望确保应用程序保持响应.你是做什么?

  • A.使用async/await.
  • B.同步运行代码.
  • C.使用Task.Run.
  • D.使用BackgroundWorker.

答案是C.但是,有人可以解释为什么A)不正确吗?因为问题并不是说复杂的算法是CPU绑定的.如果它是CPU绑定的,那么我们将不得不使用任务(一种我不太了解的推理,但我知道任务确实有助于导致当前线程被挂起直到它们完成).另外,请解释如何决定何时使用async/await,并使用Tasks.

c# asynchronous task

9
推荐指数
1
解决办法
841
查看次数

为什么在此代码中流保持打开状态?

我从书中的一段代码中得到一个问题: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?为什么只关闭响应对象?

c# stream

2
推荐指数
1
解决办法
161
查看次数

C#EXAM概念指导

一个我无法理解的问题.答案是b),但有人可以告诉我为什么吗?我意识到这是a)和b)之间的事情.但为什么b)?如果事件提升方法是公开的,那么任何人都不能举起活动吗?

您已在班级中声明了一个活动,并且您希望班级的外部用户举起此活动.你是做什么?A.将活动公之于众.B.向您的类添加一个引发事件的公共方法.C.使用公共代表而不是事件.D.使用自定义事件访问器来授予外部用户访问权限.

c#

1
推荐指数
1
解决办法
113
查看次数

无法理解来自MSDN的哈希码相等

这是我从MSDN中找到的东西,我无法理解这个陈述.我非常感谢一个能够证明这一点的代码示例.

"两个相等的对象返回相等的哈希码.但是,相反的情况并非如此:相等的哈希码并不意味着对象相等,因为不同的(不相等的)对象可以具有相同的哈希码."

取自:http://msdn.microsoft.com/en-us/library/system.object.gethashcode( v= vs.110).aspx

谢谢大家!

c# hash

-1
推荐指数
2
解决办法
301
查看次数

标签 统计

c# ×5

asynchronous ×1

hash ×1

stream ×1

task ×1