Tag: C#的

为什么visual studio 2012找不到我的testing?

我有一些testing使用内置的Microsoft.VisualStudio.TestTools.UnitTesting ,但无法让他们运行。 我正在使用Visual Studio 2012终极版。 我有两个项目的解决scheme; 一个有testing, using Microsoft.VisualStudio.TestTools.UnitTesting , [TestClass]类之前, [TestMethod]之前的testing方法和参考Microsoft.VisualStudio.QualityTools.UnitTestFramework (版本10.0.0.0,运行时版本v2.0.50727)。 我已经尝试了networking框架3.5,4和4.5其他人给重定位错误。 我试图build立解决scheme和项目。 testing浏览器有消息“build立你的解决scheme来发现所有可用的testing。 点击“全部运行”来构build,发现并运行解决scheme中的所有testing。 所以问题是:如何让视觉工作室findtesting? 也试图按照此: http : //msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx但没有成功:我被困在部分入门,当被问到右键点击并selectcreate tests 。 没有create tests 。 我有这个testing(它编译,但不显示在testing资源pipe理器中): using Microsoft.VisualStudio.TestTools.UnitTesting; namespace tests { [TestClass] public class SimpleTest { [TestMethod] public void Test() { Assert.AreEqual("a","a", "same"); } } } 我现在发现(见下面的删除答案),这是因为它是在一个共享的驱动器,但我还不知道如何解决它。 (关于安全设置可能)。

为什么使用try {} finally {}和空try块?

我注意到在System.Threading.TimerBase.Dipose()方法有一个try{} finally{}块,但try{}是空的。 try{} finally{}使用try{} finally{}是否有任何价值? http://labs.developerfusion.co.uk/SourceViewer/browse.aspx?assembly=SSCLI&namespace=System.Threading&type=TimerBase [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal bool Dispose(WaitHandle notifyObject) { bool status = false; bool bLockTaken = false; RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { do { if (Interlocked.CompareExchange(ref m_lock, 1, 0) == 0) { bLockTaken = true; try { status = DeleteTimerNative(notifyObject.SafeWaitHandle); } finally { m_lock = 0; } } Thread.SpinWait(1); // […]

从函数返回unique_ptr

unique_ptr<T>不允许复制构造,而是支持移动语义。 然而,我可以从一个函数返回一个unique_ptr<T> ,并将返回的值赋给一个variables。 #include <iostream> #include <memory> using namespace std; unique_ptr<int> foo() { unique_ptr<int> p( new int(10) ); return p; // 1 //return move( p ); // 2 } int main() { unique_ptr<int> p = foo(); cout << *p << endl; return 0; } 上面的代码编译和按预期工作。 那么第1行如何不调用复制构造函数并导致编译器错误呢? 如果我不得不使用第二行,那么它是有道理的(使用第二行也是如此,但我们并不需要这样做)。 我知道C ++ 0x允许这个exception为unique_ptr因为返回值是一个临时对象,一旦函数退出就会被销毁,从而保证了返回指针的唯一性。 我很好奇这是如何实现的,在编译器中是特殊的,还是在语言规范中有一些其他的子句呢?

为什么处理sorting数组比sorting数组慢?

我有一个500000个随机生成的Tuple<long,long,string>对象的列表,我正在执行一个简单的“between”search: var data = new List<Tuple<long,long,string>>(500000); … var cnt = data.Count(t => t.Item1 <= x && t.Item2 >= x); 当我生成我的随机数组并运行search100个随机生成的x值时,search将在大约四秒钟内完成。 知道sortingsearch的好处 ,然而,我决定先sorting我的数据 – 首先是Item1 ,然后是Item2 ,最后是Item3 – 在运行我的100次search之前。 由于分支预测,我预计分类后的版本会执行得更快一些:我的想法是,一旦我们到达了Item1 == x ,对t.Item1 <= x所有进一步检查都会正确地预测分支为“no采取“,加快了search的尾部。 令我惊讶的是, search花了两倍的时间在一个有序的数组上 ! 我尝试转换我运行实验的顺序,并为随机数生成器使用了不同的种子,但效果相同:在未sorting数组中的search运行速度几乎是同一数组中search的两倍,但sorting! 有没有人有这个奇怪的效果很好的解释? 我的testing源代码如下; 我正在使用.NET 4.0。 private const int TotalCount = 500000; private const int TotalQueries = 100; private […]

使用ConfigurationManager从Web.Config读取密钥

我正在尝试从web层的Web.config文件中读取不同的层的键(相同的解决scheme) 这是我正在尝试的: string userName = System.Configuration.ConfigurationManager.AppSettings["PFUserName"]; string password = System.Configuration.ConfigurationManager.AppSettings["PFPassWord"]; 这里是我的appSettings在Web.config文件中: <configuration> …. <appSettings> <add key="PFUserName" value="myusername"/> <add key="PFPassWord" value="mypassword"/> </appSettings> …. </configuration> 当我debugging代码的username和password只是null ,所以它没有得到的关键的价值。 我做错了什么读取这些值?

在.Net 4.0中找不到JavaScriptSerializer

我似乎无法findJavaScriptSerializer对象,也没有findVisual Studio 2010中的System.Web.Script.Serialization命名空间。我需要将某些东西序列化到JSON我应该使用什么? 是的,我已经在项目中包含了System.Web.Extensions (在System.Web.Extensions.dll中)。 这是为什么我感到震惊? 我知道System.Web.Extensions在3.5中被标记为废弃

为什么不是更频繁地使用Assembly编写的程序?

似乎是一个主stream的观点,程序集编程需要更长的时间,比C这样的更高级的语言更难以编程。因此,似乎推荐或假定,由于这些原因,编写更高级的语言更好并且为了更好的便携性。 最近我一直在用x86汇编编写代码,而且我发现可能这些原因不是真的,除了可移植性。 也许这是一个熟悉和知道如何写好汇编的问题。 我还注意到,在汇编中的编程与在HLL中编程完全不同。 也许一个好的和经验丰富的汇编程序员可以像编写C语言的经验丰富的C程序员一样方便快捷地编写程序。 也许是因为程序集编程与HLL完全不同,所以需要不同的思路,方法和方法,这使得编程对于不熟悉的程序来说显得非常尴尬,所以给程序编写不好的名字。 如果可移植性不是问题,那么C对于像NASM这样的好的汇编器会有什么样的影响呢? 编辑:只是要指出。 当你在汇编写作时,你不必写在指令代码中。 您可以使用macros和过程以及您自己的约定来进行各种抽象,以使程序更模块化,更易于维护,更易于阅读。 这是熟悉如何编写好的汇编进来的地方。

C#Java HashMap等价物

从一个Java世界到一个C#一个是否有一个HashMap的等价物? 如果不是,你会推荐什么?

Intersect()的相反

相交可用于查找两个集合之间的匹配,如下所示: // Assign two arrays. int[] array1 = { 1, 2, 3 }; int[] array2 = { 2, 3, 4 }; // Call Intersect extension method. var intersect = array1.Intersect(array2); // Write intersection to screen. foreach (int value in intersect) { Console.WriteLine(value); // Output: 2, 3 } 然而,我想实现的是相反的,我想列出比较两个集合时丢失的项目 : // Assign two arrays. int[] array1 […]

如果finally块引发exception,会发生什么?

如果finally块引发exception, 究竟发生了什么? 具体来说,如果在finally块中途抛出exception,会发生什么情况。 这个块中的其余语句(之后)是否被调用? 我知道exception会向上传播。