小编Dav*_*art的帖子

清除.NET的StringBuilder内容的最佳方法

我想问一下你认为最好的方法(持续时间更少/消耗更少的资源)来清除内容以重用StringBuilder.想象一下以下场景:

StringBuilder sb = new StringBuilder();
foreach(var whatever in whateverlist)
{
  sb.Append("{0}", whatever);
}

//Perform some stuff with sb

//Clear stringbuilder here

//Populate stringbuilder again to perform more actions
foreach(var whatever2 in whateverlist2)
{
  sb.Append("{0}", whatever2);
}
Run Code Online (Sandbox Code Playgroud)

在清除StringBuilder时,我可以想到两种可能性:

sb = new StringBuilder();
Run Code Online (Sandbox Code Playgroud)

要么

sb.Length = 0;
Run Code Online (Sandbox Code Playgroud)

清除它的最佳方法是什么?为什么?

谢谢.

编辑:我使用当前的.NET 3.5版本.

.net c# optimization .net-3.5

69
推荐指数
6
解决办法
7万
查看次数

Mysql的.无法创建表errno 150

我必须在mysql中创建一个包含2个表的数据库,但是脚本因errno 150而失败(外键问题).我仔细检查了两个表上的外键字段是否相同,我找不到任何错误.

这是脚本:

 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

 DROP SCHEMA IF EXISTS `testdb`;
 CREATE SCHEMA IF NOT EXISTS `testdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
 USE `testdb`;

 DROP TABLE IF EXISTS `testdb`.`table1` ;

 CREATE  TABLE IF NOT EXISTS `testdb`.`table1` (
   `id` INT UNSIGNED NOT NULL ,
   `field1` VARCHAR(50) NULL ,
   PRIMARY KEY (`id`) )

 ENGINE = InnoDB;


 DROP TABLE IF EXISTS `testdb`.`table2` ;

 CREATE  TABLE IF NOT EXISTS `testdb`.`table2` (
   `id` INT NOT NULL AUTO_INCREMENT …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1005

68
推荐指数
8
解决办法
9万
查看次数

在所有$(document).ready()运行之后,是否有事件发生?

我有一个first.js文件包含在页面index.php中,有类似这样的东西:

$(function(){

    $("#my_slider").slider("value", 10);

});
Run Code Online (Sandbox Code Playgroud)

而在index.php中我有一些动态创建的滑动:

<?php function slidders($config, $addon)
{
    $return = '
    <script type="text/javascript">
        $(function() {
            $("#slider_'.$addon['p_cod'].'").slider({
            min: '.$config['min'].',
            max: '.$config['max'].',
            step: '.$config['step'].',
            slide: function(event, ui) {
                $("#cod_'.$addon['p_cod'].'").val(ui.value);
                $(".cod_'.$addon['p_cod'].'").html(ui.value+"'.@$unit.'");
            },
            change: function(event, ui) { 
                $("#cod_'.$addon['p_cod'].'").change();
            }
        });
            $("#cod_'.$addon['p_cod'].'").val($("#slider_'.$addon['p_cod'].'").slider("value"));
            $(".cod_'.$addon['p_cod'].'").html($("#slider_'.$addon['p_cod'].'").slider("value")+"'.@$unit.'");
    });
    </script>';
    return $return;
} ?>
Run Code Online (Sandbox Code Playgroud)

问题是,因为我的index.php滑块在我的first.js之后被实例化我无法在那里设置一个值,是否有任何事件,比如"毕竟$(document).ready()已经运行"我可以在first.js中使用来操作index.php中创建的滑块?

jquery

59
推荐指数
4
解决办法
9万
查看次数

Sql Server中的嵌套事务

想象一下以下场景:

我正在使用SQL Server 2005.我有一个事务,在其他SQL语句中调用一个内部也有事务的存储过程.外部事务有时会失败,并在成功调用和提交存储过程后回滚.

我的问题是,存储过程的事务是否也回滚了?

sql-server transactions

32
推荐指数
2
解决办法
4万
查看次数

识别IDisposable对象

我必须检查一些其他人有一些内存泄漏的代码.现在我正在搜索一次性对象以使用using语句对它们进行包围,我想知道是否有一种快速方式告诉你所有声明的一次性对象.我的意思是像resharper或另一个visual studio插件.

谢谢.

c# dispose memory-leaks idisposable using-statement

13
推荐指数
3
解决办法
3873
查看次数

数据访问层设计模式

我必须设计一个带.NET的数据访问层,它可能会使用多个具有相同关系设计的数据库管理系统(Mysql和Sql Server).

基本上,从一个数据库切换到另一个数据库必须简单,所以我希望你向我推荐一些对你有用的网站或书籍,通常的设计模式或信息来实现这种数据访问层.

谢谢.

.net database oop design-patterns

13
推荐指数
2
解决办法
2万
查看次数

PHP-使用预准备语句在mysql中插入二进制数据

我必须使用php的mysql改进库将一行插入到mysql中具有类型为VARBINARY的主键的表中.该字段的内容是计算的sha1哈希.

如果我以旧的方式运行查询它完美地工作:

$mysqli->$query("INSERT INTO table (id, field1) VALUES (0x" . $id . ",'" . $field1 . "')");
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将其作为准备好的声明执行时,我无法弄清楚如何做到这一点.如果我执行等效操作:

if($stmt = $mysqli->prepare("INSERT INTO table (id, field1) VALUES (?, ?)")) {
    $stmt->bind_param('ss', "0x".$id, $field1);
    //execute statement
}
Run Code Online (Sandbox Code Playgroud)

它会抛出一个异常,说明这个字段的内容太大了.如果我尝试将其作为BLOB字段插入:

if($stmt = $mysqli->prepare("INSERT INTO table (id, field1) VALUES (?, ?)")) {
    $stmt->bind_param('bs', $id, $field1);
    //execute statement
}
Run Code Online (Sandbox Code Playgroud)

它没有给出错误,插入了行,但标识符字段现在为空(不为空,为空).

我知道我可以混合查询并输入字符串中连接的id和其他字段作为预准备语句的绑定参数,但我只是想知道插入这个的正确方法是什么,也许它会帮助某些人未来.

php mysql prepared-statement

12
推荐指数
2
解决办法
8677
查看次数

Drupal表单:希望在页面上将以前的表单值显示为default_value

我的目标是,如果用户提交此表单,其"产品名称"值为"YYY".在提交页面上应重新加载,但这次"产品名称"应显示以前的valye默认为本例"YYY".

这是我的代码......

function addnewproduct_page () {
  return drupal_get_form('addnewproduct_form',&$form_state);
}

function addnewproduct_form(&$form_state) {
  $form = array();


    $formproductname['productname'] = array (
    '#type' => 'textfield',
    '#title' => t('Product Name'),
    '#required' => TRUE,
        '#size' => '20',
  );

    if (isset($form_state['values']['productname'])) 
    {
    $form['productname']['#default_value'] = $form_state['values']['productname'];
  }

  //a "submit" button
  $form['submit'] = array (
    '#type' => 'submit',
    '#value' => t('Add new Product'),  
  );
  return $form;
}
Run Code Online (Sandbox Code Playgroud)

forms drupal

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

在Windows服务中运行cdb时无法下载微软符号

我有一个.NET Windows服务,它调用cdb.exe来分析崩溃转储.我想在需要时使用以下参数自动从http://msdl.microsoft.com下载符号:

-y srv*c:\symbols*http://msdl.microsoft.com/download/symbols
Run Code Online (Sandbox Code Playgroud)

如果我将应用程序作为控制台应用程序运行,它按预期工作,并为每个转储下载所需的符号.

问题是,当我将应用程序作为Windows服务启动时,符号不会被下载,如果我打开symnoisy,在cdb的输出日志中,我有一个条目,表示在http:/处找不到该符号/msdl.microsoft.com

所以,我使用嗅探器检查了它,有趣的是,当作为服务运行时,没有请求微软符号服务器.

谷歌搜索了一下,我发现我不是唯一一个有这个问题的人,似乎问题是当一个应用程序作为Windows服务运行时,它使用winHTTP库来进行http请求,而不是wininet,我认为是问题的根源:http://support.microsoft.com/kb/238425

所以,我不知道为什么,cdb无法使用winHTTP库连接到ms符号服务器,我需要一种强制cdb默认使用wininet的方法.

任何人都知道这个问题的解决方法?

windows-services symbols windbg wininet winhttp

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

hbase中存储的hbase命名空间/表数据在哪里?

hbase在哪里存储命名空间/表的数据文件?我发现这篇文章:Hbase如何编写其数据以及我需要一个完整路径位置,只是为了将权限分离到不同的命名空间.

在Hive文件在hive_warehouse_path/database/table/partition中,我在Hbase中寻找相同的文件.

你能帮我吗?

关于Pawel

编辑:顺便说一句,我发现了一个关于HBase中文件结构的有趣幻灯片:http://www.slideshare.net/enissoz/hbase-and-hdfs-understanding-filesystem-usage

hadoop hbase

5
推荐指数
2
解决办法
2万
查看次数