我在工作中继承了一些非常难闻的代码.我希望找到最无痛的解决方案.
有没有办法检查某个任意数字是否是数组中的有效元素?
示例 - 我需要检查数组[25]是否存在.
我更喜欢这样做而不通过数组执行foreach()来找到行.
有没有办法做到这一点,还是我坚持使用foreach循环?
是否可以访问列表推导中生成的前一个元素.
我正在研究一些玩具加密的东西.将密钥作为任意大整数,初始化值和元素列表作为要加密的消息.我需要使用先前的加密元素和密钥对每个元素进行xor.以下循环可以.
previous = initialization_value
cipher = []
for element in message:
previous = element ^ previous ^ key
cipher.append(previous)
Run Code Online (Sandbox Code Playgroud)
我觉得应该可以将其转换为列表理解,但我不确定如何处理初始值或访问生成的先前值.是否有可能,如果是这样,理解力是什么?
有谁知道如何在Java中重新创建交叉散列纹理?下面的C#代码显示了如何为.NET框架实现此目的.Java片段很接近,但我无法正确地将线条旋转45度.
C#
HatchBrush crossHatch =
new HatchBrush(HatchStyle.Cross, somecolor, somecolor);
Run Code Online (Sandbox Code Playgroud)
Java的
BufferedImage bufferedImage =
new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = bufferedImage.createGraphics();
g2.setColor(Color.BLUE);
g2.fillRect(0, 0, 5, 5);
g2.setColor(pinColor);
g2.fillOval(0, 0, 5, 5);
// paint with the texturing brush
Rectangle2D rect = new Rectangle2D.Double(0, 0, 5, 5);
g2d.setPaint(new TexturePaint(bufferedImage, rect));
g2d.fill(shape);
Run Code Online (Sandbox Code Playgroud)
提前致谢.
很抱歉,如果之前已经询问过这个问题,但我无法找到解决方案,无法找到相关问题或Google上的相关问题.
在我的应用程序中,我正在尝试重新创建单词新文档对话框,列在项目的左侧,右侧是带有文本的图标.在Word中,当鼠标悬停时它具有橙色渐变,而当您选择项目时,它具有较暗的渐变.除了在选择项目后更改背景颜色外,我已经重新创建了大部分内容.这是我用来创建它的代码:
<ListView Margin="236,34,17,144" Name="listView1" HorizontalContentAlignment="Stretch">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5" IsItemsHost="True" VerticalAlignment="Top" >
</UniformGrid>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate >
<StackPanel HorizontalAlignment="Center" Width="auto">
<Image Source="images/document32.png" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding}" HorizontalAlignment="Center" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Foreground" Value="Yellow" />
<Setter Property="Background" Value="Orange" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Black" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="1,0">
<GradientStop Color="#d3e7ff" Offset="0.986"/>
<GradientStop Color="#b0d2fc" Offset="0.5"/>
<GradientStop Color="#8ec1ff" Offset="0.51"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView> …Run Code Online (Sandbox Code Playgroud) 我有一个列表框,您可以选择用户.在左侧是一个组合框,列出用户可以放置的可用组.如果用户在组中,则组合框将自动设置为该组.我想在更改组选择时这样做,它会将用户移动到该组.我添加了这个连接:
QtCore.QObject.connect(self.GroupsBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.HandleGrouping)
Run Code Online (Sandbox Code Playgroud)
问题在于,由于我将选择不同组中的不同用户,因此每次选择新用户时,组合框中的默认选项都会更改,Qt会将其注册为"currentIndexChanged"信号.
似乎没有办法仅在与小部件本身的直接用户交互上触发信号.我可以用什么方法来解决这个问题?
当我使用DataContractJsonSerializer序列化枚举值时,它序列化枚举的数值,而不是字符串名称.
IE:
enum foo
{
bar,
baz
}
Run Code Online (Sandbox Code Playgroud)
序列化foo.bar的值将返回"0",而不是"bar".
相反,我更喜欢它,有没有办法覆盖它?
编辑:
因为我不想更改序列化程序,所以我使用了一个简单的解决方法.
我在类中公开了一个属性来序列化,调用ToString值,即:
// Old
[DataMember]
public EnumType Foo
{
get { return _foo; }
set { _foo = value; }
}
// New, I still kept the EnumType but I only serialize the string version
public EnumType Foo
{
get { return _foo; }
set { _foo = value; }
}
[DataMember]
public string FooType
{
get { return _foo.ToString(); }
private set {}
}
Run Code Online (Sandbox Code Playgroud) 我正在构建一个包含标题的布局,其高度为40像素.在此标题下面有一个SWF,它应该占用剩余的可用空间.
最好的解决方案,现在一直在使用表,第一行为40px高度,第二行为100%高度 - 但这些行仍然在Internet Explorer中累加,导致滚动条出现40个额外像素 - 这不应该是这样的.
我尝试使用这个:http://www.456bereastreet.com/archive/200609/css_frames_v2_fullheight/ - 如果你的内容最终有所下降但是SWF里面有100%,它可以正常工作,它会接管整个页面,或一半页面(取决于将SWF放在内容div中或SWF是内容div).
在我使用javascript来处理这项业务之前,我想知道其他人是否知道更好的解决方案?
我有三个类以有趣的方式进行交互.一个是模型类,它必须由其他两个类访问,因此它的单个实例作为每个类的成员保存.这两个类都以不同的方式与模型交互.
有几个实例必须完全抛弃模型对象并用新实例替换,这使事情复杂化.并且这些场合出现在两个观看/控制类中.因此,这些类中的任何一个必须能够向另一个发送信号,说"我们需要协调并促进用新的Model对象替换我们的Model对象".现在我在B类中有代码告诉A类构造一个新模型并将其发送回来,但现在我需要处理相反的情况,其中事件在A类中出现,不幸的是A类没有引用B级,可能不应该.
处理这个问题的好方法是什么?
更新:对不起,伙计们,这不能是单身人士.单身人士是你需要保证只有一件东西的时候.这与我上面提到的任何要求无关.这个类不是单身,不应该是.
更新:到目前为止,实际上只有一个这个Model类的实例,但我有一个模糊的怀疑我需要允许更多,我不想通过使用Singleton设计模式来限制自己我所拥有的不同关注点.事实证明我是对的:昨天我收到了新的要求,现在我需要支持任意数量的这些.:)当你不需要时,不要限制自己,不要在不打算的情况下滥用设计模式!
我们是一个由4名开发人员组成的小团队,致力于Web应用程序.我们在共享服务器上使用trac + svn进行版本控制和票务,我们很高兴并对此感到满意.相同的共享服务器也托管我们的Web应用程序.应用程序本身是一个Perl CGI应用程序,它使用CGI :: Application和中等数量的标准(CPAN)和定制的Perl模块,这些模块安装在通常的(/ usr/lib/perl ...)和一些不寻常的位置(/home/user中/ lib中/ perl的..).虽然广泛的细节可能无关紧要,但最重要的一点是我们的开发机器上的库的位置/布局与生产(共享)服务器上的库的位置/布局不同.我们必须忍受这一点.但是,库布局在所有开发机器上都是相同的.
这是我和我的同事遵循的典型但明显不太理想的工作周期:
svn export"到服务器的相应DocumentRoot上显然,必须有一个更好的方法,并希望听到其他人可能比我们更好地处理这个问题.例如,有没有办法以svn export自动方式修复库位置?还是有一些完全不同的方式来处理这种情况,而不是我们迄今为止所做的.
感谢您的关注
我们遇到了一个有点奇怪的情况.基本上,我们的一个数据库中有两个表格,这些表格是我们不需要或不关心的大量日志信息.部分原因是我们的磁盘空间不足.
我正在试图清理表格,但这是永远的(在周末运行之后仍有57,000,000条记录......而这只是第一张桌子!)
只是使用删除表是永远占用并占用驱动器空间(我相信因为事务日志.)现在我正在使用while循环一次删除记录X,同时玩X来确定实际上最快的.例如,X = 1000需要3秒,而X = 100,000需要26秒......其中数学运算稍快一些.
但问题是,是否有更好的方法?
(完成此操作后,要运行SQL代理作业,请每天清理一次表...但需要先清除它.)