草庐IT

c# - 编码数字,z-base-32 的 C# 实现或其他?

我需要对一个整数进行编码/解码,该整数最长为9位,但通常为7位。我想让交流/内存变得更容易-它将通过电话交流、复制和粘贴、从卡片/内存/标签中键入、在标签上手写并且通常被滥用!我希望使用base32减少位数(同时添加校验和)方案。我最赞成z-base-32(在RFC4648实现上)由于一些设计目标(例如手写)和字母表的选择(小写,排列以支持更容易读、写、说和记住的字符)。但是,我找不到C#实现,我担心从现有的Python实现中移植。有人有C#实现吗?或者,有没有人有一组测试用例(除了规范中的示例)我可以用来验证端口?我乐于接受有关替代编码方案的建议。 最佳答

c# - 如何在 C# 中正确处理相关但不同类的调用方法

老实说,我不确定如何表达这个问题,所以如果实际问题不是您根据标题所期望的,请原谅我。C#是我编写过的第一种静态类型语言,到目前为止,它的这一方面一直让我非常头疼。我很确定我对围绕如何以静态类型方式设计系统的核心思想没有很好的把握。这是我正在尝试做的事情的粗略想法。假设我有一个这样的类层次结构:abstractclassDataMold{publicabstractTResult{get;}}classTextMold:DataMold{publicstringResult=>"ABC";}classNumberMold:DataMold{publicintResult=>123}现在假

c# - 确定 Action 返回正确 View 的单元测试

您如何测试像这样的操作方法是否会返回正确的View,因为Viewname是一个空字符串?我应该费心测试这个吗?我不确定要进行多少单元测试,我认为您可以创建很多单元测试!publicActionResultIndex(){returnView();}[TestMethod]publicvoidDetermineIndexReturnsCorrectView(){HomeControllercontroller=newHomeController();ViewResultresult=controller.Index()asViewResult;//****result.ViewNamei

c# - 有没有比 String.Replace 更好的方法来从字符串中删除退格符?

我有一个从另一个来源读取的字符串,例如“\b\bfoo\bx”。在这种情况下,它将转换为单词“fox”,因为前2个\b被忽略,最后一个“o”被删除,然后被“x”替换。另外一种情况是“patt\b\b\b\b\b\b\b\b\b\bfoo”应该被翻译成“foo”我想出了一些使用String.Replace的方法,但它很复杂,我担心它不能正常工作,而且它会创建很多我想避免的新字符串对象。有什么想法吗? 最佳答案 可能最简单的方法就是遍历整个字符串。根据您的输入,以下代码可以在1-pass中完成此操作publicstringReplace

c# - 在返回值的函数上实现超时

我有一个函数可以在串行端口上调用读取或写入请求,然后返回读取的值。我正在使用Commstudioexpress(我正在实现Commstudio的一个类),但它的超时功能似乎根本不起作用,所以我正在尝试实现我自己的超时。目前我有一个定时器,根据请求设置为读取或写入端口,如果定时器关闭,回调将关闭导致异常的连接。我试图让定时器的回调抛出异常,但异常需要通过调用原始读/写函数的线程向上传播,所以这样,它可以工作,但我觉得它很乱而且有一定是做我想做的事情的更好方法。 最佳答案 这是一个通用的解决方案,允许您在超时中包装任何方法:http:/

c# - 使用 C# 格式化 Twitter 文本 (TweetText)

是否有更好的方法来格式化来自Twitter的文本以链接超链接、用户名和主题标签?我所拥有的正在工作,但我知道这可以做得更好。我对替代技术很感兴趣。我将其设置为ASP.NETMVC的HTMLHelper。usingSystem;usingSystem.Collections.Generic;usingSystem.Text.RegularExpressions;usingSystem.Web;usingSystem.Web.Mvc;namespaceAcme.Mvc.Extensions{publicstaticclassMvcExtensions{conststringScreenNa

c# - 为什么具有 T : class result in boxing? 约束的泛型方法

这个问题在这里已经有了答案:BoxingwhenusinggenericsinC#(2个答案)关闭3年前。为什么将T限制为类的泛型方法会在生成的MSIL代码中包含装箱指令?我对此感到非常惊讶,因为既然T被限制为引用类型,那么生成的代码应该不需要执行任何装箱。这是C#代码:protectedvoidSetRefProperty(refTpropertyBackingField,TnewValue)whereT:class{boolisDifferent=false;//forreferencetypes,weuseasimplereferenceequalitychecktodeterm

c# - 从 .NET 通过电子邮件地址搜索 AD 用户的正确方法

我在使用旨在通过搜索电子邮件地址在ActiveDirectory中查找用户的代码时遇到了一些问题。我尝试了2种方法,但有时发现FindOne()方法在某些情况下不会返回任何结果。如果我在Outlook的GAL中查找用户,我会看到列出的SMTP电子邮件地址。我的最终目标是确认用户存在于AD中。我只有电子邮件地址作为搜索条件,所以无法使用名字或姓氏。方法一:使用邮件属性:DirectorySearchersearch=newDirectorySearcher(entry);search.Filter="(mail="+email+")";search.PropertiesToLoad.Ad

c# - 如何检查 var 的空值?

我正在使用带有C#4.0的PetaPocoMicro-ORM。下面的代码从数据库中检索一行:varresult=db.SingleOrDefault(getUserQuery);我想检查结果是否包含任何行,以及是否为空。执行此操作的最佳方法是什么? 最佳答案 if(result==null||result.Count()==0){//CheckswhethertheentireresultisnullOR//containsnoresultingrecords.}我认为问题不在您对null的检查中,因为linq是延迟加载的。您的错误

c# - 以编程方式构建 LINQ 查询而不用局部变量欺骗我

假设我的对象处于完美的工作状态(即TDD让我认为它们可以工作)。我有一个这样创建的列表(正确缩进除外):varresult=fromvinvendorsfrompinv.Productsorderbyp.Nameselectp;这行得通-我从所有供应商处获得了所有产品。现在我有了一个条件列表,由用户在运行时建立。让我们应用它们:foreach(AttributeainrequiredAttributes){result=result.Where(p=>p.Attributes.Contains(a));}这可能很原始,但我认为它会起作用。但是,在此foreach循环完成后,当您枚举“结