根据我的经验,似乎大多数人会告诉你强制垃圾收集是不明智的,但在某些情况下,你正在使用大型对象,这些对象并不总是在0代收集,但内存是一个问题,是它可以强制收集?这样做有最好的做法吗?
所有数字均匀分配为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) 因此,我需要生成一个代码,该代码可以绑定到特定用户/潜在客户,其中包含一定金额.它需要是可逆的,以便客户端应用程序可以确认代码的有效性并应用经理打算的折扣.
我想让代码尽可能短,但需要很好地混淆,以便销售人员不能自己开始搞乱它.
我可以拿出一些东西自己弹跳数字,除以pi并转换为十六进制等等但我真的对社区的想法或最佳实践感兴趣.
我在C#中这样做,但我希望可以翻译任何语言的方法.
编辑:澄清.我不能提前存储这些东西,代码必须在运行中构建并随身携带所有信息.
例如.推销员14打电话给客户773,并希望给他们500美元的订单.14,773和500必须在优惠券代码中,并且能够在销售人员在代码中键入后在客户端应用程序中提取.
你有什么调整/插件/主题来使你的IDE很棒?例如,在Visual Studio I 颜色主题中,CodeRush在大括号之间绘制线条,我总是安装并使用Consolas字体,我设置它来跨计算机同步我的设置,以便在FolderShare的帮助下更改热键和诸如此类的东西.
此外,这不是Visual Studio特定的,请随意提及您使用Emacs或Eclipse做什么,或者我们很多人使用的东西.
好的,所以我有一个名为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)