草庐IT

有可能

全部标签

c# - 这是.Net Native 编译和优化中可能存在的错误吗?

我在.NetNative和structs中发现了(可能是)过度优化的问题。我不确定是编译器太激进了,还是我太盲目了,看不出我做错了什么。要重现这一点,请按照下列步骤操作:第1步:在VisualStudio2015Update2中创建一个新的空白通用(win10)应用,目标版本为10586,最小版本为10240。调用项目NativeBug所以我们有相同的命名空间。第2步:打开MainPage.xaml并插入此标签第3步:将以下内容复制/粘贴到MainPage.xaml.csusingSystem;usingSystem.Collections.Generic;namespaceNativ

c# - 构造内存 hack 以重叠对象引用 - 这可能吗?

我猜这个问题的答案将是“这不可能,切换到C++”。但我想我还是会把它扔出去。我正在处理一个巨大的二叉树。我有一个结构数组来表示分支节点,在遍历树时,我使用这些结构来帮助处理内存的局部性。为了节省一点内存,从而提高缓存的局部性,我正在研究重叠叶节点的对象引用。该对象引用将指向所有叶数据。基本上是这样的:[StructLayout(LayoutKind.Explicit)]structBranchData{[FieldOffset(0)]//1byteinternalbyteSplitIndex;[FieldOffset(1)]//4bytesinternalfloatSplitValue

c# - 无法创建 SSL/TLS 安全通道 - 问题可能出在代理服务器上吗?

我有一个c#应用程序,它调用一个使用证书进行身份验证的Web服务方法。该代码有效,因为当它安装在服务器A(没有代理)上时,它会进行身份验证。当我在客户端站点的服务器B上安装代码时,它安装在代理后面。我真的几乎尝试了所有方法,但我一直收到此错误:无法创建SSL/TLS安全通道您认为此问题可能是由代理服务器引起的吗?如果您对此有任何个人经验,请分享。谢谢 最佳答案 根据我的经验,几乎所有此类消息都是由于链中的某些机器(客户端、代理、服务器)出于某种原因不“喜欢”证书。详细说明twk所说的内容,如果您使用的是自签名证书或您自己的CA,您需

c# - 在 .Net 应用程序中使用 tinyurl.com ...可能吗?

我找到了以下代码来创建一个tinyurl.comurl:http://tinyurl.com/api-create.php?url=http://myurl.com这将自动创建一个tinyurlurl。有没有办法使用代码(特别是ASP.NET中的C#)来执行此操作? 最佳答案 您可能应该添加一些错误检查等,但这可能是最简单的方法:System.Uriaddress=newSystem.Uri("http://tinyurl.com/api-create.php?url="+YOURADDRESSGOESHERE);System.Ne

c# - 在 C# 中使用 SSE 是可能的吗?

我正在阅读有关c#代码优化的问题,一种解决方案是将c++与SSE结合使用。是否可以直接从C#程序执行SSE? 最佳答案 即将到来Mono2.2版本将支持SIMD。MigueldeIcaza在博客中介绍了即将推出的功能here,API是here.虽然会有一个库支持在Microsoft的.NETWindows运行时下进行开发,但除非您在Mono运行时下运行代码,否则它不会具有您正在寻找的性能优势。根据您的情况,这可能是可行的。更新:Mono2.2是released 关于c#-在C#中使用SS

c# - F# 屈服! operator - 实现和可能的 C# 等价物

我目前正在学习F#,我非常喜欢yield!(yield-bang)运算符。不仅因为它的名字,当然也因为它的作用。yield!运算符基本上允许您从序列表达式中产生序列的所有元素。这对于组合枚举器很有用。因为我经常遇到大而复杂的枚举器,所以我对我们可以用来将它们分解并由更简单的枚举器组合起来的策略很感兴趣。不幸的是,yield!运算符在C#中不可用。据我所知,它的作用类似于foreach(varxinsource)yieldx;但我正在阅读的书(Petricek'sRealWorldF#-Manning)表明它具有更好的性能......那么F#编译器在这里究竟做了什么?(是的,我也可以使用

c# - 什么可能导致 WCF 中出现 "Cannot access a disposed object"错误?

我正在使用以下代码:privateWSHttpBindingws;privateEndpointAddressSrv_Login_EndPoint;privateChannelFactorySrv_LoginChannelFactory;privateSrv_Login.Srv_ILoginLoginService;Login是我的构造函数:publicLogin(){InitializeComponent();ws=newWSHttpBinding();Srv_Login_EndPoint=newEndpointAddress("http://localhost:2687/Srv_L

c# - 是否可以在程序集级别启用 Visual Studio 中的循环依赖项?相互依赖的组件甚至可能吗?

这听起来可能是个愚蠢的问题,但我还是要试一试。所以在VisualStudio中,你不能有两个项目X和Y,使得X引用Y和Y引用X。总的来说,出于各种原因,我完全可以理解循环依赖是如何产生问题的。但是这样可能编译两个相互依赖的项目真的不行吗?在我看来,这一定是可能的,因为(在我看来——也许我完全对此不以为然)拥有两个相互依赖的程序集确实不是>不同于拥有两个相互依赖的类--合法且可以编译的情况。如果您说“两个程序集不能相互依赖,因为编译器无法先编译一个程序集”,这对我来说是有意义的;除了您似乎可以在同一个程序集中为两个类设置相同的参数,而且显然编译器可以很好地处理这种情况。基本上,我问的原因

c# - 似乎表达式的某些部分可能在编译时被评估,而其他部分在运行时

可能是一个愚蠢的问题,因为我可能已经回答了我的问题,但我只是想确保我没有遗漏一些东西常量表达式在编译时在检查的上下文中计算。我认为不应在编译时计算以下表达式,因为我假设C#仅当左侧的所有操作数都是常量时才将特定表达式视为常量表达式:inti=100;longu=(int.MaxValue+100+i);//error相反,编译器似乎将两个操作数都是常量的任何子表达式视为常量表达式,即使表达式中的其他操作数是非常量?因此编译器可能只在编译时计算表达式的一部分,而表达式的剩余部分(包含非常量值)将在运行时计算-->我假设在下面的例子中只有(200+100)在编译时被评估inti=100;l

c# - 为什么即使只有一种可能的返回类型,方法调用表达式的类型也是动态的?

受此启发question.简短版本:如果只有一个M重载或所有重载,为什么编译器无法确定M(dynamicarg)的编译时类型M的重载具有相同的返回类型?根据规范,§7.6.5:Aninvocation-expressionisdynamicallybound(§7.2.2)ifatleastoneofthefollowingholds:Theprimary-expressionhascompile-timetypedynamic.Atleastoneargumentoftheoptionalargument-listhascompile-timetypedynamicandthepri