草庐IT

代码雨

全部标签

c# - 如何从字符串中删除无效代码点?

我有一个需要提供规范化字符串的例程。但是,传入的数据不一定是干净的,如果字符串包含无效代码点,String.Normalize()会引发ArgumentException。我想做的就是用一次性字符(例如“?”)替换这些代码点。但要做到这一点,我需要一种有效的方法来搜索字符串以首先找到它们。这样做的好方法是什么?下面的代码有效,但它基本上使用try/catch作为粗略的if语句,因此性能很糟糕。我只是分享它来说明我正在寻找的行为:privatestaticstringReplaceInvalidCodePoints(stringaString,stringreplacement){var

c# - (尝试)从 WSE 3.0 迁移到 WCF 以获取客户端代码

为此,我在网上找遍了。我一直在做这件事,但我尝试使用其Web服务的供应商拒绝正式支持WCF作为一种使用方法。我不是Web服务专家,所以我会尽我所能在最初的帖子中记录和解释,但无论如何,如果您需要更多信息,请索取更多信息,希望我能够提供任何信息是必要的。服务在我的公司,我们使用公开服务的供应商应用程序。该应用程序是用java编写的,看起来wsdl是使用ApacheAxis1.2创建的。代码我的遗留代码使用WSE3.0。特别是,它使用了在末尾自动添加“WSE”的代理类。这使我可以使用更简单的身份验证方案(这是我让它工作的唯一方法)。我不需要使用证书。我使用SecurityPolicyAss

c# - async/await 单元测试代码覆盖率

如何为异步/等待方法编写单元测试,我使用的是VisualStudio2013。假设我们有一个异步方法:publicasyncTaskDoSomethingAsync(){...await_service.DoInternalAsync();...}由于我使用的是最新版本的VisualStudio,它对异步方法单元测试有很好的支持:[TestMethod]publicasyncTaskDoSomthingAsyncTest(){...await_objectUnderTest.DoSomethingAsync();//howtoverifytheresult???hereiswhatId

C# 代码优化导致 Interlocked.Exchange() 出现问题

我在一些代码中遇到了一个令人沮丧的问题,并且不知道为什么会出现这个问题。////.NETFRAMEWORKv4.6.2ConsoleAppstaticvoidMain(string[]args){varlist=newList{"aa","bbb","cccccc","dddddddd","eeeeeeeeeeeeeeee","fffff","gg"};foreach(variteminlist){Progress(item);}}privatestaticint_cursorLeft=-1;privatestaticint_cursorTop=-1;publicstaticvoidP

c# - 如何以编程方式解析和修改 C# 代码

我想做的是阅读C#代码,解析它,插入一些方法调用并最终编译它。是否可以将C#源代码(字符串列表)转换为CodeDOM对象? 最佳答案 这是一个非常古老的问题,但值得注意的是,已接受的答案不再适用。微软最近Roslyn项目明确旨在公开编译器在静态分析代码库的过程中获得的有关您的代码库的所有知识,并通过托管API公开所有这些信息供您利用。它适用于VB和C#。由于您要使用静态分析信息,因此需要Microsoft.CodeAnalysisNuGet包(C#所需的东西在Microsoft.CodeAnalysis.CSharp命名空间下),有

c# - 为什么 Mono 源代码大部分是 C#?

我第一次看Mono的源代码,我以为我会找到一堆C或C++代码,但我发现了26,192个.cs文件和7个.cpp文件。我并不完全震惊,但它让我想起了一个一直在我脑海中萦绕的问题:一个项目怎么会变成这样“自己”写的?旧版本的mono是否更多的是c/c++?或者是否有最初的努力来创建某种机器编码的编译器......这里的“技巧”是什么? 最佳答案 Mono的编译器是用C#编写的。您可能想阅读有关compilerbootstrapping的内容. 关于c#-为什么Mono源代码大部分是C#?,我

c# - 如何自定义InitializeComponent的代码生成?更具体地说,如何对所有生成的代码进行后处理?

我正在尝试为InitializeComponent自定义Windows窗体设计器的代码生成。MSDN文章"CustomizingCodeGenerationinthe.NETFrameworkVisualDesigners"包含一个部分"ControllingCodeGeneration"解释了如何做到这一点的基础知识。我密切关注了上面文章中的一个例子://usingSystem.ComponentModel.Design.Serialization;classSomeFormSerializer:CodeDomSerializer{publicoverrideobjectSerial

c# - 如何制作从 C# "Thread-safe"调用的 C (P/invoke) 代码

我有一些使用单个全局变量的简单C代码。显然这不是线程安全的,所以当我在C#中使用P/invoke从多个线程调用它时,事情就搞砸了。如何为每个线程单独导入此函数,或使其成为线程安全的?我尝试声明变量__declspec(thread),但这导致程序崩溃。我还尝试制作一个C++/CLI类,但它不允许成员函数是__declspec(naked),我需要(我正在使用内联汇编)。我在编写多线程C++代码方面经验不足,因此可能缺少某些内容。下面是一些示例代码:C#[DllImport("MyDll.dll",CallingConvention=CallingConvention.Cdecl)]pu

c# - 在 .NET 中寻找用于并发的静态代码分析工具,如 CheckThread for java

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我正在用c#实现并发.NET数据结构(如ConcurrentDictionary、BlockcingCollection等)。这不仅仅是在从不同线程访问时不要忘记锁定对象。它需要复杂的锁定策略来最大化并行执行时间。我知道有一个工具,一种

c# - 如何结束响应并发回 HTTP 代码 404?

我正在使用温莎城堡工厂根据请求url实例化一个对象。类似于:publicFooViewModelGet(){if(HttpContext.Current==null){returnnewFooViewModel();}varcurrentContext=newHttpContextWrapper(HttpContext.Current);//resolveactualviewmodel.在某些情况下,我实际上想抛出404并停止请求,目前如:thrownewHttpException(404,"HTTP/1.1404NotFound");currentContext.Response.E