Tag: C#的

什么是decltype(自动)的一些用途?

在c ++ 14中引入了decltype(auto)成语。 通常它的用途是允许auto声明在给定的expression式上使用decltype规则 。 search成语的“好”用法的示例我只能想到像下面这样的东西( Scott Meyers ),即函数的返回types推理 : template<typename ContainerType, typename IndexType> // C++14 decltype(auto) grab(ContainerType&& container, IndexType&& index) { authenticateUser(); return std::forward<ContainerType>(container)[std::forward<IndexType>(index)]; } 有没有其他的例子,这个新的语言function是有用的? 我最初的例子是这样的: decltype(auto) Example(int const& i) { return i; // return type will be "int const&" }

C#类的命名约定:是BaseClass还是ClassBase或AbstractClass

什么是命名基类的build议方法? 它是前缀types名称与“ 基本 ”或“ 摘要 ”,或者我们只是后缀与“基地”? 考虑以下: 键入: ViewModel例如MainViewModel , ReportViewModel 基类: BaseViewModel或ViewModelBase或AbstractViewModel 还要考虑: 键入: Product例如VirtualProduct , ExpiringProduct 基类: BaseProduct或ProductBase或AbstractProduct 你认为哪个更标准? class Entity : EntityBase { } 要么 class Entity : BaseEntity { }

标准库有哪些function必须/应该避免?

我读过堆栈溢出一些C函数是“过时”或“应该避免”。 请给我举一些这样的function和原因的例子吗? 这些function有哪些替代scheme? 我们可以安全地使用它们吗?

从C ++移到C

在用C ++编写了几年之后,我最近在embedded式领域提供了一个用C语言编写的工作。 抛开在embedded式领域中忽略C ++是对还是错的问题,在C ++中有一些特性/习惯用法我会错过很多。 仅举几个: 通用的,types安全的数据结构(使用模板)。 RAII。 特别是在具有多个返回点的函数中,例如不必记住在每个返回点上释放互斥量。 一般的破坏者。 即你为MyClass写了一次,然后如果一个MyClass实例是MyOtherClass的一个成员,MyOtherClass不必显式地去初始化MyClass实例 – 它的自动调用。 命名空间。 你从C ++转到C的经验是什么? 你find了什么C代替你最喜欢的C ++function/成语? 你有没有发现你希望C ++的C特性?

Python:为什么*和**比/和sqrt()更快?

在优化我的代码时,我意识到了以下几点 >>> from timeit import Timer as T >>> T(lambda : 1234567890 / 4.0).repeat() [0.22256922721862793, 0.20560789108276367, 0.20530295372009277] >>> from __future__ import division >>> T(lambda : 1234567890 / 4).repeat() [0.14969301223754883, 0.14155197143554688, 0.14141488075256348] >>> T(lambda : 1234567890 * 0.25).repeat() [0.13619112968444824, 0.1281130313873291, 0.12830305099487305] 并且: >>> from math import sqrt >>> T(lambda : sqrt(1234567890)).repeat() [0.2597470283508301, 0.2498021125793457, 0.24994492530822754] >>> T(lambda […]

剃刀视图引擎 – 如何添加部分视图

我想知道,如果可能的话,是使用新的剃刀视图引擎渲染局部的最佳方式。 我知道这是当时还没有完成的事情 现在我正在使用RenderPage来呈现用户控件: @RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model) 调用RenderPage的页面使用一个布局(主)页面,定义了三个部分:TitleContent,HeadContent和Maincontent。 当我试图从这个页面呈现我的语言环境控件时,看起来这些部分也是必需的 – 它们应该只在调用页面中需要并且存在。 我收到以下消息,不pipe是否包含我的部分视图中的部分(显然,我不想包括这些部分,但它似乎是一个有趣的debugging点…)。 以下部分已被定义,但尚未在布局页面“〜/ Views / Shared / LocaleUserControl.cshtml”上呈现:TitleContent; HeadContent; searchMaincontent 我的部分观点如下(改编自以下链接 ): @inherits System.Web.Mvc.WebViewPage<LocaleBaseModel> @using System.Web.UI; <p> @Html.LabelFor(model => Model.CountryName) <br /> @Html.DropDownListFor(model => Model.CountryName,null, string.Empty, new { @class = "text", accesskey="u"}) </p> <p> @Html.LabelFor(model => Model.StateProvince) <br /> @Html.DropDownListFor(model => Model.StateProvince, null, string.Empty, new { @class = […]

双? =双? +双?

我想ping的StackOverflow社区,看看我是否失去了这个简单的C#代码的头脑。 我正在Windows 7上开发,在.NET 4.0 x64 Debug中进行构build。 我有以下代码: static void Main() { double? y = 1D; double? z = 2D; double? x; x = y + z; } 如果我debugging,并在结束大括号上放置一个断点,我期望观察窗口和立即窗口x = 3。 x = null代替。 如果我在x86中debugging,事情似乎工作正常。 x64编译器出了什么问题,或者出了什么问题?

“\ n”或“\ n”或std :: endl到std :: cout?

现在已经很多年了,因为我在写入std::cout时停止使用std::endl来结束行,而是开始使用"\n" 。 但是现在我开始看到更多使用'\n'的代码片段,我开始怀疑什么可能是最好的。 除了显而易见的是一个是string,另一个是字符,使用这个还有什么好处: std::cout << variable << '\n'; 在此: std::cout << variable << "\n";

在Linux上以编程方式在C或C ++代码中为gdb设置断点

我怎样才能在C或C ++代码中设置一个断点,这对Linux上的gdb有效? 即: int main(int argc, char** argv) { /* set breakpoint here! */ int a = 3; a++; /* In gdb> print a; expect result to be 3 */ return 0; }

我怎样才能为我的C#应用​​程序创build一个产品密钥?

我怎样才能为我的C#应用​​程序创build一个产品密钥? 我需要创build一个每年更新的产品(或许可证)密钥。 此外,我需要创build一个试用版本。 有关: 我如何最好地混淆我的C#产品许可证validation码? 基于Web的许可证激活 你如何保护你的软件免遭非法分发? 最好的激活关键软件的.NET应用程序?