yield-return

    2热度

    2回答

    下面的方法编译得很好。 string DoSomething(int x) { string s; if(x < 0) s = "-"; else if(x > 0) s = "+"; else return "0"; return DoAnotherThing(s); } 但是,当我一个foreach循

    3热度

    1回答

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

    1热度

    1回答

    我有执行在其get功能的产量返回属性: 数据: public class TestSummary { [Description("Test1")] public TestResult Test1 {get; set;} [Description("Test2")] public TestResult Test2 {get; set;} } publi

    1热度

    2回答

    我正在编写验证逻辑,并且我希望调用者只能获得他们真正需要的验证消息的数量(某些情况下,只需要第一个验证消息,其他时间,我们现在想要给出所有数据的所有问题) 鉴于此,我认为“非常棒!我将返回一个IEnumerable,并使用yield返回每个结果。如果FirstOrDefault()用于枚举,只有第一次失败的验证将被执行,其中将跳过以下内容,除非我们在验证结果enumerable上调用ToList(

    -2热度

    3回答

    正如标题所说可以在多个程序集中产生返回值? 例如假设以下溶液存在: SolutionA | |-Project A | |-Project B 如果项目B是由项目A引用,可以在项目B屈服值在项目A的方法的方法?

    0热度

    2回答

    我想将内部列表作为迭代器公开,因此调用方法不会局限于foreach循环,只要它喜欢就会调用IEnumerator.Current和IEnumerator.MoveNext()。 我尝试了两种方法: public IEnumerator<string> Iterator { get { return m_list.GetEnumerator(); } }

    2热度

    1回答

    我有一种情况,我想从多个来源异步流式传输相同类型的数据。数据结果应该在他们进入时出现。最简单的方法是什么?产量回报受阻,所以这不是我想要的。在下面的例子中,我想从源B输出数据之前将数据从源A. List<string> GetComputerRecordsFromA(int computerId) { Thread.sleep(100); return new List<Re

    2热度

    2回答

    作为一个更具体的例子 - 我有一个游戏循环,我想有一个方法处理动画。 为了这个例子,这个动画是对移动功能的调用。 有没有一种方法可以调用这个函数,并让它做...动画完成时自动完成的东西? 更基本的实现方式是在完成时让它返回一个值,并让调用者不断检查这一点,但我似乎记得还有更多优雅的技巧。 我对co-routines或yield关键字一无所知。他们可以在这里相关吗?

    2热度

    4回答

    在下面的代码中,我创建了一个使用Yield打印值的方法,另一个方法是简单的列表迭代。所以这里我的问题是从两个方法获得的输出都是一样的,为什么我们要使用Yield关键字?也请告诉我应用程序中Yield关键字的确切用法。 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text

    0热度

    3回答

    我想写一个应该遍历对象图并返回所有访问对象的扩展方法。 我不确定我的方法是否最好,所以请对此做评论。同时产量炸我的大脑......我相信答案是显而易见的:/ 型号 public class MyClass { public MyClass Parent {get;set;} } 方法 public static IEnumerable<T> SelectNested<T>