草庐IT

start_unset_count

全部标签

c# - 如何确保 C# 的 Process.Start 会扩展环境变量?

我正在尝试创建一个这样的流程:varpsi=newProcessStartInfo{FileName=@"%red_root%\bin\texturepreviewer.exe",UseShellExecute=true};varprocess=Process.Start(psi);process.WaitForExit();现在环境变量“red_root”肯定存在于派生进程的环境变量中,但执行似乎没有扩展环境变量,因此找不到文件。如何获取Process.Start展开文件名中的环境变量? 最佳答案 Environment.Expa

c# - list.count 是在物理上遍历列表来计算它,还是保留一个指针

我正在遍历一个大的对象列表来对列表中的所述对象做一些事情。在我的迭代过程中,我会根据特定条件从列表中删除一些对象。完成所有操作后,我需要根据列表中的对象数量更新UI。(T列表)。问题:WhenIcalllist.count,does.netactuallyiteratethroughthelisttocountit,ordoesitstorethecountasaproperty/variable?如果.net在物理上重复遍历列表,我也可以在自己遍历列表时保留一个计数器,从而节省开销?谢谢 最佳答案 它只是保留一个内部整数来跟踪项目

c# - 在C#中,使用List<T>时,缓存Count属性好不好,还是属性够快?

换句话说,如果有的话,下面哪个会更快?ListmyList;......foreach(WhateverwhateverinSomeOtherLongList){...if(i或ListmyList;......intlistCount=myList.Count;foreach(WhateverwhateverinSomeOtherLongList){...if(i谢谢:) 最佳答案 Count只是一个整数。当你问它的值(value)时,它不会被计算出来。它是“预先计算的”,所以是一样的。选项1更具可读性:)

c# - Process.Start(/* pdf 路径 */) 不适用于 Windows 8 上的 Adob​​e Reader

我能够在我的C#/WPF应用程序中创建PDF并使用以下命令运行它们:Process.Start(_pathToPDFFile);这适用于Adob​​eAcrobat,但不适用于Adob​​eReader。安装Adob​​eReader后,Process.Start()不执行任何操作,除非Reader进程已在任务管理器中运行。当我尝试启动PDF时,如何让Adob​​eReader显示PDF? 最佳答案 在我们的案例中,问题仅在从VisualStudio启动应用程序时重现-直接启动.exe会按预期工作。经过一些调试,发现是VisualS

c# - 在 IIS 中重新启动应用程序池时立即运行 Application_Start

我们在应用程序的application_start阶段做一些缓存操作。因此,当应用程序池重新启动时,所有缓存都会消失。是否可以在应用程序池重新启动时触发application_start或您有更好的想法来解决这个问题? 最佳答案 你可以使用ApplicationInitializationforIIS7.5,它借用了IIS8的功能,或者如果您使用的是ASP.NET4.0+则有applicationautostart.对于ASP.NET2.0i3.5,IMO有一个有点老套的解决方案,您可以在事件日志中记录应用程序池回收,然后在事件日志

c# - Process.Start() 启动的应用程序未获取参数

使用C#,我尝试使用Process.Start()将命令行参数传递给新进程:stringpath=@"C:\Demo\Demo.exe";stringarguments="onetwothree";ProcessStartInfostartInfo=newProcessStartInfo{FileName=path,Arguments=arguments};varprocess=Process.Start(startInfo);我的C应用程序Demo.exe只是回显命令行参数:intmain(intargc,char*argv[]){intcount=0;//Displayeachco

c# - Process.Start() 比在控制台中执行慢得多

我在使用Process.Start()执行.exe时遇到性能问题。.NET的执行时间大约是控制台的5倍。什么会导致这个?这是一个测试程序:publicstaticvoidMain(string[]argv){for(inti=0;i结果是这样的:0Elapsedtime4310ms.1Elapsedtime4330ms.2Elapsedtime4280ms....在cmd窗口中运行它几乎立即返回(不到1秒的执行时间)。尝试使用在控制台中对其进行计时>powershellMeasure-Command{cmd/cstart/wait%EXE%%ARGS%}执行时间大约为750毫秒,快了5

c# - 如何为 IQueryable.Count 获取 ToTraceString

我使用((ObjectQuery)IQueryable).ToTraceString()获取和调整将由LINQ执行的SQL代码。我的问题是,与大多数IQueryable方法不同,IQueryable.Count定义如下:publicstaticintCount(thisIQueryablesource){return(int)source.Provider.Execute(Expression.Call(typeof(Queryable),"Count",newType[]{source.ElementType},source.Expression));}执行查询而不编译并返回IQue

c# - LINQ Count() until,这样效率更高吗?

假设我想检查集合中是否至少有N个元素。这比做更好吗?Count()>=N使用:publicstaticboolAtLeast(thisIEnumerableenumerable,intmax){intcount=0;returnenumerable.Any(item=>++count>=max);}甚至publicstaticboolEquals(thisIEnumerableenumerable,intamount){returnenumerable.Take(amount).Count()==amount;}我如何进行基准测试?//////Returnswhethertheenum

c# - Process.Start() 从命令提示符窗口获取错误

我正在尝试使用参数启动命令提示进程。现在我想获取有关错误的信息(如果存在)。someProcess=System.Diagnostics.Process.Start(cmd,someArgs);最好的问候,洛维吉 最佳答案 其他答案都是正确的。这是您可以使用的一些代码:ProcessStartInfostartInfo=newProcessStartInfo(cmd,args);startInfo.UseShellExecute=false;startInfo.RedirectStandardError=true;Processso