小编Lee*_*lor的帖子

如何找到List <>中的最后一个元素?

以下是我的代码摘录:

public class AllIntegerIDs 
{
    public AllIntegerIDs() 
    {            
        m_MessageID = 0;
        m_MessageType = 0;
        m_ClassID = 0;
        m_CategoryID = 0;
        m_MessageText = null;
    }

    ~AllIntegerIDs()
    {
    }

    public void SetIntegerValues (int messageID, int messagetype,
        int classID, int categoryID)
    {
        this.m_MessageID = messageID;
        this.m_MessageType = messagetype;
        this.m_ClassID = classID;
        this.m_CategoryID = categoryID;
    }

    public string m_MessageText;
    public int m_MessageID;
    public int m_MessageType;
    public int m_ClassID;
    public int m_CategoryID;
}
Run Code Online (Sandbox Code Playgroud)

我试图在我的main()函数代码中使用以下内容:

List<AllIntegerIDs> integerList = new List<AllIntegerIDs>();

/* some code here that is …
Run Code Online (Sandbox Code Playgroud)

c# for-loop list

154
推荐指数
7
解决办法
38万
查看次数

在javascript中以毫秒为单位获得时间的更好方法?

JavaScript中是否存在使用日期对象获取时间(以毫秒为单位)的替代方法,或者至少是重用该对象的方法,而不必在每次需要获取此值时都实例化新对象?我问这个是因为我试图在JavaScript中创建一个简单的游戏引擎,并且在计算"delta frame time"时,我必须每帧创建一个新的Date对象.虽然我并不太担心这种性能影响,但我对这个对象返回的确切时间的可靠性存在一些问题.

我在动画中得到一些奇怪的"跳跃",每隔一秒左右,我不确定这是否与JavaScript的垃圾收集或更新如此之快的Date对象的限制有关.如果我将delta值设置为某个常量,那么动画如果完全平滑,那么我很确定这个"跳跃"与我得到时间的方式有关.

我能给出的唯一相关代码是我计算增量时间的方式:

prevTime = curTime;
curTime = (new Date()).getTime();
deltaTime = curTime - prevTime;
Run Code Online (Sandbox Code Playgroud)

在计算运动/动画时,我将常数值乘以增量时间.

如果没有办法通过使用Date对象来避免以毫秒为单位获取时间,那么会增加一个变量的函数(自游戏开始以来经过的时间,以毫秒为单位),并使用SetTimer函数以一定的速率调用每毫秒一次是一个有效和可靠的替代方案吗?

编辑:我现在已经在不同的浏览器中测试了我的代码,似乎这种"跳跃"实际上只在Chrome中显而易见,而不是在Firefox中.但是,如果有一种方法在两种浏览器中都有效,那仍然会很好.

javascript

132
推荐指数
4
解决办法
14万
查看次数

使用requestAnimationFrame控制fps?

这似乎requestAnimationFrame是现在制作动画的事实上的方式.在大多数情况下,它对我来说效果很好,但是现在我正在尝试做一些画布动画,我想知道:有没有办法确保它以某个fps运行?我知道rAF的目的是为了一贯平滑的动画,我可能冒着使我的动画不稳定的风险,但是现在看起来它的速度几乎是任意的,并且我想知道是否有办法打击不知何故.

我使用setInterval但我想要rAF提供的优化(特别是当选项卡处于焦点时自动停止).

如果有人想查看我的代码,它几乎是:

animateFlash: function() {
    ctx_fg.clearRect(0,0,canvasWidth,canvasHeight);
    ctx_fg.fillStyle = 'rgba(177,39,116,1)';
    ctx_fg.strokeStyle = 'none';
    ctx_fg.beginPath();
    for(var i in nodes) {
        nodes[i].drawFlash();
    }
    ctx_fg.fill();
    ctx_fg.closePath();
    var instance = this;
    var rafID = requestAnimationFrame(function(){
        instance.animateFlash();
    })

    var unfinishedNodes = nodes.filter(function(elem){
        return elem.timer < timerMax;
    });

    if(unfinishedNodes.length === 0) {
        console.log("done");
        cancelAnimationFrame(rafID);
        instance.animate();
    }
}
Run Code Online (Sandbox Code Playgroud)

其中Node.drawFlash()只是一些代码,它根据计数器变量确定半径,然后绘制一个圆.

javascript performance animation canvas requestanimationframe

111
推荐指数
8
解决办法
9万
查看次数

javascript如何上传blob?

我在这个结构中有一个blob数据:

Blob {type: "audio/wav", size: 655404, slice: function}
size: 655404
type: "audio/wav"
__proto__: Blob
Run Code Online (Sandbox Code Playgroud)

它实际上是使用最近的Chrome getUerMedia()Recorder.js记录的声音数据

如何使用jquery的post方法将此blob上传到服务器?我没试过就试过这个:

   $.post('http://localhost/upload.php', { fname: "test.wav", data: soundBlob }, 
    function(responseText) {
           console.log(responseText);
    });
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5

95
推荐指数
5
解决办法
13万
查看次数

检查某些内容是否可迭代

在MDN文档中:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of

for...of构造被描述为能够迭代"可迭代"对象.但有没有一种很好的方法来决定一个对象是否可迭代?

我试图找到数组,迭代器和生成器的公共属性,但一直无法这样做.

除了for ... of在try块中执行并检查类型错误之外,还有一种干净的方法吗?

javascript

85
推荐指数
7
解决办法
3万
查看次数

如何在一个解决方案中共享多个项目中的脚本?

如果问题不明确.我在一个解决方案中有3个MVC项目.每次我创建一个新项目时,它都会添加"Scripts"文件夹,其中包含我需要的所有.js文件.我不想每次都为每个应用程序创建这个.有没有办法从解决方案中的中央文件夹引用脚本,以便所有应用程序/项目可以共享一个公共脚本文件夹,其中包含所有常见脚本?

编辑: 如果有任何问题,请解释这样做的利弊...现在我很好奇.

asp.net-mvc asp.net-mvc-3

71
推荐指数
4
解决办法
4万
查看次数

jQuery ajax()使用成功,错误和完整vs .done(),. fail()和always()

问题:

  1. 我们是否应该按照以下建议更改编码?
  2. .done()&success:,.fail()&error:.always()&之间有区别complete:吗?

序言:

我正在整理一个jQuery.ajax调用,这也是我过去成功完成的.像这样的东西:

    $.ajax(
    {
        url: someUrl,
        type: 'POST',
        data: someData,
        datatype: 'json',
        success: function (data) { someSuccessFunction(data); },
        error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
    });
Run Code Online (Sandbox Code Playgroud)

在快速浏览一些文档的同时,我遇到了一个引用声明,从jQuery 1.8开始,不推荐使用成功,错误和完整回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().

因此,我们应该开始编写类似这样的代码:

$.ajax( "example.php" )
    .done(function (data) { someSuccessFunction(data); })
    .fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
    .always(function() { alert("complete"); });
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

在Javascript中解析ISO 8601日期

需要有关将具有以下结构的ISO 8601日期转换为javascript的帮助/提示.

CCYY-MM-DDThh:mm:ssTZD
Run Code Online (Sandbox Code Playgroud)

我想照这样的日期:

January 28, 2011 - 7:30PM EST
Run Code Online (Sandbox Code Playgroud)

我想让这个解决方案尽可能干净简洁.

javascript formatting datetime iso8601

54
推荐指数
3
解决办法
9万
查看次数

无法创建变量类型"Item"的实例,因为它没有new()约束

我试图测试一个方法 - 并得到一个错误:

public interface IHasRect
{
    Rectangle Rectangle { get; }
}
Run Code Online (Sandbox Code Playgroud)

以下所需信息:

class Item : IHasRect
{
    public Item(Point p, int size)
    {
        m_size = size;
        m_rectangle = new Rectangle(p.X, p.Y, m_size, m_size); 
    }
}
Run Code Online (Sandbox Code Playgroud)

助手班:

public class SomeClass<T> where T : IHasRect
Run Code Online (Sandbox Code Playgroud)

对于要测试的函数,我需要实例化一个对象......

public void CountTestHelper<Item>() where Item : IHasRect
{
    Rectangle rectangle = new Rectangle(0, 0, 100, 100); 
    SomeClass<Item> target = new SomeClass<Item>(rectangle);            
    Point p = new Point(10,10);
    Item i = new Item(p, 10);      // error …
Run Code Online (Sandbox Code Playgroud)

c# generics templates compiler-errors

41
推荐指数
3
解决办法
4万
查看次数

如何检查字符串是否为浮点数?

我传入一个名为value的参数.我想知道价值是否是浮动.到目前为止,我有以下内容:

if (!isNaN(value))
{
    alert('this is a numeric value but not sure if it is a float.');
}
Run Code Online (Sandbox Code Playgroud)

如何更进一步将字符串转换为可以计算为浮点数的字符串?

javascript parsing

37
推荐指数
6
解决办法
7万
查看次数