首页 > TAG信息列表 > yield-return

c#-收益回报在每次迭代中返回相同的结果

问题是要生成搜索参数的组合,以用作自动化测试中的测试用例输入. public class CombinationInput<T> { public string Name { get; set; } public List<T> PossibleValues { get; set; } public bool ReadOnly { get; set; } } GetCombinations是Combinationsgenera

CodeGo.net>检查收益率回报是否包含项目

我正在尝试优化看起来像这样的例程(简化): public async Task<IEnumerable<Bar>> GetBars(ObjectId id){ var output = new Collection<Bar>(); var page = 1; var hasMore = true; while(hasMore) { var foos = await client.GetFoos(id, page);

c#-使用yield时,在try / catch中包装对迭代器的调用

我需要在要实现为迭代器(使用yield)的方法中执行一些笨拙的逻辑: public IEnumerable<Things> GetMoreThings() { while (goodStuffHappens()) { Things moreThingsIWant = TemptFateAgain(); if (moreThingsIWant.Any()) yield return moreThings

带有ExpectedException的XUnit和MSTest返回不同的结果

我有一个正在使用yield return的项目,并且不理解为什么在MSTest通过时XUnit未能在我的单元测试中捕获异常. 这是我的伪代码. 奇怪的是,如果我采用我的私有方法EnumerableYieldReturn,并将该逻辑直接放在我的公共方法YieldReturnList中,则结果将因XUnit测试通过而MSTest失败而翻转.

c# – Rhino模拟执行收益率回报

我正在尝试编写单元测试来检查解析错误.我正在从一个文件中传输数据,解析它并返回带有yield return的解析结果,然后将其传递给数据层以进行批量插入. 我在模拟调用数据层时遇到了麻烦.因为它被嘲笑它从来没有实际枚举yield return中的值,因此我的解析方法永远不会执行. public cla

c# – 如果该序列不为空,则使用IEnumerable序列作为参数调用方法

我有方法Foo,它进行一些CPU密集型计算并返回IEnumerable< T>序列.如果该序列为空,我需要检查.如果没有,请使用该序列作为参数调用方法Bar. 我想到了三种方法…… >使用Any()检查序列是否为空.这是好的,如果序列真的是空的,大多数时候都是这种情况.但它会有可怕的性能,如果序列将包

c# – 如何使用yield return和recursion获得每个字母组合?

我有几个字符串列表,从几十个可能的列表: 1: { "A", "B", "C" } 2: { "1", "2", "3" } 3: { "D", "E", "F" } 这三个仅作为示例选择,并且用户可以从具有不同数量的元素的数十个类似列表中进行选择.再举一个例子,这对用户来说也是一个完全有效的选择: 25: { } //

c# – 简化用Java编写自定义迭代器

在Java中为自定义集合编写迭代器非常复杂,因为您不必编写提供一个元素的直接代码,而是必须编写状态机: public class CustomCollection<T> implements Iterable<T> { private T[] data; private int size; @Override public Iterator<T> iterator() {

c# – 在这种情况下使用产量的任何好处?

我正在维护一些代码,原作者已经不见了以为我会问这里是否能满足我的好奇心. 下面是一些使用产量的代码(匿名).据我所知,它没有增加任何好处,只返回一个列表就足够了,也许更具可读性(至少对我而言).只是想知道我是否遗漏了一些东西,因为这个模式在代码库中的几个地方重复出现. publ

c# – 无法使用多个产量重构IEnumerator方法

我的代码的要点如下: // Play the first beat audio.PlayOneShot(beat); // Show 1st heartbeat border flash TweenAlpha.Begin(heartbeatPanel.gameObject, 0.1f, currentStress); yield return new WaitForSeconds(0.1f); TweenAlpha.Begin(heartbeatPanel.gameObject, 0.5f, 0