问题列表 - 第5770页

为什么在析构函数中调用dispose(false)?

以下是典型的配置模式示例:

 public bool IsDisposed { get; private set; }

  #region IDisposable Members

  public void Dispose()
  {
    Dispose(true);
    GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing)
  {
    if (!IsDisposed)
    {
      if (disposing)
      {
        //perform cleanup here
      }

      IsDisposed = true;
    }
  }

  ~MyObject()
  {
    Dispose(false);
  }
Run Code Online (Sandbox Code Playgroud)

我理解dispose的作用,但是我不明白你为什么要在析构函数中调用dispose(false)?如果你看一下这个定义它什么都不会做,那么为什么有人会编写这样的代码呢?根本不打算从析构函数中调用dispose 是不是有意义?

c# dispose

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

将字符数字转换为C中的相应整数

有没有办法将字符转换为C中的整数?

例如,从'5'5到?

c type-conversion

91
推荐指数
6
解决办法
43万
查看次数

什么时候不使用垃圾收集?

不使用垃圾收集的明显情况是实时性很强,内存严重受限,并且想要用指针进行操作.有没有其他的,较少讨论的,很好的理由为什么有人更喜欢手动内存管理而不是GC?

language-agnostic garbage-collection memory-management

12
推荐指数
1
解决办法
1240
查看次数

有一个很好的哈希函数的C++哈希表?

我需要在C++中使用面向性能的哈希函数实现来实现我将要编码的哈希表.我已经环顾四周,只发现了一个问题,询问什么是"一般"的好散列函数.我已经考虑过CRC32(但在哪里可以找到很好的实现?)和一些加密算法.不过,我的桌子有非常具体的要求.

这是表格的样子:

100,000 items max
200,000 capacity (so the load is 0.5)
hashing a 6-character string which is a part of English sentence
     examples: "become"    "and he"    ", not "
Run Code Online (Sandbox Code Playgroud)

首要任务我哈希表的是快速搜索(检索).快速插入并不重要,但它会伴随快速搜索.删除并不重要,重新哈希不是我要研究的东西.为了处理冲突,我可能会使用这里描述的单独链接.我已经看过这篇文章了,但是想要对那些曾经处理过这样的任务的人提出意见.

c++ hash hashtable

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

glLoadIdentity()在OpenGL中做什么?

我是OpenGL的新手,我对代码中的所有随机函数都有点不知所措.他们工作,我知道何时使用它们,但我不知道为什么我需要它们或他们实际做什么.

我知道glLoadIdentity()用当前矩阵替换当前矩阵,但究竟是做什么的呢?如果每个程序都需要它,除非另有说明,为什么默认情况下不是单位矩阵?除非我知道他们做了什么,否则我不喜欢在我的代码中使用函数.我应该注意到,我专门为丰富的2D客户端使用OpenGL,所以请原谅我的无知,如果这对于3D非常明显.

关于glMatrixMode(GL_PROJECTION)VS 也有点困惑glMatrixMode(GL_MODELVIEW).

opengl graphics

130
推荐指数
3
解决办法
8万
查看次数

代表用法:业务应用程序

背景

鉴于"大多数"开发人员是业务应用程序开发人员,我们最喜欢的编程语言的功能用于我们正在使用它们的上下文中.

作为C#/ ASP.NET应用程序开发人员,我倾向于在处理UI事件时仅使用委托.事实上(这是我缺乏经验的一部分),我甚至不知道除了使用代表的事件之外的良好背景! 这非常可怕; 但我正在收集同一条船上还有其他开发商.

注意:答案应该与.NET 2.0有关..NET 3.0将代理完全带到了不同的级别,这可能是一个单独的问题.

题:

除了事件之外,委托有多大用处,以及哪些业务应用程序上下文最有用?

更新:Jarrod Dixon 有助于链接有关委托使用情况的MSDN文档,我必须承认我最喜欢的设计模式书根本没有提出代理,所以除了UI事件之外我还没有真正看到它们的使用.要扩展这个问题(只是一点点!),您可以为业务应用程序(或者实际上,任何必须处理相关问题的应用程序)提供哪些示例,以便更容易地消化有关该主题的MSDN文档?

.net c# asp.net delegates

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

当程序与其他程序或其他计算机进行通信时,它会调用什么

作为一个真正的初学者,人们经常发现进一步知识的障碍不知道谷歌是什么.

我制作了像pong和数独求解器这样的程序,简单的东西.这些天我想做一些更像tablock或制作多人游戏的东西,或者至少开始考虑会涉及到什么.

那么当程序导致其他程序执行此操作时,或者当程序与另一台计算机上的自身副本在这个庞大的互联网中的其他位置进行对话时,它究竟是什么呢?

ž.

network-programming

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

如何将一组重叠范围划分为非重叠范围?

假设你有一组范围:

  • 0 - 100:'a'
  • 0 - 75:'b'
  • 95 - 150:'c'
  • 120 - 130:'d'

显然,这些范围在某些点重叠.您如何剖析这些范围以生成非重叠范围列表,同时保留与其原始范围相关的信息(在这种情况下,范围后面的字母)?

例如,运行算法后的上述结果将是:

  • 0 - 75:'a','b'
  • 76 - 94:'a'
  • 95 - 100:'a','c'
  • 101 - 119:'c'
  • 120 - 130:'c','d'
  • 131 - 150:'c'

python algorithm math range rectangles

10
推荐指数
2
解决办法
3586
查看次数

如何在Mac OS X 10.5 Leopard上设置PEAR

我最终尝试安装PEAR,因此我可以轻松安装PHPUnit.我想建立一个Mac,Apache,MySQL,PHP,PHPUnit开发环境,以便我可以在本地进行测试.我已经有Apach,MySQL和PHP工作了.现在我只需要PHPUnit,这意味着我需要PEAR来安装它.

我已经搜遍了所有,并且有关于如何在Mac OS X 10.5上安装PEAR的"教程"的一些变体.但是,我似乎无法让他们中的任何一个工作!有人有这个成功吗?我并不完全相信我已经设置了应有的一切,所以如果您可以包含"默认"Mac OS X 10.5包含路径,或者简单解释一切应该去哪里,我将不胜感激.

按照教程,我执行以下操作:

curl http://pear.php.net/go-pear > go-pear.php
sudo php -q go-pear.php
Run Code Online (Sandbox Code Playgroud)

我按Enter键直到找到包含7个包含路径的列表:

1. Installation prefix ($prefix) : /Users/andrew
2. Temporary files directory     : $prefix/temp
3. Binaries directory            : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory  : $php_dir/docs
6. Data base directory           : $php_dir/data
7. Tests base directory          : $php_dir/tests
Run Code Online (Sandbox Code Playgroud)

我改变Installation prefix/usr/local,按回车键继续,类型Y也安装PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2.最终,一切都安装好了.

下一个...

在第一次尝试时,我认为include_path是从php.ini文件中注释掉的,但由于我已经更改了这一行,这不是我第一次尝试安装,我得到以下消息:

WARNING!  The …
Run Code Online (Sandbox Code Playgroud)

php macos pear osx-leopard

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

字节序列化C#中的结构的字节

我正在寻找C#中序列化的语言支持.我可以从ISerializable派生并通过在字节缓冲区中复制成员值来实现序列化.但是,我更喜欢像C/C++那样的自动方式.

请考虑以下代码:

using System;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;

namespace XBeeHelper
{
    class XBee
    {
        [Serializable()]
        public struct Frame<FrameType> where FrameType : struct
        {
            public Byte StartDelimiter;
            public UInt16 Lenght;
            public Byte APIIdentifier;
            public FrameType FrameData;
            public Byte Checksum;
        }

        [Serializable()]
        public struct ModemStatus
        {
            public Byte Status;
        }

        public Byte[] TestSerialization()
        {
            Frame<ModemStatus> frame = new Frame<ModemStatus>();
            frame.StartDelimiter = 1;
            frame.Lenght = 2;
            frame.APIIdentifier = 3;
            frame.FrameData.Status = 4;
            frame.Checksum = 5;

            BinaryFormatter formatter = new …
Run Code Online (Sandbox Code Playgroud)

c# serialization

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