草庐IT

c++栈对象的shared_ptr

全部标签

c# - 在静态类中声明的对象何时会被垃圾回收?

publicstaticclassstClass{staticClass1obj=newClass1();publicstaticintreturnSomething(){return0;}}如果我正在调用静态函数stClass.returnSomething()在其他一些非静态类中?注意:Class1不是静态的 最佳答案 从不,如obj不执行IDisposable.如果你的意思是什么时候obj获得垃圾收集那么答案仍然是永远不会-静态字段永远不会被垃圾收集,因此obj的对象如果您设置obj,引用将仅符合垃圾收集条件为空(或其他一些对

c# - 在 C# 对象上调用 C++/CLI delete

我正在将一些代码从C++/CLI转换为C#。其中一个对象在C++/CLI版本中具有析构函数。一些其他C++/CLI代码在使用后对该对象调用“删除”。我需要在此对象的C#版本中实现哪种方法,以便那些“删除”继续发挥相同的作用(IDisposable.Dispose、终结器或我缺少的其他东西)? 最佳答案 我会说IDisposable如果您需要确定性地处理资源,那么接口(interface)就是您要寻找的。这通常是非托管资源的情况,例如需要关闭的非托管句柄、流或数据库连接。在C++/CLI中,如果声明托管类型(refclass等),ID

c# - 使用 JSON.NET 解析嵌套的 JSON 对象

我的JSON提要有这样的嵌套对象:{"id":1765116,"name":"StrozeR","birth":"2009-08-12","avatar":"http:\/\/static.erepublik.com\/uploads\/avatars\/Citizens\/2009\/08\/12\/f19db99e9baddad73981d214a6e576ef_100x100.jpg","online":true,"alive":true,"ban":null,"level":61,"experience":183920,"strength":25779.42,"rank":{"

c# - 使用动态对象反序列化 JSON

我有一个带有一长串区号的JSON对象。不幸的是,每个区号都是数据对象列表中的对象名称。如何创建允许RestSharp反序列化内容的类?这是我的类(class)现在的样子:publicclassphaxioResponse{publicstringsuccess{get;set;}publicstringmessage{get;set;}publicListdata{get;set;}publicclassareaCode{publicstringcity{get;set;}publicstringstate{get;set;}}}这是JSON内容:{success:truemessag

c# - 无法将类型为 'Newtonsoft.Json.Linq.JObject' 的对象转换为类型 <MyClass>

这段代码:varcommandMessage=newCommandMessage{CorrelationId=Guid.NewGuid()};varjson=JsonConvert.SerializeObject(commandMessage);varmyCommandMessage=(CommandMessage)JsonConvert.DeserializeObject(json);给出这个错误信息:Additionalinformation:Unabletocastobjectoftype'Newtonsoft.Json.Linq.JObject'totype'QueueConn

c# - Linq to objects - 选择第一个对象

我对linq几乎一无所知。我这样做:varapps=fromappinProcess.GetProcesses()whereapp.ProcessName.Contains("MyAppName")&&app.MainWindowHandle!=IntPtr.Zeroselectapp;这让我获得了符合该条件的所有正在运行的进程。但我不知道如何获得第一个。我在网上找到的例子似乎暗示我必须这样做varmatchedApp=(fromappinProcess.GetProcesses()whereapp.ProcessName.Contains("MyAppName")&&app.Main

c# - 如何在 PropertyGrid 中查看对象属性?

目前我有一个类型为A的对象,它正在被PropertyGrid查看。但是,其属性之一是类型B。类型B的属性不可扩展。我怎样才能改变这个:a)我可以扩展自定义对象属性的b)这些更改绑定(bind)到该属性这是我目前的代码:usingSystem;usingSystem.Windows.Forms;usingSystem.ComponentModel;namespacePropGridTest{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender

c# - 如何使用 DateTime.Parse() 创建 DateTime 对象

如果我有一个格式为yyyyMMddHHmmssfff的字符串,例如20110815174346225。我将如何从该字符串创建DateTime对象。我尝试了以下DateTimeTimeStamp=DateTime.Parse(Data[1],"yyyyMMddHHmmssfff");但是我得到了这些错误:Error1Thebestoverloadedmethodmatchfor'System.DateTime.Parse(string,System.IFormatProvider)'hassomeinvalidargumentsC:\DocumentsandSettings\rkelly

c# - 在循环中动态创建对象

我有一个正在循环的字符串数组。我想遍历数组并在每次迭代中创建一个名称与字符串值匹配的新对象。例如;string[]array=newstring[]{"one","two","three"};classmyClass(){publicmyClass(){}}foreach(stringnameinarray){myClass*valueofnamehere*=newmyClass();}将导致三个对象被实例化,名称为“一”、“二”和“三”。这可能还是有更好的解决方案? 最佳答案 你想做什么在静态类型语言中是不可能的。IIRC,这在P

c# - Null 合并运算符为动态对象的属性返回 null

我最近在使用Json.NET将JSON解析为动态对象时发现空合并运算符存在问题。假设这是我的动态对象:stringjson="{\"phones\":{\"personal\":null},\"birthday\":null}";dynamicd=JsonConvert.DeserializeObject(json);如果我尝试使用??d的字段之一上的运算符,它返回null:strings="";s+=(d.phones.personal??"default");Console.WriteLine(s+""+s.Length);//outputs0但是,如果我将动态属性分配给字符串,则