Tag: C#的

您是否使用TR 24731的“安全”function?

ISO C委员会( ISO / IEC JTC1 / SC21 / WG14 )已经出版TR 24731-1 ,并正在研究TR 24731-2 : TR 24731-1:C库的扩展第一部分:边界检查接口 WG14正在研究更安全的C库函数。 这个TR的目的是修改现有的程序,通常是通过添加一个额外的缓冲区长度的参数。 最新的草案在N1225号文件中。 理由是在N1173号文件中。 这将成为技术报告types2。 TR 24731-2:C库的扩展 – 第二部分:dynamic分配函数 WG14正在研究更安全的C库函数。 这个TR面向使用dynamic分配的新程序,而不是缓冲区长度的额外参数。 最新的草案在N1337号文件中。 这将成为技术报告types2。 问题 您是否使用支持TR24731-1function的库或编译器? 如果是这样,哪个编译器或库在哪个平台上? 您是否修复了使用这些函数的代码,从而发现了任何错误? 哪些function提供最大的价值? 有没有提供任何价值或负面价值? 你打算将来使用图书馆吗? 你跟踪TR24731-2的工作吗?

ASP.NET MVC 5文化的路线和url

我已经翻译了我的mvc网站,这很好。 如果我select另一种语言(荷兰语或英语),内容将被翻译。 这是有效的,因为我在会话中设置了文化。 现在我想在URL中显示选定的文化(=文化)。 如果它是默认的语言,它不应该显示在url中,只有当它不是默认的语言,它应该显示在url中。 例如: 默认文化(荷兰语): site.com/foo site.com/foo/bar site.com/foo/bar/5 对于非默认文化(英文): site.com/en/foo site.com/en/foo/bar site.com/en/foo/bar/5 我的问题是,我总是看到这个: site.com/nl/foo/bar/5即使我点击英文(参见_Layout.cs)。 我的内容被翻译成英文,但url中的路由参数保持在“nl”而不是“en”。 我如何解决这个问题或者我做错了什么? 我试图在global.asax设置RouteData,但没有帮助。 public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("favicon.ico"); routes.LowercaseUrls = true; routes.MapRoute( name: "Errors", url: "Error/{action}/{code}", defaults: new { controller = "Error", action = "Other", code = RouteParameter.Optional } ); routes.MapRoute( name: […]

C#中“return await”的目的是什么?

有没有这样写的方法: public async Task<SomeResult> DoSomethingAsync() { // Some synchronous code might or might not be here… // return await DoAnotherThingAsync(); } 而不是这个: public Task<SomeResult> DoSomethingAsync() { // Some synchronous code might or might not be here… // return DoAnotherThingAsync(); } 会有道理吗? 为什么使用return await构造函数可以直接从内部的DoAnotherThingAsync()调用中返回Task<T> ? 我看到在这么多地方有return await代码,我想我应该错过了一些东西。 但据我所知,在这种情况下不使用async / await关键字,直接返回任务在function上是等价的。 为什么添加额外的await层的额外开销?

如何在C#程序中执行存储过程

我想从C#程序执行这个存储过程。 我已经将下面的存储过程写入SqlServer查询窗口并将其保存为stored1: use master go create procedure dbo.test as DECLARE @command as varchar(1000), @i int SET @i = 0 WHILE @i < 5 BEGIN Print 'I VALUE ' +CONVERT(varchar(20),@i) EXEC(@command) SET @i = @i + 1 END 编辑: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace AutomationApp { class Program { public […]

为什么不能用LR(1)parsing器分析C ++?

我正在阅读关于parsing器和parsing器生成器,并发现这个声明在维基百科的LRparsing页: 许多编程语言可以使用LRparsing器的一些变体来parsing。 一个明显的例外是C ++。 为什么这样? C ++的特殊属性是不可能用LRparsing器parsing的? 使用谷歌,我只发现C可以用LR(1)完美parsing,但C ++需要LR(∞)。

列出string/整数的所有排列

编程采访中的一个常见任务(不是从我的访谈经验来看)是采取一个string或一个整数,并列出每一个可能的排列。 有没有这样做的例子和解决这个问题的逻辑? 我已经看到了一些代码片段,但他们没有很好的评论/解释,因此很难遵循。

C ++:指向类数据成员的指针“:: *”

我碰到这个奇怪的代码片段编译罚款: class Car { public: int speed; }; int main() { int Car::*pSpeed = &Car::speed; return 0; } 为什么 C ++有这个指向类的非静态数据成员的指针? 这个奇怪的指针在真正的代码中有什么用?

如何在C#中生成一个随机的int数?

如何在C#中生成一个随机的int数?

我使用哪种指针?

好的,所以最后一次我写C ++为生, std::auto_ptr是所有的std lib都可用的,而boost::shared_ptr是所有的愤怒。 我从来没有真正看过其他提供的智能指针types提升。 我明白,C ++ 11现在提供了一些types的提升,但不是全部。 那么有人有一个简单的algorithm来确定何时使用哪个智能指针? 优选地包括关于哑指针(诸如T*原始指针)和其余的升压智能指针的build议。 (这样的事情会很棒)。

什么是nullptr?

我们现在拥有许多新function的C ++ 11。 一个有趣和令人困惑的(至less对我来说)是新的nullptr 。 好了,再也不需要讨厌的macrosNULL 。 int* x = nullptr; myclass* obj = nullptr; 不过,我没有得到如何nullptr作品。 例如, 维基百科文章说: C ++ 11通过引入一个新的关键字来作为一个可区分的空指针常量来纠正这个问题:nullptr。 它的types是nullptr_t ,它可以隐式转换,并且可以和任何指针types或成员指针types进行比较。 除了bool之外,它不是可以转换的,也不可以与整数types相比较。 它是怎样的一个关键字和一个types的实例? 另外,你是否还有另外一个例子(维基百科之外), nullptr优于0 ?