小编Aut*_*act的帖子

.net Regex.Replace中的错误?

以下代码......

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        var r = new Regex("(.*)");
        var c = "XYZ";
        var uc = r.Replace(c, "A $1 B");

        Console.WriteLine(uc);
    }
}
Run Code Online (Sandbox Code Playgroud)

.Net小提琴链接

产生以下输出......

一个XYZ BA B.

你认为这是对的吗?

输出不应该......

一个XYZ B.

我想我在这里做了些蠢事.如能帮助我理解这个问题,我将不胜感激.


这是有趣的事情......

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        var r = new Regex("(.*)");
        var c = "XYZ";
        var uc = r.Replace(c, "$1");

        Console.WriteLine(uc);
    }
}
Run Code Online (Sandbox Code Playgroud)

.Net小提琴

输出...

XYZ

.net regex

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

为什么借入仍然存在于if的else块中?

为什么self.f2()以下代码中的调用会使借用检查程序运行?是不是在另一个范围内的else块?这是一个相当难的问题!

use std::str::Chars;

struct A;

impl A {
    fn f2(&mut self) {}

    fn f1(&mut self) -> Option<Chars> {
        None
    }

    fn f3(&mut self) {
        if let Some(x) = self.f1() {

        } else {
            self.f2()
        }
    }
}

fn main() {
    let mut a = A;
}
Run Code Online (Sandbox Code Playgroud)

操场

error[E0499]: cannot borrow `*self` as mutable more than once at a time
  --> src/main.rs:16:13
   |
13 |         if let Some(x) = self.f1() {
   |                          ---- first mutable borrow occurs here
... …
Run Code Online (Sandbox Code Playgroud)

rust

10
推荐指数
2
解决办法
2384
查看次数

如何使用Reflection.Emit调试在运行时生成的IL代码

我试图在运行时使用Reflection.Emit命名空间中的DynamicMethod类生成一些代码但由于某种原因它抛出"VerificationException".这是我试图使用的IL代码...

ldarg.1
ldarg.0
ldfld, System.String FirstName
callvirt, Void Write(System.String)
ldarg.1
ldarg.0
ldfld, System.String LastName
callvirt, Void Write(System.String)
ldarg.1
ldarg.0
ldfld, Int32 Age
callvirt, Void Write(Int32)
ret
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来调试生成的IL代码.我有什么选择?我正在使用VS2008专业版.

.net c# vb.net

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

在C#中使用C++ CLI模板类

我在C++/CLI中有以下类和int原语的显式模板实例化.

template<typename T>
public ref class Number
{
    T _value;
public:
    static property T MinValue
    {
        T get()
        {
            return T::MinValue;
        }
    }

    static property T MaxValue
    {
        T get()
        {
            return T::MaxValue;
        }
    }

    property T Value
    {
        T get()
        {
            return _value;
        }

        void set(T value)
        {
            if( value<MinValue || value > MaxValue)
                throw gcnew System::ArgumentException("Value out of range");

            _value = value;
        }
    }

};

template ref class Number<int>;
Run Code Online (Sandbox Code Playgroud)

在编译它并使用反射器检查生成的程序集时,我能够看到一个被调用的类,Number<int>但在尝试在C#中实例化这个相同的类时,编译器会抱怨某些System::Number类没有采用模板参数.我究竟做错了什么?这可以完成吗?

.net c# c++-cli

9
推荐指数
2
解决办法
8248
查看次数

无法在Eclipse的DDMS视角中选择我的Android客户端

我想检查我的程序代码是否耗时.我认为DDMS是实现这一目标的最佳工具.

但是,我看不到Threads,Heaps等.它告诉我选择一个客户端.但我不知道除了"设备"选项卡之外的哪个位置没有生效.

我需要做什么?我的ADB设置可能有问题(但LogCat工作正常)?

谢谢!

在此输入图像描述

performance android ddms android-emulator

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

使用XobotOS构建问题

我正在尝试构建Xamarin在Github上发布的XobotOS源代码,我正在使用根文件夹中README.build文档中提供的指南.我已成功执行自述文件中提到的所有步骤,但由于某种原因,eclipse的第二个实例不生成任何内容.我很感激我能得到的任何帮助.谢谢.

以下是一些可能有用的其他细节:

操作系统:Ubuntu 11.04
Eclipse:Eclipse SDK 4.2(Juno)
Mono :? (我不确定我是否正在使用从源代码构建的黑客版本)

同时我将尝试下载OpenSUSE并再试一次.

eclipse mono build xobotos sharpen-tool

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

整数类型的from_char()函数在哪里?

char类型具有from_digit()并且from_u32()用于从数字或从a获取char u32,但是整数类型(所有这些)的逆函数在哪里?

即我希望看到一些uN :: from_ {char | digit}()和iN :: from_ {char | digit}()函数(其中N是8,16,32,64或大小)用于对称,但显然他们做了不存在.

rust

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

当用作函数的参数类型或返回类型时,`impl`是什么意思?

我读了这段代码:

pub fn up_to(limit: u64) -> impl Generator<Yield = u64, Return = u64> {
    move || {
        for x in 0..limit {
             yield x;
        }
        return limit;
    }
}
Run Code Online (Sandbox Code Playgroud)

什么impl意思?如何在普通的Rust或C++中实现它?

rust

5
推荐指数
2
解决办法
521
查看次数

可以通过获取可变引用来移动值吗?

围栏

pub trait Skip<I: Iterator> {
    fn skip(&mut self, steps: usize);
}

impl<I: Iterator> Skip<I> for I {
    fn skip(&mut self, mut steps: usize) {
        for _ in self {
            steps -= 1;
            if steps <= 0 {
                break;
            }
        }
    }
}

fn main() {
    let s  = "abc123def";
    let mut chars = s.chars();
    chars.skip(2);
    println!("{:?}", chars.collect::<String>());
}
Run Code Online (Sandbox Code Playgroud)

错误:

pub trait Skip<I: Iterator> {
    fn skip(&mut self, steps: usize);
}

impl<I: Iterator> Skip<I> for I {
    fn skip(&mut self, …
Run Code Online (Sandbox Code Playgroud)

rust

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

如何在不使用额外模板参数的情况下使用模板模板参数声明/定义类

考虑以下模板模板参数的使用......

#include <iostream>

template <typename X>
class A
{
    X _t;
public:
    A(X t)
        :_t(t)
    {
    }
    X GetValue()
    {
        return _t;
    }
};

template <typename T, template <typename T> class C >
class B
{
    C<T> _c;
public:
    B(T t)
        :_c(t)
    {
    }
    T GetValue()
    {
        return _c.GetValue();
    }
};

using namespace std;

int main()
{
    B<int, A> b(10);
    cout<<b.GetValue();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以删除模板参数T?例如,是否有办法进行以下工作?

//Does not compile
template <template <typename T> class C >
class B
{
    C _c; …
Run Code Online (Sandbox Code Playgroud)

c++ templates metaprogramming

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