我是C#.Net中为Windows窗体应用程序创建向导的新手.所以我对创建向导没有任何想法.请给我一些关于创建多个向导的想法.
此致,拉维
在perl中,我有一个粗略的字符串
my $str = "one 10 two 20 three 30";
Run Code Online (Sandbox Code Playgroud)
现在,我想将该字符串拆分为字数对,但没有成功.
我以为我能做到
my @pairs = split /([a-z]+[^a-z]+)/, $str;
Run Code Online (Sandbox Code Playgroud)
然后会有
$pairs[0] eq 'one 10 '
$pairs[1] eq 'two 20 '
$pairs[2] eq 'three 30'
Run Code Online (Sandbox Code Playgroud)
但是,我明白了
$pairs[0] eq ' '
$pairs[1] eq 'one 10 '
$pairs[2] eq ' '
$pairs[3] eq 'two 20 '
$pairs[4] eq ' '
$pairs[5] eq 'three 30'
Run Code Online (Sandbox Code Playgroud)
现在,我可以使用grep来获得我想要的结果:
my @pairs = grep {$_ =~ /\S/} split /([a-z]+[^a-z]+)/, $str;
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一个更优雅的解决方案来解决这个问题.
我的Java Web应用程序(tomcat)从SQL数据库获取其所有数据.但是,此数据库的大部分内容仅通过批处理工作每天更新一次.由于这些表上的查询往往比较慢,我想缓存结果.
在编写我自己的解决方案之前,我想查看java的现有缓存解决方案.显然,我搜索了stackoverflow并找到了ehcache的参考和建议.
但是通过文档查看它似乎只允许将缓存对象的生命周期设置为持续时间(例如,在添加后1小时后到期),而我希望基于固定时间(例如,在凌晨0点30分到期)到期.
有没有人知道允许这种到期行为的缓存库?或者如果可能的话,如何使用ehcache执行此操作?
我想从csv文件(830k记录)中提取特定字段并存储到哈希中.有没有任何快速简便的方法在Perl中使用任何外部方法?
我怎样才能做到这一点?
object obj = new object[] { new object(), new object() };
Run Code Online (Sandbox Code Playgroud)
这是如何编译的?这似乎令人困惑.
似乎它应该是
object[] obj = new object[] { new object(), new object() };
Run Code Online (Sandbox Code Playgroud)
要么
object[] obj = { new object(), new object() };
Run Code Online (Sandbox Code Playgroud) 我认为fsync()在内部执行fflush(),因此在流上使用fsync()是可以的.但是我在网络I/O下执行时会得到意想不到的结果.
我的代码片段:
FILE* fp = fopen(file, "wb");
/* multiple fputs() calls like: */
fputs(buf, fp);
...
...
fputs(buf.c_str(), fp);
/* get fd of the FILE pointer */
fd = fileno(fp);
#ifndef WIN32
ret = fsync(fd);
#else
ret = _commit(fd);
fclose(fp);
Run Code Online (Sandbox Code Playgroud)
但似乎_commit()并没有刷新数据(我在Windows上试过并且数据是在Linux导出的文件系统上编写的).
当我将代码更改为:
FILE* fp = fopen(file, "wb");
/* multiple fputs() calls like: */
fputs(buf, fp);
...
...
fputs(buf.c_str(), fp);
/* fflush the data */
fflush(fp);
fclose(fp);
Run Code Online (Sandbox Code Playgroud)
这次它会刷新数据.
我想知道_commit()是否与fflush()做同样的事情.有什么投入?
我有一个组件,我想存储到SQLite数据库.
public class Comp : Entity
{
public virtual DateTime TimeStamp { get; set; }
public virtual String Name { get; set; }
}
public class CompMap : ClassMap<Comp>
{
public CompMap()
{
Id(x => x.Id);
Map(x => x.TimeStamp);
Map(x => x.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
没什么好看的.
问题是TimeStamp错误地存储在DB中(SQLite-Explorer显示值'30 -12-1899')我认为它与nHibernate发送DateTime到数据库的方式有关
NHibernate: INSERT INTO "Comp" (TimeStamp, Name) VALUES (@p0, @p1); select last_insert_rowid(); @p0 = 26.02.2010 10:08:09, @p1 = 'test1'
Run Code Online (Sandbox Code Playgroud)
对我来说,它看起来像是DateTime字符串格式(可能只是.ShowSQL()命令),SQLite无法处理格式(它是德国日期时间格式)我试图改变格式使用IUserType但结果仍然是相同的.
我没有发现其他人有这个问题,所以我假设问题在我的代码中,但我无法找到它.
这是我用来初始化DB并将值插入DB的测试代码
using System; …Run Code Online (Sandbox Code Playgroud) c# ×5
java ×2
perl ×2
.net ×1
asp.net ×1
c ×1
caching ×1
compilation ×1
csv ×1
fflush ×1
fsync ×1
installation ×1
installer ×1
mail-server ×1
nhibernate ×1
sqlite ×1
windows ×1
winforms ×1
wix ×1
wizard ×1