当前位置:  开发笔记 > 编程语言 > 正文

如何在.net核心中执行String.Copy?

如何解决《如何在.net核心中执行String.Copy?》经验,为你挑选了2个好方法。

在将.net框架应用程序移植到.net核心应用程序时,有一些用于String.Copy复制字符串的用法.但它看起来这个方法已经从.net核心中移除了,那么你将如何在.net核心应用程序中复制一个字符串,结果,它也不存在于uwp中.string b = a;在.net核心中的赋值是否意味着在.netframework中有所不同?

该代码中使用了该副本:

public DataDictionary(DataDictionary src)
        :this()
    {
        this.Messages = src.Messages;
        this.FieldsByName = src.FieldsByName;
        this.FieldsByTag = src.FieldsByTag;
        if (null != src.MajorVersion)
            this.MajorVersion = string.Copy(src.MajorVersion);
        if (null != src.MinorVersion)
            this.MinorVersion = string.Copy(src.MinorVersion);
        if (null != src.Version)
            this.Version = string.Copy(src.Version);
    }

小智.. 7

这不如优雅string.Copy(),但如果您因任何原因不希望引用相等,请考虑使用:

string copiedString = new string(stringToCopy.ToCharArray());

嵌入在“问题”中的是“如何在.net核心应用程序中复制字符串”。这回答了这个问题。您的降票无效。 (2认同)


Patrick Hofm.. 5

字符串的赋值不是创建副本.a = b只需将两个变量的引用设置为相同的内存段.string.Copy实际上复制字符串,因此引用不再相同.

我怀疑你是否需要string.Copy.你为什么想要另一个参考?我想不出你想要的任何常见情况(除非你使用的是非托管代码).由于字符串是不可变的,因此您不能只更改字符串的内容,因此在这种情况下复制是无用的.


鉴于您使用的代码更新string.Copy,我会说它没用string.Copy.如果DataDictionary仅在托管代码中使用,则会执行简单分配.



1> 小智..:

这不如优雅string.Copy(),但如果您因任何原因不希望引用相等,请考虑使用:

string copiedString = new string(stringToCopy.ToCharArray());


嵌入在“问题”中的是“如何在.net核心应用程序中复制字符串”。这回答了这个问题。您的降票无效。

2> Patrick Hofm..:

字符串的赋值不是创建副本.a = b只需将两个变量的引用设置为相同的内存段.string.Copy实际上复制字符串,因此引用不再相同.

我怀疑你是否需要string.Copy.你为什么想要另一个参考?我想不出你想要的任何常见情况(除非你使用的是非托管代码).由于字符串是不可变的,因此您不能只更改字符串的内容,因此在这种情况下复制是无用的.


鉴于您使用的代码更新string.Copy,我会说它没用string.Copy.如果DataDictionary仅在托管代码中使用,则会执行简单分配.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有