使用 .NET 系统将字符数组转换为字符串? [复制]

Posted

技术标签:

【中文标题】使用 .NET 系统将字符数组转换为字符串? [复制]【英文标题】:Char array to a String using .NET system? [duplicate] 【发布时间】:2020-03-25 23:32:01 【问题描述】:

如何使用 .NET 将 char 数组的内容存储到 C# 中的文本文件中?我试过了

char[] characters = VarInput.ToCharArray();
System.IO.File.WriteAllText(@"C:\Users\leoga\Documents\Projects_Atom\Pad_Wood\WriteText2CharacterArray.txt", characters);

但它会出现一条错误消息,说

参数 2:无法从 'char[]' 转换为 'string' [C:\Users\leoga\Documents\Projects_Atom\Pad_Wood\converter.csproj]

我也用File.WriteAllLines() 尝试过,但还是不行。我正在使用 c# 和 .NET

【问题讨论】:

VarInput 是什么类型? @HenkHolterman VarInput 是一个文本字符串 然后WriteAllText(path, VarInput); VarInput.ToCharArray() 仅用于示例目的,并且您的代码确实被传递/提供了 char[] 无法将其与原始 string 关联(或者没有 string 到首先)?或者您确实有一个string,并且认为它只能作为单独的chars 写入文件? 【参考方案1】:

原因

由于OP在不需要的时候将字符串转为数组,所以可以直接使用。

其他方式

代码
        public void Write(string path)
        
            FileStream fs = new FileStream(path, FileMode.Create);
            using (fs)
            
                StreamWriter sw = new StreamWriter(fs);
                using (sw)
                
                    string VarInput = "11111111";
                    char[] characters = VarInput.ToCharArray();
                    sw.Write(characters);
                
            
        
About doc

【讨论】:

已更新。感谢您指出。【参考方案2】:

应该有一个内置函数在数组上运行连接,转换为字符串。

以下是将数组导出为 CSV 的示例:

String result = String.Join(",",arr)

如果您只想转换为不带任何分隔符的字符串,您可以执行以下操作:

String result = String.Join("",arr)

【讨论】:

将一个空字符串和一个char[] 传递给String.Join() 将是一个效率较低的替代方法,而不是只将char[] 传递给String(char[]) constructor(即String result = new string(arr);)。【参考方案3】:

VarInput 是什么类型?如果最初是字符串,只需删除 ToCharArray() 调用,即可直接使用 File.WriteAllText 将其写入文件。

File.WriteAllText(path, VarInput);

一旦有了 char 数组,就不必为了写入文件而转换为字符串。也可以直接写字节。

var bytes = System.Text.Encoding.UTF8.GetBytes(characters);
File.WriteAllBytes(path, bytes);

【讨论】:

以上是关于使用 .NET 系统将字符数组转换为字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

.NET将XML转换成数组问题

如何将带有参数数组的字符串 xml 转换为 .NET Core 中的对象

如何使用 PHP 将 JSON 字符串数据转换为数组?

如何在 JavaScript 中使用字节数组将字符串转换为 base64 编码?

.net 有一个数组 怎么转换成 datatable 然后插入数据库

如何将数组中的数字字符串转换为数字?