小编Eri*_*ric的帖子

案例不敏感词典与元组键

我有一个字典,其中键是元组,其中第一项是日期,第二项是字符串.我希望字典不区分大小写.

我知道如果键只是一个字符串,我可以在声明字典时将StringComparer.OrdinalIgnoreCase作为参数传递,但是当键是元组时,这似乎不起作用.

有没有办法指定要在元组的第二项上使用的StringComparer?

谢谢

c# dictionary string-comparison

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

初始化StringCollection设置

我正在编写一个应用程序,我想存储用户选择的文件列表.目前,我的一个设置是名为filesToFetch的StringCollection,它是用户范围的,包含程序应该获取的所有文件的路径.我有一个按钮,允许用户将新文件添加到列表中.这是按钮单击事件的代码

private void button1_Click(object sender, EventArgs e)
{
    DialogResult result = openFileDialog1.ShowDialog();
    if (result == DialogResult.OK)
    {
        Properties.Settings.Default.filesToFetch.Add(openFileDialog1.FileName);
        Properties.Settings.Default.Save();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将新文件添加到StringCollection时,我收到错误

NullReference异常未处理

你调用的对象是空的.

我认为这可能会发生,因为filesToFetch尚未初始化,但我不确定.我可能是错的,但我认为一个对象在初始化时会得到一个名称,并且由于我的设置都在设计时获得了名称,我认为它们会在程序运行时自动初始化,但现在我想我可能是错的对这个.这是问题,还是我错过了别的什么?

这是我的设置的屏幕截图以供参考.

属性设置

c# settings stringcollection

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

从 VBA 中的另一个子程序中抑制 MsgBox

我有一个 VBA 子程序,它可以调用其他人编写的子程序。偶尔,另一个 sub 会打开一个带有 OK 按钮的 MsgBox。另一个 sub 需要很长时间才能运行,我调用了数百次,所以我希望能够在一夜之间运行它。不幸的是,我想不出一种在 MsgBox 上自动单击“确定”的方法。

我试过了

Application.DisplayAlerts = False
Run Code Online (Sandbox Code Playgroud)

但这不会抑制消息框。

有没有办法做到这一点?

谢谢

vba msgbox

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

实现具有实现所需返回类型的返回类型的接口

为什么我不能这样做?

IHasOperatingSystem {
IOperatingSystem OperatingSystem { get; }
} 

Computer<T> : IHasOperatingSystem where T : IOperatingSystem {
public T OperatingSystem { get; }
}
Run Code Online (Sandbox Code Playgroud)

它告诉我类型应该是IOperatingSystem,但如果T实现IOperatingSystem,那应该不够吗?

此外,我意识到这个问题的标题可能有点令人困惑,但我想不出更好的方式来表达它.

.net c# generics

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