Tag: C#的

C中的数组索引超出限制

为什么C在数组索引超出范围的情况下进行区分 #include <stdio.h> int main() { int a[10]; a[3]=4; a[11]=3;//does not give segmentation fault a[25]=4;//does not give segmentation fault a[20000]=3; //gives segmentation fault return 0; } 我知道它正试图访问分配给进程或线程的内存,以防a[11]或a[25]的情况发生,并且a[20000]情况下它将超出堆栈范围。 为什么编译器或链接器不给出错误,他们不知道数组的大小? 如果不是那么sizeof(a)如何正确工作?

将List <DerivedClass>转换为List <BaseClass>

虽然我们可以从基类/接口inheritance,但为什么我们不能使用相同的类/接口声明一个List<> ? interface A { } class B : A { } class C : B { } class Test { static void Main(string[] args) { A a = new C(); // OK List<A> listOfA = new List<C>(); // compiler Error } } 有没有办法?

如何阻止C ++控制台应用程序立即退出?

最近,我一直在试图从这个网站学习C ++。 不幸的是,当我尝试运行其中一个代码示例时,我发现程序打开了大约半秒钟,然后立即closures。 有没有办法阻止程序立即closures,以便我可以看到我努力的成果?

以编程方式提升进程权限?

我正在尝试使用InstallUtil.exe安装服务,但通过Process.Start调用。 代码如下: ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath); System.Diagnostics.Process.Start (startInfo); 其中m_strInstallUtil是完全限定的path,EXE到“InstallUtil.exe”, strExePath是我的服务的完全合格的path/名称。 从提升的命令提示符运行命令行语法工作; 从我的应用程序运行(使用上面的代码)不。 我假设我正在处理一些进程提升问题,那么我将如何在升级状态下运行我的进程? 我需要看看这个ShellExecute吗? 这全部在Windows Vista上。 我正在运行VS2008debugging器中的进程升级到pipe理员权限。 我也试过设置startInfo.Verb = "runas"; 但似乎并没有解决问题。

使用CookieContainer和WebClient类

我以前用HttpWebRequest和HttpWebResponse会话CookieContainer,但现在,我想用它与WebClient。 据我所知,没有像HttpWebRequests( request.CookieContainer )的内置方法。 如何从CookieContainer中的WebClient收集Cookie? 我google了这个,并发现以下示例 : public class CookieAwareWebClient : WebClient { private readonly CookieContainer m_container = new CookieContainer(); protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); HttpWebRequest webRequest = request as HttpWebRequest; if (webRequest != null) { webRequest.CookieContainer = m_container; } return request; } } 这是做这件事的最好方法吗?

如何使用LINQ来select具有最小或最大属性值的对象

我有一个可空的DateOfBirth属性的Person对象。 有没有办法使用LINQ来查询最早/最小的DateOfBirth值的Person对象的列表。 这是我开始的: var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue)); Null DateOfBirth值设置为DateTime.MaxValue,以便将它们排除Min考虑(假设至less有一个具有指定的DOB)。 但所有这一切对我来说是设置firstBornDate为DateTime值。 我想得到的是与之相匹配的Person对象。 我是否需要编写第二个查询,如下所示: var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate); 还是有一个更瘦的方法呢?

读取/写入INI文件

.NET框架中是否有可以读写标准.ini文件的类: [Section] <keyname>=<value> … delphi有TIniFile组件,我想知道是否有什么类似的C#?

无法在控制台应用的“主要”方法中指定“asynchronous”修饰符

我是新来的asynchronous编程与async修改器。 我想弄清楚如何确保我的控制台应用程序的Main方法实际上是asynchronous运行的。 class Program { static void Main(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = bs.GetList(); } } public class Bootstrapper { public async Task<List<TvChannel>> GetList() { GetPrograms pro = new GetPrograms(); return await pro.DownloadTvChannels(); } } 我知道这不是从“顶部”asynchronous运行。 由于无法在Main方法中指定async修饰符,因此如何在mainasynchronous运行代码?

strdup() – 它在C中做什么?

在C中的strdup()函数的目的是什么?

从Python调用C / C ++?

什么是最快的方法来构build一个Python或C + +库的绑定? (如果这个问题我正在使用Windows。)