Tag: C#的

调用堆栈上分配的variables的删除

忽略编程风格和devise,调用堆栈上分配的variables是否是“安全的”? 例如: int nAmount; delete &nAmount; 要么 class sample { public: sample(); ~sample() { delete &nAmount;} int nAmount; }

将派生类对象存储在基类variables中

我想将几个类的实例存储在一个向量中。 由于所有的类都从同一个基类inheritance,所以这应该是可能的。 想象一下这个程序: #include <iostream> #include <vector> using namespace std; class Base { public: virtual void identify () { cout << "BASE" << endl; } }; class Derived: public Base { public: virtual void identify () { cout << "DERIVED" << endl; } }; int main () { Derived derived; vector<Base> vect; vect.push_back(derived); vect[0].identify(); return […]

我怎样才能通过SSL与SMTP发送电子邮件?

有没有一种方法使用.NET Framework通过端口465上的SSL SMTP服务器发送电子邮件? 通常的方式: System.Net.Mail.SmtpClient _SmtpServer = new System.Net.Mail.SmtpClient("tempurl.org"); _SmtpServer.Port = 465; _SmtpServer.EnableSsl = true; _SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password"); _SmtpServer.Timeout = 5000; _SmtpServer.UseDefaultCredentials = false; MailMessage mail = new MailMessage(); mail.From = new MailAddress(from); mail.To.Add(to); mail.CC.Add(cc); mail.Subject = subject; mail.Body = content; mail.IsBodyHtml = useHtml; _SmtpServer.Send(mail); 超时: System.Net Verbose: 0 : [1024] SmtpClient::.ctor(host=ssl0.ovh.net, port=465) […]

WPF CreateBitmapSourceFromHBitmap()内存泄漏

我需要逐个像素地绘制图像,并将其显示在WPF中。 我正在尝试通过使用System.Drawing.Bitmap然后使用CreateBitmapSourceFromHBitmap()为WPF图像控件创build一个BitmapSource 。 我有一个内存泄漏的地方,因为当CreateBitmapSourceFromBitmap()被重复调用时,内存使用率上升,直到应用程序结束时不下降。 如果我不调用CreateBitmapSourceFromBitmap()内存使用情况没有明显的变化。 for (int i = 0; i < 100; i++) { var bmp = new System.Drawing.Bitmap(1000, 1000); var source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( bmp.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); source = null; bmp.Dispose(); bmp = null; } 我能做些什么来释放BitmapSource内存?

从std :: fstream获取FILE *

有一种(跨平台)的方式从C ++ std :: fstream获取C FILE *句柄吗? 我问的原因是因为我的C ++库接受fstreams和在一个特定的函数,我想使用一个C库,接受FILE *。

C ++中有符号整数溢出仍然是未定义的行为?

正如我们所知,有符号整数溢出是未定义的行为 。 但在C ++ 11 cstdint文档中有一些有趣的cstdint : 有符号整数types,其宽度分别为8,16,32和64位,没有填充位, 2的补码用于负值 (只有在实现直接支持该types时才提供) 请参阅链接 这里是我的问题:因为标准明确指出,对于int8_t , int16_t , int32_t和int64_t负数是2的补码,仍然是这些types的溢出未定义的行为? 编辑我检查了C ++ 11和C11标准,这里是我发现: C ++ 11,§18.4.1: 标题定义了与C标准中的7.20相同的所有函数,types和macros。 C11,§7.20.1.1: typedef名称intN_t指定宽度为N,无填充位和二进制补码表示的有符号整数types。 因此, int8_t表示宽度恰好为8位的带符号整数types。

无法修改返回值错误c#

我正在使用自动实现的属性。 我想最快的方法来解决以下是宣布我自己的支持variables? public Point Origin { get; set; } Origin.X = 10; // fails with CS1612 错误消息:无法修改“expression式”的返回值,因为它不是一个variables 试图修改作为中间expression式的结果的值types。 由于该值不是持久的,因此该值将保持不变。 要解决此错误,请将expression式的结果存储在中间值中,或者使用中间expression式的引用types。

如何将字典转换为C#中的JSONstring?

我想将我的Dictionary<int,List<int>>为JSONstring。 有谁知道如何在C#中实现这一点?

请求的registry访问是不允许的

我正在写一个调整实用工具,修改HKEY_CLASSES_ROOT下的一些键。 所有在Windows XP下工作良好等等。 但我收到错误Requested registry access is not allowed在Windows 7下。Vista和2008我也猜。 我应该如何修改我的代码来添加UAC支持?

使用boost或STL对C ++中的压缩(locking)容器进行sorting

我想做什么:我想sorting2或3,或N个向量,locking在一起, 而不复制到一个元组中。 也就是说,把冗长留在一边,就像: vector<int> v1 = { 1, 2, 3, 4, 5}; vector<double> v2 = { 11, 22, 33, 44, 55}; vector<long> v3 = {111, 222, 333, 444, 555}; typedef tuple<int&,double&,long&> tup_t; sort(zip(v1,v2,v3),[](tup_t t1, tup_t t2){ return t1.get<0>() > t2.get<0>(); }); for(auto& t : zip(v1,v2,v3)) cout << t.get<0>() << " " << t.get<1>() << " […]