小编pst*_*jds的帖子

检查特定计算机上是否存在服务而不使用异常处理

不知道是否有更好的方法来做到这一点,所以这就是问题的原因.我可以使用以下代码检查特定计算机上是否存在服务:

bool DoesServiceExist(string serviceName, string machineName)
{
    ServiceController controller = null;
    try
    {
        controller = new ServiceController(serviceName, machineName);
        controller.Status;
        return true;
    }
    catch(InvalidOperationException)
    {
        return false;
    }
    finally
    {
         if (controller != null)
         {
             controller.Dispose();
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎是一个无效的解决方案(由于异常处理).有没有更好的方法来检查服务是否存在.注意 - 我最近切换到.Net 4.0,所以如果有人知道4.0中更好的解决方案是可以接受的.

编辑:这是一个示例c#控制台应用程序,用于测试我的示例以及GetServices代码示例的性能.在我的测试中,我发现GetServices在服务不存在的情况下表现更好,但是当服务存在时速度慢两倍:

    static void Main(string[] args)
    {
        string serviceName = string.Empty;
        string machineName = string.Empty;

        var sw = new Stopwatch();
        sw.Reset();
        sw.Start();
        for (int i = 0; i < 1000; i++)
        {
            ServiceExistsException(serviceName, machineName);
        }
        sw.Stop();
        Console.WriteLine("Elapsed time: " …
Run Code Online (Sandbox Code Playgroud)

c# windows-services

46
推荐指数
2
解决办法
4万
查看次数

如何在C++/CLI中使用LINQ - 在VS 2010/.Net 4.0中

只是想知道是否有办法在C++/CLI中使用LINQ.我找到了一篇专注于VS 2008的帖子,需要为System :: String类提供一些解决方法.我在CodeProject上看到了一些框架替换,但我想知道是否有一种方法可以直接在C++/CLI中使用它.如果可以,任何人都有一个好榜样?

linq c++-cli .net-4.0 visual-studio-2010

31
推荐指数
1
解决办法
2万
查看次数

有条件地用字符串替换正则表达式匹配

我试图用不同的替换模式替换字符串中的某些模式.

例:

string test = "test replacing \"these characters\"";
Run Code Online (Sandbox Code Playgroud)

我想要做的是用空字符串替换所有''和'_'以及所有其他非字母或数字字符.我创建了以下正则表达式,它似乎正确地标记,但我不知道如何(如果可能)使用执行条件替换regex_replace.

string test = "test replacing \"these characters\"";
regex reg("(\\s+)|(\\W+)");
Run Code Online (Sandbox Code Playgroud)

替换后的预期结果是:

string result = "test_replacing_these_characters";
Run Code Online (Sandbox Code Playgroud)

编辑:我不能使用提升,这就是我把它从标签中删除的原因.所以请不要回答包括提升.我必须使用标准库.可能是一个不同的正则表达式会完成目标,或者我只是坚持做两次传球.

编辑2:我不记得在\w我的原始正则表达式中包含了哪些字符,在查找之后我进一步简化了表达式.再一次,目标是任何匹配\ s +应该用'_'替换,匹配\ W +的任何东西都应该用空字符串替换.

c++ regex visual-studio-2010 visual-c++ c++11

16
推荐指数
1
解决办法
3万
查看次数

如何使用Devel :: Cover with prove?

我看到这里和http://www.perlmonks.org上有一些类似的问题,但我仍然没有得到它.想象一下,我有一个带有'lib /'和't'目录的项目.我用'证明'来运行我的测试:

$ cd $PROJECT_ROOT
$ prove ./*.t
Run Code Online (Sandbox Code Playgroud)

我想在html中获取"lib /"目录中的一个或多个文件的报告.我不想要报告"t"目录中的文件.一个简单的例子就足够了.谢谢

perl

8
推荐指数
2
解决办法
1662
查看次数

在保存文件之前确保目录存在或根据需要创建

我有一个根据来自数据库的数据生成的文件名。我需要将文件保存到来自数据库查询的文件夹位置。如何确保路径存在,以便在保存文件时不会引发有关丢失目录的异常?下面列出了我的文件保存代码。当我打电话时saveTemp.Save,我收到异常,因为该目录不存在。

Image<Bgr, Byte> newImage = sourceImage.WarpPerspective(mywarpmat, 355, 288, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, Emgu.CV.CvEnum.WARP.CV_WARP_FILL_OUTLIERS, new Bgr(0, 0, 0));
Image<Bgr, Byte> savetemp = newImage.Copy();

savetemp.ROI = new Rectangle(lokasiX, lokasiY, templatewidth, templateheight);
savetemp.Save(@"D:\Dokumen\Alfon\TA Alfon\CobaFitur\Template\Kotak\" + simpantmp["namakamera"].ToString() +  "Template_" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + cnt + ".jpg");
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
1
解决办法
2265
查看次数

C#中的Glob匹配 - StringType.StrLike显然已被弃用,是什么替换?

我最近从VS2005升级到VS2010.在我的.Net 2.0代码中,我引用了Microsoft.VisualBasic.dll并使用StringType.StrLike方法来执行glob字符串比较.我只是注意到根据MSDN,不推荐使用StringType.VS2010/.Net 4.0中的Like运算符是否有替代品?

c# .net-4.0

4
推荐指数
1
解决办法
646
查看次数

C# - backgroundworker等待创建文件

我有一个backgroundworker ..在backgroundworker_doWork我想检查一个文件是否存在..如果没有那么我等待文件创建,一旦它创建然后继续进行它的假设做的工作

我想做这样的事情..但我只是弄清楚该怎么做..我对此新:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    if(File.Exists(filename)){
        //.. code to do my work ...
    }
    else{
        //..Wait for the file to be create...
    }
//... end of backgroundworker
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# file-io backgroundworker

4
推荐指数
1
解决办法
627
查看次数

我是否需要在C++/CLI(VS 2010/.Net 4.0)中对IDisposable对象调用delete

我的印象是,在C++/CLI方法中,如果我使用的类实现了IDisposable,则当对象超出范围时,会自动调用dispose.最近我遇到了一些看起来像这样的代码:

void SomeClass::SomeMethod()
{
    DisposableObject^ myObject = nullptr;
    try
    {
         // Some code that creates a DisposableObject and assigns to myObject
    }
    finally
    {
        if (myObject != nullptr)
        {
            // this is instead of IDisposable.Dispose
            delete myObject;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题确实有两个方面.首先,我是否需要显式调用delete该对象.其次,在纯C++中,它是安全地调用删除一个空物体上,并在C++/CLI是行为的改变,只是不知道,因为它好像我并不真的需要围绕删除通话nullptr检查,如果该行为是same在C++/CLI(我理解行为同样是一个相对术语,因为托管对象上的删除操作与非托管对象上的操作不同).

c++-cli .net-4.0 visual-studio-2010

3
推荐指数
1
解决办法
1353
查看次数

DataType属性通过Reflection进行装饰

这个场景

public class CustomerMetaData
{


    [DataType(DataType.EmailAddress)]       
    public String EmailAddress {get;set;}

    [DataType(DataType.Url)]       
    public String UrlUser {get;set;}

}
Run Code Online (Sandbox Code Playgroud)

我需要通过这个类的所有属性的反射 DataType,但广泛的网络搜索,我找不到围绕这种类型的DataAttribute的任何解决方案.

我解释了一下,我不需要知道属性Like,String,Boolean ....的数据类型.我需要[DataType(DataType .....)]属性的一部分.

提前致谢.

一些想法?

c# reflection

3
推荐指数
1
解决办法
1422
查看次数

c#中的正则表达式匹配模式

嘿,我有以下字符串作为输入:

"abcol"  
"ab_col"  
"cold"  
"col_ab"  
"col.ab"  
Run Code Online (Sandbox Code Playgroud)

我有要搜索的字符串col.我正在使用正则表达式匹配

Match matchResults = Regex.Match(input , "col", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

我想只匹配具有此模式的字符串 [Any special character or nothing ] + col + [Any special character or nothing]

从上面的输入,我只想返回 ab_col, col_ab , col.ab

任何帮助都非常感谢.
谢谢

[任何特殊字符] = [^ A-Za-z0-9]

c# regex

1
推荐指数
1
解决办法
6120
查看次数