我们经常在我们的网站上进行更改(使用缓存),有时用户不知道刷新页面以获取它的最新副本.
如果我们更新页面,我们如何强制用户浏览器知道有新的服务器版本,并使用它而不是他们的浏览器缓存页面?
是否有快速而肮脏的方式(或VS宏)将WinForms应用程序转换为控制台应用程序?我有许多这些应用程序不再需要作为Winforms应用程序.我想我可以创建一堆新项目并复制粘贴模块和类,但如果只是删除我所拥有的单个表单并编辑/删除一些内容,我宁愿这样做.
鉴于此类:
public class Parent
{
public Child[] Children {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
这个数组:
Parent[] parents;
Run Code Online (Sandbox Code Playgroud)
如何使用Linq或其他方法从父数组中检索所有子项?这看起来很糟糕:
IList<Child> children = new List<Child>();
foreach(var parent in parents)
children.AddRange(parent.Children);
Run Code Online (Sandbox Code Playgroud)
或者那不是那么糟糕?:-)
我正在将ListView绑定到对象列表,就像这样;
<ListView
ItemsSource="{ Binding Path=. }"
ItemTemplate="{DynamicResource EventTemplate}">
Run Code Online (Sandbox Code Playgroud)
我绑定了一个声明两个属性的对象;
string DisplayName { get; }
System.Drawing.Image Image { get; set; }
Run Code Online (Sandbox Code Playgroud)
我想填充一个,DataTemplate但我无法弄清楚如何; 如果我在模板中这样做;
<StackPanel Orientation="Horizontal">
<Image Source="{ Binding Path=Image }" />
<TextBlock Text="{ Binding Path=DisplayName }" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
文本出现但图像没有.我究竟做错了什么?调试输出显示
System.Windows.Data Error: 1 : Cannot create default converter
to perform 'one-way' conversions between types
'System.Drawing.Image' and 'System.Windows.Media.ImageSource'.
Consider using Converter property of Binding.
BindingExpression:Path=Image; DataItem='RealElement'
(HashCode=54308798); target element is 'Image' (Name='');
target property is 'Source' (type 'ImageSource')
Run Code Online (Sandbox Code Playgroud) I wrote a multi-threaded app to benchmark the speed of running LOCK CMPXCHG (x86 ASM).
On my machine (dual Core - Core 2), with 2 threads running and accessing the same variable, I can perform about 40M ops/second.
Then I gave each thread a unique variable to operate on. Obviously this means there's no locking contention between the threads, so I expected a speed performance. However, the speed didn't change. Why?
是否有为接口方法创建默认实现的首选方法或样式?假设我有一个常用的界面,在90%的情况下我想要的功能是相同的.
我的第一直觉是用静态方法创建一个具体的类.然后,当我想要默认功能时,我会将功能委托给静态方法.
这是一个简单的例子:
接口
public interface StuffDoer{
public abstract void doStuff();
}
Run Code Online (Sandbox Code Playgroud)
具体实施方法
public class ConcreteStuffDoer{
public static void doStuff(){
dosomestuff...
}
}
Run Code Online (Sandbox Code Playgroud)
使用默认功能的具体实现
public class MyClass implements StuffDoer{
public void doStuff(){
ConcreteSuffDoer.doStuff();
}
}
Run Code Online (Sandbox Code Playgroud)
这里有更好的方法吗?
编辑
在看到一些提议的解决方案后,我想我应该更清楚我的意图.本质上我试图解决Java不允许多重继承.另外要明确我不是要声明Java是否应该允许多重继承.我只是在寻找为实现接口的类创建默认方法实现的最佳方法.
所以我知道如何导出文件@文件系统的某些修订(因为导出的所有重载都有路径)但我不想使用文件系统来方便访问.有没有办法将其重定向到字符串或什么?谢谢.
希望这个截图能够解释我的问题:
a = Thread.new { loop {} }
b = Thread.new { loop {} }
a.join
Run Code Online (Sandbox Code Playgroud)
Ruby线程演示CPU使用率http://img7.imageshack.us/img7/9858/rubycores.png
那么为什么我的两个内核都没有达到最大化?无论我使用多少线程,每次都是一样的; 总CPU使用率似乎永远不会超过52%.
>ruby -v
ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法来获取与指定文件掩码匹配的文件列表?通过filemask我的意思是经典的通配符,而不是正则表达式.
我可以使用file-seq,然后使用通配符创建的regexp进行过滤.但是,这不是微不足道的(考虑逃避等)
我也知道来自Apache Commons的FilenameUtils.wildcardMatch(),但是我不愿意为我正在构建的一个小工具添加这样的依赖.
在Clojure生态系统中必定存在一些我不知道的东西.
给出一个像这样的表
ID | Name | City
1 | X | Y
2 | Z | Y
3 | W | K
Run Code Online (Sandbox Code Playgroud)
我想产生一个像这样的结果
ID | Description
1 | Y (X, Z)
3 | K (W)
Run Code Online (Sandbox Code Playgroud)
我试过类似的东西
From C In Clients Group C By C.ID, C.City _
Into G = Group Select New With {.ID = ID, .Description = City & _
" (" & (From C In Clients Select C.Name).Aggregate(Function(X, Y) X & ", " & Y) & ")"}
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误"不支持查询运算符'聚合'." 也试过了 …