小编Jon*_*n B的帖子

你应该先收集完全垃圾收集中的年轻一代吗?

我正在编写一个包含世代垃圾收集器的程序.只有两代人.我想知道的是:在进行全面收集时,我是通过先收集年轻的物体,将幸存者提升到老一代,然后收集老一代,或者我只是垃圾收集所有东西来获得任何东西(性能方面)一扫?我不确定人们通常采用哪种方式.

我现在正在使用两步法,因为它实现起来有点简单,但也许一步法更有效?

如果重要的话,垃圾收集器是非复制的.

garbage-collection

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

为什么我会在商业应用中使用Reflection?

我知道什么是反射,但为什么我需要在典型的业务线Winforms应用程序中使用它?

.net reflection

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

如何使用has_and_belongs_to_many将新模型与现有模型相关联

我有两个模型,有很多关系使用has_and_belongs_to_many.像这样:

class Competition < ActiveRecord::Base
  has_and_belongs_to_many :teams
  accepts_nested_attributes_for :teams
end

class Team < ActiveRecord::Base
  has_and_belongs_to_many :competitions
  accepts_nested_attributes_for :competitions
end
Run Code Online (Sandbox Code Playgroud)

如果我们假设我已经在数据库中创建了几个比赛,那么当我创建一个新的团队时,我想使用嵌套表单将新团队与任何相关的比赛相关联.

在这一点上,我确实需要帮助(已经坚持了好几个小时!)我认为我现有的代码已经以错误的方式解决了这个问题,但我会在以下情况下展示:

class TeamsController < ApplicationController
  def new
    @team = Team.new
    @competitions.all
    @competitions.size.times {@team.competitions.build}
  end
  def create
    @team = Team.new params[:team]
    if @team.save
      # .. usual if logic on save
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

并且观点......这是我真正陷入困境的地方所以我不会同时发布我的努力.我想要的是每个比赛的复选框列表,以便用户可以选择适当的比赛,并且不选择那些比赛.

我真的坚持这个,所以欣赏任何指向正确的方向,你可以提供:)

ruby many-to-many model ruby-on-rails associations

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

绘制/绘制外形

我们可以在一个表格之外绘制图像和绘制文本......我的意思是字面上在外...

我知道要问的愚蠢问题,但我们能......

c# paint draw winforms

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

我应该为包含Thread的类实现IDisposable

我有一个使用Thread类的类:

class A
{
    public Thread thread
    { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我应该实现IDisposable并将Thread属性设置为null吗?

class A : IDisposable
{
    public Thread Thread
    { get; set; }

    protected bool Disposed
    { get; set; }


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

    protected virtual void Dispose(bool disposing)
    {
        if (!this.Disposed)
        {
            if (disposing)
            {
                if (Thread != null)
                    Thread = null;
            }

            Disposed = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

或不?
为什么?

c# multithreading idisposable

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

我无法理解这种编程风格

有人可以向我解释这行代码的含义以及这是否是一种好的做法?

在我看来,它试图将一个或另一个值分配给布尔值,但目前尚不清楚.

   myBoolVar = isC || isP || isX;
Run Code Online (Sandbox Code Playgroud)

c# boolean variable-assignment

6
推荐指数
2
解决办法
460
查看次数

快速读取所有注册表值的方法

我正在编写一个实用程序,需要在HKCR中创建所有注册表值的列表.我这样做是使用递归函数:

var list = new Dictionary<string, string>();
Read(Registry.ClassesRoot, list);

static void Read(RegistryKey root, IDictionary<string, string> values)
{
    foreach (var child in root.GetSubKeyNames())
    {
        using (var childKey = root.OpenSubKey(child))
        {
            Read(childKey, values);
        }
    }            

    foreach (var value in root.GetValueNames())
    {
        values.Add(string.Format("{0}\\{1}", root, value), (root.GetValue(value) ?? "").ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但需要很长时间(我的电脑上有20秒).有没有更快的方法来做到这一点,还是这样做得好?

.net c# registry

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

关闭应用时提示用户保存

我正在撰写归结为文档编辑器的内容.当应用程序关闭时,我需要提示用户保存更改.这很容易.我的问题是什么时候提示用户,而只是丢弃未保存的数据并关闭.

在FormClosing事件中,CloseReason枚举包括:

  • 没有
  • WindowsShutDown
  • MdiFormClosing
  • UserClosing
  • TaskManagerClosing
  • FormOwnerClosing
  • ApplicationExitCall

我认为WindowsShutDown和TaskManagerClosing不应该导致"保存更改?" 提示出现,以防止应用程序挂起该提示显示.

这是标准做法,还是我应该在这里做些什么呢?

为清楚起见,这是代码:

protected override void OnFormClosing(FormClosingEventArgs e)
{
    base.OnFormClosing(e);

    if (!(e.CloseReason == CloseReason.WindowsShutDown || e.CloseReason == CloseReason.TaskManagerClosing)
            && this.ChangesPending())
    {
        switch (MessageBox.Show(this, "Save changes?", "Save Changes", MessageBoxButtons.YesNoCancel))
        {
            case DialogResult.Yes:
                this.Save();
                break;
            case DialogResult.No:
                // Do nothing
                break;
            case DialogResult.Cancel:
                e.Cancel = true;
                break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net shutdown application-shutdown winforms

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

使用.NET集合编辑器而不使用属性网格控件

我的表单上有一个PropertyGrid.我的老板认为这很难看.粗野.性格单纯.

他想要一个漂亮,整洁,干净的形式.这是一个问题:其中一个属性是我们自己种植的物品的集合.他喜欢这个系列的收藏编辑器.

我知道我可以建立自己的收藏编辑器.但有没有一个干净,简单的解决方案来节省我几个小时的编码,这样我可以直接创建和使用Collection编辑器而无需使用属性网格?

.net c# collections propertygrid

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

如何确定文件是否使用VBS锁定?

我正在编写一个VB脚本来更新网络上的一些文件.在开始之前,我想知道是否有任何文件被锁定.我真正做任何更新之前,我想这样做.

我知道当我尝试更换文件时,如果文件被锁定,我可以处理错误,但我真的想知道在开始更新任何文件之前是否有任何文件被锁定.

有没有办法看到使用VBS锁定文件(除了尝试替换它)?

vbscript wsh filesystemobject

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