我在.NET中使用substring函数时收到ArgumentOutOfRange错误.我是.NET的新手,所以可能做错了.我有一个txtField,它是GUI中的文本字段组件.我正在使用Microsoft Visual Basic 2010 Express
txtField.Substring(txtField.Length-4,txtField.Length-1)
Run Code Online (Sandbox Code Playgroud)
如果txt.Field只包含数字值,则它可以正常工作,但只要文本字段包含字符就会中断.
有人有主意吗?
给出以下字符串, "Hi ~+ and ^*. Is ^* still flying around ~+?"
我想替换所有出现"~+",并"^*"以"波比"和"丹尼",因此字符串变成:
"Hi Bobby and Danny. Is Danny still flying around Bobby?"
我宁愿不必两次调用Boost替换函数来替换两个不同值的出现.
我有一个为RHEL5 32位和ubuntu10 64位(c ++ qt4.6)构建的程序.当我在ubuntu上运行程序时,所有变量都被初始化,而我不需要对这个初始化进行编码.但是当我在RHEL上运行程序时,一些变量没有被初始化,我注意到它们大多是整数类型,并且典型值大约是154280152.有趣的是它只发生在几个类中.怎么会这样?
更新:这里是代码片段,它是其中一个类的标题发生这种情况(对于我现在正在研究的布局感到抱歉):
#ifndef FCP_CONFIG_H
#define FCP_CONFIG_H
#include "ui_fcpConfig.h"
#include
#include "fpsengine.h"
#include "fcp_cfg_delegate.h"
#define SET_COL 3
#define GLOBAL_KEY_COL 2
#define LOCAL_KEY_COL 1
#define ENABLE_COL 0
namespace Ui
{
class fcpConfig;
}
class fcpConfig : public QWidget
{
Q_OBJECT
public:
fcpConfig(QWidget *parent, FPSengine * FPS);
Ui::fcpConfigForm ui;
void setupFcpCfg();
private:
QWidget * myParent;
FPSengine * myFPS;
fcpCfgDelegate delegate;
QList<QSpinBox*>failOrderList;
QList<QRadioButton*>primaryList;
int numFCP;
QList<int>numFcpInEachSet;
int currentSet;
void updateSets();
void refreshFailorderDuringUserEdit(int fcpPos);
QSignalMapper * signalMapper;
QMutex mutex;
void sendSysStatusMsgAndPopup(QString …Run Code Online (Sandbox Code Playgroud) public static IFoo Bar<T>(this IFoo target, ...)
{
// I'm curious about how useful this check is.
if (target == null) throw new ArgumentNullException("target");
...
}
Run Code Online (Sandbox Code Playgroud)
(1)上面的代码对我来说似乎很奇怪,因为我觉得在任何情况下调用代码都是检查它的人.这个领域的扩展方法是否有些微妙适用?
(2)是否存在利用目标可以为空的事实的合法模式?我想这是因为想知道为什么在空引用上调用扩展方法不会像在null引用上调用实例方法那样生成运行时异常.
我一直在阅读OOP的定义,并且无法理解为什么PHP被认为是面向对象的.
这有什么可以做的,PHP的"基本级别"不是更高级的功能吗?
这是一个错误吗?
>>> import json
>>> import cPickle
>>> json.dumps(cPickle.dumps(u'å'))
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/json/__init__.py", line 230, in dumps
return _default_encoder.encode(obj)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/json/encoder.py", line 361, in encode
return encode_basestring_ascii(o)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 1-3: invalid data
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Zend Framework与PHPUnit一起对应用程序进行单元测试.当Hudson执行PHPUnit shell命令时,在代码覆盖生成期间的某个时间达到最大PHP内存限制.我目前总共有41个测试,有334个断言.
通过使用-d memory_limit=768M开关将memory_limit设置提高到768M,我成功地消除了这个错误; 但是,我担心随着复杂性的增加以及测试/断言的总数,我将没有足够的内存来生成用于代码覆盖率统计的HTML.
操作系统: CentOS 5.5
控制面板: WHM/cPanel
CI服务器: Hudson
/usr/local/bin/phpunit
--verbose
-d memory_limit=512M
--log-junit ../../build/logs/phpunit.xml
--coverage-clover ../../build/logs/coverage/clover.xml
--coverage-html ../../build/logs/coverage-html/
Run Code Online (Sandbox Code Playgroud)
致命错误:允许的内存大小为536870912字节
在提交我的更改并让Hudson处理其余的更改之前,我使用Windows 7进行开发.在W7中运行相同的命令时,内存使用率从未超过340MB.
我在Jetty上运行webapp.应用程序的配置来自运行Jetty的同一服务器上的文件.在应用程序内部,我依靠系统属性来获取文件的路径,以便我可以解析它.例如
final String loc = System.getProperty(FACTORY);
Run Code Online (Sandbox Code Playgroud)
现在我可以使用D开关启动jetty以$FACTORY在命令行上提供但是如果可以的话我宁愿把它放在jetty.xml中.我知道有<SystemProperty />标签,但似乎只提供<Set/>标签已存在的系统值.有人可以举例说明如何实现这一目标吗?(如果可以实现)
我的问题是基于好奇心,而不是是否有另一种方法来解决问题.这是一个奇怪/有趣的问题,所以请以开放的心态阅读.
让我们假设每个帧都有一个游戏循环.游戏循环依次通过无数的if语句调用几个函数.例如,如果用户将GUI设置为false,则不刷新GUI,否则调用RefreshGui().if循环中还有许多其他语句,如果它们是真的,它们会调用它们各自的函数.if/if-else.../else在最坏的情况下,有些是更昂贵的.如果if语句为真,即使被调用的函数也有逻辑.如果用户想要在所有对象上调用raypicking FunctionA(),如果用户想要对灯光进行raypick,请调用FunctionB(),...,否则调用所有函数.希望你明白了.
我的观点是,这是多余的if语句.所以我决定使用函数指针.现在我的假设是函数指针总是比if语句更快.它是if/else的替代品.因此,如果用户想要在两种不同的相机模式之间切换,则他/她按下C键以在它们之间切换.键盘的回调函数将函数指针更改为正确的UpdateCamera函数(在这种情况下,函数指针可以指向UpdateCameraFps()或者UpdateCameraArcBall())...你得到它的要点.
现在问题本身.如果我有几个具有相同签名的更新函数(假设为void (*Update)(float time)),那么函数指针可能指向其中任何一个.然后,我有一个用于存储指针的向量.然后在我的主更新循环中,我浏览向量并调用每个更新函数.我可以删除/添加甚至更改更新的顺序,而无需更改底层代码.在最好的情况下,我可能只调用一个更新函数,或者在最坏的情况下调用所有这些函数,所有这些都具有非常干净的while循环并且没有讨厌的(可能是嵌套的)if语句.我已经实现了这个部分,效果很好.我知道,随着while循环的每次迭代负责迭代向量,我正在检查是否itrBegin == itrEnd.进一步来说while (itrBegin != itrEnd).有没有办法避免调用if语句?我可以使用分支预测对我有利(或者我在不知情的情况下利用它)?
再次,请按原样提出问题,即我不是在寻找一种不同的方法(尽管您非常欢迎提供一种方法).
编辑:一些回复表明这是一个不必要的过早优化,我不应该专注于它,并且if语句的成本与所有单独的更新函数中完成的工作相比是微不足道的.非常的,我完全同意,但这不是问题的关键,如果我没有让问题更清楚,我会道歉.尽管如此,我确实学到了很多新的东西!