在c#中的东西函数实现

Raj*_*aju 8 .net c# t-sql

我需要知道c#是否有任何函数等于sql函数stuff,它根据给定的开始和长度将输入字符串替换为原始字符串.

编辑添加样本:

select stuff('sad',1,1'b')

select stuff(original string, start point, length,input string)
Run Code Online (Sandbox Code Playgroud)

输出将是 "bad".

Ale*_*lex 8

使用String.Insert()函数和String.Remove()函数

"abc".Remove(1, 1).Insert(2, "XYZ") // result "aXYZc"
Run Code Online (Sandbox Code Playgroud)


Tho*_*rin 8

没有内置方法可以执行此操作,但您可以编写扩展方法:

static class StringExtensions
{
    public static string Splice(this string str, int start, int length,
                                string replacement)
    {
        return str.Substring(0, start) +
               replacement +
               str.Substring(start + length);
    }

}
Run Code Online (Sandbox Code Playgroud)

用法如下:

string sad = "sad";
string bad = sad.Splice(0, 1, "b");
Run Code Online (Sandbox Code Playgroud)

请注意,C#中字符串中的第一个字符是数字0,而不是SQL示例中的1.

如果你愿意,你Stuff当然可以调用这个方法,但可以说这个Splice名字更清晰一些(虽然它也没有经常使用).