gpt4 book ai didi

C# 将 char 和 char 数组分配给字符串?

转载 作者:可可西里 更新时间:2023-11-01 08:32:01 25 4
gpt4 key购买 nike

        char character = 'c';
string str = null;
str = character.ToString();//this is ok

char[] arrayChar = { 'a', 'b', 'c', 'd' };
string str2 = null;
str2 = string.Copy(arrayChar.ToString());//this is not ok
str2 = arrayChar.ToString();//this is not ok.

我正在尝试将 char 数组转换为字符串,但最后两次尝试均无效。我发现的其他来源,他们必须创建新的字符串类型,但我不知道为什么。谁能给我一点解释,谢谢。

最佳答案

你需要构造一个新的字符串。

正在做 arrayChar.ToString()char[] 调用“ToString”方法type,它没有被重载以从字符中构造出一个字符串,而是构造一个指定该类型是字符数组的字符串。这不会给你你想要的行为。

通过 str2 = new string(arrayChar); 构建新字符串,但是,会给你你想要的行为。

问题在于,在 C# 中(与 C++ 不同),字符串与字符数组不同。这是两种截然不同的类型(尽管它们可以表示相同的数据)。字符串可以作为字符枚举(String 实现 IEnumerable<Char> ),但就 CLR 而言,它与字符的类型不同。进行转换需要在两者之间进行转换的代码 - 字符串构造函数提供了这种机制。

关于C# 将 char 和 char 数组分配给字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com