Tag: C#的

Newtonsoft JSON – dynamic对象

我正在使用Newtonsoft JSON库对传入的原始JSON执行dynamic反序列化,并发现了一些我无法解释的东西。 起点是以下JSONstring: { "task": { "dueDate": "2012-12-03T00:00:00" } } 那里没有太复杂的… 在代码中,我是这样做的: var dyn = JsonConvert.DeserializeObject<dynamic>(rawJson); DateTime dueDate = dyn.task.dueDate.Value; 这段代码已经存在好几个月了,可以正常工作,但是在最近的testing版本中,我们发现了以下错误: “Newtonsoft.Json.Linq.JObject”不包含“任务”的定义 堆栈跟踪:在CallSite.Target(Closure,CallSite,对象)在System.Dynamic.UpdateDelegates.UpdateAndExecute1 [T0,TRet](CallSite站点,T0 arg0) 现在这是奇怪的地方,如果我改变上面的代码,一切都开始工作了: DateTime dueDate = dyn.task.dueDate.Value; 至 DateTime dueDate = dyn["task"]["dueDate"].Value; 所以,虽然这是“固定的”,但我不明白为什么这个问题会解决,可能的原因是什么。 有没有人有任何想法

使用Exception.Data

你如何在你曾经使用过的C#项目中使用Exception.Data属性? 我想要提供一个模式的答案,而不是那些非常特定于您的应用程序的答案。

如何在ac / c ++程序中检测可能/潜在的堆栈溢出问题?

有没有一个标准的方法来看看你的应用程序有多less堆栈空间,以及堆栈使用的最高水印是在运行期间? 另外在实际溢出的可怕情况下会发生什么? 它是否会崩溃,触发exception或信号? 在所有系统和编译器中是否有标准或不同? 我正在寻找Windows,Linux和Macintosh。

在C ++中设置本地环境variables

如何在C ++中设置环境variables? 他们不需要坚持过去的程序执行 他们只需要在当前进程中可见 偏好平台独立,但我的问题只需要在Win32 / 64上工作 谢谢

为当前用户获取NetworkCredential(C#)

我试图调用一个控制台应用程序的Web服务,我需要提供一个System.Net.NetworkCredential对象的客户端。 是否可以为启动应用程序的用户创buildNetworkCredential对象而不提示用户名/密码?

constexpr超载

相关: 函数返回constexpr不编译 我觉得constexpr在C ++ 11中的用处是有限的,因为它不能定义两个函数,否则它们会有相同的签名,但是一个是constexpr,另一个是不是constexpr。 换句话说,如果我可以有一个constexst std :: string构造函数,它只需要constexpr参数,而一个非constexpr std :: string构造函数用于非constexpr参数将是非常有帮助的。 另一个例子是理论上复杂的函数,可以通过使用状态来提高效率。 你不能用constexpr函数轻松做到这一点,所以你只剩下两个select:如果你传递了非constexpr参数,或者完全放弃了constexpr(或者写了两个单独的函数,但你可能不知道要调用哪个版本)。 因此,我的问题是: 标准兼容的C ++ 11实现是否可以允许基于constexpr参数的函数重载,还是需要更新标准呢? 如果不允许,是否故意不允许? @NicolBolas:说我有一个函数,将一个enum映射到一个std::string 。 假设我的enum从0到n – 1 ,最直接的方法是创build一个大小为n的数组,填充结果。 我可以创build一个static constexpr char const * []并在返回时构造一个std::string (每次调用该函数时支付创build一个std::string对象的代价),或者我可以创build一个static std::string const []并返回我查找的值,在第一次调用函数时支付所有std::string构造函数的代价。 看起来更好的解决scheme是在编译时在内存中创buildstd::string (类似于char const *所做的),但唯一的方法是提醒构造函数它有constexpr参数。 除了std::string构造函数以外,我认为find一个例子,如果你可以忽略constexpr的需求(从而创build一个非constexpr函数),那么你可以创build一个更多的例子高效的function。 考虑这个线程: constexpr问题,为什么这两个不同的程序在g ++中运行的时间不同? 如果我用一个constexpr参数来调用fib ,那么我完全可以比编译器优化掉函数调用来做得更好。 但是如果我用一个非constexpr参数来调用fib ,我可能希望让它调用我自己的版本来实现像memoization(这将需要状态),所以我得到的运行时间类似于我通过编译的时间一个constexpr论据。

为什么应该在C#中的事件(sender,EventArgs)?

已知应该声明作为参数的事件(object sender, EventArgs args) 。 为什么?

如何查看由C / C ++程序的gcc(任何风格)编译器生成的汇编代码?

我正在尝试优化大量乘法和指针算术,并希望看到当我放入优化标志时,编译器会做什么。 – 编辑 – 如何限制它到一个特定的function或代码块? –Edit_2– 如何让gcc生成一个不太冗长的汇编代码?

如何使vector元素独特? (删除不相邻的重复项)

我有一个载体,包含less数不相邻的重复项。 作为一个简单的例子,考虑: 2 1 6 1 4 6 2 1 1 我试图通过删除不相邻的重复项和维护元素的顺序使这个vector唯一。 结果将是: 2 1 6 4 我尝试的解决scheme是: 插入一个std ::集合,但这种方法的问题是,它会扰乱元素的顺序。 使用std :: sort和std :: unique的组合。 但是同样的顺序问题。 手动重复消除: Define a temporary vector TempVector. for (each element in a vector) { if (the element does not exists in TempVector) { add to TempVector; } } swap orginial […]

Windowsshell扩展与C#

我想写一个简单的Windowsshell扩展添加到上下文菜单,而C#是我最近使用的语言。 这是一个不错的shell扩展select? 界面容易获得吗? 是否有额外的开销,导致菜单较慢popup? 任何人有良好的指针入门?