对于每一天,我们有大约50,000个数据结构实例(最终可能会变得更大),这些实例封装了以下内容:
DateTime AsOfDate;
int key;
List<int> values; // list of distinct integers
Run Code Online (Sandbox Code Playgroud)
这可能不相关,但列表values是具有属性的不同整数的列表,对于给定值AsOfDate,values所有值的并集key产生不同整数的列表.也就是说,values同一天在两个不同的列表中没有出现整数.
列表通常包含很少的元素(在1到5之间),但有时只有50个元素.
鉴于相邻的日子,我们试图找到这key两天的值不同的这些对象的实例,但列表values包含相同的整数.
我们使用以下算法.通过将列表转换values为字符串
string signature = String.Join("|", values.OrderBy(n => n).ToArray());
Run Code Online (Sandbox Code Playgroud)
然后散列signature为一个整数,排序生成的哈希码列表(每天一个列表),遍历两个列表寻找匹配,然后检查相关键是否不同.(还要检查相关列表以确保我们没有哈希冲突.)
有更好的方法吗?
什么是连续运行应用程序的最聪明的方法,以便在它到达底部后不会退出?相反,它从主要顶部再次开始,仅在命令时退出.(这是在C)
我想检查Web服务器是否启用了http压缩,并启用了特定的压缩(即Gzip,Deflate,Compress)?
或者如果我通过将接受编码设置为"gzip,deflate"来通过.net中的WebClient对象请求数据,在处理之前如何知道检索到的数据是否被压缩?
所以我知道这是做什么的:
$(document).ready(function(){
// Your code here...
});
Run Code Online (Sandbox Code Playgroud)
现在我看到人们这么做了:
<script type="text/javascript">
$(function(){
// Your code here...
});
</script>
Run Code Online (Sandbox Code Playgroud)
这两种方式做同样的事情吗?
我在这里看到一个匿名函数在jquery选择器中声明,但实际上从未被调用过,但是通过页面运行的方式,似乎这可能只是在pageload上运行.
我正在Silverlight2中开发一个应用程序,并尝试遵循Model-View-ViewModel模式.我将一些控件上的IsEnabled属性绑定到ViewModel上的布尔属性.
当这些属性从其他属性派生时,我遇到了问题.假设我有一个Save按钮,我只想在可以保存的情况下启用它(数据已加载,我们目前还没忙于在数据库中执行操作).
所以我有几个这样的属性:
private bool m_DatabaseBusy;
public bool DatabaseBusy
{
get { return m_DatabaseBusy; }
set
{
if (m_DatabaseBusy != value)
{
m_DatabaseBusy = value;
OnPropertyChanged("DatabaseBusy");
}
}
}
private bool m_IsLoaded;
public bool IsLoaded
{
get { return m_IsLoaded; }
set
{
if (m_IsLoaded != value)
{
m_IsLoaded = value;
OnPropertyChanged("IsLoaded");
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想做的是:
public bool CanSave
{
get { return this.IsLoaded && !this.DatabaseBusy; }
}
Run Code Online (Sandbox Code Playgroud)
但请注意缺少属性更改通知.
所以问题是:什么是暴露我可以绑定的单个布尔属性的干净方式,但是计算而不是显式设置并提供通知,以便UI可以正确更新?
编辑: 感谢大家的帮助 - 我得到了它,并开始制作自定义属性.我在这里发布消息来源以防任何人感兴趣.我确信它可以用更干净的方式完成,所以如果你看到任何缺陷,请添加评论或答案.
基本上我所做的是创建了一个接口,它定义了一个键值对列表,用于保存依赖于其他属性的属性:
public interface INotifyDependentPropertyChanged
{
// …Run Code Online (Sandbox Code Playgroud) 我试图使用autorun.inf在其文件夹名称中包含空格的子文件夹下运行我的可执行文件.像这样:
H:\
autorun.inf
FOLDER NAME 1
file.exe
FOLDER NAME 2
some other stuffs
Run Code Online (Sandbox Code Playgroud)
如果文件夹名称中没有空格,则效果很好.但是,如果有一些,它对我不起作用.
这是限制吗?或者我做错了什么?
我的autorun.inf:
[autorun]
open=FOLDER NAME 1\Setup.exe
icon=FOLDER NAME 1\Setup.exe
Run Code Online (Sandbox Code Playgroud) 我在Amazon EC2上有两个不同的应用程序(第二个即将上市).
如何在命令行(Mac OS X)中使用这两个帐户,但保持EC2密钥和证书分开?在每个ec2-*命令之前,我是否需要更改环境变量?
会使用别名并将其设置为环境在线工作吗?就像是:
别名ec2-describe-instances1 = export EC2_PRIVATE_KEY =/path; EC2-描述,实例
我正在尝试通知在MFC应用程序中弹出类似这些气泡的内容:
![]()
大写锁定图像http://www.humanized.com/weblog/images/caps_lock_indication.png
我现在正在C#中创建一个接口模型来展示一些利益相关者,所以在那里也很好.
它不一定是语音泡沫式的:它可能类似于工具提示 - 但它必须在没有鼠标悬停的情况下出现
干杯!
我知道你应该只在必要时优化事物.但是,如果认为有必要,你最喜欢的低级别(与算法级别相比)优化技巧是什么.
例如:循环展开.
.net ×3
c# ×2
algorithm ×1
amazon-ec2 ×1
autorun ×1
c ×1
c++ ×1
compression ×1
dvd ×1
http ×1
installation ×1
javascript ×1
jquery ×1
matching ×1
mfc ×1
optimization ×1
performance ×1
properties ×1
silverlight ×1
ssa ×1
windows ×1