小编Ech*_*orm的帖子

在C#中强制垃圾收集的最佳实践

根据我的经验,似乎大多数人会告诉你强制垃圾收集是不明智的,但在某些情况下,你正在使用大型对象,这些对象并不总是在0代收集,但内存是一个问题,是它可以强制收集?这样做有最好的做法吗?

.net c# garbage-collection

116
推荐指数
11
解决办法
15万
查看次数

找到给定数字的所有因子的最佳方法

所有数字均匀分配为x.

我输入4它返回:4,2,1

编辑:我知道这听起来像家庭作业.我正在编写一个小应用程序,用半随机测试数据填充一些产品表.其中两个属性是ItemMaximum和Item Multiplier.我需要确保乘数不会产生不合逻辑的情况,即购买1个项目会使订单超过允许的最大值.因此,这些因子将为我的测试数据提供有效值列表.

编辑++:这是我在所有人的帮助下使用的内容.再次感谢!

编辑#:我写了3个不同的版本,看看我更喜欢哪个版本,并测试它们以防止小数字和非常大的数字.我会粘贴结果.

static IEnumerable<int> GetFactors2(int n)
{
    return from a in Enumerable.Range(1, n)
                  where n % a == 0
                  select a;                      
}

private IEnumerable<int> GetFactors3(int x)
{            
    for (int factor = 1; factor * factor <= x; factor++)
    {
        if (x % factor == 0)
        {
            yield return factor;
            if (factor * factor != x)
                yield return x / factor;
        }
    }
}

private IEnumerable<int> GetFactors1(int x)
{
    int max = (int)Math.Ceiling(Math.Sqrt(x));
    for (int factor = …
Run Code Online (Sandbox Code Playgroud)

.net c# math

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

生成用户特定的1时间优惠券代码

因此,我需要生成一个代码,该代码可以绑定到特定用户/潜在客户,其中包含一定金额.它需要是可逆的,以便客户端应用程序可以确认代码的有效性并应用经理打算的折扣.

我想让代码尽可能短,但需要很好地混淆,以便销售人员不能自己开始搞乱它.

我可以拿出一些东西自己弹跳数字,除以pi并转换为十六进制等等但我真的对社区的想法或最佳实践感兴趣.

我在C#中这样做,但我希望可以翻译任何语言的方法.

编辑:澄清.我不能提前存储这些东西,代码必须在运行中构建并随身携带所有信息.

例如.推销员14打电话给客户773,并希望给他们500美元的订单.14,773和500必须在优惠券代码中,并且能够在销售人员在代码中键入后在客户端应用程序中提取.

c# language-agnostic encoding cryptography

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

您如何自定义IDE?

你有什么调整/插件/主题来使你的IDE很棒?例如,在Visual Studio I 颜色主题中,CodeRush在大括号之间绘制线条,我总是安装并使用Consolas字体,我设置它来跨计算机同步我的设置,以便在FolderShare的帮助下更改热键和诸如此类的东西.

此外,这不是Visual Studio特定的,请随意提及您使用Emacs或Eclipse做什么,或者我们很多人使用的东西.

language-agnostic ide customization development-environment

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

使用抽象类型的反射从表中获取实体

好的,所以我有一个名为Product的抽象类.我有3个名为Items,Kits和Packages的表,它们实现了Product.产品具有公开属性,公开对象的主键.

那说我有一个表格,我通过产品.我想从新的datacontext中取出该产品,而不必编写一个反映它的类型的大开关来获得正确的表格.

我想做这样的事情,但演员阵容不会接受foo.

public BuilderInclusionsForm(Product p) : this()
        {            
            Type foo = p.GetType();
            product = db2.GetTable(p.GetType()).Cast<foo>().SingleOrDefault(a => 
                a.ProductID == p.ProductID);
Run Code Online (Sandbox Code Playgroud)

或这个:

public BuilderInclusionsForm(Product p) : this()
        {            
            Type foo = p.GetType();
            product = db2.GetTable(p.GetType()).OfType<foo>().SingleOrDefault(a => 
                a.ProductID == p.ProductID);   
Run Code Online (Sandbox Code Playgroud)

c# linq abstraction

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