我有一个项目列表,如果我选择一个项目,那么我将提供上一个和下一个选项.我添加了一个快速代码示例,但我希望有更好/更快的方法来执行此示例,例如500个项目.
是否有linq选项或其他什么?
我检查了enumarator,但只有一个moveNext en无法设置当前.
快速举例:
项目是一本字典
project是字典中存在的keyvaluepair
var match = false;
var save = new KeyValuePair<ExtendedProjectLightPlan, Page>();
var before = new KeyValuePair<ExtendedProjectLightPlan, Page>();
var after = new KeyValuePair<ExtendedProjectLightPlan, Page>();
foreach (var p in projects)
{
before = save;
save = p;
if (match)
{
after = p;
break;
}
if (p.Key.Id == project.Key.Id)
{
match = true;
}
}
Run Code Online (Sandbox Code Playgroud) 当我运行ruby时script/server -e test,它在控制台上运行.当我关闭控制台时,它也会停止该过程.我想在后台运行服务器.我怎样才能做到这一点?
我最近注意到,在调试应用程序时,LogCat报告了许多错误("E")消息,其中pid = 92,tag = libagl,Message ="使用alphaPlaneWorkaround".
重新绘制应用程序屏幕时会显示消息,例如滚动时.
我使用的是Android 2.1.我意识到这些消息在手机的声音和显示设置中打开动画后开始出现,测试表明如果选择了"所有动画"或"某些动画"选项,它们就会出现,如果我选择"没有动画".
是什么导致这些消息?他们是否在我的应用中指出了错误,或者是由操作系统引起的错误?
我想使用EUnit测试一些第三方Erlang代码.
代码功能的输出使用显示在标准输出上io:format/2.我想捕获该输出并对?assert将要打印的字符串执行测试.我无法修改第三方代码.
这是用Erlang做到这一点的方法吗?(例如,在Java中,我可以简单地将System.setOut()用于输出流).
更新:
在group_leader/2似乎是在正确的轨道上.
但是,我仍然没有看到它如何允许我捕获打印的字符串,io:format所以我可以测试我的断言.一个非常简单的代码示例是:
result(Value) ->
io:format("Result: ~w~n", [Value]).
test_result() ->
?assertMatch("Result: 5~n", result(5)).
Run Code Online (Sandbox Code Playgroud)
显然,函数的返回result/1是原子ok,但实际上我想测试输出到控制台的字符串(即"Result: 5~n").
这种方法我错了,因为似乎没有其他人这样做(根据我缺乏搜索结果判断)?
背景:第三方代码是一个交互式控制台应用程序,因此所有功能仅用于io:format显示结果.
我们正在java中编写一个小型库,需要从底层系统收集信息.我们能够从java中的系统属性中读取大部分内容,但是我们似乎无法找到在linux上运行时提取发行版名称的正确方法.电话
System.getProperty("os.name");
Run Code Online (Sandbox Code Playgroud)
返回"Linux"(我们也收集),但我们正在寻找一种获得例如"Ubuntu"的方法.我们在java中需要这个解决方案,并且不想进行/ etc/release解析
有没有人知道如何使Dojo类成为单例,或者至少如何在dojo类中创建静态方法或变量?
我目前通过为每个类设置一个全局变量以及一个设置此变量的方法来实现这一点,如果它是null,但这是一个糟糕的解决方案.拥有一个单独的类会更好,因为一个人可以继承它并且voilá有一个单身:)
海因里希
我正在制作一个iPhone应用程序,其要求是用户应该能够从iPhone应用程序发送SMS而无需进入SMS API屏幕(即SMS的模态视图).
我们不希望用户单击"发送"按钮.它应该自动发送.
邮件正文和邮件收件人已预先修复.
我是新手.
我怎样才能做到这一点?应该做什么?
请帮助和建议.
谢谢.
我想在我的PATH中添加一些dirs.不幸的是,这些目录位于包含空间的Windows路径中(如文档和设置)
我没有尝试过:
创建一个变量:
43598811@E250BZD20015026 ~
$ winhome="/cygdrive/c/Documents\ and\ Settings/43598811/"
43598811@E250BZD20015026 ~
$ cd $winhome
bash: cd: /cygdrive/c/Documents\: No such file or directory
43598811@E250BZD20015026 ~
$ cd "$winhome"
bash: cd: /cygdrive/c/Documents\ and\ Settings/43598811/: No such file or directory
Run Code Online (Sandbox Code Playgroud)
创建别名:
43598811@E250BZD20015026 ~
$ alias winhome="/cygdrive/c/Documents\ and\ Settings/43598811/"
43598811@E250BZD20015026 ~
$ winhome
bash: /cygdrive/c/Documents and Settings/43598811/: is a directory
43598811@E250BZD20015026 ~
$ cd winhome
bash: cd: winhome: No such file or directory
Run Code Online (Sandbox Code Playgroud)
使用软链接: 它正在工作......但我不想使用它
有什么建议吗?
在最近看到的一些代码中,有一个像这样定义的结构:
typedef struct tagMyStruct {
int numberOne;
int numberTwo;
} MYSTRUCT;
Run Code Online (Sandbox Code Playgroud)
我理解这一点的方式tagMyStruct是新数据类型,并且MYSTRUCT是在那里创建的变量.
在另一个地方,这是这样使用的:
MYSTRUCT *pStruct = new MYSTRUCT;
Run Code Online (Sandbox Code Playgroud)
它使用Visual Studio 2010编译得很好.那个有效的C++怎么样?我以为MYSTRUCT是变量而不是类型?
请考虑以下查询:
SELECT * FROM Transactions
WHERE day(Stamp - interval 3 hour) = 1;
Run Code Online (Sandbox Code Playgroud)
Transactions表中的Stamp列是TIMESTAMP,并且有一个索引.我怎样才能更改此查询以避免全表扫描?(即在day()函数之外使用Stamp)
谢谢!