问题列表 - 第4580页

是否有必要在C#中显式删除事件处理程序

我有一个提供一些活动的课程.该类在全局声明但未在该全局声明上实例化 - 它根据需要在需要它的方法中实例化.

每次在方法中需要该类时,都会对其进行实例化并注册事件处理程序.是否有必要在方法超出范围之前显式删除事件处理程序?

当方法超出范围时,类的实例也是如此.是否在超出范围的情况下向该实例注册的事件处理程序是否存在内存占用意义?(我想知道事件处理程序是否使GC看不到类实例不再被引用.)

c# garbage-collection event-handling

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

为什么线程本地存储这么慢?

我正在为D编程语言开发一个自定义标记释放样式的内存分配器,它通过从线程局部区域分配来工作.似乎线程本地存储瓶颈导致从这些区域分配内存的巨大(~50%)减速与相同的单线程版本的代码相比,即使在设计我的代码以使每个分配只有一个TLS查找/释放.这是基于在循环中多次分配/释放内存,我试图弄清楚它是否是我的基准测试方法的工件.我的理解是线程本地存储基本上只需要通过额外的间接层访问某些东西,类似于通过指针访问变量.这是不正确的?线程本地存储通常有多少开销?

注意:虽然我提到D,但我也对D不具体的一般答案感兴趣,因为如果它比最佳实现慢,D的线程局部存储的实现可能会有所改进.

performance multithreading d thread-local-storage

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

比较c#中的对象属性

这就是我在许多其他类继承的类中作为方法提出的.这个想法是它允许在相同类型的对象的属性之间进行简单比较.

现在,这确实有效 - 但为了提高我的代码质量,我想我会把它扔出去仔细检查.它怎么能更好/更有效/等等?

/// <summary>
/// Compare property values (as strings)
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool PropertiesEqual(object comparisonObject)
{

    Type sourceType = this.GetType();
    Type destinationType = comparisonObject.GetType();

    if (sourceType == destinationType)
    {
        PropertyInfo[] sourceProperties = sourceType.GetProperties();
        foreach (PropertyInfo pi in sourceProperties)
        {
            if ((sourceType.GetProperty(pi.Name).GetValue(this, null) == null && destinationType.GetProperty(pi.Name).GetValue(comparisonObject, null) == null))
            {
                // if both are null, don't try to compare  (throws exception)
            }
            else if (!(sourceType.GetProperty(pi.Name).GetValue(this, null).ToString() == destinationType.GetProperty(pi.Name).GetValue(comparisonObject, null).ToString()))
            {
                // only …
Run Code Online (Sandbox Code Playgroud)

c# comparison properties object

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

如何检查单个字符是否出现在字符串中?

在Java中有一种方法来检查条件:

"这个单个字符是否出现在字符串x中"

没有使用循环?

java string validation character

185
推荐指数
6
解决办法
80万
查看次数

TeamCity忘记了管理员密码 - 在哪里看?

我需要恢复/重置JetBrain的TeamCity的管理员密码.

我有完整的RDP访问服务器,所以没有问题.我们使用它已经有两个月了,所以现在我已经忘记了我的登录 - 我平时的登录不起作用.

目前没有数据库的设置,所以希望用户名只是在某个文件中,但到目前为止没有运气.

teamcity

66
推荐指数
4
解决办法
3万
查看次数

如何手动生成随机数

我想手动生成随机数.我知道每种语言都有rand或随机函数,但我很想知道它是如何工作的.有人有代码吗?

random

15
推荐指数
6
解决办法
1万
查看次数

延迟某个css背景图像的加载

在像这样的CSS中:

...
#big-menu {
    background: #fff url(../images/big-menu.jpg) no-repeat;
}
#some-menu {
    background: #fff url(../images/some-menu.jpg) no-repeat;
}
#some-other-menu {
    background: #fff url(../images/some-other-menu.jpg) no-repeat;
}
...
Run Code Online (Sandbox Code Playgroud)

是有延迟的加载方式#big-menu的背景图像,使之一切,包括所有的HTML的图像之后加载,和所有其他的CSS背景(some-menusome-other-menu).

原因是,big-menu.jpg的大小非常重,我希望它最后加载.毕竟,它只是一个令人瞩目的焦点,还有其他背景图像比这更好用.(例如按钮中使用的那些)

将它放入CSS中的顺序或#big-menuHTML中出现的标记()是否与首先加载的内容有关?还是有更可靠的方法来控制它?javascript(jQuery首选)很好.

html javascript css loading background-image

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

如何使用Zend_Db获取Sqlite数据库的最后一个插入ID

我正在尝试在PHP应用程序中获取Sqlite DB的最后一个插入的行ID.我正在使用Zend Framework的PDO Sqlite适配器进行数据库处理.lastInsertId()方法应该给我结果,但它不会.在php.net的PDO文档中,我读到lastInsertId()在所有数据库上的工作方式可能不同.但它根本不适用于sqlite吗?我尝试通过这个覆盖适配器的lastInsertId()方法:

// Zend_Db_Adapter_Pdo_Sqlite
public function lastInsertId() {
    $result = $this->_connection->query('SELECT last_insert_rowid()')->fetch();
    return $result[0];
}
Run Code Online (Sandbox Code Playgroud)

但它也不起作用.我每次打电话都会返回0.是否有任何特殊的清洁方式来找到最后插入的ID?

php sqlite zend-db

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

为什么我应该在Jet数据库上使用SQLite

前几天有人问过我,我想不出一个好的答案.平台可移植性与项目完全无关.

事实上,Jet有一些SQLite没有的功能,即外键.

那么有谁能想到为什么应该使用SQLite而不是Jet数据库呢?

sqlite ms-access jet

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

如何在插值字符串中将Perl变量与文本分开?

考虑:

print "    $foo", "AAAAAAAA", $foo, "BBBBBBBB";
Run Code Online (Sandbox Code Playgroud)

假设我想将此代码用于print <<EOF;:

print <<EOF;
    $fooAAAAAAAA$fooBBBBBBBB";
EOF
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为Perl认为我有一个名为的变量$fooAAAAAAAA.print <<当我进行长时间的打印测试时,如何轻松使用这些线条?

variables perl interpolation

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