Tag: C#的

使用命令行参数从C#执行PowerShell脚本

我需要从C#中执行一个PowerShell脚本。 该脚本需要命令行参数。 这是我迄今为止所做的: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(scriptFile); // Execute PowerShell script results = pipeline.Invoke(); scriptFile包含“C:\ Program Files \ MyProgram \ Whatever.ps1”之类的东西。 该脚本使用命令行参数(如“-key Value”),而Value可以是可能包含空格的path。 我没有得到这个工作。 有谁知道如何将命令行parameter passing给C#中的PowerShell脚本,并确保空间没有问题?

将整个对象转储到C#中的日志的最佳方法是什么?

因此,为了在运行时查看当前对象的状态,我真的很喜欢Visual Studio“立即”窗口给我的东西。 只是做一个简单的 ? objectname 将给我一个很好格式化的对象的“转储”。 有没有简单的方法来做到这一点在代码中,所以我可以做类似的日志logging?

事件与代表及其各自的应用程序之间的区别

我不认为使用事件优于代表,除了语法糖。 也许我是误解,但是事件似乎只是代表的占位符。 你能向我解释一下哪些差异以及何时使用哪一个? 有什么优点和缺点? 我们的代码与事件密切相关,我想深入其中。 你什么时候使用代表,而不是事件,反之亦然? 请在生产代码中说明两者的实际经验。

空闲后将variables设置为NULL

在我的公司有一个编码规则,说释放任何内存后,将该variables重置为NULL。 例如 … void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } 我觉得,在像上面显示的代码的情况下,设置为NULL没有任何意义。 还是我错过了什么? 如果在这种情况下没有意义的话,我会去接受“质量小组”去除这个编码规则。 请指教。

我怎样才能使用一个函数指针数组?

我应该如何使用C中的函数指针数组? 我怎样才能初始化它们?

如何在数据表中select不同的行并存储到数组中

我有一个数据集objds。 objds包含一个名为Table1的表。 表1包含名为ProcessName的列。 此ProcessName包含重复的名称。所以我想只select不同的名称。这是可能的。 intUniqId[i] = (objds.Tables[0].Rows[i]["ProcessName"].ToString());

C# – 如何获得Windows 64位上的程序文件(x86)

我在用着: FileInfo( System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp" 为了确定一个程序是否在用户机器上被检测到(这不是理想的,但我正在寻找的程序是一个MS-DOS应用程序的一个正确的旧kludge,我想不出另一种方法)。 在Windows XP和32位版本的Windows Vista上,这工作正常。 但是,在x64 Windows Vista上,代码将返回x64 Program Files文件夹,而应用程序则安装在Program Files x86中。 有没有一种方法编程方式返回path程序文件x86没有硬接线“C:\ Program Files文件(x86)”?

使用LINQ在一行代码中将string转换为int

我有一个stringforms的整数数组: var arr = new string[] { "1", "2", "3", "4" }; 我需要一个“真正的”整数数组来推动它: void Foo(int[] arr) { .. } 我试图投入int,它当然是失败的: Foo(arr.Cast<int>.ToArray()); 我可以做下一个: var list = new List<int>(arr.Length); arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better? Foo(list.ToArray()); 要么 var list = new List<int>(arr.Length); arr.ForEach(i => { int j; if (Int32.TryParse(i, out j)) // TryParse is faster, […]

执行cv :: warpPerspective在一组cv :: Point上伪造的校验

我正在尝试对一组点进行透视转换 ,以达到去扭曲效果: http://nuigroup.com/?ACT=28&fid=27&aid=1892_H6eNAaign4Mrnn30Au8d 我使用下面的图片进行testing, 绿色的矩形显示感兴趣的区域。 我想知道是否有可能实现我希望使用cv::getPerspectiveTransform和cv::warpPerspective的简单组合的cv::warpPerspective 。 我分享了迄今为止我写的源代码,但是它不起作用。 这是由此产生的图像: 所以有一个vector<cv::Point> 定义了感兴趣的区域 ,但是这些点并没有以任何特定的顺序存储在vector中,而这在检测过程中是不能改变的。 无论如何, 后来 ,向量中的点用来定义一个RotatedRect ,它依次被用来组装cv::Point2f src_vertices[4]; , cv::getPerspectiveTransform()所需的variables之一。 我对顶点及其组织方式的理解可能是其中一个问题 。 我也认为使用RotatedRect并不是存储ROI原始点的最佳方法 ,因为坐标会稍微改变以适应旋转的矩形, 这并不是很酷 。 #include <cv.h> #include <highgui.h> #include <iostream> using namespace std; using namespace cv; int main(int argc, char* argv[]) { cv::Mat src = cv::imread(argv[1], 1); // After some magical procedure, these are […]

在.net中检测Windows版本

如何检测.net中的Windows操作系统版本? 我可以使用哪些代码?