小编JYe*_*ton的帖子

如何将ConcurrentDictionary转换为Dictionary?

我有一个ConcurrentDictionary对象,我想将其设置为Dictionary对象.

不允许在他们之间施放.那我该怎么做?

.net c# dictionary concurrentdictionary

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

TotalFreeSpace和AvailableFreeSpace之间有什么区别

无法理解的差别TotalFreeSpaceAvailableFreeSpace

.net c#

23
推荐指数
2
解决办法
5875
查看次数

如何将CenterParent转换为非模态形式

我有一个非模态子表单,从父表单打开.我需要将子表单居中到其父表单.我已经设置了子表单的属性CenterParent并尝试了这个:

Form2 f = new Form2();
f.Show(this);
Run Code Online (Sandbox Code Playgroud)

但无济于事.这适用于模态形式,但非模态形式则不然.任何简单的解决方案,还是需要我通过所有数学计算来确定其位置为中心?

c# forms parent-child winforms centering

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

如何从C#运行具有OUTPUT参数的存储过程?

我有一个带有输出参数的存储过程.如何使用C#代码读取此值?

c#

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

比较DateTimes:DateTime.Compare()与关系运算符

以下是比较两个DateTimes的两种方法:

DateTime now = DateTime.Now;
DateTime then = new DateTime(2008, 8, 1);

// Method 1
if (DateTime.Compare(then, now) < 0)
    // ...

// Method 2
if (then < now)
    // ...
Run Code Online (Sandbox Code Playgroud)

.Compare 返回一个整数(-1,0,1),指示第一个实例是否早于,等于或晚于第二个实例.

我的问题是,为什么我用.Compare的时候,我可以使用关系运算符(<,<=,==,>=,>直接)?在我看来,使用.Compare,无论如何我需要使用关系运算符(至少在上面的例子中;或者我可以创建一个检查案例-1,0和1的switch语句).

什么情况会更喜欢或需要使用DateTime.Compare()

c# comparison datetime

20
推荐指数
2
解决办法
7088
查看次数

如何在FlowLayoutPanel中禁用水平滚动条?

我有一个FlowLayoutPanel,它有多个控件.我只想在垂直方向滚动.但是当我设置时AutoScroll = true,我得到了垂直和水平滚动条.如何禁用水平滚动条并仅保持垂直滚动条工作?

c# scrollbar flowlayoutpanel winforms

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

是否有更低成本的亚马逊关系数据库服务(RDS)替代品?

我有以下要求.我有一个数据库,其中包含我校校友组织至少2000名成员的联系方式地址详细信息.我们希望将所有信息存储在关系模型中

  1. 可以按需创建和编辑此数据.
  2. 此数据始终备份,并且在主副本变得不可用时应该很容易恢复.
  3. 驻留在此数据库中的所有敏感个人信息都保证仅供授权用户使用.
  4. 此数据库在前6个月内不会在线.只有在网站建立之后,它才会在线.

我不是DBA,我不想花时间做备份等事情.我认为亚马逊的RDS配备它的自动备份设备是满足我们需求的完美解决方案.唯一的问题是,作为一个自愿组织,我们不能免除这项服务所需的每月100美元到150美元的费用.

所以我的问题是,亚马逊的RDS是否有更低成本的替代品?

amazon-web-services amazon-rds

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

使用ComboBox的自动完成功能,同时将值限制为列表中的值?

在WinForms 2.0中,ComboBox具有自动完成功能,该功能显示自定义下拉列表,其中仅包含以输入文本开头的值.

但是,如果我想将有效值限制为仅显示在ComboBox项目列表中的值,我可以通过设置DropDownStyleto DropDownList来阻止用户输入值.

但是,现在我无法使用需要用户输入的自动完成功能.

是否有其他方法可以限制输入到列表,同时仍然允许使用自动完成功能?请注意,我已经看到了一些针对此的自定义解决方案,但我真的很喜欢匹配的自动完成项目在下拉列表中显示的方式,并且即使原始列表可能不是这样排序的.

编辑:我已经考虑过验证输入的值,即测试用户输入是否在TextChanged事件中有效,甚至是使用Validating事件.那么问题是预期的行为是什么?我是否清除它们的值(空值也无效),还是使用默认值?最接近的匹配值?

Ps我可以在这个问题上添加任何其他标签吗?

.net validation combobox winforms

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

PasswordDeriveBytes vs Rfc2898DeriveBytes,过时但速度更快

我正在研究基于从SymmetricAlgorithm继承的类的加密功能,例如TripleDes,DES等.

基本上有两种方法可以为我的算法类生成一致的密钥和IV,PasswordDeriveBytes并且Rfc2898DeriveBytes都继承自DeriveBytes抽象类.

PasswordDeriveBytes.GetBytes()方法在.NET框架中标记为过时,建议使用Rfc2898DeriveBytes.GetBytes(),因为它与PBKDF2标准匹配.但是,根据我的测试,GetBytes()在Rfc2898DeriveBytes类中调用相同的方法几乎比类中的方法慢15倍PasswordDeriveBytes,这导致意外的CPU使用率(总是高于50%).

这是一些测试数据:

  • 迭代次数:100
  • 算法类型:DES
  • 原文:"我是测试密钥,请加密我"
  • 时间:
    • PasswordDeriveBytes:99ms
    • Rfc2898DeriveBytes:1,373ms

基于测试,Rfc2898DeriveBytes在生产环境中不良性能是不可接受的.

之前有没有人注意到这个问题?任何解决方案我仍然可以使用标准的解决方案而不会达到性能?使用过时方法的任何风险(可能在将来的版本中删除)?

多谢你们!

编辑:

可能我发现问题出在哪里...默认的迭代计数数为PasswordDeriveBytes100,而for Rfc2898DeriveBytes为1000.在我将它们更改为与1000相同的数字后,执行Rfc2898DeriveBytes只有两倍.

.net cryptography pbkdf2 rfc2898

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

使用LINQ查找数组中的最小和最大日期?

我有一个带有属性的类数组Date,即:

class Record
{
    public DateTime Date { get; private set; }
}

void Summarize(Record[] arr)
{
    foreach (var r in arr)
    {
        // do stuff 
    }
}
Run Code Online (Sandbox Code Playgroud)

我必须在这个数组中找到earliest(最小)和latest(最大)日期.

我怎么能用LINQ做到这一点?

.net c# linq arrays search

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