Tag: C#的

在C或C ++中返回结构是否安全?

我所理解的是这不应该做,但我相信我已经看到了一些例子,做这样的事情(注意代码不一定在语法上是正确的,但想法是在那里) typedef struct{ int a,b; }mystruct; 然后这是一个function mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; } 我明白,如果我们想要做这样的事情,我们应该总是返回一个指向malloc'ed结构体的指针,但是我很积极,我见过类似这样的例子。 它是否正确? 就个人而言,我总是返回一个指向malloc'ed结构的指针,或者只是通过引用来传递函数并在那里修改值。 (因为我的理解是,一旦函数的作用域结束,不pipe用什么栈来分配结构都可以被覆盖)。 让我们在问题中增加第二部分:这是否因编译器而异? 如果是这样,那么最新版本的桌面编译器的行为是什么:gcc,g ++和Visual Studio? 关于这个问题的想法?

使用if(!!(expr))而不是if(expr)

在阅读德州仪器为其SensorTag提供的示例代码时,我遇到以下代码片段。 void SensorTagIO_processCharChangeEvt(uint8_t paramID) { … if (!!(ioValue & IO_DATA_LED1)) { PIN_setOutputValue(hGpioPin, Board_LED1, Board_LED_ON); } else { PIN_setOutputValue(hGpioPin, Board_LED1, Board_LED_OFF); } if (!!(ioValue & IO_DATA_LED2)) { PIN_setOutputValue(hGpioPin, Board_LED2, Board_LED_ON); } else { PIN_setOutputValue(hGpioPin, Board_LED2, Board_LED_OFF); } if (!!((ioValue & IO_DATA_BUZZER))) { Clock_start(buzzClockHandle); } … } 声明就像这样(在同一个文件中)。 #define IO_DATA_LED1 0x01 static uint8_t ioValue; if (!!(ioValue & […]

如何在Linux上将googleTest设置为共享库

Debian不再为gTest提供任何预编译的软件包。 他们build议你把框架整合到你的项目makefile中。 但是我想保持我的make文件干净。 如何设置gTest像以前的版本(<1.6.0),以便我可以链接aganist图书馆?

控制台应用程序:每个configuration文件只允许有一个<configSections>元素,如果存在,则必须是根<configuration>元素的第一个子元素

我正在开发控制台应用程序,当我运行.exe文件,我得到下面的错误。 system.Configuration.ConfigurationErrorsException:每个configuration文件只允许有一个<configSections>元素,如果存在,则必须是根<configuration>元素的第一个子元素。 App.config文件是 <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> <configSections> <section name="Reva.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> — — — — 如果我删除了 <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> 那么它的工作很好。 请任何人可以帮我吗?

通过.exe文件名杀死一些进程

如何通过在C#.NET或C ++中search它们的.exe文件名来杀死一些活动进程?

ReSharper – 在单线附近强制大括号

如果不使用大括号来包围单行代码块,可以将ReSharperconfiguration为修复C#代码,如下所示: if (blnSomeCondition) DoSomething(); // complain if (blnSomeOtherCondition) { DoSomethingElse(); // don't complain } 谢谢

多重主要function

我有点新,所以忍受着我。 我目前正在学习C#和Java,其中的一个相似之处在于主函数需要封装在一个类中。 例如 public class HelloWorld { public static void main(String[] args) { // Some Code } } 现在我明白了,当你运行程序的时候main是经常的“入口点”。 所以基本上,你的程序将在主函数的任何地方开始执行。 但我相信在这两种语言中,你可以在多个类中有多个主要的function。 所以当我编译一个具有多个主要function的项目时,“入口点”在哪里? 编译器如何知道从哪里开始?

LINQ不同的运算符,忽略大小写?

给出以下简单的例子: List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" }; CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer(); var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList(); 看来CaseInsensitiveComparer实际上并没有被用来做大小写不敏感的比较。 换句话说, distinctList包含与列表相同数量的项目。 相反,我认为,例如,“三”和“三”被认为是平等的。 我是否错过了一些东西,或者这是一个Distinct运算符的问题?

如何删除ASP.NET网站上的Cookie

在我的网站上,当用户点击“注销”button时,Logout.aspx页面加载代码Session.Clear() 。 在ASP.NET / C#中,这是否清除所有cookie? 还是有任何其他代码需要添加删除我的网站的所有cookie?

从一个string计算一个MD5散列

我使用下面的C#代码从string计算MD5散列。 它工作正常,并生成一个32字符的hexstring,如下所示: 900150983cd24fb0d6963f7d28e17f72 string sSourceData; byte[] tmpSource; byte[] tmpHash; sSourceData = "MySourceData"; //Create a byte array from source data. tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData); tmpHash = new MD5CryptoServiceProvider().ComputeHash(tmpSource); // and then convert tmpHash to string… 有没有办法使用这样的代码生成16个字符的hexstring(或12个字符的string)? 一个32字符的hexstring是好的,但我认为这将是无聊的客户input代码!