问题列表 - 第27921页

如何从XmlReader中读取而不向前移动它

嘿伙计们,我有这个场景:

while (reader.Read())
{
    if (reader.NodeType == XmlNodeType.Element && reader.Name == itemElementName)
    {
        XElement item = null;
        try
        {
            item = XElement.ReadFrom(reader) as XElement;
        }
        catch (XmlException ex)
        {
           //log line number and stuff from XmlException class  
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的循环中,我将某个节点(itemElementName)转换为XElement.

一些节点将是良好的XML并将进入XElement,但有些节点不会.

在CATCH中,我不仅要捕获标准的XmlException内容......我还想捕获当前Xml和字符串的提取.

但是,如果我在将节点传递给XElement之前对节点执行任何类型的READ操作,它会向前移动读取器.

如何在不干扰其位置的情况下获取阅读器外部内容的"快照"?

.net c# xml xmlreader xml-parsing

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

再次初始化变量

这可能听起来有点令人困惑.基本上,我有一个功能

CCard newCard() 
{
    /* Used to store the string variables intermittantly */
    std::stringstream ssPIN, ssBN;
    int picker1, picker2;
    int pin, bankNum;

    /* Choose 5 random variables, store them in stream */
    for( int loop = 0; loop < 5; ++loop )
    {
        picker1 = rand() % 8 + 1;
        picker2 = rand() % 8 + 1;
        ssPIN << picker1;
        ssBN  << picker2;
    }
    /* Convert them */
    ssPIN >> pin;
    ssBN  >> bankNum;

    CCard card( pin, bankNum );
    return …
Run Code Online (Sandbox Code Playgroud)

c++ oop class

4
推荐指数
1
解决办法
587
查看次数

C#.Net Serial DataReceived对于高速率数据,事件响应太慢

我已经在VS2008 express中使用基于表单的程序设置了一个SerialDataReceivedEventHandler.我的串口设置如下:

115200,8N1

Dtr和Rts启用

ReceivedBytesThreshold = 1

我有一个设备,我通过BlueTooth,USB转串口连接.超级终端以任何数据速率接收数据.数据以22字节长的数据包定期发送.该设备具有可调节的数据发送速率.在低数据速率,10-20Hz,下面的代码工作得很好,没有问题.但是,当我将数据速率提高到25Hz以上时,一次呼叫就会开始收到多个数据包.我的意思是每个传入的数据包都应该有一个事件触发器.由于输出速率较高,我在调用事件时立即测试了缓冲区大小(BytesToRead命令),然后缓冲区中有多个数据包.我认为事件会慢慢触发,当它到达代码时,更多的数据包已经打到了缓冲区.我做的一个测试是看每秒触发事件的次数.在10Hz,我得到10个事件触发器,很棒.在100Hz,我得到40个事件触发器,不好.我的数据速率目标是100HZ是可接受的,200Hz首选,300Hz最佳.这应该工作,因为即使在300Hz,这只是52800bps,不到设置的115200波特率的一半.我在看什么?

    public Form1()
    {
        InitializeComponent();
        serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);            
    }


    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        this.Invoke(new EventHandler(Display_Results));
    }


    private void Display_Results(object s, EventArgs e)
    {
        serialPort1.Read(IMU, 0, serial_Port1.BytesToRead);
    }
Run Code Online (Sandbox Code Playgroud)

.net c# events serial-port baud-rate

6
推荐指数
2
解决办法
5799
查看次数

C#PredicateBuilder实体:参数"f"未绑定在指定的LINQ to Entities查询表达式中

我需要构建一个动态过滤器,我想继续使用实体.由于这个原因,我想使用albahari的PredicateBuilder.

我创建了以下代码:

var invoerDatums = PredicateBuilder.True<OnderzoeksVragen>();
var inner = PredicateBuilder.False<OnderzoeksVragen>();

foreach (var filter in set.RapportInvoerFilter.ToList())
{
    if(filter.IsDate)
    {
        var date = DateTime.Parse(filter.Waarde);
        invoerDatums = invoerDatums.Or(o => o.Van >= date && o.Tot <= date);
    }
    else
    {
        string temp = filter.Waarde;
        inner = inner.Or(o => o.OnderzoekType == temp);
    }
}

invoerDatums = invoerDatums.And(inner);
var onderzoeksVragen = entities.OnderzoeksVragen
                               .AsExpandable()
                               .Where(invoerDatums)
                               .ToList();
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,只有一个过滤器,它不是日期过滤器.因此只有内部谓词被填充.执行谓词时出现以下错误.

参数"f"未绑定在指定的LINQ to Entities查询表达式中.

在搜索答案时,我找到了以下页面.但这已经在LINQKit中实现了.

是否有其他人遇到此错误并知道如何解决?

c# linq-to-entities predicatebuilder

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

绘制由make生成的DAG?

我的理解是,在make执行时,它会在内部生成一个DAG来表示项目中的所有依赖项.有没有办法获得DAG并绘制图表,比如使用像graphviz这样的东西?

我在Ubuntu 8.04上使用gnu make.

编辑

我只是碰到这些工具被称为跑mamdagmamdot.他们应该同时使用nmake和gnu make,但我似乎无法找到让gnu make吐出mam文件的选项.

它可以在这里下载 - 这些包:

INIT
ast-base
ast-gpl

刚刚在AT&T的Glenn Fowler发现了这篇文章,描述了MAM语言和mamdot工具.

看起来你必须修补gnu make才能工作,虽然我还不是100%肯定.

也许有另一种方式?

linux makefile directed-acyclic-graphs

10
推荐指数
1
解决办法
2614
查看次数

Javascript:排序对象

function Player() {
  var score;

  this.getScore = function() { return score; }
  this.setScore = function(sc) { score = sc; }
}

function compare(playerA, playerB) {
  return playerA.getScore() - playerB.getScore();
}

var players = [];

players['player1'] = new Player();
players['player2'] = new Player();

Array(players).sort(compare);
Run Code Online (Sandbox Code Playgroud)

我有与上面类似的代码.当我使用调试器逐步执行代码时,compare函数永远不会被调用,并且数组未被排序.我不确定我的代码有什么问题?

javascript sorting

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

使用asp.net进行一键式网站备份

我想定期备份我的网站,但不是通过ftp程序备份我的文件,我想要一键式解决方案,它将复制我的所有文件并压缩它们并允许下载.这可以通过asp.net在同一个网站上完成,还是我必须为此目的编写一个.net应用程序?

.net c# asp.net backup

5
推荐指数
1
解决办法
3695
查看次数

使用外部服务/ api的代码的TDD BDD的最佳实践

我正在使用一个Twitter宝石,基本上访问Twitter,让我抓住推文,时间线等.它真的很好,但我有很多我的代码使用它返回的东西,我需要测试它.宝石返回的东西不是简单的字符串,有非常复杂的对象(也很可怕),所以我留下了挠头.

所以基本上我正在寻找一个答案,书籍,博客,开源项目,它可以向我展示围绕外部服务进行测试的权利和错误.

最重要的是,不是以语言为中心或以ruby/rails为中心的答案.

testing tdd

4
推荐指数
1
解决办法
1093
查看次数

在本地服务与线程和活动之间同步

我正试图想办法如何在本地服务和主要活动之间进行同步.

当地的服务有,

  • 具有套接字连接的线程,可以随时接收数据.
  • 包含数据的列表/数组.
  • 套接字可以随时接收数据并将其添加到列表中.

活动需要显示此数据.因此,当活动启动时,它需要附加或启动本地服务并获取列表.如果列表已更新,还需要通知它.

我想我需要以某种方式同步我的列表,以便当活动在连接到服务时获取列表时,本地服务不会向其添加新条目.

有任何想法吗?

谢谢.

service multithreading android

4
推荐指数
1
解决办法
2307
查看次数

程序员必须/应该知道的模式和原则列表是什么?

我已经编程了几年,仍然觉得我的知识不够广泛,不能成为一名专业人士.我研究了一些与设计模式有关的书籍,但我知道还有很多其他书籍.

那么有人可以列出你认为有助于学习成为更好的程序员和更专业的模式和原则吗?

编程语言我的工作:C#,Ruby,Javascript.

design-patterns design-principles

5
推荐指数
2
解决办法
970
查看次数