我有这个PHP代码:
function ShowFileExtension($filepath)
{
preg_match('/[^?]*/', $filepath, $matches);
$string = $matches[0];
$pattern = preg_split('/\./', $string, -1, PREG_SPLIT_OFFSET_CAPTURE);
if(count($pattern) > 1)
{
$filenamepart = $pattern[count($pattern)-1][0];
preg_match('/[^?]*/', $filenamepart, $matches);
return strtolower($matches[0]);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我有一个名为的文件my.zip,则此函数返回.zip.
我想反过来,我希望函数在my没有扩展名的情况下返回.
该文件只是变量中的一个字符串.
我刚开始使用Scala,希望更好地理解解决问题的功能方法.我有一对字符串,第一个字符串有参数的占位符,它的对有要替换的值.例如"从tab1中选择col1,其中id> $ 1,名称如$ 2""参数:$ 1 ='250',$ 2 ='some%'"
可能有多于2个参数.
我可以通过逐步执行并在每一行上使用regex.findAllIn(line)构建正确的字符串,然后通过迭代器来构造替换,但这似乎相当不优雅且程序驱动.
任何人都可以指出我的功能方法更整洁,更不容易出错吗?
最近,我的老板要求我提高应用程序的启动速度,AP是用C++编写的.AP有点大,它使用200+ dll,Windows需要很长时间才能进入main()函数.我试过这两种方式,但还是不能让老板开心.
还有其他方法可以改善它吗?提前致谢.
for (do it a bunch of times)
{
while (backgroundWorker1.IsBusy && backgroundWorker2.IsBusy &&
backgroundWorker3.IsBusy && backgroundWorker4.IsBusy &&
backgroundWorker5.IsBusy)
{
System.Threading.Thread.Sleep(0001);
}
if (!backgroundWorker1.IsBusy)
{
backgroundWorker1.RunWorkerAsync();
}
else if (!backgroundWorker2.IsBusy)
{
backgroundWorker2.RunWorkerAsync();
}
else if (!backgroundWorker3.IsBusy)
{
backgroundWorker3.RunWorkerAsync();
}
else if (!backgroundWorker4.IsBusy)
{
backgroundWorker4.RunWorkerAsync();
}
else if (!backgroundWorker5.IsBusy)
{
backgroundWorker5.RunWorkerAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
它运行五次(每个BG工作一次)并且一直卡住.背景工作者不要再忙吗?我如何查看空房情况?
注意:有5个工作线程,这可以确保它们都不会停止,总是为它们分配工作.但他们拒绝告诉我什么时候可用,我认为这将有一个简单的解决方案..
- [编辑请求] ---
实际上它只是一个虚拟参数,我删除它并忘了把它拿出来,我只用它来调用dowork,谁做了脏工作:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
timeconsumingfunction(publicstring);
}
Run Code Online (Sandbox Code Playgroud)
时间消耗功能结束了.在调试器中逐步进入它并在每行运行一行,直到结束并到达最后的'}'.这意味着它结束了吧?
--- [编辑答案] ----它通过JUST替换线路
System.Threading.Thread.Sleep(0001);
Run Code Online (Sandbox Code Playgroud)
同
Application.DoEvents();
Run Code Online (Sandbox Code Playgroud)
我想它会运行后台,但没有收到答案,也没有更新IsBusy标签.
谢谢大家,很棒的答案,帮了很多忙!
当我试图创建一个非常大的矩阵,如40000x40000时,我有matlab的问题.
例如:
X =零(40000,40000);
错误消息是"???超出程序允许的最大变量大小."
有什么办法吗?
另外我还有另外一个问题,我们是否可以使用可变列大小的矩阵,例如在java中.
我有点失落,需要一些帮助.在过去,我使用php和mysql制作数据驱动数据的网站.现在我想用我的C#技能建立一个网站.这个新站点将连接到数据库并具有大量数据.
我应该使用Visual Studio来做一个ASP.NET站点吗?什么是WPF浏览器应用程序,它在所有浏览器中都有效吗?还有其他我可以使用c#的东西吗?
这个问题是关于在长时间运行的任务期间保持GUI响应(在大多数情况下几秒钟).
我广泛使用线程和任务模式在后台线程中执行昂贵的任务.但是GUI更新需要一些时间呢?例如,填充大字符串网格或树视图?一个线程在这里没有帮助,因为无论如何一切都需要与主线程同步.
我知道这些问题Application.ProcessMessages,但目前它似乎是将调用ProcessMessages放入GUI更新方法的唯一解决方案.
有更好的想法吗?
我正在为WCF问题创建一个基于现有接口的接口,但是我没有设置参数名称的"DefineParameter"(创建类型的方法参数没有名称).
你能看出原因吗?
public static Type MakeWcfInterface(Type iService)
{
AssemblyName assemblyName = new AssemblyName(String.Format("{0}_DynamicWcf", iService.FullName));
String moduleName = String.Format("{0}.dll", assemblyName.Name);
String ns = iService.Namespace;
if (!String.IsNullOrEmpty(ns)) ns += ".";
// Create assembly
var assembly = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
// Create module
var module = assembly.DefineDynamicModule(moduleName, false);
// Create asynchronous interface type
TypeBuilder iWcfService = module.DefineType(
String.Format("{0}DynamicWcf", iService.FullName),
TypeAttributes.Public | TypeAttributes.Interface | TypeAttributes.Abstract
);
// Set ServiceContract attributes
iWcfService.SetCustomAttribute(ReflectionEmitHelper.BuildAttribute<ServiceContractAttribute>(null,
new Dictionary<string, object>() {
{ "Name", iService.Name },
}));
iWcfService.SetCustomAttribute(ReflectionEmitHelper.BuildAttribute<ServiceBehaviorAttribute>(null,
new Dictionary<string, object>() { …Run Code Online (Sandbox Code Playgroud) 我正在寻找创建一个C#应用程序,根据当前具有焦点的应用程序来更改内容.因此,如果用户使用的是Firefox,我的应用就会知道.适用于Chrome,Visual Studio,TweetDeck等.
这是可能的,如果是这样的话 - 我将如何实现它?
我有一种感觉,我要求的很多 - 但值得一试.
提前谢谢了.
干草伙计们,我正在制作一个简单的汽车销售网站 我有一个很好的小urlpattern,运行良好的预期
/car/1/
Run Code Online (Sandbox Code Playgroud)
去那辆有身份证的车,简单吗?
但是,出于SEO的原因,我想向URL添加额外的数据,但忽略它.
/car/1/ford/focus
Run Code Online (Sandbox Code Playgroud)
作为一个例子,我将如何修改我的模式以考虑额外的部分?
2个模式将转到相同的位置并加载相同的视图.
有任何想法吗?