草庐IT

c++栈对象的shared_ptr

全部标签

c# - 在 C# 中使用多个键优化缓存 - 删除对象的重复

我在Asp.NetCore中有一个项目。这个项目有一个ICacheService如下:publicinterfaceICacheService{TGet(stringkey);TGet(stringkey,Funcgetdata);TaskGet(stringkey,Func>getdata);voidAddOrUpdate(stringkey,objectvalue);}实现只是基于ConcurrentDictionary,所以它并没有那么复杂,只是从这个字典中存储和检索数据。在我的一项服务中,我有如下方法:publicasyncTask>GetLanguagesAsync(stri

C# 退出 using() block ,线程仍在作用域对象上运行

如果线程正在运行通过退出usingblock释放的对象中的方法,线程会发生什么情况?示例:using(SomeObjectobj=newSomeObject()){obj.param=10;ThreadnewThread=newThread(()=>{obj.Work();});newThread.Start();}...obj.Work()在新线程上运行,但obj是一个IDisposable对象,通常会在usingblock退出时释放。如果线程在usingblock结束后继续运行会怎样?只有在线程完成后对象才会被释放吗?还是会断线?谢谢。 最佳答案

c# - 在 .NET 中通过线路移动对象时哪种方法最有效?

我一直在使用Web服务通过网络传输数据,这对我来说非常有用。它擅长发送小块数据。一旦您必须移动具有大量属性的深层对象树,生成的XML汤就需要100k数据并将其变成1MB。所以我试过了IISCompression,但这让我不知所措。它很好地压缩了数据,但折衷是压缩/解压缩。然后我通过BinaryFormatter序列化对象并将其发送出去。这更好,但是,编码/解码的速度仍然存在。无论如何,我听说我还停留在00年代,现在有更好的方式通过网络发送数据,例如ProtocolBuffers、MessagePack等...谁能告诉我这些新协议(protocol)是否更适合发送大量数据以及我是否缺少其

c# - HttpRuntime.Cache 对象中缓存键的最大长度?

我们在ASP.NET中使用HttpRuntime.CacheAPI来缓存从数据库检索的数据。对于这个特定的应用程序,我们的数据库查询具有很多参数,因此我们的缓存键看起来像这样:table=table1;param1=somevalue1;param2=somevalue2;param3=somevalue3;param4=somevalue4;param5=somevalue5;param6=somevalue6...etc...对于某些查询,我们有很多参数,以至于缓存键有几百个字符长。我的问题:这些缓存键的长度是否有限制?在内部,它使用字典,因此理论上查找时间应该是恒定的。但是,我想

c# - ASP.NET Web API - 返回 CLR 对象或 HttpResponseMessage

对于操作方法的返回类型,WebAPI中的一般做法似乎是什么?像这样返回CLR对象:publicIEnumerableGet(){return_contactService.GetAllForUser();}或者将您的对象包装在HttpResponseMessage中:publicHttpResponseMessageGet(){IEnumerablecontacts=_contactService.GetAllForUser();returnRequest.CreateResponse((HttpStatusCode)200,contacts);}我更喜欢将我自己的CLR对象作为返回类

c# - F# 缺少面向对象或命令式的什么?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。10年前关闭。很多时候我听说F#不适合特定的任务,例如UI。“使用正确的工具”是一个常见的短语。除了缺少WinForms/WPF/ORM设计器等工具之外,我不确定F#中到底缺少什么——老实说!然而,特别是对于UI,我听说C#做得更好。那么,在命令式使用时,F#的实际区别和遗漏是什么?这是我想出的一个列表:大量缺少的工具支持F#仍是测试版你的开发人员不知道F#我不想考虑这

c# - 使用 json.net 在序列化期间合并两个对象?

我遇到了如下情况,谁能帮我实现一下?例如,如果我有类(class):-publicclassSample{publicStringname{get;set;}publicMyClassmyclass{get;set;}}我的Myclass将如下所示:publicclassMyClass{publicStringp1{get;set;}publicStringp2{get;set;}}当我使用Json.net序列化Sample类的对象时,我得到如下结果并且运行良好。{"name":"...","myclass":{"p1":"...","p2":"..."}}它是正确的,但我想知道是否可

c# - 2 个对象,完全相同(命名空间除外)c#

我正在使用第3方的网络服务集,但遇到了一个小问题。在我手动制作将每个属性从源复制到目标的方法之前,我想我会在这里寻求更好的解决方案。我有2个对象,一个是Customer.CustomerParty类型,另一个是Appointment.CustomerParty类型。CustomerParty对象实际上是完全相同的属性和子对象。但是我不能从1转换到另一个。所以,我需要从网络服务中找到某个人。我可以通过调用Customer.FindCustomer(customerID)来做到这一点,它会返回一个Customer.CustomerParty对象。我需要找到我找到的那个人,然后在“Creat

c# - 如何将 XML 文件内容映射到 C# 对象

我是C#的新手,我正在尝试读取XML文件并将其内容传输到C#对象。例如示例XML文件可以是:Person121Person222..可以映射到名为“Person”的C#类数组:Person[]people;Person对象可以包含以下字段:stringname;uintage; 最佳答案 听起来您想使用XML序列化。那里已经有很多,但这是一个非常简单的例子。http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization您想要的代码段大约在下方的1/

c# - 对象实体到 CSV 序列化/转换

如何在C#中将所有值(属性)写入csv格式的字符串?例如:classPerson(stringfirstName,stringlastName,int_age);Personperson=newPerson("Kevin","Kline",33);现在我想要一个字符串"Kevin;Kline;33"换句话说,我想将一个对象序列化为CSV 最佳答案 看看JoshClose's优秀CSVHelper图书馆varperson=newPerson("Kevin","Kline",33);using(varcsv=newCsvWriter(n