Tag: C#的

“System.Configuration.ConfigurationSettings.AppSettings”已经过时

我得到了以下警告 'System.Configuration.ConfigurationSettings.AppSettings'已经过时了:''这个方法已经过时了,已经被System.Configuration!System.Configuration.ConfigurationManager.AppSettings''取代了 你如何解决它?

为什么内联被认为比函数调用更快?

现在,我知道这是因为没有调用函数的开销,而是调用函数的开销真的很重(并且值得让它内联)。 从我记得,当一个函数被调用时,说f(x,y),x和y被压入堆栈,堆栈指针跳转到一个空的块,并开始执行。 我知道这是一个过分简单化,但我错过了什么? 一些推动和跳转来调用一个函数,真的有那么多的开销? 让我知道,如果我忘记了一些东西,谢谢!

用强types语言走多远?

比方说,我正在编写一个API,而我的一个函数带有一个代表一个通道的参数,并且只会在值0和15之间。我可以这样写: void Func(unsigned char channel) { if(channel < 0 || channel > 15) { // throw some exception } // do something } 还是利用C ++作为强types语言,并使自己成为一种types: class CChannel { public: CChannel(unsigned char value) : m_Value(value) { if(channel < 0 || channel > 15) { // throw some exception } } operator unsigned char() { return m_Value; […]

显式和隐式的c#

我是C#的新手,学习新单词。 我发现在编程c#时很难理解这两个词的含义。 我看了字典的意思,这里是我得到的: 含蓄 “隐含的东西是以间接的方式expression的。” “如果一个质量或要素隐含在某件事物中,它就涉及到它或者被它所performance出来;” 明确的 “明确而明确地expression或明确expression某种东西,而不是试图隐藏任何东西” “如果你对某件事情很清楚,你可以非常坦率地说清楚。” 我想在C#中理解它。 谢谢你的帮助。 干杯 附加信息: 这里是我正在阅读的书中的一个句子的一部分,它有这个词“隐含” “这意味着AreaPerPerson( )中的Area和AreaPerPerson( ) 隐含地引用了在调用AreaPerPerson( )的对象中find的那些variables的副本” 我完全不明白这句话在这里想说什么。

如何禁用#pragma警告?

在开发一个C ++应用程序的时候,我不得不使用一个第三方库,它产生了大量与正在使用的无害#pragma指令有关的警告。 ../File.hpp:1: warning: ignoring #pragma ident In file included from ../File2.hpp:47, from ../File3.hpp:57, from File4.h:49, 当使用GNU C ++编译器时,是否可以禁用这种警告?

在C中的主要参数

我不知道该怎么办! 我对C基础知识非常了解。 结构,文件IO,string等。 出于某种原因,我不能理解这个概念。 任何build议,帮助或build议。 PS我是一个Linux用户

此BackgroundWorker当前正忙,无法同时运行多个任务

我得到这个错误,如果我点击一个button,启动backgroundworker两次。 This BackgroundWorker is currently busy and cannot run multiple tasks concurrently 我怎样才能避免这一点?

如何处理C ++中的bad_alloc?

有一个名为foo的方法,有时会返回以下错误: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Abort 有没有办法,我可以使用try – catch块来阻止这个错误终止我的程序(我想要做的就是返回-1 )? 如果是这样,它的语法是什么? 我还能怎样处理C ++中的bad_alloc ?

C#列表 – 删除项目while循环/迭代

假设我有下面的代码片段: var data=new List<string>(){"One","Two","Three"}; for(int i=0 ; i<data.Count ; i++){ if(data[i]=="One"){ data.RemoveAt(i); } } 以下代码引发exception。 我的问题是什么是避免这种exception,并在循环中删除元素的最好办法?

C / C ++中无尽循环

有几种可能做无限循环,这里有一些我会select: for(;;) {} while(1) {} / while(true) {} do {} while(1) / do {} while(true) 有一种应该select的forms吗? 现代编译器会在中间语句和最后一个语句之间做出区别,还是会意识到这是一个无限循环,完全跳过了检查部分? 编辑:正如前面提到的,我忘记了goto ,但这是因为我根本不喜欢它作为命令。 Edit2:我对从kernel.org取得的最新版本做了一些grep。 我似乎没有太多的改变(至less在内核内)