小编der*_*dex的帖子

正则表达式替换捕获后跟数字

我试图让Regex替换正在更新我的AssemblyInfo.cs文件,所以我有:

Regex.Replace(
    contents, 
    @"(\[assembly: Assembly(File)?Version\("").*(""\)\])", 
    "$1" + version + "$3"
);
Run Code Online (Sandbox Code Playgroud)

问题是version这样的"1.5.3.0",所以当评估替换时它正在看到"$11.5.3.0$3"并且可能正在寻找第11个被捕获的组,因为它出现了:

$11.5.3.0")]
Run Code Online (Sandbox Code Playgroud)

如果在$1它工作正常后粘贴一个空格.如果没有实际插入角色,我需要放在哪里以逃避第二个数字?

.net regex

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

Jenkins/Git:从任何提交构建最新的分支+手动构建

我正在尝试使用Git项目设置Jenkins,以便:

  1. 每当更改被推送到中央存储库时,它将从匹配模式(origin/master,origin/feature/*,origin/hotfix /*等)的分支构建

  2. 开发人员和测试人员可以为他们想要的任何修订触发构建,指定为构建参数,即标记名称,分支名称或提交哈希.作业有其他参数,我们偶尔会想要使用默认值以外的其他东西创建构建.

通过在Git服务器上设置post-receive脚本并在Jenkins中添加多个分支说明符,我得到了正确的工作.

为了也做2.,我添加了一个额外的构建参数GitRef,然后添加了一个额外的分支说明符$GitRef.无论参数设置如何,手动启动构建只会每次都从同一个提交/分支继续构建.如果我删除了所有其他分支说明符,则手动构建将按预期工作.但是钩子触发的构建只能从origin/master(默认值$GitRef)构建.

如果不为每个项目创造两个工作岗位,我试图实现的目标是什么?如果是这样,我需要做些什么才能使其正常工作?

git jenkins

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

.NET线程安全缓存结果

我在C#中有以下内容:

private double _x;
private bool _xCalculated;

private double GetX() {
    if (!_xCalculated) {
        _x = ... // some relatively expensive calculation
        _xCalculated = true;
    }

    return _x;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,这是线程安全的吗?据我所知,最糟糕的结果是两个或多个线程同时进入此方法并计算_x多次,但结果保证对于此类的任何实例都是相同的,因此不是特别大的问题.

我对此的理解是否正确?

.net multithreading

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

标签 统计

.net ×2

git ×1

jenkins ×1

multithreading ×1

regex ×1