Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在C#中实现子字符串,它使用哪种算法?_Java_C#_Performance_Algorithm_Substring - Fatal编程技术网

Java 在C#中实现子字符串,它使用哪种算法?

Java 在C#中实现子字符串,它使用哪种算法?,java,c#,performance,algorithm,substring,Java,C#,Performance,Algorithm,Substring,我有个问题,我正在研究一些编程语言。 这项研究是关于C#和Java中子字符串函数的效率 像C#是用蛮力的方式,还是他们像个好孩子一样实现了Boyer Moore的算法。 我需要这方面的源代码,我已经为Java找到了它(对于那些想知道的人,他们在indexOf()方法中使用了蛮力实现) 有人知道我如何在C#中检索这些方法的源代码吗。 我的笔记本电脑上安装了visual Studio,但我找不到任何源代码 非常感谢你的帮助 微软已经发布了完整的框架源代码,包括注释。您将找到实际的实现。对于子字符串,

我有个问题,我正在研究一些编程语言。 这项研究是关于C#和Java中子字符串函数的效率

像C#是用蛮力的方式,还是他们像个好孩子一样实现了Boyer Moore的算法。 我需要这方面的源代码,我已经为Java找到了它(对于那些想知道的人,他们在indexOf()方法中使用了蛮力实现)

有人知道我如何在C#中检索这些方法的源代码吗。 我的笔记本电脑上安装了visual Studio,但我找不到任何源代码


非常感谢你的帮助

微软已经发布了完整的框架源代码,包括注释。您将找到实际的实现。对于
子字符串
,它归结为一些非托管代码:

    [System.Security.SecurityCritical]  // auto-generated
    unsafe string InternalSubString(int startIndex, int length) {
        Contract.Assert( startIndex >= 0 && startIndex <= this.Length, "StartIndex is out of range!");
        Contract.Assert( length >= 0 && startIndex <= this.Length - length, "length is out of range!");            

        String result = FastAllocateString(length);

        fixed(char* dest = &result.m_firstChar)
            fixed(char* src = &this.m_firstChar) {
                wstrcpy(dest, src + startIndex, length);
            }

        return result; 
[System.Security.SecurityCritical]//自动生成
不安全的字符串InternalSubString(int startIndex,int length){

Contract.Assert(startIndex>=0&&startIndex=0&&startIndex=0&&startIndex)非常感谢您!不知道他们发布了它,因为它一直是封闭源代码的。@user1758777使.NET开源是最近的一项发展——在过去两个月里。请参阅。