小编Mat*_*att的帖子

C#Action Lambda代码块的局限性

C#.NET 3.5.我试图理解C#Action对象的内在限制.在lamda(实际上是那些lamdas?)中,我们可以执行赋值,调用函数,甚至执行三元运算,但是我们不能执行多语句操作.

这是因为单语句执行只是将它包装在委托中的语法糖吗?为什么下面的第一个例子不起作用?

public class MyClass
{
    private int m_Count = 0;

    public void Test()
    {
        int value = 0;

        // Does not work, throws compile error
        Action action = () => { if(m_Count < 10) m_Count++; value = m_Count; }

        // Works
        Action action2 = () => value = delegate(){ 
            if(m_Count < 10) 
                m_Count++; 

            return m_Count;
        };

        // Works
        Action action3 = () => value = m_Count;

        // Works
        Action action4 = () => value = m_Count < 10 …
Run Code Online (Sandbox Code Playgroud)

c# lambda .net-3.5

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

在lambda表达式的谓词中使用和

如何在lambda表达式的谓词中使用"And".我正在努力实现像这样的
新Class1("Test",Status => Status == 18 && 19 && 20)

请回复

谢谢沙拉斯

.net c# lambda

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

帮助将这段代码从jQuery转换为纯JavaScript

试图在我的网站顶部,左侧和右侧添加动态边框...我网站上的页面是动态的...即他们改变了...我需要一个脚本,简单地将div调整到网页. ..

谁知道这个?我从这个论坛上的某个人那里得到了这个剧本,但我试图避免使用jQuery(不要问)...

<p class="bgr">Content content content</p>
<script type="text/javascript">
$('.bgr').each(function(i,el){
$('<div class="bgr_left"/>').height($(this).height()+'px').appendTo($(this));
// similar for top, right, and bottom
});
</script>
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

单位测试HFT股票价格 - 由于价格波动,断言不断失败

对于检索实时股票价格的应用程序,我发现我的单元测试断言由于两个调用之间的价格波动而返回假阴性,这些调用填充了包含expectedactual测试值的变量.

虽然这是可以预期的,但我希望听到有关如何解决这个问题的不同方法.我最初的想法是允许波动幅度(检索到的股票价格之间差异约为2%)

这是向Yahoo发出Web请求以检索股票价格的代码.


    public string makeWebRequest(string stockSymbol, string dataRequestID)
    {
        string request = webClient.DownloadString("http://finance.yahoo.com/d/quotes.csv?s=" + stockSymbol + 
                                                  "&f=" + dataRequestID).Replace("\r\n", "").Replace("\"", "");

        if (request.Equals("N/A") || request.Equals("0"))
            return "0.00";

        return request;
    }

    public string getPrice(string stockSymbol)
    {
        return makeWebRequest(stockSymbol, "l1");
    }
Run Code Online (Sandbox Code Playgroud)

这是单元测试,它对股票价格进行"硬编码"(已知是成功的)Web请求并将结果分配给expected变量.然后,执行另一个调用,以便仅使用应用程序object.function检索价格,然后将其分配给actual变量.

呼叫之间的增量为300毫秒


    [TestMethod]
    public void getPrice()
    {
        string expected = request.DownloadString("http://finance.yahoo.com/d/quotes.csv?s=" + testSymbol + "&f=l1").Replace("\r\n", "").Replace("\"", "");
        string actual = yahoo.getPrice(testSymbol);

        Assert.AreEqual(expected, actual);
    }
Run Code Online (Sandbox Code Playgroud)

有什么建议?或者我应该学会忍受它?

c# unit-testing assert mstest

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

标签 统计

c# ×3

lambda ×2

.net ×1

.net-3.5 ×1

assert ×1

css ×1

html ×1

javascript ×1

jquery ×1

mstest ×1

unit-testing ×1