Tag: C#的

x?.y?.z是什么意思?

C#中的模式匹配草稿包含以下代码示例: Type? v = x?.y?.z; if (v.HasValue) { var value = v.GetValueOrDefault(); // code using value } 我明白Type? 表示Type可为空,但假设x , y和z是本地的,那么x?.y?.z是什么意思?

#包括在.h或.c / .cpp中?

当用C或C ++编码时,我应该在哪里使用#include ? callback.h: #ifndef _CALLBACK_H_ #define _CALLBACK_H_ #include <sndfile.h> #include "main.h" void on_button_apply_clicked(GtkButton* button, struct user_data_s* data); void on_button_cancel_clicked(GtkButton* button, struct user_data_s* data); #endif callback.c: #include <stdlib.h> #include <math.h> #include "config.h" #include "callback.h" #include "play.h" void on_button_apply_clicked(GtkButton* button, struct user_data_s* data) { gint page; page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->notebook)); … 应该都包含在.h或.c / .cpp中,还是像我在这里所做的一样?

NUnit.Framework.Assert.IsInstanceOfType()已过时

我正在阅读专业企业.NET的书,我注意到这个警告在一些示例程序: 'NUnit.Framework.Assert.IsInstanceOfType(System.Type, object)' is obsolete 现在我可能已经回答了我自己的问题,但是,解决这个警告是简单的用Assert.IsInstanceOf()replaceAssert.IsInstanceOfType()? 比如这个: Assert.IsInstanceOfType(typeof(ClassName), variableName); 会成为: Assert.IsInstanceOf(typeof(ClassName), variableName);

如何遍历c#.net中目录中的所有文件?

我想获得文件夹中,也在其子文件夹中的文件。以下代码不会获取其子文件夹中的文件: string[] files = Directory.GetFiles(txtFolderPath.Text, "*ProfileHandler.cs"); 任何人都可以请告诉我如何在C#.net中实现这个?

为什么C ++允许我将一个const char分配给一个const char *?!

令我惊讶的是,这汇编: const char* c_str() { static const char nullchar = '\0'; return nullchar; } 并在我的代码中引入了一个错误。 谢天谢地,我抓住了它。 这是故意的C ++,还是一个编译器错误? 是否有数据types被忽略的原因? 它工作在Visual C ++ 2010和GCC ,但我不明白为什么它应该工作,给出明显的数据types不匹配。 ( static也不是必须的)

演员模型:为什么是erlang特别的? 或者,为什么你需要另一种语言呢?

我一直在研究学习erlang,因此,一直在阅读(好吧,略读)演员模型。 根据我的理解,actor模型只是一组函数(在erlang中称为“processes”的轻量级线程中运行),它们之间只能通过消息传递进行通信。 在C ++或其他语言中,这似乎相当简单: class BaseActor { std::queue<BaseMessage*> messages; CriticalSection messagecs; BaseMessage* Pop(); public: void Push(BaseMessage* message) { auto scopedlock = messagecs.AquireScopedLock(); messagecs.push(message); } virtual void ActorFn() = 0; virtual ~BaseActor() {} = 0; } 每个进程都是派生的BaseActor的一个实例。 参与者之间只能通过消息传递进行交stream。 (即推)。 行动者注册自己的初始化中央地图,允许其他行为者find他们,并允许中央function贯穿其中。 现在,我明白我错过了,或者更确切地说,在这里重要的一个问题,即:缺乏屈服意味着单个演员可以不公平地消耗过多的时间。 但是跨平台的协程是使C ++变得困难的主要原因吗? (例如Windows有光纤。) 还有什么我失踪,或者是模型真的这是显而易见的? 我绝对不是试图在这里开始一场激烈的战争,我只是想明白我错过了什么,因为这基本上是我已经做了一些有关并发代码的原因。

“X509Certificate2”加载pfx文件时发生“内部错误”

我试图使用自签名证书(C#): X509Certificate2 cert = new X509Certificate2( Server.MapPath("~/App_Data/myhost.pfx"), "pass"); 在一个共享的networking托pipe服务器,我得到一个错误: System.Security.Cryptography.CryptographicException: An internal error occurred. 堆栈跟踪结束 System.Security.Cryptography.CryptographicException. ThrowCryptogaphicException(Int32 hr) +33 System.Security.Cryptography.X509Certificates.X509Utils. _LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) +0 System.Security.Cryptography.X509Certificates.X509Certificate. LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) +237 System.Security.Cryptography.X509Certificates.X509Certificate2..ctor( String fileName, String password) +131 在我的开发机器上它加载好。 之所以我加载* .pfx不是* .cer文件,因为我需要一个私钥访问(cer文件加载好)。 我在这个开发系统上做了pfx: makecert -r -n "CN=myhost.com, E=admin@myhost.com" […]

比较两个对象,找出差异

比较两个物体并找出差异的最佳方法是什么? Customer a = new Customer(); Customer b = new Customer();

C ++和Visual C ++有什么区别?

C ++和Visual C ++有什么区别? 我知道C ++具有可移植性,所以如果你了解C ++,它与Visual C ++有什么关系? Visual C ++主要用于在线应用程序吗? Visual Basic会更适合桌面应用程序吗?

两个date时间C#之间的区别?

我需要一个函数,可以返回以下两个date之间的差异为24。 DateTime a = new DateTime(2008, 01, 02, 06, 30, 00); DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);