草庐IT

testbench编写

全部标签

c# - 在过去十年中我一直在使用 VB 编写代码,我该如何调整我的 C# 技能?

我的职业生涯是在vax系统上使用C/C++编码开始的,但签订了一些全是VB的契约(Contract),然后成为VB专家,然后是VB.net。现在我渴望在微软工作,他们发布的每一份工作似乎都是C/C++/C#,我几乎看不懂C#代码,这对我来说是最令人费解的一团糟,内联语法几乎伤害了我的感情。我正在寻找关于如何重新掌握C#技能的积极、平和、有用的建议。书籍..实验室..等?我一直在使用Silverlight和C#编写简单的项目来尝试解决它,但它非常令人沮丧,因为我能找到的示例很少,可以说明每个代码集的外观。我用Google搜索过,但除了channel9实验室和研究mix10中的一些示例代码

c# - 为查询数据库的方法编写单元测试

我正在学习TDD,我目前有一个有效的方法,但我认为我可以尝试使用TDD重建它。该方法基本上采用6个参数,查询数据库,执行一些逻辑并返回List我的初始测试包括检查空/零定义的字符串和int方法参数值,但现在我不确定该怎么做。如果我不使用TDD,我只会创建代码来查找数据库连接字符串并打开数据库连接、查询数据库、读取值等。显然我们不能在单元测试中做到这一点,所以我在寻求如何进行的一些建议。 最佳答案 请记住,TDD不仅关乎测试,还关乎良好的设计。这种方法太多了;它违反了关注点分离原则。您已经确定了几个需要测试的区域:Themethode

c# - 使用 C/C++ 编写 DLL 以实现 .Net 互操作性

在我的C#应用程序中,我想用C编写一部分代码。我计划编写一个DLL女巫,可以与.Net互操作。我该怎么做? 最佳答案 基本上有三种正确的方法:使用C++/CLI。如果此DLL仅供.NET使用,这是最佳方式。使用“extern"C"”兼容的API,例如WindowsAPI本身。这是最便携的,但对于您的调用者来说不如使用类模型来表示您的对象方便。如果您真的打算用ANSIC(而不是C++)编写,这是最佳选择。对于此路径,您将函数编写为extern"C"returntype__stdcall__declspec(dllexport)func

c# - 通过编写 C dll 来加速 C# 中的数学代码?

我有一个非常大的嵌套for循环,其中对float执行一些乘法和加法。for(inti=0;i这个循环占用了我大部分的处理时间,是一个瓶颈。如果我用C重写这个循环并从C#连接到它,我是否会看到任何速度提升?编辑:我更新了代码以显示s和c是如何生成的。此外,内部循环实际上是从0到i,尽管它可能对问题没有太大影响EDIT2:我在VC++中实现了该算法,并通过dll将其与C#链接,并且在启用所有优化后,速度比C#提高了28%。启用SSE2的论点特别有效。使用MinGW和gcc4.4编译只提供了15%的速度提升。刚刚试用了英特尔编译器,发现这段代码的速度提高了49%。

c# - 使用 Entity Framework Fluent 语法或内联语法编写递归 CTE

我不熟悉SQL和EntityFramework(ADO.NET实体映射)中的这种递归。我正在处理评论管理,其中有一个Comments表,该表包含列NewsID、CommentID、ParentCommentID、IndentLevel、CreatedTime。我正在尝试获取特定新闻项的评论列表,其中所有评论都是根据父项下的子项和创建时间排列的,如下所示:CommentID|time|ParentCommentIDGuid1|t1|nullGuid4|t4|Guid1Guid2|t2|nullGuid3|t3|Guid2必须优先考虑子父关系,然后是创建时间。到目前为止我学到的是(来自互联

c# - 用 C# 编写批处理脚本的好方法是什么?

我想用C#编写简单的脚本。我通常会使用.bat或4NT.btm文件的东西。复制文件、解析文本、询问用户输入等。相当简单,但在批处理文件中正确执行这些操作真的很难(例如没有异常(exception))。我熟悉像AxScript这样的命令行“脚本”包装器,所以这让我参与其中。我缺少的是简单的文件操作框架。我希望能够执行cd("..")、复制(srcFile、destFile)类型的功能。我尝试过的工具:NANT,我们在构建过程中使用它。不是一个好的脚本工具。非常冗长的XML语法和添加一个简单的函数,您必须编写一个扩展程序集。无法内联。PowerShell。看起来不错,但我一直无法切换到它作

c# - 编写对集合中的第一项具有特殊逻辑的循环的巧妙方法

我经常不得不编写一个循环,其中第一项需要特殊情况,代码似乎从来没有像理想情况下那样清晰。如果不重新设计C#语言,编写这些循环的最佳方法是什么?//thisismorecodetoreadthenIwouldlikeforsuchacommonconcept//anditistoeasytoforgettoupdate"firstItem"foreach(xinyyy){if(firstItem){firstItem=false;//othercodewhenfirstitem}//normalprocessingcode}//thiscodeisevenhardertoundersta

c# - 使用迭代器编写自定义 IEnumerator<T>

如何编写自定义IEnumerator需要维护一些状态并且仍然可以使用迭代器block来简化它的实现?我能想到的最好的是这样的:publicclassMyEnumerator:IEnumerator{privateIEnumerator_enumerator;publicintPosition{get;privateset;}//orsomeothercustompropertiespublicMyEnumerator(){Position=0;_enumerator=MakeEnumerator();}privateIEnumeratorMakeEnumerator(){//yield

c# - 如何编写 LINQ to SQL 查询以获取今天的日期记录?

我想使用LINQtoSQL获取今天输入的记录。我写了下面的代码,但它也返回以前的日期记录。DateTimetodaysDate=DateTime.Now;DateTimeyesterdaysDate=DateTime.Now.AddDays(-1);varresult=(fromaincxt.visitor.OrderByDescending(n=>n.singin)where(a.singin>yesterdaysDate&&a.singin你能告诉我如何仅使用LINQtoSQL获取今天输入的记录吗? 最佳答案 DateTime.

c# - 如何编写采用可变数量参数的 C# 方法?

是否可以向方法发送可变数量的参数?例如,如果我想编写一个方法,将许多string[]对象连接成一个字符串,但我希望它能够在不知道我想传递多少参数的情况下接受参数在,我该怎么做? 最佳答案 你会这样做:stringConcatString(paramsstring[]arguments){//Doworkhere}这可以称为:stringresult=ConcatString("Foo","Bar","Baz");有关详细信息,请参阅params(C#Reference).仅供引用-已经有一个String.Concat(paramso