问题列表 - 第24346页

调用方法的条件返回方法呢?

好吧,这可能是一些黑客攻击,但请忍受我:)背景是我厌倦了一些方法,那些if语句会弄乱整个方法,例如:

public SomeClass DoStuff(string inputStr)
{
  SomeClass result =null;
  if (IsOpenFilter(inputStr))
  {
    ....
  }

  return result;
}
Run Code Online (Sandbox Code Playgroud)

所以我在想,如果我可以做这样的事情,那不是很好吗:

public SomeClass DoStuff(string inputStr)
{
  Require(IsOpenFilter(inputStr),null);


  ....

  return result;
}
Run Code Online (Sandbox Code Playgroud)

这种情况可能会被某种形式的代码合同所涵盖,如果是这样,请纠正我:)

我们的想法是,如果语句的计算结果为true,则返回null.如果该方法没有返回类型,则只需:Require(IsOpenFilter(inputStr));

所以我想有两个问题,这可以以某种方式完成吗?我对如何通过调用方法进行条件返回感到困惑.

另一个问题是,这是一个好主意吗?monkeypatch这样的语言有点奇怪,但我更喜欢代码读取的方式.如果它可以放在方法上面的属性中,我会更干净:[Require(IsOpenFilter(inputStr))]

c# code-contracts

5
推荐指数
1
解决办法
2843
查看次数

红黑树 - 用两个非叶子的孩子擦除一个节点

我一直在实现我自己的红黑树版本,主要基于维基百科的算法(http://en.wikipedia.org/wiki/Red-black_tree).它在很大程度上相当简洁,但有一部分我想澄清.

从具有2个非叶子(非NULL)子节点的树中删除节点时,它表示将任一方的子节点移动到可删除节点中,并删除该子节点.

基于此,我对哪一方要删除感到困惑.我是否随机选择一侧,我是否在两侧之间交替,或者我是否会在未来的每次删除时都坚持到同一侧?

algorithm red-black-tree

5
推荐指数
1
解决办法
156
查看次数

如何使用Java进行面向块的磁盘I/O?或类似的B +树

我想在Java中实现一个B +树,并尝试针对基于磁盘的I/O进行优化.是否有用于从Java访问单个磁盘块的API?或者是否有一个API可以执行类似的面向块的访问,以满足我的目的?

我想在100%Java中创建像Tokyo Cabinet这样的东西.是否有人知道像JavaDB这样的Java数据库在后端使用了什么?

我知道可能有其他语言而不是Java可以做得更好,但我这样做只是为了学习目的.

java io b-tree backend

4
推荐指数
1
解决办法
608
查看次数

什么是数据库约束?

什么是数据库约束的明确定义?为什么约束对数据库很重要?有哪些类型的约束?

sql sql-server rdbms constraints

86
推荐指数
3
解决办法
16万
查看次数

如何纠正IE8原生json中的字符编码?

我正在使用带有unicode文本的json,并且我遇到了IE8本机json实现的问题.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<script>
    var stringified = JSON.stringify("?????? olé");
    alert(stringified);
</script>
Run Code Online (Sandbox Code Playgroud)

使用json2.js或FireFox本机json,alert()字符串与原始字符串相同.另一方面,IE8返回Unicode值而不是原始文本\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35 ol\u00e9.是否有一种简单的方法可以使IE的行为与其他行为相同,或者将此字符串转换为应该如何?你会认为这是IE中的一个错误,我认为原生json实现应该是json2.js的相同替代品吗?

编辑:使用上面的代码重写jsfiddle - http://jsfiddle.net/vV4uz/

javascript unicode encoding internet-explorer json

7
推荐指数
1
解决办法
6846
查看次数

如何使用Perl TK将Scrollbar添加到Mainwindow

我想在主窗口中添加滚动条.如何在主窗口中添加滚动条.请帮我.

perl tk-toolkit

2
推荐指数
1
解决办法
1738
查看次数

C中的条件运算符

可以将每个if ... then ... else语句转换为仅使用?的等效语句:

c ternary-operator

4
推荐指数
1
解决办法
250
查看次数

如何获取mysql中记录的大小

如果表包含TEXT或BLOB类型的字段,如何获取MySql中记录的大小?

是否可以使用sql语句获取记录或表的大小?

mysql

5
推荐指数
1
解决办法
6209
查看次数

何时使用抽象类?

这是关于抽象类的MSDN文章,但我真的不明白......

我什么时候应该使用抽象类?使用抽象类有什么好处?

.net c# abstract-class

77
推荐指数
4
解决办法
6万
查看次数

FindBugs:“可能无法关闭流” - 这在 InputStream 的情况下有效吗?

在我的 Java 代码中,我启动了一个新进程,然后获取其输入流以读取它:

BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
Run Code Online (Sandbox Code Playgroud)

FindBugs 在这里报告错误:

may fail to close stream
Pattern id: OS_OPEN_STREAM, type: OS, category: BAD_PRACTICE
Run Code Online (Sandbox Code Playgroud)

我必须关闭另一个进程的 InputStream 吗?更重要的是,根据它的 Javadoc, InputStream#close() 什么都不做。那么这是误报,还是应该在完成后真正关闭流程的输入流?

java findbugs stream

3
推荐指数
1
解决办法
6665
查看次数