Tag: C#的

是否有可能序列化和反序列化在C + +的类?

是否有可能序列化和反序列化在C + +的类? 我已经使用Java 3年了,序列化/反序列化在这个语言中是相当平凡的。 C ++有类似的function吗? 是否有处理序列化的本机库? 一个例子会有帮助。

为什么无符号整数溢出定义的行为,但有符号整数溢出不是?

无符号整数溢出由C和C ++标准定义。 例如, C99标准 (第§6.2.5/9 )说 涉及无符号操作数的计算永远不会溢出,因为无法用结果无符号整数types表示的结果被减less的模数大于可由结果types表示的最大值的数。 但是,两个标准都指出有符号整数溢出是未定义的行为。 再次,从C99标准( §3.4.3/1 ) 未定义行为的一个例子是整数溢出行为 有没有一个历史的(或更好的!)这种差异的技术原因?

从Linq到Sql的随机行

当我有条件时,使用Linq to SQL检索随机行的最好(也是最快)方法是什么,例如某些字段必须为真?

在Visual Studio中预处理后,如何查看C / C ++源文件?

假设我有一个包含许多预处理指令的源文件。 在预处理器完成之后,是否有可能看到它的外观?

为什么你必须链接C中的math库?

如果在C程序中包含<stdlib.h>或<stdio.h> ,那么在编译时就不必将它们链接起来,但是我必须使用-lm和gcc链接到<math.h> ,例如: gcc test.c -o test -lm 这是什么原因? 为什么我必须明确地链接math库,而不是其他库?

C#中的多重inheritance

由于多重inheritance是不好的(这使得源代码更复杂),C#不直接提供这样的模式。 但是有时候有这个能力会有帮助。 例如,我能够使用接口和三个类来实现丢失的多重inheritance模式: public interface IFirst { void FirstMethod(); } public interface ISecond { void SecondMethod(); } public class First:IFirst { public void FirstMethod() { Console.WriteLine("First"); } } public class Second:ISecond { public void SecondMethod() { Console.WriteLine("Second"); } } public class FirstAndSecond: IFirst, ISecond { First first = new First(); Second second = new Second(); […]

如何获取运行我的C#应用​​程序的服务器的IP地址?

我正在运行一个服务器,我想显示我自己的IP地址。 获取计算机自己(如果可能的话,外部)IP地址的语法是什么? 有人写了下面的代码。 IPHostEntry host; string localIP = "?"; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily.ToString() == "InterNetwork") { localIP = ip.ToString(); } } return localIP; 但是,我一般不相信作者,而且我也不懂这个代码。 有没有更好的方法来做到这一点?

将UTC / GMT时间转换为本地时间

我们正在开发一个Web服务客户端的C#应用​​程序。 这将在Windows XP PC上运行。 Web服务返回的一个字段是DateTime字段。 服务器以GMT格式返回一个字段,即最后一个“Z”。 但是,我们发现.NET似乎做了某种隐式转换,时间总是12个小时。 下面的代码示例在一定程度上解决了这个问题,12小时的差异已经消失了,但是不允许新西兰夏令时。 CultureInfo ci = new CultureInfo("en-NZ"); string date = "Web service date".ToString("R", ci); DateTime convertedDate = DateTime.Parse(date); 根据这个date的网站 : UTC / GMT偏移 标准时区:UTC / GMT +12小时 夏令时:1小时 当前时区偏移: UTC / GMT +13小时 我们如何调整额外的小时? 这可以通过编程来完成吗?或者这是PC上的某种设置?

DateTime.Now是衡量函数性能的最好方法吗?

我需要find一个瓶颈,需要尽可能准确地测量时间。 下面的代码片段是衡量性能的最好方法吗? DateTime startTime = DateTime.Now; // Some execution process DateTime endTime = DateTime.Now; TimeSpan totalTimeTaken = endTime.Subtract(startTime);

C#事件和线程安全

我经常听到/阅读以下build议: 在检查一个事件之前,一定要先制作一个事件的副本,然后将其null 。 这将消除线程潜在的问题,在检查null的地方和发生事件的地方,事件变为null 。 // Copy the event delegate before checking/calling EventHandler copy = TheEvent; if (copy != null) copy(this, EventArgs.Empty); // Call any handlers on the copied list 更新 :我从阅读优化思想,这可能也需要事件成员变动,但Jon Skeet在他的答案中指出,CLR不会优化副本。 但同时,为了这个问题发生,另一个线程必须做这样的事情: // Better delist from event – don't want our handler called from now on: otherObject.TheEvent -= OnTheEvent; // Good, now we […]