加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 23:49:09 所属栏目:百科 来源:网络整理
导读:在将.net框架应用程序移植到.net核心应用程序时,有一些使用 String.Copy 来复制字符串.但看起来这个方法从 .net core中删除了,所以你如何在.net核心应用程序中复制一个字符串,因此,它也不存在于uwp中.赋值字符串b = a;在.net核心中意味着与.netframework不同
在将.net框架应用程序移植到.net核心应用程序时,有一些使用 String.Copy来复制字符串.但看起来这个方法从 .net core中删除了,所以你如何在.net核心应用程序中复制一个字符串,因此,它也不存在于uwp中.赋值字符串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);
    }

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读