Tag: C#的

为什么我们在C ++中没有虚拟构造函数?

为什么C ++没有虚拟构造函数?

当向量被分配时,他们是否使用堆或堆栈上的内存?

以下所有的陈述是正确的吗? vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack vector<Type*> vect; //vect will be on stack and Type* will be on heap. 在vector或任何其他STL容器中Type的内存是如何分配的?

malloc()如何在内部实现?

任何人都可以解释如何malloc()内部工作? 我有时做strace program ,我看到很多sbrk系统调用,做man sbrk谈论它在malloc()使用,但没有更多。

如何在新的线程中运行一段简单的代码?

我有一些代码需要在不同于GUI的线程中运行,因为它当前会导致表单在代码运行时冻结(10秒左右)。 假设我从来没有创build过一个新的线程; 什么是如何在C#中使用.NET Framework 2.0或更高版本的简单/基本示例?

为什么波动存在?

volatile关键字有什么作用? 在C ++中,它解决了什么问题? 就我而言,我从来不知道需要它。

使用asynchronous/等待多个任务

我正在使用完全asynchronous的API客户端,即每个操作都返回Task或Task<T> ,例如: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } 使用C#5 async / await运算符,启动多个任务并等待它们全部完成的正确/最有效的方法是: int[] ids = new[] { 1, 2, 3, 4, 5 }; Parallel.ForEach(ids, i => DoSomething(1, i, blogClient).Wait()); 要么: int[] ids = new[] { 1, 2, 3, 4, […]

已检测到ASP.NET设置不适用于集成pipe理pipe道模式

我安装了DotNetOpenAuth SDK-3.4.5.10201.vsix,我无法得到它的工作。 它在本地工作(当我作为localhost运行),但是当我尝试发布它不工作。 我得到的IIS错误消息是 错误摘要 HTTP错误500.22 – 内部服务器错误 已检测到ASP.NET设置不适用于集成pipe理pipe道模式。 和 Module ConfigurationValidationModule Notification BeginRequest Handler StaticFile Error Code 0x80070032 那么如何解决这个问题有一些build议: 你可以尝试的东西: 将configuration迁移到system.webServer/modules部分。 您可以手动或通过命令行使用AppCmd来执行此操作 – 例如, %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/" 。 使用AppCmd迁移您的应用程序将使其能够在集成模式下工作,并继续以经典模式和以前版本的IIS工作。 如果您确定可以忽略此错误,则可以通过将system.webServer/validation@validateIntegratedModeConfiguration设置为false来禁用它。 或者,将应用程序切换到经典模式应用程序池 – 例如, %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool" 。 只有在您无法迁移您的应用程序时才能执行此操作。 (将“默认网站”和“经典.NET AppPool”设置为您的应用程序path和应用程序池名称) 但问题是我没有访问ISS服务器,因为我不是它的主人。 有什么办法可以解决这个问题吗?

unit testingC#中的私有方法

Visual Studio允许通过自动生成的访问器类对私有方法进行unit testing。 我写了一个testing成功编译的私有方法,但在运行时失败。 代码的相当小的版本和testing是: //in project MyProj class TypeA { private List<TypeB> myList = new List<TypeB>(); private class TypeB { public TypeB() { } } public TypeA() { } private void MyFunc() { //processing of myList that changes state of instance } } //in project TestMyProj public void MyFuncTest() { TypeA_Accessor target = new […]

在C ++程序中使用scanf()比使用cin更快?

我不知道这是不是真的,但是当我在提供网站的问题之一阅读FAQ时,发现了一些东西,引起了我的注意: 检查你的input/输出方法。 在C ++中,使用cin和cout太慢了。 使用这些,你会保证不能解决任何问题,一个体面的数量input或输出。 改用printf和scanf。 有人可以澄清这一点? 真的在C ++程序中使用scanf()比使用cin >>东西更快吗? 如果是的话,那么在C ++程序中使用它是一个好习惯吗? 我认为这是C具体的,虽然我只是学习C ++ …

MVC Razor视图嵌套的foreach的模型

设想一个常见的情况,这是我遇到的更简单的版本。 实际上我有几层在我的进一步嵌套…. 但是这是情况 主题包含列表类别包含列表产品包含列表 我的控制器提供了一个完全填充的主题,包含该主题的所有类别,此类别中的产品以及它们的订单。 订单集合中有一个名为Quantity的属性(还有许多其他属性)需要进行编辑。 @model ViewModels.MyViewModels.Theme @Html.LabelFor(Model.Theme.name) @foreach (var category in Model.Theme) { @Html.LabelFor(category.name) @foreach(var product in theme.Products) { @Html.LabelFor(product.name) @foreach(var order in product.Orders) { @Html.TextBoxFor(order.Quantity) @Html.TextAreaFor(order.Note) @Html.EditorFor(order.DateRequestedDeliveryFor) } } } 如果我使用lambda而不是那么然后我似乎只得到顶级模型对象的引用,“主题”不在那些在foreach循环。 我试图在那里甚至有可能做什么,或者我高估了或误解了什么是可能的? 与上述我得到一个TextboxFor,EditorFor等错误 CS0411:方法“System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression>)”的types参数不能从用法中推断出来。 尝试明确指定types参数。 谢谢。