Tag: C#的

释放未插入的虚拟串行端口

我有一个USB条码扫描仪的小问题。 我正在使用“SerialPort”类的扫描仪: this._barcodeScanner = new SerialPort(comPort, 9600, Parity.None, 8, StopBits.One) { Handshake = Handshake.None, ReadTimeout = 500, WriteTimeout = 500 }; this._barcodeScanner.Open(); this._barcodeScanner.DataReceived += BarcodeScannerCallback; 如果我在通过“SerialPort”类打开USB设备的同时拔下USB设备,则无法正常closures软件,并且虚拟端口保持打开状态,直到重新启动整个计算机。 所以我的问题是,有没有办法通过C#代码拔掉设备后closures虚拟端口? 问候 编辑#1 好的,还有一些代码: 这样,我每隔10秒检查一次设备是否插入: private bool CheckUsbDeviceAvailability() { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSSerial_PortName WHERE PortName = '" + this.PortName + "'"); if (searcher.Get().Count > […]

我如何使用条件运算符?

我一直想知道如何用C ++兼容的语言编写"A ? B : C"语法。 我认为它的工作原理是:( 伪代码) If A > B C = A Else C = B 请问任何经验丰富的C ++程序员请帮助我吗?

为什么C ++需要一个malloc()强制转换,但C不?

我一直对此感到好奇 – 为什么在C ++中我必须从malloc投入返回值,但不是在C中? 以下是C ++中的示例: int *int_ptr = (int *)malloc(sizeof(int*)); 这里是C + +的例子,不工作(不投): int *int_ptr = malloc(sizeof(int*)); 我听说在C中,实际上,从malloc()输出一个输出是一个错误。 任何人都可以评论这个话题吗?

获取string中两个string之间的string

我有一个string: "super exemple of string key : text I want to keep – end of my string" 我只想保留"key : "和" – "之间的string。 我怎样才能做到这一点? 我必须使用正则expression式还是可以用另一种方式来完成?

在C ++中定义静态成员

我想要这样定义一个公共的静态variables: public : static int j=0; //or any other value too 我得到了这样一个编译错误:ISO C ++禁止非常量静态成员“j”的类初始化。 为什么在C ++中不允许? 为什么const成员被允许初始化? 这是否意味着C ++中的静态variables不会像在C中那样使用0进行初始化? 谢谢 !

C ++是否支持可变长度数组?

不,等等,跟我一起… VLA总是一个GCC扩展,但是它们被C99采用: [C99: 6.7.5.2/4]:如果大小不存在,则数组types是不完整的types。 如果size的大小是*,而不是一个expression式,则数组types是一个非指定大小的可变长度的数组types,它只能在具有函数原型作用域的声明中使用; 这样的数组仍然是完整的types。 如果大小是一个整数常量expression式,并且元素types具有已知的常量大小,则数组types不是可变长度数组types; 否则,数组types是一个可变长度的数组types。 C99也被称为ISO/IEC 9899:1999 。 现在: [C++11: 1.1/2]: C ++是一种基于ISO / IEC 9899:1999(以下简称C标准)规定的C编程语言的通用编程语言。 除了C提供的function之外,C ++还提供额外的数据types,类,模板,exception,命名空间,运算符重载,函数名称重载,引用,免费商店pipe理操作员以及其他库设施。 那么C ++ 11也不应该有VLA吗?

在2D点集中find洞?

我有一套2d points 。 它们是标准笛卡尔网格系统上的X,Y coordinates (在本例中是UTM zone )。 我需要find那个点的孔,最好有一些设置find这些孔的algorithm的灵敏度的能力。 通常这些点集非常密集,但有些可能不那么密集。 它们是什么,如果有帮助的话,就是农田里的土壤被取样为农业中的人们显然有用的各种性质的地方。 有时在这些点样品有巨大的岩石或沼泽的地方或充满小湖泊和池塘。 从点集他们希望我find大致定义这些洞的凹多边形。 我已经写出了find外部凹形边界多边形的algorithm,并允许它们设置algorithm形成的多边形的粗糙度或平滑度的灵敏度。 之后,他们希望find洞,并把这些洞作为一个凹多边形,我猜在某些情况下可能是凸的,但这将是边缘情况不规范。 问题是我所听到的关于这个问题的唯一论文是天文学家所做的,他们希望在空间中find大量空洞,我从来没有能够find他们的论文中的实际algorithm,除了粗略的概念性描述外, 我已经尝试过谷歌和各种学术论文search等,但迄今为止我还没有发现很多有用的东西。 这让我想知道是否有这样一个问题的名称,我不知道,所以我正在寻找错误的东西或什么? 所以在这个漫长的解释之后,我的问题是:有没有人知道我应该寻找什么来find这个文件,最好用明确的algorithm,或者有人知道一个algorithm,他们可以指向我? 任何能够帮助我解决这个问题的东西都是非常有用的,并且非常值得赞赏,即使只是正确的search短语,将会产生潜在的algorithm或论文。 这将实施的语言将是C#,但从Mathematica包到MATLAB or ASM, C, C++, Python, Java or MathCAD等的任何示例都可以,只要示例中没有一些调用去FindTheHole等等FindTheHole没有定义或者是专有的实现软件,例如MathCAD例子通常有很多。 下面是实际点集的两个例子,一个是稠密的,一个是稀疏的,我们需要find它们的区域:

UnauthorizedAccessException无法parsingDirectory.GetFiles失败

Directory.GetFiles方法在第一次遇到一个没有访问权限的文件夹时失败。 该方法抛出一个UnauthorizedAccessException(可以被捕获),但到这个时候,该方法已经失败/终止。 我使用的代码如下所示: try { // looks in stated directory and returns the path of all files found getFiles = Directory.GetFiles( @directoryToSearch, filetype, SearchOption.AllDirectories); } catch (UnauthorizedAccessException) { } 据我所知,没有办法事先检查某个文件夹是否有访问权限定义。 在我的示例中,我通过networking在磁盘上search,当我遇到仅限根访问权限的文件夹时,我的程序失败。

WinForm应用程序UI在长时间运行期间挂起

我有一个Windows窗体应用程序,我需要使用for循环有大量的远程调用2000 – 3000调用, 在执行for循环的时候,我放弃了对form和form控件的控制,因为它变成了一个很大的进程,有时它显示“Not Responding”,但是如果等待很长时间,它会再次返回,我想我需要使用有一些线程模型,有什么想法,我怎么才能着手解决这个问题?

用reflectionselect正确的通用方法

我想通过reflectionselect正确的通用方法,然后调用它。 通常这很容易。 例如 var method = typeof(MyType).GetMethod("TheMethod"); var typedMethod = method.MakeGenericMethod(theTypeToInstantiate); 然而,当方法有不同的generics重载时,问题就开始了。 例如System.Linq.Queryable类中的静态方法。 “Where”方法有两个定义 static IQueryable<T> Where(this IQueryable<T> source, Expression<Func<T,bool>> predicate) static IQueryable<T> Where(this IQueryable<T> source, Expression<Func<T,int,bool>> predicate) 这个我GetGethod不起作用,因为它不能两个都去追求。 所以我想select正确的一个。 到目前为止,我经常采取第一种或第二种方法,这取决于我的需要。 喜欢这个: var method = typeof (Queryable).GetMethods().First(m => m.Name == "Where"); var typedMethod = method.MakeGenericMethod(theTypeToInstantiate); 但是我对此并不满意,因为我假定第一种方法是正确的。 我宁可想要通过参数typesfind正确的方法。 但我不知道如何。 我试着通过“types”,但没有奏效。 var method = typeof (Queryable).GetMethod( "Where", […]