Tag: C#的

何时使用Xamarin.Forms vs Xamarin Native?

我需要在Xamarin.Forms和Xamarin原生应用程序之间进行select。 我想与Xamarin.Forms作为UI代码将被共享。 那么Xamarin.Forms与Native相比有什么缺点?

ASP.NET MVC如何将ModelState错误转换为json

如何获得所有ModelState错误消息的列表? 我发现这个代码得到所有的键:( 返回与ModelState错误键的列表 ) var errorKeys = (from item in ModelState where item.Value.Errors.Any() select item.Key).ToList(); 但是,我怎么会得到错误消息作为IList或IQueryable? 我可以去: foreach (var key in errorKeys) { string msg = ModelState[error].Errors[0].ErrorMessage; errorList.Add(msg); } 但是,这是做手动 – 当然有一种方法来使用LINQ? .ErrorMessage属性到目前为止,我不知道如何编写LINQ链…

你如何得到一个multidimensional array的宽度和高度?

我有一个数组定义: int [,] ary; // … int nArea = ary.Length; // x*y or total area 这一切都很好,但我需要知道这个数组在单独的x和y维度有多宽。 也就是说, ary.Length可能会返回12,但是这意味着数组是4高3宽,还是6高2宽? 我如何检索这些信息?

对已修改的base64 URL进行解码/编码的代码

我想base64编码数据把它放在一个URL,然后解码它在我的HttpHandler。 我发现Base64编码允许一个'/'字符,这将弄乱我的UriTemplate匹配。 然后我发现wikipedia有一个“修改过的Base64 for URL”的概念: 存在用于URL变体的修改的Base64,其中将不使用填充“=”,并且将标准Base64的“+”和“/”字符分别replace为“ – ”和“_”,以便使用URL编码器/解码器不再是必需的,并且对编码值的长度没有影响,使得相同的编码forms保持原样用于关系数据库,网页表格和对象标识符。 使用.NET我想修改我现在的代码从做基本的base64编码和解码到使用“修改后的base64 for URL”方法。 有没有人做过这个? 为了解码,我知道它开始与像这样的东西: string base64EncodedText = base64UrlEncodedText.Replace('-', '+').Replace('_', '/'); // Append '=' char(s) if necessary – how best to do this? // My normal base64 decoding now uses encodedText 但是,我需要添加一个或两个'='字符到最后看起来更复杂一点。 我的编码逻辑应该更简单一些: // Perform normal base64 encoding byte[] encodedBytes = Encoding.UTF8.GetBytes(unencodedText); string base64EncodedText = Convert.ToBase64String(encodedBytes); // […]

如何从DateTime获取完整的月份名称

获取DateTime对象的月份的完整名称的正确方法是什么? 如January , December 。 我目前使用: DateTime.Now.ToString("MMMMMMMMMMMMM"); 我知道这不是正确的做法。

我可以混合使用Swift和C ++吗? 像Objective – C .mm文件一样

我只是将.m文件更改为.mm并使用C ++。 有没有办法做到这一点与斯威夫特?

如何创build一个新的语言在Visual Studio中使用

我想写一个新的模板语言,我想让Visual Studio“支持”它。 我需要知道的是: 我如何parsing我的新语言? 鉴于我的新模板语言的一些代码,如何将其转换为HTML? 现在我正在使用正则expression式来通过标记来parsing它的标记,但是我不认为这会随着语言变得更复杂而变得非常好,并且没有错误检查。 我听说过ANTLR,但从来没有使用它。 这是否是这个工作的正确工具,还是有可能简单些? 理想情况下,我想发送任何语法错误到错误窗口尽可能多的信息(行#,错误types)像其他语言一样。 如何为Visual Studio创build新的文件types? 我如何获得语法突出显示? 我可以使用在步骤1中创build的parsing器,还是完全不同? 我如何获得智能感知? 我宁愿在C#中编写我的parsing器。

sjlj vs dwarf vs seh有什么区别?

我无法find足够的信息来决定使用哪个编译器来编译我的项目。 在不同的计算机上有几个程序模拟一个进程。 在Linux上,我正在使用GCC。 一切都很好。 我可以优化代码,它编译速度快,使用不太多的内存。 我用MSVC和GCC编译器做我自己的基准testing。 稍后会产生稍微更快的二进制文件(对于每个子体系结构)。 虽然编译时间比MSVC多得多。 所以我决定使用MinGW。 但在MinGW中找不到有关exception处理方法及其实现的解释。 我可以针对不同的操作系统和体系结构使用不同的发行版。 注意事项: 编译时间和内存对于我的使用来说并不重要。 只有重要的是运行时优化。 我需要我的程序足够快。 慢速编译器是可以接受的。 操作系统:Microsoft Windows XP / 7/8 / Linux 架构:英特尔酷睿i7 / Core2 /和一个非常古老的i686运行XP:P

为什么“纯多态性”比使用RTTI更可取?

几乎所有我见过的关于这种事情的C ++资源都告诉我,我应该更喜欢使用RTTI(运行时types标识)的多态方法。 总的来说,我认真对待这种build议,并试图理解其中的基本原理 – 毕竟,C ++是一个强大的野兽,它的全面深入难以理解。 然而,对于这个特定的问题,我画了一个空白,想看看互联网可以提供什么样的build议。 首先,让我总结一下我所学到的东西,列举出为什么RTTI被认为是“有害”的常见原因: 一些编译器不使用它/ RTTI并不总是启用 我真的不买这个说法。 这就像说我不应该使用C ++ 14的function,因为有编译器不支持它。 然而,没有人会阻止我使用C ++ 14的function。 大多数项目将影响他们正在使用的编译器,以及如何configuration。 甚至引用海合会的手册页: -fno-rtti 禁止生成有关虚拟函数的每个类的信息,供C ++运行时types标识特性(dynamic_cast和typeid)使用。 如果你不使用这些语言的部分,你可以使用这个标志来节省一些空间。 请注意,exception处理使用相同的信息,但G ++根据需要生成它。 dynamic_cast操作符仍然可以用于不需要运行时types信息的转换,即转换为“void *”或明确的基类。 这告诉我, 如果我不使用RTTI,我可以禁用它。 这就像说,如果你不使用Boost,你不必链接到它。 我不需要计划有人用-fno-rtti编译的情况。 另外,在这种情况下,编译器将会失败。 它需要额外的内存/可以很慢 每当我试图使用RTTI,这意味着我需要访问我的类的某种types的信息或特点。 如果我实现一个不使用RTTI的解决scheme,这通常意味着我将不得不添加一些字段到我的类来存储这些信息,所以内存参数是无效的(我将举一个更进一步的例子)。 dynamic_cast的确可以很慢。 不过,通常有避免使用速度危机的方法。 我不太明白这个select。 这个答案build议使用在基类中定义的枚举来存储types。 只有当你知道你所有的派生类时,这才有效。 这是一个相当大的“如果”! 从这个答案看来,RTTI的成本似乎也不明确。 不同的人测量不同的东西。 优雅的多态devise将使RTTI不必要 这是我认真对待的那种build议。 在这种情况下,我根本无法提出涵盖我的RTTI用例的好的非RTTI解决scheme。 让我举个例子: 假设我正在编写一个库来处理某些对象的graphics。 我想让用户在使用我的库时生成自己的types(所以枚举方法不可用)。 我有我的节点的基类: class node_base { public: node_base(); […]

如何在旧的桌面电脑上构build一个小型操作系统?

这可能是徒劳的,因为我知道编写一个操作系统是非常复杂的(尤其是自己)。 我不期望构build下一个Linux或Windows。 我知道这将是可怕的,越野车,并将无法正常工作,但没关系。 我想自己写一切,在大会 , C ,和(一些) C + + 。 这是一个未来的项目,因为我现在正在忙于其他一些事情,并没有立即有时间,但我想我现在会问,所以也许我可以得到很多答案,它可以build立并成为这种方法的一个有用的资源(我所看到的其他一切都涉及到使用minix,使用现有的引导程序,在虚拟引导程序中构build它等)。 我想用显示器,键盘和鼠标设置我的旧桌面之一,并开始在一个空白的硬盘驱动器上工作。 我想学习如何编写自己的bootloader(我已经find了很多关于这方面的资源,但为了完整性,请添加一些好的资源),我自己的USB驱动程序(如果有必要的话),CD驱动程序(如果这是必要的)等一切,从头开始。 如何将代码放到电脑上? 最好用软盘来做吗? 大多数计算机是否可以通过USB棒进行操作? 我需要什么样的驱动程序?你能提出一些build议吗? 启动序列后 – 那么是什么? 如何进入保护模式等 如何在没有操作系统的帮助下pipe理内存? 我只是使用任何我想要的地址? 不需要初始化? 我无疑会遇到什么会迷惑我吗? 我怎样才能使它不是一个命令行O / S,而是一个graphics? 什么是build立在graphics操作系统上? 比如,我该如何做一些事情,如命令行,字体和顶部的图片? 我在哪里可以阅读有关设置多任务环境? (即,有两个graphics式的命令行并排运行)。 我将如何build立一种窗口系统? 一旦设置简单的多任务处理,如何在屏幕上显示graphics? 相信我,我明白这是一个非常复杂的项目,我可能永远不会完成它或任何使用它写任何东西。 还有很多其他的东西,我没有提到,如果你想到的话,也可以随意添加。 请为每个答案放上一个“主题”,例如,USB驱动程序,然后可能是资源列表,要注意的东西等等。 此外,请不要build议build立另一个操作系统或预先存在的代码。 我知道我会读很多预先存在的代码(比如linux内核,示例资源,现有的驱动程序等等),但是最终我想自己写所有的代码。 我知道我应该从别的东西上来,而且还有很多其他的问题,如果我改变主意,走上这条路,我就能读懂。 但是这一切都是关于从头开始整个事情。 更新 我有很多很好的答案,主要是关于引导过程,文件系统和各种现有的项目,以供参考。 有关如何获得graphics的任何build议? 不同的video模式,以及如何与他们合作等?