为什么byte b = (byte) 0xFF等于integer -1?
例如:
int value = byte b = (byte) 0xFF;
System.out.println(value);
Run Code Online (Sandbox Code Playgroud)
它会打印-1吗?
有没有办法关闭Visual Studio中任意区域的自动格式化?
我有自动格式设置为完全按我喜欢缩进.但是,对于特定区域(特别是与创建XML文档有关的区域),我希望缩进清楚地创建正在创建的XML文档的结构,而不是创建它的C#.例如:
// Format this normally.
public void WriteXMLDocument() {
// ...
using (XmlWriter x = XmlWriter.Create(filename)) {
// Create XML document
#region dont-format-this // <-- Any way to get VS to recognize something like this?
x.WriteStartDocument();
x.WriteStartElement("RootElement");
x.WriteStartElement("ChildElement1");
x.WriteStartElement("GrandchildElement1a");
x.WriteElementString("GreatGrandchildElement1a1");
x.WriteElementString("GreatGrandchildElement1a2");
x.WriteEndElement();
x.WriteElementString("GrandchildElement1b");
x.WriteEndElement();
x.WriteStartElement("ChildElement2");
x.WriteEndElement();
x.WriteEndElement();
x.WriteEndDocument();
#endregion
}
}
Run Code Online (Sandbox Code Playgroud)
显然我不希望Visual Studio猜测如何格式化我正在做的事情,但我宁愿它不要在这个区域内尝试.否则每次我编辑一行时,VS都会雄心勃勃并试图撤消我的工作.
c# formatting visual-studio-2010 visual-studio visual-studio-2015
我有一个由成对的值组成的数据结构,第一个是整数,第二个是字母数字字符串(可以用数字开头):
+--------+-----------------+
| Number | Name |
+--------+-----------------+
| 15 | APPLES |
| 16 | APPLE COMPUTER |
| 17 | ORANGE |
| 21 | TWENTY-1 |
| 291 | 156TH ELEMENT |
+--------+-----------------+
Run Code Online (Sandbox Code Playgroud)
这些表格最多包含100,000行.
我想提供一个查找功能,用户可以在其中查找数字(就像它是一个字符串)或字符串片段.理想情况下,查找将在用户输入时"实时"; 在每次击键之后(或者在短暂延迟~250-500 ms之后),将进行新的搜索以找到最可能的候选者.所以,例如搜索
1将返回15 APPLES,16 APPLE COMPUTER,17 ORANGE,和
291 156TH ELEMENT15将缩小搜索15 APPLES,291 156TH ELEMENTAP将返回15 APPLES和16 APPLE COMPUTERELEM将返回291 156TH ELEMENT.我正在考虑使用两个Dictionary<string, …
Mysql的Innodb有页面,范围,段,表空间的概念,但我不知道它们是如何相互交互的.它们有什么关系?表空间有16K的页面是什么意思?这与物理行有什么关系,是内存中的"页面"?
我认为Oracle可能有相同的概念,但我不确定在哪里寻找它.是否有一个很好的参考/书籍详细谈论这个?
我和我的同事最近几次遇到过这个警告信息.对于以下代码:
package com.mycompany.product.data;
import com.mycompany.product.dao.GenericDAO;
public abstract class EntityBean {
public abstract GenericDAO<Object, Long> getDAO();
// ^^^^^^ <-- WARNING OCCURS HERE
}
Run Code Online (Sandbox Code Playgroud)
警告显示在列出的位置中
EntityBean.getDAO() has non-API return type GenericDAO<T, ID>
Run Code Online (Sandbox Code Playgroud)
Google搜索"具有非API返回类型"仅显示此消息显示在问题列表中的实例.即,没有公开解释.
这是什么意思?我们可以在Eclipse中创建一个使用问题过滤器以使消息消失,但如果我们的使用是合法的问题,我们不希望这样做.
谢谢!
编辑:此警告与参数化无关,因为此声明getFactory()也会产生相同的警告:
public abstract class EntityBean {
protected DAOFactory getFactory() {
return DAOFactory.instance(DAOFactory.HIBERNATE);
}
}
Run Code Online (Sandbox Code Playgroud) 好吧,这可能是一个远景,但这里有.
在Java(JRE 1.6.0_26-b03)中,我有两个类SuperControl及其子类SubControl.它们都需要是持久对象,而我正在使用Hibernate Annotations来实现这一点.我有大约210个正确持久的类.除了一个不是.
我的问题是SubControl拒绝以任何方式继承SINGLE_TABLE.当我说"拒绝"时,我的意思是整个JRE崩溃了.
这有点问题,因为我真的更喜欢SuperControl成为映射的超类SubControl.SuperControl也可以是一个持久的实体.奇怪的是,我在其他地方的代码中有一个完全并行的层次结构,它可以正常工作.
这就是我要的:
@Entity
@MappedSuperclass
public class SuperControl extends ItsSuperClass {
// ...
}
@Entity
public class SubControl extends SuperControl {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但它因错误而爆炸
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c1_Optimizer.cpp:271), pid=5456, tid=1260
# guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp
#
# JRE version: 6.0_26-b03
# …Run Code Online (Sandbox Code Playgroud) java inheritance hibernate single-table-inheritance hibernate-annotations
我有一个Window代表数据编辑器的WPF .所述DataContext的Window是可观察到的对象的(实现INotifyPropertyChanged).
可观察到的对象的属性中的每一个结合到一个适当的插件在Window(TextBox用于数字类型,CheckBox为bool等).
我不想让"确定"和"取消"按钮来保持更改的属性; 我希望当窗口小部件失去焦点时,底层数据将持久保存到可观察对象.
为此,我已经处理了小部件的事件PreviewLostKeyboardFocus和LostFocus事件.我的undo框架需要一个代表当前状态的observable对象的副本,以及一个新状态的副本.该PreviewLostKeyboardFocus事件使对象的副本,以及LostFocus活动实际执行保存到数据库中.
但我的问题是这样的:绑定场上不会实际更新底层观察的对象,直到后的LostFocus运行事件.实际效果是将文本TextBox从"A"更改为"B"将使字段中的数据保持为"A".将其从"A"更改为"B"到"C"将持续"B".
我在事件处理程序和底层对象的setter中放置了断点.果然,PreviewLostKeyboardFocus首先运行,然后运行,LostFocus最后是可观察对象的setter.
我想让它尽可能通用,所以虽然我可以告诉可观察对象使用它更新自己的属性KeyboardFocusChangedEventArgs,但我需要为每个字段分别设置事件处理程序,并且可能会有很多.
有没有什么办法让Binding运行之间的PreviewLostKeyboardFocus和LostFocus事件?
XAML:
<TextBox Text="{Binding ObjectProperty, StringFormat='{}{0:F5}'}" LostFocus="PersistentTextBox_LostFocus" PreviewLostKeyboardFocus="PersistentTextBox_PreviewLostKeyboardFocus" />
Run Code Online (Sandbox Code Playgroud)
代码背后的事件处理程序:
private void PersistentTextBox_LostFocus(object sender, RoutedEventArgs e) {
this.ObservableObject.PersistChanges(this.tempObservableObject);
}
private void PersistentTextBox_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {
this.tempObservableObject …Run Code Online (Sandbox Code Playgroud) 当我同时拥有一个ItemsSource和ItemTemplate一个WPF 时,我很困惑如何解析绑定ListBox.
我有一个ObservableCollection<int>电话ListOfIndexes.对于每个索引,我想在数据库表中查找其记录.我希望能够做到这一点IndexToObjectDescriptionConverter.
<ListBox ItemsSource="{Binding ListOfIndexes}"
ItemTemplate="{Binding Converter={StaticResource IndexToObjectDescriptionConverter}}" />
Run Code Online (Sandbox Code Playgroud)
但在转换器中的断点告诉我,值由读取ItemTemplate绑定是窗口本身-即DataContext的ItemsSource和ItemsTemplate是一样的.
请原谅一点坦率,但这似乎是DUMB.的全部要点ItemTemplate是渲染中的每一个元素ItemsSource,所以我想我想通了DataContext的ItemTemplate会被渲染的单个元素.
所以,那就是说,我怎么告诉ItemTemplate它应该担心代表的个别元素ItemsSource而不是使用整个窗口DataContext?
输入示例:
RC23
CC23QQ21HD32
BPOASDf91A5HH123
Run Code Online (Sandbox Code Playgroud)
输出示例:
[RC,23]
[CC,23,QQ,21,HD,32]
[BPOASDf,91,A,5,HH,123]
Run Code Online (Sandbox Code Playgroud)
字母和数字部分的长度不固定。
我知道如何将split()与正则表达式一起使用,//.' ' ' '([a-z])但是尽管我检查了split()Java API,但找不到任何可以帮助我解决此问题的东西。
有没有办法split()做到这一点?或者我需要使用另一种方法来拆分这些字符串。
任何帮助,将不胜感激。
我正在尝试使用Perl读取FORTRAN程序,并删除INCLUDE命令并将其替换为USE.
这很有效,除非打印出存储现有USE语句的哈希的内容,我得到一个额外的条目.
my @lines = ( );
my %uses = { };
foreach $f1line (<>) {
$f1line =~ s/\r[\n]*//g;
if ($f1line =~ /^\s*INCLUDE 'FILE1.CMN'/ ||
$f1line =~ /^\s*INCLUDE 'FILE2.CMN'/ ||
$f1line =~ /^\s*INCLUDE 'FILE3.CMN'/) {
$f1line = " USE My_Mod";
}
if ($f1line =~ /^\s*USE /) {
$uses{$f1line} = 1;
}
push @lines, $f1line . $/;
}
$found = 0;
foreach $line (@lines) {
if ($found == 0 && $line =~ /^\s*USE /) { …Run Code Online (Sandbox Code Playgroud)