C# new string(char *)

有些时候string 会快速变换显示,而我们不希望出现大量的string对象影响GC

所以我使用unsafe的char* 去更新显示
`

	m_chars = m_str.ToCharArray();
        fixed (char* p = m_chars)
        {
            //p[m_chars.Length] = '\0';
            UpdateText(p);
            m_valueArray = new string(m_chars);
            m_valuePoint = new string(p/*,0,m_chars.Length*/);
            m_text.text = m_valueArray;
        }

`
然而在实际的显示中,会发现string内容的末尾会出现奇怪的字符
这是因为p=m_char的时候没有获得结束符或者是长度
这里手动设置结束符,设置长度,或使用char[]都可以解决这个问题

posted @ 2022-08-12 15:52  asdfxx  阅读(584)  评论(0)    收藏  举报