不知道是否有更好的方法来做到这一点,所以这就是问题的原因.我可以使用以下代码检查特定计算机上是否存在服务:
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++/CLI中使用LINQ.我找到了一篇专注于VS 2008的帖子,需要为System :: String类提供一些解决方法.我在CodeProject上看到了一些框架替换,但我想知道是否有一种方法可以直接在C++/CLI中使用它.如果可以,任何人都有一个好榜样?
我试图用不同的替换模式替换字符串中的某些模式.
例:
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 +的任何东西都应该用空字符串替换.
我看到这里和http://www.perlmonks.org上有一些类似的问题,但我仍然没有得到它.想象一下,我有一个带有'lib /'和't'目录的项目.我用'证明'来运行我的测试:
$ cd $PROJECT_ROOT
$ prove ./*.t
Run Code Online (Sandbox Code Playgroud)
我想在html中获取"lib /"目录中的一个或多个文件的报告.我不想要报告"t"目录中的文件.一个简单的例子就足够了.谢谢
我有一个根据来自数据库的数据生成的文件名。我需要将文件保存到来自数据库查询的文件夹位置。如何确保路径存在,以便在保存文件时不会引发有关丢失目录的异常?下面列出了我的文件保存代码。当我打电话时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) 我最近从VS2005升级到VS2010.在我的.Net 2.0代码中,我引用了Microsoft.VisualBasic.dll并使用StringType.StrLike方法来执行glob字符串比较.我只是注意到根据MSDN,不推荐使用StringType.VS2010/.Net 4.0中的Like运算符是否有替代品?
我有一个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++/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(我理解行为同样是一个相对术语,因为托管对象上的删除操作与非托管对象上的操作不同).
这个场景
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 .....)]属性的一部分.
提前致谢.
一些想法?
嘿,我有以下字符串作为输入:
"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]