Tag: C#的

最简单的方法来比较C#中的数组

在Java中, Arrays.equals()允许轻松地比较两个基本数组的内容(重载可用于所有基本types)。 C#中有这样的事情吗? 有没有比较C#中的两个数组的内容的“魔术”方式?

如何在C ++中使用clock()

如何在C++调用clock() ? 例如,我想testing线性search花费多less时间来查找数组中的给定元素。

lock和Mutex有什么区别?

lock和Mutex有什么区别? 为什么它们不能互换使用?

如何使用DateTime.TryParse和Nullable <DateTime>?

我想使用DateTime.TryParse方法来获取一个string的date时间值为Nullable。 但是当我尝试这个: DateTime? d; bool success = DateTime.TryParse("some date text", out (DateTime)d); 编译器告诉我 “out”参数不被分类为variables 不知道我需要在这里做什么。 我也试过: out (DateTime)d.Value 那也行不通。 有任何想法吗?

如何删除TFS工作区映射?

我在一个团队项目的tfs中有一个项目,然后我们将项目移动到另一个团队项目的不同位置。 我已经configurationJenkins连接到团队项目,并构build我的解决scheme,但是当我更改设置连接到新的TFS团队项目,它给了我下面的错误: [workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain.net:8080/tfs/newteamproject ******** The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain.net:8080/tfs/oldteamproject]. 所以上面显示有一个现有的工作区,所以我运行下面的命令来删除它 tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain.net:8080/tfs/oldteamproject 并提示工作区已被删除,但我仍然得到相同的错误。 我也通过运行下面的命令来检查映射是否已被删除: tf workspace -server:http://domain.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER 但它表示工作空间并不像预期的那样存在。 所以,我认为这可能是caching在某处,并运行下面的命令: tf workspaces /remove:* /collection:http://domain.net:8080/tfs/oldteamproject 它说:“没有工作区在caching匹配*从服务器http://domain.net:8080/tfs/oldteamproject ” 所以我猜测它甚至没有被caching。 那么是什么原因导致错误以及如何解决?

如何创build完美的OOP应用程序

最近我正在尝试一家公司'x'。 他们给了我一些问题,告诉我只能解决一个问题。 问题就是这样 – 基本销售税适用于所有货物的10%,除书籍,食品和医疗产品免除外。 import税是对所有import货物适用的额外销售税,税率为5%,没有豁免。 当我购买物品时,我会收到一张收据,列出所有物品的名称及其价格(含税),以物品的总成本和销售税金总额结束。 销售税的取整规则是,对于n%的税率,p的货架价格包含销售税额(np / 100四舍五入到最接近的0.05)。 “他们告诉我,他们对你的解决scheme的devise方面很感兴趣,并且想评估我的面向对象的编程技巧 。” 这是他们用自己的话讲的 对于解决scheme,我们希望您使用Java,Ruby或C#。 我们对您的解决scheme的devise方面感兴趣,并希望评估您的面向对象的编程技巧 。 您可以使用外部库或工具来build立或testing目的。 具体而言,您可以使用unit testing库或可用于您所选语言的构build工具(例如,JUnit,Ant,NUnit,NAnt,Test :: Unit,Rake等) 或者,您也可以包括您的devise和假设以及您的代码的简要说明。 请注意,我们不期望一个基于Web的应用程序或一个全面的用户界面。 相反,我们期待一个简单的,基于控制台的应用程序,并对您的源代码感兴趣。 所以我提供了下面的代码 – 你可以复制粘贴代码并在VS中运行。 class Program { static void Main(string[] args) { try { double totalBill = 0, salesTax = 0; List<Product> productList = getProductList(); foreach (Product prod in productList) { double […]

如何修复生成.pch文件丢失?

当我在Visual Studio 2008中构build我的c ++解决scheme时,它抱怨xxxxx.pch文件丢失。 有没有一个设置,我错过了预编译头文件? 这里是完整性的确切错误: Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory

当main()退出时,分离的线程会发生什么?

假设我开始一个std::thread ,然后detach()它,所以线程继续执行,即使曾经表示它的std::thread超出了范围。 进一步假定程序没有用于join分离线程1的可靠协议,因此当main()退出时分离的线程仍然运行。 我无法find标准中的任何内容(更准确地说,在N3797 C ++ 14草案中),它描述了应该发生的事情,1.10和30.3都没有包含相关的措词。 1另一个可能相同的问题是:“是否可以再次连接一个分离的线程”,因为无论您正在创build哪个协议,都必须在线程仍在运行时完成信号部分,OS调度器可能决定让线程在信号传输完成后立即睡眠一个小时,而接收端无法可靠地检测到线程实际完成。 如果用分离线程运行的main()运行是未定义的行为,那么除非主线程永不退出,否则任何对std::thread::detach()都是未定义的行为。 因此,运行分离线程的main()运行必须具有已定义的效果。 问题是: 在哪里 (在C ++标准中 ,不是POSIX,不是OS文档,…)是定义的那些效果。 2分离的线程不能被连接( std::thread::join() )。 您可以等待来自分离线程的结果(例如,通过来自std::packaged_task的未来,或通过计数信号量或标志和条件variables),但是不能保证线程已经完成执行 。 事实上,除非将信令部分放入线程的第一个自动对象的析构函数中,否则通常会在信号代码之后运行代码(析构函数)。 如果操作系统安排主线程使用结果,并在分离的线程结束运行析构函数之前退出,那么^ Wis定义了什么?

方法链接中的C ++执行顺序

这个程序的输出: #include <iostream> class c1 { public: c1& meth1(int* ar) { std::cout << "method 1" << std::endl; *ar = 1; return *this; } void meth2(int ar) { std::cout << "method 2:"<< ar << std::endl; } }; int main() { c1 c; int nu = 0; c.meth1(&nu).meth2(nu); } 方法是: method 1 method 2:0 为什么在meth2()启动时nu不是1?

C中_start()的用法是什么?

我从我的同事那里得知,可以编写并执行一个C程序,而无需编写main()函数。 它可以按照下面的方式完成 withoutMain.c // Compile it with gcc -nostartfiles void _start() { int ret = my_main(); exit(ret); } int my_main() { puts("This is a program without main!\n"); return 0; } 编译为: gcc -o withoutMain withoutMain.c –nostartfiles 运行它为: ./ withoutMain 我的问题是什么时候需要做这种事情? 一些真实世界的场景?