草庐IT

yields_lvalue

全部标签

windows - winbase.h(第 97 行)中的类似函数的宏 Yield() 是什么?

头文件winbase.h第97行有一个奇怪的类函数宏如下:#defineYield()这是为了什么? 最佳答案 Windows3.x使用协作式多任务处理模型。所有应用程序(也称为“任务”)过去都在单线程的同一内存空间中运行。通常,任务之间的切换是由应用程序主消息循环中的GetMessageAPI执行的。Yield()曾经是自愿切换到另一个应用程序的方式(例如,如果进行长时间的CPU绑定(bind)处理)。这是一个relatedMSKBarticle它仍然存在。当然,像这样的Yield()API对于现代多线程、多进程操作系统架构来说没

c# - 使用嵌套方法时奇怪的执行顺序,yield return 和组合使用

这个问题在这里已经有了答案:yieldreturnstatementinsideausing(){}blockDisposesbeforeexecuting(2个答案)关闭8年前。我无法理解为什么Program.Fetch1和Program.Fetch2不会产生完全相同的执行顺序。唯一的区别是Program.Fetch1正在调用Program.Fetch来执行实际的提取操作。classProgram{staticIEnumerableFetch1(){using(Contextc=newContext()){returnFetch(c);}}staticIEnumerableFetch

c# - yield return执行后的代码

考虑以下示例:classYieldTest{staticvoidMain(string[]args){varres=Create(newstring[]{"112123","1234","12345"});}staticIEnumerableCreate(IEnumerablestrings){foreach(stringsinstrings){yieldreturns.Length;if(s.Contains('')){string[]tokens=s.Split('');foreach(stringtintokens){yieldreturnt.Length;}}}}}调用Crea

c# - Coroutine中的 "yield return 0"和 "yield return null"有什么区别?

我是新手,对“yield”有点困惑。但最后我明白了它是如何使用WaitForSeconds工作的但我看不出“yieldreturn0”和“yieldreturnnull”之间的区别。他们都在等待下一帧执行吗?抱歉我的英语不好。非常感谢。 最佳答案 yieldreturn0和yieldreturnnull都为单个帧生成。最大的区别是yieldreturn0分配内存是因为0在后台发生的装箱和拆箱,但是yieldreturnnull确实不分配内存。因此,如果您关心性能,强烈建议使用yieldreturnnull。

c# - Linq To XML、yield 等

我想知道是否有.NET库或第3方工具来执行EntityFramework,例如对XML文档的LINQ查询。我知道已经有LINQtoXML,它允许您对XDocument对象执行查询,该对象已经加载到内存中,但是如果XML文档的大小非常大(超过1GB)?我希望有一个选项可以将此查询交给XmlReader而不是XDocument对象。是否可以直接开箱即用? 最佳答案 看看thiscodeplexproject. 关于c#-LinqToXML、yield等,我们在StackOverflow上找到

c# - 使用 Parallel.ForEach() 的 yield return 的线程安全

考虑以下代码示例,它创建一个可枚举的整数集合并并行处理它:usingSystem.Collections.Generic;usingSystem.Threading.Tasks;publicclassProgram{publicstaticvoidMain(){Parallel.ForEach(CreateItems(100),item=>ProcessItem(item));}privatestaticIEnumerableCreateItems(intcount){for(inti=0;i是否保证Parallel.ForEach()生成的工作线程每个都获得不同的项目,或者是否需要一

c# - 在 TPL 数据流中使用 async/await 和 yield return

我正在尝试使用TPLDataflow实现数据处理管道.但是,我对数据流比较陌生,并不完全确定如何正确使用它来解决我要解决的问题。问题:我正在尝试遍历文件列表并处理每个文件以读取一些数据,然后进一步处理该数据。每个文件大概是700MB至1GB在尺寸方面。每个文件包含JSON数据。为了并行处理这些文件而不是运行内存,我正在尝试使用IEnumerable与yieldreturn然后进一步处理数据。获得文件列表后,我想同时处理最多4-5个文件。我的困惑来自:如何使用IEnumerable和yeildreturn与async/await和数据流。偶遇thisanswer通过svick,但仍然不确

c# - 无法理解 C# 中的 yield

这个问题在这里已经有了答案:WhatistheyieldkeywordusedforinC#?(19个回答)关闭5年前。我希望得到一些关于我最近在调试器中逐步执行的代码片段的说明,但根本无法真正理解。我正在参加关于PluralSight的C#类(class),当前主题是yield并返回IEnumerable与关键字。我有一个返回IEnumerable的过于基本的函数收藏Vendors(带有Id、CompanyName和Email的简单类):publicIEnumerableRetrieveWithIterator(){this.Retrieve();//我在用于测试功能的单元测试中得到

c# - 为什么 Enumerable.Range 比直接 yield 循环更快?

下面的代码正在检查执行相同解决方案的三种不同方法的性能。publicstaticvoidMain(string[]args){//forloop{Stopwatchsw=Stopwatch.StartNew();intaccumulator=0;for(inti=1;iaccumulator+n);sw.Stop();Console.WriteLine("time={0};result={1}",sw.ElapsedMilliseconds,ret);}//self-madeIEnumerable{Stopwatchsw=Stopwatch.StartNew();varret=GetI

c# - 什么时候真正需要 'Yield'?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:C#-ProperUseofyieldreturnC#yield的实际用例是什么?谢谢。