Tag: 重构

C数据结构模仿C#的List <List >?

我希望将ac#方法重构为ac函数以试图获得一些速度,然后在c#中调用c dll以允许我的程序使用该function。 目前,c#方法采用整数列表并返回整数列表的列表。 该方法计算了整数的幂集,因此3个int的输入将产生以下输出(在此阶段,int的值不重要,因为它用作内部加权值) 1 2 3 1,2 1,3 2,3 1,2,3 每行代表一个整数列表。 输出指示第一个列表的索引(偏移量为1),而不是值。 因此1,2表示索引0和1处的元素是幂集的元素。 我不熟悉c,那么对于允许c#访问返回数据的数据结构,我最好的选择是什么? 提前致谢 更新 谢谢大家到目前为止的评论。 以下是问题本质的背景知识。 用于计算集合的幂集的迭代方法是相当直接的。 真正有两个循环和一点点操作。 它只是被称为..很多(事实上,如果集合的大小足够大,数十亿次)。 我对使用c(人们已经指出过的c ++)的看法是,它为性能调优提供了更多的空间。 直接端口可能不会提供任何增加,但它为更多涉及的方法开辟了道路,以便从中获得更高的速度。 即使每次迭代的小幅增加也等同于可测量的增长。 我的想法是移植直接版本,然后努力增加它。 然后随着时间的推移重构它(在SO的每个人的帮助下)。 更新2 来自jalf的另一个公平点,我不必使用list或equivelent。 如果有更好的方法,那么我愿意接受建议。 列表的唯一原因是每组结果的大小不同。 到目前为止的代码…… public List<List> powerset(List currentGroupList) { _currentGroupList = currentGroupList; int max; int count; //Count the objects in the group count = _currentGroupList.Count; max […]

function分析困境 – Visual Studio 2010 Ultimate

我试图在重构之前和之后分析我的应用程序来监视函数的效果。 我已经对我的应用程序进行了分析并查看了摘要我注意到Hot Path列表没有提到我使用的任何函数,它只提到Application.Run()的函数 我很擅长分析,并想知道如何通过MSDN文档certificate我可以获得有关Hot Path的更多信息; MSDN示例: 我的结果: 我注意到在输出窗口中有许多与加载符号时失败相关的消息,其中一些在下面; Failed to load symbols for C:\Windows\system32\USP10.dll. Failed to load symbols for C:\Windows\system32\CRYPTSP.dll. Failed to load symbols for (Omitted)\WindowsFormsApplication1\bin\Debug\System.Data.SQLite.dll. Failed to load symbols for C:\Windows\system32\GDI32.dll. Failed to load symbols for C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll. Failed to load symbols for C:\Windows\system32\msvcrt.dll. Failed to load symbols for C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll. Failed to load symbols for […]

重构Fibonacci算法

我多年没有使用过静态类型的语言,并且自己设定了使用C#加快速度的任务。 我正在使用我常用的技巧来完成15个练习http://www.jobsnake.com/seek/articles/index.cgi?openarticle&8533作为我的第一个任务。 我刚刚完成了第二次Fibonacci任务,这项任务并没有花费很长时间并且运行得很好,但在我看来看起来很丑陋,而且我确信可以用更少的优雅代码来实现。 我通常喜欢通过与已经知道他们正在做什么的人进行结对编程来学习,但是这个选项今天对我不开放,所以我希望在这里发帖将是下一个最好的事情。 所以对于所有C#Jedi来说,如果你要重构下面的代码,它会是什么样子? using System; using System.Collections; namespace Exercises { class MainClass { public static void Main(string[] args) { Console.WriteLine(“Find all fibinacci numbers between:”); int from = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(“And:”); int to = Convert.ToInt32(Console.ReadLine()); Fibonacci fibonacci = new Fibonacci(); fibonacci.PrintArrayList(fibonacci.Between(from, to)); } } class Fibonacci { public ArrayList Between(int from, int to) { int […]

您使用哪些工具和技术来查找死代码?

您使用哪些工具和技术在.NET中查找死代码? 在过去,我使用Obsolete属性修饰方法(传递true,因此编译器将发出错误,如MSDN中所述 )。 我有兴趣看到其他人的建议(除了像FxCop或ReSharper这样的工具)。 我想确保我不会错过其他有用的工具。